From 57a0b4124d3fec95070e0d29a22324b322e412b1 Mon Sep 17 00:00:00 2001 From: Neetha John Date: Wed, 9 Dec 2020 09:41:03 -0800 Subject: [PATCH 001/342] Add show and clear commands for headroom pool watermark (#1144) Depends on Azure/sonic-swss#1453 - What I did Added support to query and clear headroom pool watermark counters Added unit test for the headroom pool watermark counters - How I did it Modified watermarkstat script to query/clear headroom pool watermark counters Added show and clear commands - How to verify it Send traffic such that it treks into the headroom pool and check for the headroom pool usage using the show command below Set polling interval to 30s and issue clear commands mentioned below and verify that counters are cleared - New command output (if the output of a command-line utility has changed) Show commands admin@sonic:~$ show headroom-pool watermark Headroom pool maximum occupancy: Pool Bytes --------------------- ------- ingress_lossless_pool 12480 admin@sonic:~$ show headroom-pool persistent-watermark Headroom pool maximum occupancy: Pool Bytes --------------------- ------- ingress_lossless_pool 12480 Clear commands admin@sonic:~$ sudo sonic-clear headroom-pool watermark admin@sonic:~$ sudo sonic-clear headroom-pool persistent-watermark Signed-off-by: Neetha John --- clear/main.py | 24 ++++++++++++++++++++++++ scripts/watermarkstat | 14 ++++++++++---- show/main.py | 21 +++++++++++++++++++++ tests/mock_tables/counters_db.json | 6 ++++-- tests/watermarkstat_test.py | 6 ++++++ tests/wm_input/wm_test_vectors.py | 24 +++++++++++++++++++++++- 6 files changed, 88 insertions(+), 7 deletions(-) diff --git a/clear/main.py b/clear/main.py index 9d76232206..ff0bc0d6cb 100755 --- a/clear/main.py +++ b/clear/main.py @@ -277,6 +277,30 @@ def clear_pwm_q_multi(): command = 'watermarkstat -c -p -t q_shared_multi' run_command(command) + +@cli.group(name='headroom-pool') +def headroom_pool(): + """Clear headroom pool WM""" + pass + +@headroom_pool.command('watermark') +def watermark(): + """Clear headroom pool user WM. One does not simply clear WM, root is required""" + if os.geteuid() != 0: + exit("Root privileges are required for this operation") + + command = 'watermarkstat -c -t headroom_pool' + run_command(command) + +@headroom_pool.command('persistent-watermark') +def persistent_watermark(): + """Clear headroom pool persistent WM. One does not simply clear WM, root is required""" + if os.geteuid() != 0: + exit("Root privileges are required for this operation") + + command = 'watermarkstat -c -p -t headroom_pool' + run_command(command) + # # 'arp' command #### # diff --git a/scripts/watermarkstat b/scripts/watermarkstat index 2f086b9a95..b9df56ca89 100755 --- a/scripts/watermarkstat +++ b/scripts/watermarkstat @@ -167,6 +167,9 @@ class Watermarkstat(object): "header_prefix": "MC"}, "buffer_pool" : {"message": "Shared pool maximum occupancy:", "wm_name": "SAI_BUFFER_POOL_STAT_WATERMARK_BYTES", + "header" : headerBufferPool}, + "headroom_pool" : {"message": "Headroom pool maximum occupancy:", + "wm_name": "SAI_BUFFER_POOL_STAT_XOFF_ROOM_WATERMARK_BYTES", "header" : headerBufferPool} } @@ -226,12 +229,15 @@ class Watermarkstat(object): def print_all_stat(self, table_prefix, key): table = [] type = self.watermark_types[key] - if key == 'buffer_pool': + if key in ['buffer_pool', 'headroom_pool']: self.header_list = type['header'] # Get stats for each buffer pool for buf_pool, bp_oid in natsorted(self.buffer_pool_name_to_oid_map.items()): - key = table_prefix + bp_oid - data = self.counters_db.get(self.counters_db.COUNTERS_DB, key, type["wm_name"]) + if key == 'headroom_pool' and 'ingress_lossless' not in buf_pool: + continue + + db_key = table_prefix + bp_oid + data = self.counters_db.get(self.counters_db.COUNTERS_DB, db_key, type["wm_name"]) if data is None: data = STATUS_NA table.append((buf_pool, data)) @@ -275,7 +281,7 @@ Examples: parser.add_argument('-c', '--clear', action='store_true', help='Clear watermarks request') parser.add_argument('-p', '--persistent', action='store_true', help='Do the operations on the persistent watermark') parser.add_argument('-t', '--type', required=True, action='store', - choices=['pg_headroom', 'pg_shared', 'q_shared_uni', 'q_shared_multi', 'buffer_pool'], + choices=['pg_headroom', 'pg_shared', 'q_shared_uni', 'q_shared_multi', 'buffer_pool', 'headroom_pool'], help='The type of watermark') parser.add_argument('-v', '--version', action='version', version='%(prog)s 1.0') args = parser.parse_args() diff --git a/show/main.py b/show/main.py index d163ac930a..087a67958b 100755 --- a/show/main.py +++ b/show/main.py @@ -634,6 +634,27 @@ def pwm_buffer_pool(): run_command(command) +# +# 'headroom-pool' group ("show headroom-pool ...") +# + +@cli.group(name='headroom-pool', cls=clicommon.AliasedGroup) +def headroom_pool(): + """Show details of headroom pool""" + +@headroom_pool.command('watermark') +def wm_headroom_pool(): + """Show user WM for headroom pool""" + command = 'watermarkstat -t headroom_pool' + run_command(command) + +@headroom_pool.command('persistent-watermark') +def pwm_headroom_pool(): + """Show persistent WM for headroom pool""" + command = 'watermarkstat -p -t headroom_pool' + run_command(command) + + # # 'mac' command ("show mac ...") # diff --git a/tests/mock_tables/counters_db.json b/tests/mock_tables/counters_db.json index 96be3b5fc5..dfc344672b 100644 --- a/tests/mock_tables/counters_db.json +++ b/tests/mock_tables/counters_db.json @@ -990,7 +990,8 @@ "SAI_BUFFER_POOL_STAT_WATERMARK_BYTES": "2000" }, "USER_WATERMARKS:oid:0x18000000000b66": { - "SAI_BUFFER_POOL_STAT_WATERMARK_BYTES": "3000" + "SAI_BUFFER_POOL_STAT_WATERMARK_BYTES": "3000", + "SAI_BUFFER_POOL_STAT_XOFF_ROOM_WATERMARK_BYTES": "432640" }, "PERSISTENT_WATERMARKS:oid:0x18000000000b64": { "SAI_BUFFER_POOL_STAT_WATERMARK_BYTES": "2000" @@ -999,7 +1000,8 @@ "SAI_BUFFER_POOL_STAT_WATERMARK_BYTES": "3000" }, "PERSISTENT_WATERMARKS:oid:0x18000000000b66": { - "SAI_BUFFER_POOL_STAT_WATERMARK_BYTES": "4000" + "SAI_BUFFER_POOL_STAT_WATERMARK_BYTES": "4000", + "SAI_BUFFER_POOL_STAT_XOFF_ROOM_WATERMARK_BYTES": "863616" }, "CRM:ACL_STATS:INGRESS:VLAN":{ "crm_stats_acl_table_used":"0", diff --git a/tests/watermarkstat_test.py b/tests/watermarkstat_test.py index faf3be11d4..b7c9eadb6b 100644 --- a/tests/watermarkstat_test.py +++ b/tests/watermarkstat_test.py @@ -36,6 +36,9 @@ def test_show_queue_multicast_wm(self): def test_show_buffer_pool_wm(self): self.executor(testData['show_buffer_pool_wm']) + def test_show_headroom_pool_wm(self): + self.executor(testData['show_hdrm_pool_wm']) + def test_show_pg_shared_peristent_wm(self): self.executor(testData['show_pg_pwm_shared']) @@ -51,6 +54,9 @@ def test_show_queue_multicast_persistent_wm(self): def test_show_buffer_pool_persistent_wm(self): self.executor(testData['show_buffer_pool_pwm']) + def test_show_headroom_pool_persistent_wm(self): + self.executor(testData['show_hdrm_pool_pwm']) + def executor(self, testcase): runner = CliRunner() diff --git a/tests/wm_input/wm_test_vectors.py b/tests/wm_input/wm_test_vectors.py index 98ccb2eaa3..a5314b1fe6 100644 --- a/tests/wm_input/wm_test_vectors.py +++ b/tests/wm_input/wm_test_vectors.py @@ -79,6 +79,20 @@ ingress_lossless_pool 4000 """ +show_hdrm_pool_wm_output="""\ +Headroom pool maximum occupancy: + Pool Bytes +--------------------- ------- +ingress_lossless_pool 432640 +""" + +show_hdrm_pool_persistent_wm_output="""\ +Headroom pool maximum occupancy: + Pool Bytes +--------------------- ------- +ingress_lossless_pool 863616 +""" + testData = { 'show_pg_wm_shared' : [ {'cmd' : ['priority-group', 'watermark', 'shared'], 'rc_output': show_pg_wm_shared_output @@ -119,5 +133,13 @@ 'show_buffer_pool_pwm' : [ {'cmd' : ['buffer_pool', 'persistent-watermark'], 'rc_output': show_buffer_pool_persistent_wm_output } - ] + ], + 'show_hdrm_pool_wm' : [ {'cmd' : ['headroom-pool', 'watermark'], + 'rc_output': show_hdrm_pool_wm_output + } + ], + 'show_hdrm_pool_pwm' : [ {'cmd' : ['headroom-pool', 'persistent-watermark'], + 'rc_output': show_hdrm_pool_persistent_wm_output + } + ] } From af1bb47f0f22f91799a8c69be38c7dc423299b3f Mon Sep 17 00:00:00 2001 From: Danny Allen Date: Thu, 10 Dec 2020 13:08:47 -0800 Subject: [PATCH 002/342] [acl_loader] Fix default DENY rule for V6 dataplane ACLs (#1281) Signed-off-by: Danny Allen --- acl_loader/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/acl_loader/main.py b/acl_loader/main.py index cbaea686e8..4af41023f1 100644 --- a/acl_loader/main.py +++ b/acl_loader/main.py @@ -539,7 +539,7 @@ def deny_rule(self, table_name): rule_props["PRIORITY"] = str(self.min_priority) rule_props["PACKET_ACTION"] = "DROP" if 'v6' in table_name.lower(): - rule_props["ETHER_TYPE"] = str(self.ethertype_map["ETHERTYPE_IPV6"]) + rule_props["IP_TYPE"] = "IPV6ANY" # ETHERTYPE is not supported for DATAACLV6 else: rule_props["ETHER_TYPE"] = str(self.ethertype_map["ETHERTYPE_IPV4"]) return rule_data From 980ea0d45e7c1ea1e6e224843574ebed23bf2cba Mon Sep 17 00:00:00 2001 From: gechiang <62408185+gechiang@users.noreply.github.com> Date: Fri, 11 Dec 2020 15:18:57 -0800 Subject: [PATCH 003/342] Fix show ip route summary on pizzabox platforms (#1302) Handling of "show ip/v6 route xxxx" for non-multi-asic platforms to be handled by FRR completely instead of using the common code added to support multi-asic platform. --- setup.py | 1 + show/bgp_common.py | 18 +- tests/conftest.py | 47 +- tests/ip_show_routes_multi_asic_test.py | 397 +++-------- tests/ip_show_routes_test.py | 326 +-------- tests/mock_tables/asic0/ip_empty_route.json | 1 + tests/mock_tables/asic0/ip_special_route.json | 197 ++++++ .../asic0/ip_special_route_asic0_only.json | 39 ++ tests/mock_tables/asic1/ip_empty_route.json | 1 + .../asic1/ip_special_route_asic0_only.json | 1 + tests/mock_tables/asic2/ip_empty_route.json | 1 + .../asic2/ip_special_route_asic0_only.json | 1 + tests/show_ip_route_common.py | 646 ++++++++++++++++++ 13 files changed, 1035 insertions(+), 641 deletions(-) create mode 100644 tests/mock_tables/asic0/ip_empty_route.json create mode 100644 tests/mock_tables/asic0/ip_special_route.json create mode 100644 tests/mock_tables/asic0/ip_special_route_asic0_only.json create mode 100644 tests/mock_tables/asic1/ip_empty_route.json create mode 100644 tests/mock_tables/asic1/ip_special_route_asic0_only.json create mode 100644 tests/mock_tables/asic2/ip_empty_route.json create mode 100644 tests/mock_tables/asic2/ip_special_route_asic0_only.json create mode 100644 tests/show_ip_route_common.py diff --git a/setup.py b/setup.py index 08ae72959d..3d9fa80297 100644 --- a/setup.py +++ b/setup.py @@ -58,6 +58,7 @@ 'mock_tables/*.json', 'mock_tables/asic0/*.json', 'mock_tables/asic1/*.json', + 'mock_tables/asic2/*.json', 'filter_fdb_input/*', 'pfcwd_input/*', 'wm_input/*'] diff --git a/show/bgp_common.py b/show/bgp_common.py index 788bda1d44..7ff859e067 100644 --- a/show/bgp_common.py +++ b/show/bgp_common.py @@ -330,6 +330,7 @@ def show_routes(args, namespace, display, verbose, ipver): device = multi_asic_util.MultiAsic(display, namespace) arg_strg = "" found_json = 0 + found_tables = 0 ns_l = [] print_ns_str = False filter_by_ip = False @@ -356,14 +357,22 @@ def show_routes(args, namespace, display, verbose, ipver): arg_strg += str(arg) + " " if str(arg) == "json": found_json = 1 + elif str(arg) == "tables": + found_tables = 1 else: try: filter_by_ip = ipaddress.ip_network(arg) except ValueError: # Not ip address just ignore it pass - if not found_json: - arg_strg += "json" + # Due to options such as "summary" and "tables" are not yet supported in multi-asic platform + # we will let FRR handle all the processing instead of handling it here for non multi-asic platform + if multi_asic.is_multi_asic(): + if found_tables: + print("% Unknown command: show {} route {}".format(ipver, arg_strg)) + return + if not found_json: + arg_strg += "json" combined_route = {} for ns in ns_l: # Need to add "ns" to form bgpX so it is sent to the correct bgpX docker to handle the request @@ -373,6 +382,8 @@ def show_routes(args, namespace, display, verbose, ipver): output = bgp_util.run_bgp_command(cmd, ns) else: output = bgp_util.run_bgp_command(cmd) + print("{}".format(output)) + return # in case no output or something went wrong with user specified cmd argument(s) error it out # error from FRR always start with character "%" @@ -394,6 +405,9 @@ def show_routes(args, namespace, display, verbose, ipver): else: combined_route = route_info + if not combined_route: + return + if not found_json: #print out the header if this is not a json request if not filter_by_ip: diff --git a/tests/conftest.py b/tests/conftest.py index 5d546ad32d..5f28a2d8ba 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -8,7 +8,7 @@ from swsssdk import ConfigDBConnector from .mock_tables import dbconnector - +from . import show_ip_route_common test_path = os.path.dirname(os.path.abspath(__file__)) modules_path = os.path.dirname(test_path) @@ -85,21 +85,6 @@ def setup_single_bgp_instance(request): elif request.param == 'v6': bgp_mocked_json = os.path.join( test_path, 'mock_tables', 'ipv6_bgp_summary.json') - elif request.param == 'ip_route': - bgp_mocked_json = os.path.join( - test_path, 'mock_tables', 'ip_route.json') - elif request.param == 'ip_specific_route': - bgp_mocked_json = os.path.join( - test_path, 'mock_tables', 'ip_specific_route.json') - elif request.param == 'ip_special_route': - bgp_mocked_json = os.path.join( - test_path, 'mock_tables', 'ip_special_route.json') - elif request.param == 'ipv6_route': - bgp_mocked_json = os.path.join( - test_path, 'mock_tables', 'ipv6_route.json') - elif request.param == 'ipv6_specific_route': - bgp_mocked_json = os.path.join( - test_path, 'mock_tables', 'ipv6_specific_route.json') else: bgp_mocked_json = os.path.join( test_path, 'mock_tables', 'dummy.json') @@ -111,12 +96,28 @@ def mock_run_bgp_command(vtysh_cmd, bgp_namespace): return mock_frr_data return "" - def mock_run_bgp_ipv6_err_command(vtysh_cmd, bgp_namespace): - return "% Unknown command: show ipv6 route garbage" + def mock_run_show_ip_route_commands(request): + if request.param == 'ipv6_route_err': + return show_ip_route_common.show_ipv6_route_err_expected_output + elif request.param == 'ip_route': + return show_ip_route_common.show_ip_route_expected_output + elif request.param == 'ip_specific_route': + return show_ip_route_common.show_specific_ip_route_expected_output + elif request.param == 'ip_special_route': + return show_ip_route_common.show_special_ip_route_expected_output + elif request.param == 'ipv6_route': + return show_ip_route_common.show_ipv6_route_expected_output + elif request.param == 'ipv6_specific_route': + return show_ip_route_common.show_ipv6_route_single_json_expected_output + else: + return "" + - if request.param == 'ipv6_route_err': + if any ([request.param == 'ipv6_route_err', request.param == 'ip_route',\ + request.param == 'ip_specific_route', request.param == 'ip_special_route',\ + request.param == 'ipv6_route', request.param == 'ipv6_specific_route']): bgp_util.run_bgp_command = mock.MagicMock( - return_value=mock_run_bgp_ipv6_err_command("", "")) + return_value=mock_run_show_ip_route_commands(request)) else: bgp_util.run_bgp_command = mock.MagicMock( return_value=mock_run_bgp_command("", "")) @@ -134,6 +135,12 @@ def setup_multi_asic_bgp_instance(request): m_asic_json_file = 'ipv6_specific_route.json' elif request.param == 'ipv6_route': m_asic_json_file = 'ipv6_route.json' + elif request.param == 'ip_special_route': + m_asic_json_file = 'ip_special_route.json' + elif request.param == 'ip_empty_route': + m_asic_json_file = 'ip_empty_route.json' + elif request.param == 'ip_specific_route_on_1_asic': + m_asic_json_file = 'ip_special_route_asic0_only.json' else: bgp_mocked_json = os.path.join( test_path, 'mock_tables', 'dummy.json') diff --git a/tests/ip_show_routes_multi_asic_test.py b/tests/ip_show_routes_multi_asic_test.py index 12a4671f1e..c889a65430 100644 --- a/tests/ip_show_routes_multi_asic_test.py +++ b/tests/ip_show_routes_multi_asic_test.py @@ -2,304 +2,12 @@ import pytest +from . import show_ip_route_common from click.testing import CliRunner test_path = os.path.dirname(os.path.abspath(__file__)) modules_path = os.path.dirname(test_path) scripts_path = os.path.join(modules_path, "scripts") -show_ip_route_multi_asic_display_all_expected_output = """\ -Codes: K - kernel route, C - connected, S - static, R - RIP, - O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP, - T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP, - F - PBR, f - OpenFabric, - > - selected route, * - FIB route, q - queued route, r - rejected route - -asic0: -K *0.0.0.0/0 [210/0] via 240.127.1.1, eth0, 2d22h00m -B>*0.0.0.0/0 [20/0] via 10.0.0.5, PortChannel0005, 2d22h00m - * via 10.0.0.1, PortChannel0002, 2d22h00m -S 0.0.0.0/0 [200/0] via 10.3.146.1, inactive 2d22h00m -C>*8.0.0.0/32 is directly connected, Loopback4096, 2d22h00m -C>*10.0.0.0/31 is directly connected, PortChannel4001, 2d22h00m -C>*10.0.0.4/31 is directly connected, PortChannel0005, 2d22h00m -C>*10.1.0.32/32 is directly connected, Loopback0, 2d22h00m -B>*100.1.0.3/32 [20/0] via 10.0.0.5, PortChannel0005, 2d22h00m -B>*192.168.0.0/32 [20/0] via 10.0.0.5, PortChannel0005, 2d22h00m - * via 10.0.0.1, PortChannel0002, 2d22h00m -B>*192.168.0.1/32 [20/0] via 10.0.0.5, PortChannel0005, 2d22h00m - * via 10.0.0.1, PortChannel0002, 2d22h00m -B>*192.168.0.32/32 [20/0] via 10.0.0.5, PortChannel0005, 2d22h00m - * via 10.0.0.1, PortChannel0002, 2d22h00m -B>*192.168.0.96/32 [20/0] via 10.0.0.5, Ethernet-BP4, 2d22h00m - * via 10.0.0.1, Ethernet-BP0, 2d22h00m -B>*192.168.0.97/32 [20/0] via 10.0.0.5, PortChannel0005, 2d22h00m - * via 10.0.0.1, PortChannel0002, 2d22h00m -B>*192.168.0.192/32 [20/0] via 10.0.0.5, Ethernet-BP4, 2d22h00m - * via 10.0.0.1, PortChannel4001, 2d22h00m -B>*192.168.0.193/32 [20/0] via 10.0.0.5, PortChannel0005, 2d22h00m - * via 10.0.0.1, PortChannel0002, 2d22h00m -B>*192.168.0.208/32 [20/0] via 10.0.0.5, PortChannel0005, 2d22h00m - * via 10.0.0.1, PortChannel0002, 2d22h00m -B>*192.168.0.209/32 [20/0] via 10.0.0.5, PortChannel0005, 2d22h00m - * via 10.0.0.1, PortChannel0002, 2d22h00m -B>*192.168.0.224/32 [20/0] via 10.0.0.5, PortChannel0005, 2d22h00m - * via 10.0.0.1, PortChannel0002, 2d22h00m -B>*192.168.0.225/32 [20/0] via 10.0.0.5, PortChannel0005, 2d22h00m - * via 10.0.0.1, PortChannel0002, 2d22h00m -B>*192.168.0.240/32 [20/0] via 10.0.0.5, PortChannel0005, 2d22h00m - * via 10.0.0.1, PortChannel0002, 2d22h00m -B>*192.168.0.241/32 [20/0] via 10.0.0.5, PortChannel0005, 2d22h00m - * via 10.0.0.1, PortChannel0002, 2d22h00m -asic1: -K *0.0.0.0/0 [210/0] via 240.127.1.1, eth0, 2d22h01m -B>*0.0.0.0/0 [20/0] via 10.0.0.8, PortChannel0008, 2d22h01m - * via 10.0.0.7, PortChannel0007, 2d22h01m -S 0.0.0.0/0 [200/0] via 10.3.146.1, inactive 2d22h01m -C>*8.0.0.1/32 is directly connected, Loopback4096, 2d22h01m -C>*10.0.0.0/31 is directly connected, PortChannel4009, 2d22h01m -C>*10.0.0.4/31 is directly connected, PortChannel0008, 2d22h01m -C>*10.1.0.32/32 is directly connected, Loopback0, 2d22h01m -B>*100.1.0.3/32 [20/0] via 10.0.0.8, PortChannel0008, 2d22h01m -B>*192.168.0.0/32 [20/0] via 10.0.0.8, PortChannel0008, 2d22h01m - * via 10.0.0.7, PortChannel0007, 2d22h01m -B>*192.168.0.1/32 [20/0] via 10.0.0.8, PortChannel0008, 2d22h01m - * via 10.0.0.7, PortChannel0007, 2d22h01m -B>*192.168.0.32/32 [20/0] via 10.0.0.8, PortChannel0008, 2d22h01m - * via 10.0.0.7, PortChannel0007, 2d22h01m -B>*192.168.0.96/32 [20/0] via 10.0.0.8, Ethernet-BP260, 2d22h01m - * via 10.0.0.7, Ethernet-BP256, 2d22h01m -B>*192.168.0.97/32 [20/0] via 10.0.0.8, PortChannel0008, 2d22h01m - * via 10.0.0.7, PortChannel0007, 2d22h01m -B>*192.168.0.192/32 [20/0] via 10.0.0.8, Ethernet-BP260, 2d22h01m - * via 10.0.0.7, PortChannel4009, 2d22h01m -B>*192.168.0.193/32 [20/0] via 10.0.0.8, PortChannel0008, 2d22h01m - * via 10.0.0.7, PortChannel0007, 2d22h01m -B>*192.168.0.208/32 [20/0] via 10.0.0.8, PortChannel0008, 2d22h01m - * via 10.0.0.7, PortChannel0007, 2d22h01m -B>*192.168.0.209/32 [20/0] via 10.0.0.8, PortChannel0008, 2d22h01m - * via 10.0.0.7, PortChannel0007, 2d22h01m -B>*192.168.0.224/32 [20/0] via 10.0.0.8, PortChannel0008, 2d22h01m - * via 10.0.0.7, PortChannel0007, 2d22h01m -B>*192.168.0.225/32 [20/0] via 10.0.0.8, PortChannel0008, 2d22h01m - * via 10.0.0.7, PortChannel0007, 2d22h01m -B>*192.168.0.240/32 [20/0] via 10.0.0.8, Ethernet-BP260, 2d22h01m - * via 10.0.0.7, PortChannel4009, 2d22h01m -B>*192.168.0.241/32 [20/0] via 10.0.0.8, PortChannel0008, 2d22h01m - * via 10.0.0.7, PortChannel0007, 2d22h01m -asic2: -K *0.0.0.0/0 [210/0] via 240.127.1.1, eth0, 2d22h02m -B>*0.0.0.0/0 [20/0] via 10.0.0.16, PortChannel1016, 2d22h02m - * via 10.0.0.15, PortChannel1015, 2d22h02m -S 0.0.0.0/0 [200/0] via 10.3.146.1, inactive 2d22h02m -C>*8.0.0.2/32 is directly connected, Loopback4096, 2d22h02m -C>*10.0.0.0/31 is directly connected, PortChannel4001, 2d22h02m -C>*10.0.0.4/31 is directly connected, PortChannel1016, 2d22h02m -C>*10.1.0.32/32 is directly connected, Loopback0, 2d22h02m -B>*100.1.0.3/32 [20/0] via 10.0.0.16, PortChannel1016, 2d22h02m -B>*192.168.0.0/32 [20/0] via 10.0.0.16, PortChannel1016, 2d22h02m - * via 10.0.0.15, PortChannel1015, 2d22h02m -B>*192.168.0.1/32 [20/0] via 10.0.0.16, PortChannel1016, 2d22h02m - * via 10.0.0.15, PortChannel1015, 2d22h02m -B>*192.168.0.32/32 [20/0] via 10.0.0.16, PortChannel1016, 2d22h02m - * via 10.0.0.15, PortChannel1015, 2d22h02m -B>*192.168.0.96/32 [20/0] via 10.0.0.16, Ethernet-BP24, 2d22h02m - * via 10.0.0.15, Ethernet-BP20, 2d22h02m -B>*192.168.0.97/32 [20/0] via 10.0.0.16, PortChannel1016, 2d22h02m - * via 10.0.0.15, PortChannel1015, 2d22h02m -B>*192.168.0.192/32 [20/0] via 10.0.0.16, Ethernet-BP24, 2d22h02m - * via 10.0.0.15, PortChannel4001, 2d22h02m -B>*192.168.0.193/32 [20/0] via 10.0.0.16, PortChannel1016, 2d22h02m - * via 10.0.0.15, PortChannel1015, 2d22h02m -B>*192.168.0.208/32 [20/0] via 10.0.0.16, PortChannel1016, 2d22h02m - * via 10.0.0.15, PortChannel1015, 2d22h02m -B>*192.168.0.209/32 [20/0] via 10.0.0.16, PortChannel1016, 2d22h02m - * via 10.0.0.15, PortChannel1015, 2d22h02m -B>*192.168.0.224/32 [20/0] via 10.0.0.16, PortChannel1016, 2d22h02m - * via 10.0.0.15, PortChannel1015, 2d22h02m -B>*192.168.0.225/32 [20/0] via 10.0.0.16, PortChannel1016, 2d22h02m - * via 10.0.0.15, PortChannel1015, 2d22h02m -B>*192.168.0.240/32 [20/0] via 10.0.0.16, PortChannel1016, 2d22h02m - * via 10.0.0.15, PortChannel1015, 2d22h02m -B>*192.168.0.241/32 [20/0] via 10.0.0.16, PortChannel1016, 2d22h02m - * via 10.0.0.15, PortChannel1015, 2d22h02m -""" - -show_ip_route_multi_asic_display_all_front_expected_output = """\ -Codes: K - kernel route, C - connected, S - static, R - RIP, - O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP, - T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP, - F - PBR, f - OpenFabric, - > - selected route, * - FIB route, q - queued route, r - rejected route - -K *0.0.0.0/0 [210/0] via 240.127.1.1, eth0, 2d22h00m -B>*0.0.0.0/0 [20/0] via 10.0.0.5, PortChannel0005, 2d22h00m - * via 10.0.0.1, PortChannel0002, 2d22h00m - * via 10.0.0.15, PortChannel1015, 2d22h00m - * via 10.0.0.16, PortChannel1016, 2d22h00m -S 0.0.0.0/0 [200/0] via 10.3.146.1, inactive 2d22h00m -C>*8.0.0.0/32 is directly connected, Loopback4096, 2d22h00m -C>*8.0.0.2/32 is directly connected, Loopback4096, 2d22h02m -C>*10.0.0.4/31 is directly connected, PortChannel0005, 2d22h00m -C>*10.0.0.4/31 is directly connected, PortChannel1016, 2d22h02m -C>*10.1.0.32/32 is directly connected, Loopback0, 2d22h00m -B>*100.1.0.3/32 [20/0] via 10.0.0.5, PortChannel0005, 2d22h00m - * via 10.0.0.16, PortChannel1016, 2d22h00m -B>*192.168.0.0/32 [20/0] via 10.0.0.5, PortChannel0005, 2d22h00m - * via 10.0.0.1, PortChannel0002, 2d22h00m - * via 10.0.0.15, PortChannel1015, 2d22h00m - * via 10.0.0.16, PortChannel1016, 2d22h00m -B>*192.168.0.1/32 [20/0] via 10.0.0.5, PortChannel0005, 2d22h00m - * via 10.0.0.1, PortChannel0002, 2d22h00m - * via 10.0.0.15, PortChannel1015, 2d22h00m - * via 10.0.0.16, PortChannel1016, 2d22h00m -B>*192.168.0.32/32 [20/0] via 10.0.0.5, PortChannel0005, 2d22h00m - * via 10.0.0.1, PortChannel0002, 2d22h00m - * via 10.0.0.15, PortChannel1015, 2d22h00m - * via 10.0.0.16, PortChannel1016, 2d22h00m -B>*192.168.0.97/32 [20/0] via 10.0.0.5, PortChannel0005, 2d22h00m - * via 10.0.0.1, PortChannel0002, 2d22h00m - * via 10.0.0.15, PortChannel1015, 2d22h00m - * via 10.0.0.16, PortChannel1016, 2d22h00m -B>*192.168.0.193/32 [20/0] via 10.0.0.5, PortChannel0005, 2d22h00m - * via 10.0.0.1, PortChannel0002, 2d22h00m - * via 10.0.0.15, PortChannel1015, 2d22h00m - * via 10.0.0.16, PortChannel1016, 2d22h00m -B>*192.168.0.208/32 [20/0] via 10.0.0.5, PortChannel0005, 2d22h00m - * via 10.0.0.1, PortChannel0002, 2d22h00m - * via 10.0.0.15, PortChannel1015, 2d22h00m - * via 10.0.0.16, PortChannel1016, 2d22h00m -B>*192.168.0.209/32 [20/0] via 10.0.0.5, PortChannel0005, 2d22h00m - * via 10.0.0.1, PortChannel0002, 2d22h00m - * via 10.0.0.15, PortChannel1015, 2d22h00m - * via 10.0.0.16, PortChannel1016, 2d22h00m -B>*192.168.0.224/32 [20/0] via 10.0.0.5, PortChannel0005, 2d22h00m - * via 10.0.0.1, PortChannel0002, 2d22h00m - * via 10.0.0.15, PortChannel1015, 2d22h00m - * via 10.0.0.16, PortChannel1016, 2d22h00m -B>*192.168.0.225/32 [20/0] via 10.0.0.5, PortChannel0005, 2d22h00m - * via 10.0.0.1, PortChannel0002, 2d22h00m - * via 10.0.0.15, PortChannel1015, 2d22h00m - * via 10.0.0.16, PortChannel1016, 2d22h00m -B>*192.168.0.240/32 [20/0] via 10.0.0.5, PortChannel0005, 2d22h00m - * via 10.0.0.1, PortChannel0002, 2d22h00m - * via 10.0.0.15, PortChannel1015, 2d22h00m - * via 10.0.0.16, PortChannel1016, 2d22h00m -B>*192.168.0.241/32 [20/0] via 10.0.0.5, PortChannel0005, 2d22h00m - * via 10.0.0.1, PortChannel0002, 2d22h00m - * via 10.0.0.15, PortChannel1015, 2d22h00m - * via 10.0.0.16, PortChannel1016, 2d22h00m -""" - -show_ipv6_route_multi_asic_all_namesapce_output = """\ -Codes: K - kernel route, C - connected, S - static, R - RIP, - O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP, - T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP, - F - PBR, f - OpenFabric, - > - selected route, * - FIB route, q - queued route, r - rejected route - -K *::/0 [210/0] via fd00::1, eth0, 2d22h00m -B>*::/0 [20/0] via fc00::6, PortChannel0005, 2d22h00m - * via fc00::2, PortChannel0002, 2d22h00m - * via fc00::2, PortChannel1015, 2d22h00m - * via fc00::6, PortChannel1016, 2d22h00m -B>*2064:100::1/128 [20/0] via fc00::2, PortChannel0002, 2d22h00m - * via fc00::2, PortChannel1015, 2d22h00m -B>*2064:100::3/128 [20/0] via fc00::6, PortChannel0005, 2d22h00m - * via fc00::6, PortChannel1016, 2d22h00m -B>*20c0:a800:0:1::/64 [20/0] via fc00::6, PortChannel0005, 2d22h00m - * via fc00::2, PortChannel0002, 2d22h00m - * via fc00::2, PortChannel1015, 2d22h00m - * via fc00::6, PortChannel1016, 2d22h00m -B>*20c0:a800:0:10::/64 [20/0] via fc00::6, PortChannel0005, 2d22h00m - * via fc00::2, PortChannel0002, 2d22h00m - * via fc00::2, PortChannel1015, 2d22h00m - * via fc00::6, PortChannel1016, 2d22h00m -B>*20c0:a800:0:11::/64 [20/0] via fc00::6, PortChannel0002, 2d22h00m - * via fc00::6, PortChannel1015, 2d22h00m -B>*20c0:a800:0:20::/64 [20/0] via fc00::2, PortChannel0002, 2d22h00m - * via fc00::2, PortChannel1015, 2d22h00m -B>*20c0:a800:0:21::/64 [20/0] via fc00::2, PortChannel0002, 2d22h00m - * via fc00::2, PortChannel1015, 2d22h00m -C>*2603:10e2:400::/128 is directly connected, Loopback4096, 2d22h00m -C>*2603:10e2:400::2/128 is directly connected, Loopback4096, 2d22h02m -C>*fc00::4/126 is directly connected, PortChannel0005, 2d22h00m -C>*fc00::4/126 is directly connected, PortChannel1016, 2d22h02m -C>*fc00:1::32/128 is directly connected, Loopback0, 2d22h00m -C>*fd00::/80 is directly connected, eth0, 2d22h00m -C>*fe80::/64 is directly connected, eth0, 2d22h00m -C *fe80::/64 is directly connected, Loopback0, 2d22h00m -C *fe80::/64 is directly connected, Loopback4096, 2d22h00m -C *fe80::/64 is directly connected, Ethernet16, 2d22h00m -C *fe80::/64 is directly connected, Ethernet20, 2d22h00m -C *fe80::/64 is directly connected, PortChannel0005, 2d22h00m -C *fe80::/64 is directly connected, PortChannel1016, 2d22h02m -C *fe80::/64 is directly connected, Ethernet24, 2d22h02m -""" - -show_ipv6_route_multi_asic_single_namesapce_output = """\ -Codes: K - kernel route, C - connected, S - static, R - RIP, - O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP, - T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP, - F - PBR, f - OpenFabric, - > - selected route, * - FIB route, q - queued route, r - rejected route - -K *::/0 [210/0] via fd00::1, eth0, 2d22h02m -B>*::/0 [20/0] via fc00::6, PortChannel1016, 2d22h02m - * via fc00::2, PortChannel1015, 2d22h02m -B>*2064:100::1/128 [20/0] via fc00::2, PortChannel1015, 2d22h02m -B>*2064:100::3/128 [20/0] via fc00::6, PortChannel1016, 2d22h02m -B>*20c0:a800:0:1::/64 [20/0] via fc00::6, PortChannel1016, 2d22h02m - * via fc00::2, PortChannel1015, 2d22h02m -B>*20c0:a800:0:10::/64 [20/0] via fc00::6, PortChannel1016, 2d22h02m - * via fc00::2, PortChannel1015, 2d22h02m -B>*20c0:a800:0:11::/64 [20/0] via fc00::6, PortChannel1015, 2d22h02m -B>*20c0:a800:0:20::/64 [20/0] via fc00::2, PortChannel1015, 2d22h02m -B>*20c0:a800:0:21::/64 [20/0] via fc00::2, PortChannel1015, 2d22h02m -C>*2603:10e2:400::2/128 is directly connected, Loopback4096, 2d22h02m -C>*fc00::4/126 is directly connected, PortChannel1016, 2d22h02m -C>*fc00:1::32/128 is directly connected, Loopback0, 2d22h02m -C>*fd00::/80 is directly connected, eth0, 2d22h02m -C>*fe80::/64 is directly connected, eth0, 2d22h02m -C *fe80::/64 is directly connected, Loopback0, 2d22h02m -C *fe80::/64 is directly connected, Loopback4096, 2d22h02m -C *fe80::/64 is directly connected, Ethernet24, 2d22h02m -C *fe80::/64 is directly connected, Ethernet20, 2d22h02m -C *fe80::/64 is directly connected, PortChannel1016, 2d22h02m -""" - -show_ip_route_multi_asic_invalid_namesapce_err_output = """\ -namespace 'asic7' is not valid. valid name spaces are: -['asic0', 'asic1', 'asic2'] -""" - -show_ip_route_multi_asic_invalid_display_err_output = """\ -dislay option 'everything' is not a valid option. -""" - -show_ip_route_multi_asic_specific_route_output = """\ -Routing entry for 10.0.0.4/31 - Known via "connected", distance 0, metric 0, best - Last update 2d22h00m ago - * directly connected, PortChannel0005 - - -Routing entry for 10.0.0.4/31 - Known via "connected", distance 0, metric 0, best - Last update 2d22h02m ago - * directly connected, PortChannel1016 - - -""" - -show_ipv6_route_multi_asic_specific_route_output = """\ -Routing entry for 2603:10e2:400::/128 - Known via "connected", distance 0, metric 0, best - Last update 2d22h00m ago - * directly connected, Loopback4096 - - -""" - class TestMultiAiscShowIpRouteDisplayAllCommands(object): @classmethod def setup_class(cls): @@ -323,7 +31,7 @@ def test_show_multi_asic_ip_route_front_end( show.cli.commands["ip"].commands["route"], ["-dfrontend"]) print("{}".format(result.output)) assert result.exit_code == 0 - assert result.output == show_ip_route_multi_asic_display_all_front_expected_output + assert result.output == show_ip_route_common.show_ip_route_multi_asic_display_all_front_expected_output @pytest.mark.parametrize('setup_multi_asic_bgp_instance', ['ip_route'], indirect=['setup_multi_asic_bgp_instance']) @@ -337,7 +45,7 @@ def test_show_multi_asic_ip_route_all( show.cli.commands["ip"].commands["route"], ["-dall"]) print("{}".format(result.output)) assert result.exit_code == 0 - assert result.output == show_ip_route_multi_asic_display_all_expected_output + assert result.output == show_ip_route_common.show_ip_route_multi_asic_display_all_expected_output @pytest.mark.parametrize('setup_multi_asic_bgp_instance', ['ip_specific_route'], indirect=['setup_multi_asic_bgp_instance']) @@ -351,7 +59,21 @@ def test_show_multi_asic_ip_route_specific( show.cli.commands["ip"].commands["route"], ["10.0.0.4"]) print("{}".format(result.output)) assert result.exit_code == 0 - assert result.output == show_ip_route_multi_asic_specific_route_output + assert result.output == show_ip_route_common.show_ip_route_multi_asic_specific_route_output + + @pytest.mark.parametrize('setup_multi_asic_bgp_instance', + ['ip_specific_route_on_1_asic'], indirect=['setup_multi_asic_bgp_instance']) + def test_show_multi_asic_ip_route_specific_on_1_asic( + self, + setup_ip_route_commands, + setup_multi_asic_bgp_instance): + show = setup_ip_route_commands + runner = CliRunner() + result = runner.invoke( + show.cli.commands["ip"].commands["route"], ["192.168.0.1"]) + print("{}".format(result.output)) + assert result.exit_code == 0 + assert result.output == show_ip_route_common.show_specific_ip_route_expected_output @pytest.mark.parametrize('setup_multi_asic_bgp_instance', ['ipv6_specific_route'], indirect=['setup_multi_asic_bgp_instance']) @@ -365,7 +87,38 @@ def test_show_multi_asic_ipv6_route_specific( show.cli.commands["ipv6"].commands["route"], ["2603:10e2:400::"]) print("{}".format(result.output)) assert result.exit_code == 0 - assert result.output == show_ipv6_route_multi_asic_specific_route_output + assert result.output == show_ip_route_common.show_ipv6_route_multi_asic_specific_route_output + + @pytest.mark.parametrize('setup_multi_asic_bgp_instance', + ['ip_route'], indirect=['setup_multi_asic_bgp_instance']) + def test_show_multi_asic_ip_route_tables_option_err( + self, + setup_ip_route_commands, + setup_multi_asic_bgp_instance): + show = setup_ip_route_commands + runner = CliRunner() + result = runner.invoke( + show.cli.commands["ip"].commands["route"], ["tables"]) + print("{}".format(result.output)) + assert result.exit_code == 0 + assert result.output == show_ip_route_common.show_ip_route_multi_asic_invalid_tables_cmd_err_output + + # note that we purposely use the single bgp instance setup to cause trigger a param error bad + # just bail out while executing in multi-asic show ipv6 route handling. + # This is to test out the error parm handling code path + @pytest.mark.parametrize('setup_single_bgp_instance', + ['ipv6_route_err'], indirect=['setup_single_bgp_instance']) + def test_show_imulti_asic_ipv6_route_err( + self, + setup_ip_route_commands, + setup_single_bgp_instance): + show = setup_ip_route_commands + runner = CliRunner() + result = runner.invoke( + show.cli.commands["ipv6"].commands["route"], ["garbage"]) + print("{}".format(result.output)) + assert result.exit_code == 0 + assert result.output == show_ip_route_common.show_ipv6_route_err_expected_output + "\n" @pytest.mark.parametrize('setup_multi_asic_bgp_instance', ['ip_route'], indirect=['setup_multi_asic_bgp_instance']) @@ -379,7 +132,7 @@ def test_show_multi_asic_ip_route_namespace_option_err( show.cli.commands["ip"].commands["route"], ["-nasic7"]) print("{}".format(result.output)) assert result.exit_code == 0 - assert result.output == show_ip_route_multi_asic_invalid_namesapce_err_output + assert result.output == show_ip_route_common.show_ip_route_multi_asic_invalid_namesapce_err_output @pytest.mark.parametrize('setup_multi_asic_bgp_instance', ['ip_route'], indirect=['setup_multi_asic_bgp_instance']) @@ -393,7 +146,7 @@ def test_show_multi_asic_ip_route_display_option_err( show.cli.commands["ip"].commands["route"], ["-deverything"]) print("{}".format(result.output)) assert result.exit_code == 0 - assert result.output == show_ip_route_multi_asic_invalid_display_err_output + assert result.output == show_ip_route_common.show_ip_route_multi_asic_invalid_display_err_output @pytest.mark.parametrize('setup_multi_asic_bgp_instance', ['ipv6_route'], indirect=['setup_multi_asic_bgp_instance']) @@ -407,7 +160,7 @@ def test_show_multi_asic_ipv6_route_all_namespace( show.cli.commands["ipv6"].commands["route"], ["-dfrontend"]) print("{}".format(result.output)) assert result.exit_code == 0 - assert result.output == show_ipv6_route_multi_asic_all_namesapce_output + assert result.output == show_ip_route_common.show_ipv6_route_multi_asic_all_namesapce_output @pytest.mark.parametrize('setup_multi_asic_bgp_instance', ['ipv6_route'], indirect=['setup_multi_asic_bgp_instance']) @@ -421,7 +174,49 @@ def test_show_multi_asic_ipv6_route_single_namespace( show.cli.commands["ipv6"].commands["route"], ["-nasic2"]) print("{}".format(result.output)) assert result.exit_code == 0 - assert result.output == show_ipv6_route_multi_asic_single_namesapce_output + assert result.output == show_ip_route_common.show_ipv6_route_multi_asic_single_namesapce_output + + @pytest.mark.parametrize('setup_multi_asic_bgp_instance', + ['ipv6_specific_route'], indirect=['setup_multi_asic_bgp_instance']) + def test_show_multi_asic_ipv6_route_specific_route_json( + self, + setup_ip_route_commands, + setup_multi_asic_bgp_instance): + show = setup_ip_route_commands + runner = CliRunner() + result = runner.invoke( + show.cli.commands["ipv6"].commands["route"], ["json"]) + print("{}".format(result.output)) + assert result.exit_code == 0 + assert result.output == show_ip_route_common.show_ipv6_route_multi_asic_json_output + + @pytest.mark.parametrize('setup_multi_asic_bgp_instance', + ['ip_special_route'], indirect=['setup_multi_asic_bgp_instance']) + def test_show_multi_asic_ip_route_special_route( + self, + setup_ip_route_commands, + setup_multi_asic_bgp_instance): + show = setup_ip_route_commands + runner = CliRunner() + result = runner.invoke( + show.cli.commands["ip"].commands["route"], ["-nasic0"]) + print("{}".format(result.output)) + assert result.exit_code == 0 + assert result.output == show_ip_route_common.show_special_ip_route_expected_output + + @pytest.mark.parametrize('setup_multi_asic_bgp_instance', + ['ip_empty_route'], indirect=['setup_multi_asic_bgp_instance']) + def test_show_multi_asic_ip_route_empty_route( + self, + setup_ip_route_commands, + setup_multi_asic_bgp_instance): + show = setup_ip_route_commands + runner = CliRunner() + result = runner.invoke( + show.cli.commands["ip"].commands["route"], ["-dfrontend"]) + print("{}".format(result.output)) + assert result.exit_code == 0 + assert result.output == "" @classmethod def teardown_class(cls): diff --git a/tests/ip_show_routes_test.py b/tests/ip_show_routes_test.py index f7e7c4851e..820827d550 100644 --- a/tests/ip_show_routes_test.py +++ b/tests/ip_show_routes_test.py @@ -1,322 +1,13 @@ import os - import pytest +from . import show_ip_route_common from click.testing import CliRunner + test_path = os.path.dirname(os.path.abspath(__file__)) modules_path = os.path.dirname(test_path) scripts_path = os.path.join(modules_path, "scripts") -show_ip_route_expected_output = """\ -Codes: K - kernel route, C - connected, S - static, R - RIP, - O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP, - T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP, - F - PBR, f - OpenFabric, - > - selected route, * - FIB route, q - queued route, r - rejected route - -S 0.0.0.0/0 [200/0] via 10.3.146.1, inactive 1d11h20m -B>*0.0.0.0/0 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m - * via 10.0.0.5, PortChannel0005, 1d11h20m -K *0.0.0.0/0 [210/0] via 240.127.1.1, eth0, 1d11h20m -C>*8.0.0.0/32 is directly connected, Loopback4096, 1d11h21m -C>*10.0.0.0/31 is directly connected, PortChannel0002, 1d11h20m -C>*10.0.0.4/31 is directly connected, PortChannel0005, 1d11h20m -C>*10.1.0.32/32 is directly connected, Loopback0, 1d11h21m -B>*100.1.0.3/32 [20/0] via 10.0.0.5, PortChannel0005, 1d11h20m -B>*192.168.0.0/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m - * via 10.0.0.5, PortChannel0005, 1d11h20m -B>*192.168.0.1/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m - * via 10.0.0.5, PortChannel0005, 1d11h20m -B>*192.168.0.16/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m - * via 10.0.0.5, PortChannel0005, 1d11h20m -B>*192.168.0.17/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m - * via 10.0.0.5, PortChannel0005, 1d11h20m -B>*192.168.0.32/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m - * via 10.0.0.5, PortChannel0005, 1d11h20m -B>*192.168.0.33/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m - * via 10.0.0.5, PortChannel0005, 1d11h20m -B>*192.168.0.48/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m - * via 10.0.0.5, PortChannel0005, 1d11h20m -B>*192.168.0.49/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m - * via 10.0.0.5, PortChannel0005, 1d11h20m -B>*192.168.0.64/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m - * via 10.0.0.5, PortChannel0005, 1d11h20m -B>*192.168.0.65/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m - * via 10.0.0.5, PortChannel0005, 1d11h20m -B>*192.168.0.80/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m - * via 10.0.0.5, PortChannel0005, 1d11h20m -B>*192.168.0.81/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m - * via 10.0.0.5, PortChannel0005, 1d11h20m -B>*192.168.0.96/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m - * via 10.0.0.5, PortChannel0005, 1d11h20m -B>*192.168.0.97/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m - * via 10.0.0.5, PortChannel0005, 1d11h20m -B>*192.168.0.112/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m - * via 10.0.0.5, PortChannel0005, 1d11h20m -B>*192.168.0.113/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m - * via 10.0.0.5, PortChannel0005, 1d11h20m -B>*192.168.0.128/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m - * via 10.0.0.5, PortChannel0005, 1d11h20m -B>*192.168.0.129/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m - * via 10.0.0.5, PortChannel0005, 1d11h20m -B>*192.168.0.144/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m - * via 10.0.0.5, PortChannel0005, 1d11h20m -B>*192.168.0.145/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m - * via 10.0.0.5, PortChannel0005, 1d11h20m -B>*192.168.0.160/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m - * via 10.0.0.5, PortChannel0005, 1d11h20m -B>*192.168.0.161/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m - * via 10.0.0.5, PortChannel0005, 1d11h20m -B>*192.168.0.176/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m - * via 10.0.0.5, PortChannel0005, 1d11h20m -B>*192.168.0.177/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m - * via 10.0.0.5, PortChannel0005, 1d11h20m -B>*192.168.0.192/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m - * via 10.0.0.5, PortChannel0005, 1d11h20m -B>*192.168.0.193/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m - * via 10.0.0.5, PortChannel0005, 1d11h20m -B>*192.168.0.208/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m - * via 10.0.0.5, PortChannel0005, 1d11h20m -B>*192.168.0.209/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m - * via 10.0.0.5, PortChannel0005, 1d11h20m -B>*192.168.0.224/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m - * via 10.0.0.5, PortChannel0005, 1d11h20m -B>*192.168.0.225/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m - * via 10.0.0.5, PortChannel0005, 1d11h20m -B>*192.168.0.240/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m - * via 10.0.0.5, PortChannel0005, 1d11h20m -B>*192.168.0.241/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m - * via 10.0.0.5, PortChannel0005, 1d11h20m -""" - - -show_specific_ip_route_expected_output = """\ -Routing entry for 192.168.0.1/32 - Known via "bgp", distance 20, metric 0, best - Last update 1d11h20m ago - * 10.0.0.1, via PortChannel0002 - * 10.0.0.5, via PortChannel0005 - -""" - -show_special_ip_route_expected_output = """\ -Codes: K - kernel route, C - connected, S - static, R - RIP, - O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP, - T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP, - F - PBR, f - OpenFabric, - > - selected route, * - FIB route, q - queued route, r - rejected route - -C>*10.3.0.4/31 (blackhole)(vrf 2, PortChannel1014, inactive (recursive) 2d22h02m -C>*10.5.0.4/31 (ICMP unreachable) inactive 2d22h02m -C>*10.5.0.8/31 (ICMP admin-prohibited) inactive onlink, src 10.2.3.4 2d22h02m -C> 10.6.0.8/31 inactive 2d22h02m -C>q10.6.5.0/31 inactive 2d22h02m -C>r10.6.5.3/31 inactive 2d22h02m -C>*10.7.0.8/31 (ICMP admin-prohibited) inactive onlink, src 10.2.3.4, label IPv4 Explicit Null/OAM Alert/Extension/1212 2d22h02m -""" - - -show_ipv6_route_err_expected_output = """\ -% Unknown command: show ipv6 route garbage -""" - -show_ipv6_route_single_json_expected_output = """\ -{ - "20c0:a8c7:0:81::/64": [ - { - "destSelected": true, - "distance": 20, - "installed": true, - "internalFlags": 8, - "internalNextHopActiveNum": 2, - "internalNextHopNum": 2, - "internalStatus": 16, - "metric": 0, - "nexthops": [ - { - "active": true, - "afi": "ipv6", - "fib": true, - "flags": 3, - "interfaceIndex": 928, - "interfaceName": "PortChannel0011", - "ip": "fc00::e" - }, - { - "active": true, - "afi": "ipv6", - "fib": true, - "flags": 3, - "interfaceIndex": 927, - "interfaceName": "PortChannel0008", - "ip": "fc00::a" - } - ], - "prefix": "20c0:a8c7:0:81::/64", - "protocol": "bgp", - "selected": true, - "table": 254, - "uptime": "2d13h40m" - } - ] -} -""" - -show_ipv6_route_expected_output = """\ -Codes: K - kernel route, C - connected, S - static, R - RIP, - O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP, - T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP, - F - PBR, f - OpenFabric, - > - selected route, * - FIB route, q - queued route, r - rejected route - -B>*::/0 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -K *::/0 [210/0] via fd00::1, eth0, 1d11h34m -B>*2064:100::1/128 [20/0] via fc00::2, PortChannel0002, 1d11h34m -B>*2064:100::3/128 [20/0] via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a800::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a800:0:1::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a800:0:10::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a800:0:11::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a800:0:20::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a800:0:21::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a800:0:30::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a800:0:31::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a800:0:40::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a800:0:41::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a800:0:50::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a800:0:51::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a800:0:60::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a800:0:61::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a800:0:70::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a800:0:71::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a800:0:80::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a800:0:81::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a800:0:90::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a800:0:91::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a800:0:a0::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a800:0:a1::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a800:0:b0::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a800:0:b1::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a800:0:c0::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a800:0:c1::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a800:0:d0::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a800:0:d1::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a800:0:e0::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a800:0:e1::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a800:0:f0::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a800:0:f1::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a801::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a801:0:1::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a801:0:10::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a801:0:11::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a801:0:20::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a801:0:21::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a801:0:30::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a801:0:31::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a801:0:40::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a801:0:41::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a801:0:50::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a801:0:51::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a801:0:60::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a801:0:61::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a801:0:70::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a801:0:71::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a801:0:80::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a801:0:81::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a801:0:90::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a801:0:91::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a801:0:a0::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a801:0:a1::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a801:0:b0::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a801:0:b1::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a801:0:c0::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a801:0:c1::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a801:0:d0::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a801:0:d1::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a801:0:e0::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a801:0:e1::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a801:0:f0::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -B>*20c0:a801:0:f1::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m - * via fc00::6, PortChannel0005, 1d11h34m -C>*2603:10e2:400::/128 is directly connected, Loopback4096, 1d11h34m -C>*fc00::/126 is directly connected, PortChannel0002, 1d11h34m -C>*fc00::4/126 is directly connected, PortChannel0005, 1d11h34m -C>*fc00:1::32/128 is directly connected, Loopback0, 1d11h34m -C>*fd00::/80 is directly connected, eth0, 1d11h34m -C *fe80::/64 is directly connected, PortChannel0002, 1d11h34m -C *fe80::/64 is directly connected, PortChannel0005, 1d11h34m -C *fe80::/64 is directly connected, Ethernet20, 1d11h34m -C *fe80::/64 is directly connected, Ethernet16, 1d11h34m -C *fe80::/64 is directly connected, Ethernet4, 1d11h34m -C *fe80::/64 is directly connected, Ethernet0, 1d11h34m -C *fe80::/64 is directly connected, Loopback4096, 1d11h34m -C *fe80::/64 is directly connected, Loopback0, 1d11h34m -C>*fe80::/64 is directly connected, eth0, 1d11h34m -""" class TestShowIpRouteCommands(object): @classmethod @@ -327,7 +18,6 @@ def setup_class(cls): os.environ["UTILITIES_UNIT_TESTING"] = "0" os.environ["UTILITIES_UNIT_TESTING_TOPOLOGY"] = "" import mock_tables.dbconnector - @pytest.mark.parametrize('setup_single_bgp_instance', ['ip_route'], indirect=['setup_single_bgp_instance']) def test_show_ip_route( @@ -340,7 +30,7 @@ def test_show_ip_route( show.cli.commands["ip"].commands["route"], []) print("{}".format(result.output)) assert result.exit_code == 0 - assert result.output == show_ip_route_expected_output + assert result.output == show_ip_route_common.show_ip_route_expected_output + "\n" @pytest.mark.parametrize('setup_single_bgp_instance', ['ip_specific_route'], indirect=['setup_single_bgp_instance']) @@ -354,7 +44,7 @@ def test_show_specific_ip_route( show.cli.commands["ip"].commands["route"], ["192.168.0.1"]) print("{}".format(result.output)) assert result.exit_code == 0 - assert result.output == show_specific_ip_route_expected_output + assert result.output == show_ip_route_common.show_specific_ip_route_expected_output + "\n" @pytest.mark.parametrize('setup_single_bgp_instance', ['ip_special_route'], indirect=['setup_single_bgp_instance']) @@ -368,7 +58,7 @@ def test_show_special_ip_route( show.cli.commands["ip"].commands["route"], []) print("{}".format(result.output)) assert result.exit_code == 0 - assert result.output == show_special_ip_route_expected_output + assert result.output == show_ip_route_common.show_special_ip_route_expected_output + "\n" @pytest.mark.parametrize('setup_single_bgp_instance', ['ipv6_specific_route'], indirect=['setup_single_bgp_instance']) @@ -382,7 +72,7 @@ def test_show_specific_ipv6_route_json( show.cli.commands["ip"].commands["route"], ["20c0:a8c7:0:81::", "json"]) print("{}".format(result.output)) assert result.exit_code == 0 - assert result.output == show_ipv6_route_single_json_expected_output + assert result.output == show_ip_route_common.show_ipv6_route_single_json_expected_output + "\n" @pytest.mark.parametrize('setup_single_bgp_instance', ['ipv6_route'], indirect=['setup_single_bgp_instance']) @@ -396,7 +86,7 @@ def test_show_ipv6_route( show.cli.commands["ipv6"].commands["route"], []) print("{}".format(result.output)) assert result.exit_code == 0 - assert result.output == show_ipv6_route_expected_output + assert result.output == show_ip_route_common.show_ipv6_route_expected_output + "\n" @pytest.mark.parametrize('setup_single_bgp_instance', ['ipv6_route_err'], indirect=['setup_single_bgp_instance']) @@ -410,4 +100,4 @@ def test_show_ipv6_route_err( show.cli.commands["ipv6"].commands["route"], ["garbage"]) print("{}".format(result.output)) assert result.exit_code == 0 - assert result.output == show_ipv6_route_err_expected_output + assert result.output == show_ip_route_common.show_ipv6_route_err_expected_output + "\n" diff --git a/tests/mock_tables/asic0/ip_empty_route.json b/tests/mock_tables/asic0/ip_empty_route.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/tests/mock_tables/asic0/ip_empty_route.json @@ -0,0 +1 @@ +{} diff --git a/tests/mock_tables/asic0/ip_special_route.json b/tests/mock_tables/asic0/ip_special_route.json new file mode 100644 index 0000000000..514623c57f --- /dev/null +++ b/tests/mock_tables/asic0/ip_special_route.json @@ -0,0 +1,197 @@ +{ + "10.3.0.4/31": [ + { + "destSelected": true, + "distance": 0, + "installed": true, + "internalFlags": 8, + "internalNextHopActiveNum": 1, + "internalNextHopNum": 1, + "internalStatus": 16, + "metric": 0, + "nexthops": [ + { + "vrf": 2, + "recursive": true, + "blackhole": true, + "unreachable": true, + "fib": true, + "flags": 3, + "interfaceIndex": 726, + "interfaceName": "PortChannel1014" + } + ], + "prefix": "10.3.0.4/31", + "protocol": "connected", + "selected": true, + "table": 254, + "uptime": "2d22h02m" + } + ], + "10.5.0.4/31": [ + { + "destSelected": true, + "distance": 0, + "installed": true, + "internalFlags": 8, + "internalNextHopActiveNum": 1, + "internalNextHopNum": 1, + "internalStatus": 16, + "metric": 0, + "nexthops": [ + { + "reject": true, + "unreachable": true, + "fib": true, + "flags": 3, + "interfaceIndex": 728, + "interfaceName": "PortChannel1016" + } + ], + "prefix": "10.5.0.4/31", + "protocol": "connected", + "selected": true, + "table": 254, + "uptime": "2d22h02m" + } + ], + "10.5.0.8/31": [ + { + "destSelected": true, + "distance": 0, + "installed": true, + "internalFlags": 8, + "internalNextHopActiveNum": 1, + "internalNextHopNum": 1, + "internalStatus": 16, + "metric": 0, + "nexthops": [ + { + "admin-prohibited": true, + "unreachable": true, + "onLink": true, + "source": "10.2.3.4", + "fib": true, + "flags": 3, + "interfaceIndex": 727, + "interfaceName": "PortChannel1015" + } + ], + "prefix": "10.5.0.8/31", + "protocol": "connected", + "selected": true, + "table": 254, + "uptime": "2d22h02m" + } + ], + "10.6.0.8/31": [ + { + "destSelected": true, + "distance": 0, + "installed": true, + "internalFlags": 8, + "internalNextHopActiveNum": 1, + "internalNextHopNum": 1, + "internalStatus": 16, + "metric": 0, + "nexthops": [ + { + "admin-prohibited": true, + "fib": true, + "flags": 7, + "interfaceIndex": 737, + "interfaceName": "PortChannel1025" + } + ], + "prefix": "10.6.0.8/31", + "protocol": "connected", + "selected": true, + "table": 254, + "uptime": "2d22h02m" + } + ], + "10.6.5.0/31": [ + { + "destSelected": true, + "distance": 0, + "installed": true, + "internalFlags": 8, + "internalNextHopActiveNum": 1, + "internalNextHopNum": 1, + "internalStatus": 16, + "metric": 0, + "nexthops": [ + { + "admin-prohibited": true, + "fib": true, + "flags": 7, + "interfaceIndex": 737, + "interfaceName": "PortChannel1025" + } + ], + "prefix": "10.6.5.0/31", + "protocol": "connected", + "selected": true, + "queued": true, + "table": 254, + "uptime": "2d22h02m" + } + ], + "10.6.5.3/31": [ + { + "destSelected": true, + "distance": 0, + "installed": true, + "internalFlags": 8, + "internalNextHopActiveNum": 1, + "internalNextHopNum": 1, + "internalStatus": 16, + "metric": 0, + "nexthops": [ + { + "admin-prohibited": true, + "fib": true, + "flags": 7, + "interfaceIndex": 737, + "interfaceName": "PortChannel1025" + } + ], + "prefix": "10.6.5.3/31", + "protocol": "connected", + "selected": true, + "failed": true, + "table": 254, + "uptime": "2d22h02m" + } + ], + "10.7.0.8/31": [ + { + "destSelected": true, + "distance": 0, + "installed": true, + "internalFlags": 8, + "internalNextHopActiveNum": 1, + "internalNextHopNum": 1, + "internalStatus": 16, + "metric": 0, + "nexthops": [ + { + "admin-prohibited": true, + "unreachable": true, + "onLink": true, + "source": "10.2.3.4", + "fib": true, + "flags": 3, + "interfaceIndex": 729, + "interfaceName": "PortChannel1017", + "labels": [0,14,15,1212] + } + ], + "prefix": "10.7.0.8/31", + "protocol": "connected", + "selected": true, + "table": 254, + "uptime": "2d22h02m" + } + ] +} diff --git a/tests/mock_tables/asic0/ip_special_route_asic0_only.json b/tests/mock_tables/asic0/ip_special_route_asic0_only.json new file mode 100644 index 0000000000..957788580e --- /dev/null +++ b/tests/mock_tables/asic0/ip_special_route_asic0_only.json @@ -0,0 +1,39 @@ +{ + "192.168.0.1/32": [ + { + "destSelected": true, + "distance": 20, + "installed": true, + "internalFlags": 8, + "internalNextHopActiveNum": 2, + "internalNextHopNum": 2, + "internalStatus": 16, + "metric": 0, + "nexthops": [ + { + "active": true, + "afi": "ipv4", + "fib": true, + "flags": 3, + "interfaceIndex": 728, + "interfaceName": "PortChannel0005", + "ip": "10.0.0.5" + }, + { + "active": true, + "afi": "ipv4", + "fib": true, + "flags": 3, + "interfaceIndex": 727, + "interfaceName": "PortChannel0002", + "ip": "10.0.0.1" + } + ], + "prefix": "192.168.0.1/32", + "protocol": "bgp", + "selected": true, + "table": 254, + "uptime": "1d11h20m" + } + ] +} diff --git a/tests/mock_tables/asic1/ip_empty_route.json b/tests/mock_tables/asic1/ip_empty_route.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/tests/mock_tables/asic1/ip_empty_route.json @@ -0,0 +1 @@ +{} diff --git a/tests/mock_tables/asic1/ip_special_route_asic0_only.json b/tests/mock_tables/asic1/ip_special_route_asic0_only.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/tests/mock_tables/asic1/ip_special_route_asic0_only.json @@ -0,0 +1 @@ +{} diff --git a/tests/mock_tables/asic2/ip_empty_route.json b/tests/mock_tables/asic2/ip_empty_route.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/tests/mock_tables/asic2/ip_empty_route.json @@ -0,0 +1 @@ +{} diff --git a/tests/mock_tables/asic2/ip_special_route_asic0_only.json b/tests/mock_tables/asic2/ip_special_route_asic0_only.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/tests/mock_tables/asic2/ip_special_route_asic0_only.json @@ -0,0 +1 @@ +{} diff --git a/tests/show_ip_route_common.py b/tests/show_ip_route_common.py new file mode 100644 index 0000000000..d6d82acb9c --- /dev/null +++ b/tests/show_ip_route_common.py @@ -0,0 +1,646 @@ +# +# NON-MULTI_ASIC TEST SECTION +# + +show_ip_route_expected_output = """\ +Codes: K - kernel route, C - connected, S - static, R - RIP, + O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP, + T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP, + F - PBR, f - OpenFabric, + > - selected route, * - FIB route, q - queued route, r - rejected route + +S 0.0.0.0/0 [200/0] via 10.3.146.1, inactive 1d11h20m +B>*0.0.0.0/0 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m + * via 10.0.0.5, PortChannel0005, 1d11h20m +K *0.0.0.0/0 [210/0] via 240.127.1.1, eth0, 1d11h20m +C>*8.0.0.0/32 is directly connected, Loopback4096, 1d11h21m +C>*10.0.0.0/31 is directly connected, PortChannel0002, 1d11h20m +C>*10.0.0.4/31 is directly connected, PortChannel0005, 1d11h20m +C>*10.1.0.32/32 is directly connected, Loopback0, 1d11h21m +B>*100.1.0.3/32 [20/0] via 10.0.0.5, PortChannel0005, 1d11h20m +B>*192.168.0.0/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m + * via 10.0.0.5, PortChannel0005, 1d11h20m +B>*192.168.0.1/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m + * via 10.0.0.5, PortChannel0005, 1d11h20m +B>*192.168.0.16/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m + * via 10.0.0.5, PortChannel0005, 1d11h20m +B>*192.168.0.17/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m + * via 10.0.0.5, PortChannel0005, 1d11h20m +B>*192.168.0.32/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m + * via 10.0.0.5, PortChannel0005, 1d11h20m +B>*192.168.0.33/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m + * via 10.0.0.5, PortChannel0005, 1d11h20m +B>*192.168.0.48/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m + * via 10.0.0.5, PortChannel0005, 1d11h20m +B>*192.168.0.49/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m + * via 10.0.0.5, PortChannel0005, 1d11h20m +B>*192.168.0.64/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m + * via 10.0.0.5, PortChannel0005, 1d11h20m +B>*192.168.0.65/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m + * via 10.0.0.5, PortChannel0005, 1d11h20m +B>*192.168.0.80/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m + * via 10.0.0.5, PortChannel0005, 1d11h20m +B>*192.168.0.81/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m + * via 10.0.0.5, PortChannel0005, 1d11h20m +B>*192.168.0.96/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m + * via 10.0.0.5, PortChannel0005, 1d11h20m +B>*192.168.0.97/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m + * via 10.0.0.5, PortChannel0005, 1d11h20m +B>*192.168.0.112/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m + * via 10.0.0.5, PortChannel0005, 1d11h20m +B>*192.168.0.113/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m + * via 10.0.0.5, PortChannel0005, 1d11h20m +B>*192.168.0.128/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m + * via 10.0.0.5, PortChannel0005, 1d11h20m +B>*192.168.0.129/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m + * via 10.0.0.5, PortChannel0005, 1d11h20m +B>*192.168.0.144/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m + * via 10.0.0.5, PortChannel0005, 1d11h20m +B>*192.168.0.145/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m + * via 10.0.0.5, PortChannel0005, 1d11h20m +B>*192.168.0.160/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m + * via 10.0.0.5, PortChannel0005, 1d11h20m +B>*192.168.0.161/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m + * via 10.0.0.5, PortChannel0005, 1d11h20m +B>*192.168.0.176/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m + * via 10.0.0.5, PortChannel0005, 1d11h20m +B>*192.168.0.177/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m + * via 10.0.0.5, PortChannel0005, 1d11h20m +B>*192.168.0.192/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m + * via 10.0.0.5, PortChannel0005, 1d11h20m +B>*192.168.0.193/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m + * via 10.0.0.5, PortChannel0005, 1d11h20m +B>*192.168.0.208/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m + * via 10.0.0.5, PortChannel0005, 1d11h20m +B>*192.168.0.209/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m + * via 10.0.0.5, PortChannel0005, 1d11h20m +B>*192.168.0.224/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m + * via 10.0.0.5, PortChannel0005, 1d11h20m +B>*192.168.0.225/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m + * via 10.0.0.5, PortChannel0005, 1d11h20m +B>*192.168.0.240/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m + * via 10.0.0.5, PortChannel0005, 1d11h20m +B>*192.168.0.241/32 [20/0] via 10.0.0.1, PortChannel0002, 1d11h20m + * via 10.0.0.5, PortChannel0005, 1d11h20m +""" + +show_specific_ip_route_expected_output = """\ +Routing entry for 192.168.0.1/32 + Known via "bgp", distance 20, metric 0, best + Last update 1d11h20m ago + * 10.0.0.1, via PortChannel0002 + * 10.0.0.5, via PortChannel0005 + +""" + +show_special_ip_route_expected_output = """\ +Codes: K - kernel route, C - connected, S - static, R - RIP, + O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP, + T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP, + F - PBR, f - OpenFabric, + > - selected route, * - FIB route, q - queued route, r - rejected route + +C>*10.3.0.4/31 (blackhole)(vrf 2, PortChannel1014, inactive (recursive) 2d22h02m +C>*10.5.0.4/31 (ICMP unreachable) inactive 2d22h02m +C>*10.5.0.8/31 (ICMP admin-prohibited) inactive onlink, src 10.2.3.4 2d22h02m +C> 10.6.0.8/31 inactive 2d22h02m +C>q10.6.5.0/31 inactive 2d22h02m +C>r10.6.5.3/31 inactive 2d22h02m +C>*10.7.0.8/31 (ICMP admin-prohibited) inactive onlink, src 10.2.3.4, label IPv4 Explicit Null/OAM Alert/Extension/1212 2d22h02m +""" + + +show_ipv6_route_err_expected_output = """\ +% Unknown command: show ipv6 route garbage +""" + +show_ipv6_route_single_json_expected_output = """\ +{ + "20c0:a8c7:0:81::/64": [ + { + "destSelected": true, + "distance": 20, + "installed": true, + "internalFlags": 8, + "internalNextHopActiveNum": 2, + "internalNextHopNum": 2, + "internalStatus": 16, + "metric": 0, + "nexthops": [ + { + "active": true, + "afi": "ipv6", + "fib": true, + "flags": 3, + "interfaceIndex": 928, + "interfaceName": "PortChannel0011", + "ip": "fc00::e" + }, + { + "active": true, + "afi": "ipv6", + "fib": true, + "flags": 3, + "interfaceIndex": 927, + "interfaceName": "PortChannel0008", + "ip": "fc00::a" + } + ], + "prefix": "20c0:a8c7:0:81::/64", + "protocol": "bgp", + "selected": true, + "table": 254, + "uptime": "2d13h40m" + } + ] +} +""" + +show_ipv6_route_expected_output = """\ +Codes: K - kernel route, C - connected, S - static, R - RIP, + O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP, + T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP, + F - PBR, f - OpenFabric, + > - selected route, * - FIB route, q - queued route, r - rejected route + +B>*::/0 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +K *::/0 [210/0] via fd00::1, eth0, 1d11h34m +B>*2064:100::1/128 [20/0] via fc00::2, PortChannel0002, 1d11h34m +B>*2064:100::3/128 [20/0] via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a800::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a800:0:1::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a800:0:10::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a800:0:11::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a800:0:20::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a800:0:21::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a800:0:30::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a800:0:31::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a800:0:40::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a800:0:41::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a800:0:50::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a800:0:51::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a800:0:60::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a800:0:61::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a800:0:70::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a800:0:71::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a800:0:80::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a800:0:81::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a800:0:90::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a800:0:91::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a800:0:a0::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a800:0:a1::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a800:0:b0::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a800:0:b1::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a800:0:c0::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a800:0:c1::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a800:0:d0::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a800:0:d1::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a800:0:e0::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a800:0:e1::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a800:0:f0::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a800:0:f1::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a801::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a801:0:1::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a801:0:10::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a801:0:11::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a801:0:20::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a801:0:21::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a801:0:30::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a801:0:31::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a801:0:40::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a801:0:41::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a801:0:50::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a801:0:51::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a801:0:60::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a801:0:61::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a801:0:70::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a801:0:71::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a801:0:80::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a801:0:81::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a801:0:90::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a801:0:91::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a801:0:a0::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a801:0:a1::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a801:0:b0::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a801:0:b1::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a801:0:c0::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a801:0:c1::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a801:0:d0::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a801:0:d1::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a801:0:e0::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a801:0:e1::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a801:0:f0::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +B>*20c0:a801:0:f1::/64 [20/0] via fc00::2, PortChannel0002, 1d11h34m + * via fc00::6, PortChannel0005, 1d11h34m +C>*2603:10e2:400::/128 is directly connected, Loopback4096, 1d11h34m +C>*fc00::/126 is directly connected, PortChannel0002, 1d11h34m +C>*fc00::4/126 is directly connected, PortChannel0005, 1d11h34m +C>*fc00:1::32/128 is directly connected, Loopback0, 1d11h34m +C>*fd00::/80 is directly connected, eth0, 1d11h34m +C *fe80::/64 is directly connected, PortChannel0002, 1d11h34m +C *fe80::/64 is directly connected, PortChannel0005, 1d11h34m +C *fe80::/64 is directly connected, Ethernet20, 1d11h34m +C *fe80::/64 is directly connected, Ethernet16, 1d11h34m +C *fe80::/64 is directly connected, Ethernet4, 1d11h34m +C *fe80::/64 is directly connected, Ethernet0, 1d11h34m +C *fe80::/64 is directly connected, Loopback4096, 1d11h34m +C *fe80::/64 is directly connected, Loopback0, 1d11h34m +C>*fe80::/64 is directly connected, eth0, 1d11h34m +""" + +# +# MULTI ASIC TEST SECTION +# +show_ip_route_multi_asic_display_all_expected_output = """\ +Codes: K - kernel route, C - connected, S - static, R - RIP, + O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP, + T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP, + F - PBR, f - OpenFabric, + > - selected route, * - FIB route, q - queued route, r - rejected route + +asic0: +K *0.0.0.0/0 [210/0] via 240.127.1.1, eth0, 2d22h00m +B>*0.0.0.0/0 [20/0] via 10.0.0.5, PortChannel0005, 2d22h00m + * via 10.0.0.1, PortChannel0002, 2d22h00m +S 0.0.0.0/0 [200/0] via 10.3.146.1, inactive 2d22h00m +C>*8.0.0.0/32 is directly connected, Loopback4096, 2d22h00m +C>*10.0.0.0/31 is directly connected, PortChannel4001, 2d22h00m +C>*10.0.0.4/31 is directly connected, PortChannel0005, 2d22h00m +C>*10.1.0.32/32 is directly connected, Loopback0, 2d22h00m +B>*100.1.0.3/32 [20/0] via 10.0.0.5, PortChannel0005, 2d22h00m +B>*192.168.0.0/32 [20/0] via 10.0.0.5, PortChannel0005, 2d22h00m + * via 10.0.0.1, PortChannel0002, 2d22h00m +B>*192.168.0.1/32 [20/0] via 10.0.0.5, PortChannel0005, 2d22h00m + * via 10.0.0.1, PortChannel0002, 2d22h00m +B>*192.168.0.32/32 [20/0] via 10.0.0.5, PortChannel0005, 2d22h00m + * via 10.0.0.1, PortChannel0002, 2d22h00m +B>*192.168.0.96/32 [20/0] via 10.0.0.5, Ethernet-BP4, 2d22h00m + * via 10.0.0.1, Ethernet-BP0, 2d22h00m +B>*192.168.0.97/32 [20/0] via 10.0.0.5, PortChannel0005, 2d22h00m + * via 10.0.0.1, PortChannel0002, 2d22h00m +B>*192.168.0.192/32 [20/0] via 10.0.0.5, Ethernet-BP4, 2d22h00m + * via 10.0.0.1, PortChannel4001, 2d22h00m +B>*192.168.0.193/32 [20/0] via 10.0.0.5, PortChannel0005, 2d22h00m + * via 10.0.0.1, PortChannel0002, 2d22h00m +B>*192.168.0.208/32 [20/0] via 10.0.0.5, PortChannel0005, 2d22h00m + * via 10.0.0.1, PortChannel0002, 2d22h00m +B>*192.168.0.209/32 [20/0] via 10.0.0.5, PortChannel0005, 2d22h00m + * via 10.0.0.1, PortChannel0002, 2d22h00m +B>*192.168.0.224/32 [20/0] via 10.0.0.5, PortChannel0005, 2d22h00m + * via 10.0.0.1, PortChannel0002, 2d22h00m +B>*192.168.0.225/32 [20/0] via 10.0.0.5, PortChannel0005, 2d22h00m + * via 10.0.0.1, PortChannel0002, 2d22h00m +B>*192.168.0.240/32 [20/0] via 10.0.0.5, PortChannel0005, 2d22h00m + * via 10.0.0.1, PortChannel0002, 2d22h00m +B>*192.168.0.241/32 [20/0] via 10.0.0.5, PortChannel0005, 2d22h00m + * via 10.0.0.1, PortChannel0002, 2d22h00m +asic1: +K *0.0.0.0/0 [210/0] via 240.127.1.1, eth0, 2d22h01m +B>*0.0.0.0/0 [20/0] via 10.0.0.8, PortChannel0008, 2d22h01m + * via 10.0.0.7, PortChannel0007, 2d22h01m +S 0.0.0.0/0 [200/0] via 10.3.146.1, inactive 2d22h01m +C>*8.0.0.1/32 is directly connected, Loopback4096, 2d22h01m +C>*10.0.0.0/31 is directly connected, PortChannel4009, 2d22h01m +C>*10.0.0.4/31 is directly connected, PortChannel0008, 2d22h01m +C>*10.1.0.32/32 is directly connected, Loopback0, 2d22h01m +B>*100.1.0.3/32 [20/0] via 10.0.0.8, PortChannel0008, 2d22h01m +B>*192.168.0.0/32 [20/0] via 10.0.0.8, PortChannel0008, 2d22h01m + * via 10.0.0.7, PortChannel0007, 2d22h01m +B>*192.168.0.1/32 [20/0] via 10.0.0.8, PortChannel0008, 2d22h01m + * via 10.0.0.7, PortChannel0007, 2d22h01m +B>*192.168.0.32/32 [20/0] via 10.0.0.8, PortChannel0008, 2d22h01m + * via 10.0.0.7, PortChannel0007, 2d22h01m +B>*192.168.0.96/32 [20/0] via 10.0.0.8, Ethernet-BP260, 2d22h01m + * via 10.0.0.7, Ethernet-BP256, 2d22h01m +B>*192.168.0.97/32 [20/0] via 10.0.0.8, PortChannel0008, 2d22h01m + * via 10.0.0.7, PortChannel0007, 2d22h01m +B>*192.168.0.192/32 [20/0] via 10.0.0.8, Ethernet-BP260, 2d22h01m + * via 10.0.0.7, PortChannel4009, 2d22h01m +B>*192.168.0.193/32 [20/0] via 10.0.0.8, PortChannel0008, 2d22h01m + * via 10.0.0.7, PortChannel0007, 2d22h01m +B>*192.168.0.208/32 [20/0] via 10.0.0.8, PortChannel0008, 2d22h01m + * via 10.0.0.7, PortChannel0007, 2d22h01m +B>*192.168.0.209/32 [20/0] via 10.0.0.8, PortChannel0008, 2d22h01m + * via 10.0.0.7, PortChannel0007, 2d22h01m +B>*192.168.0.224/32 [20/0] via 10.0.0.8, PortChannel0008, 2d22h01m + * via 10.0.0.7, PortChannel0007, 2d22h01m +B>*192.168.0.225/32 [20/0] via 10.0.0.8, PortChannel0008, 2d22h01m + * via 10.0.0.7, PortChannel0007, 2d22h01m +B>*192.168.0.240/32 [20/0] via 10.0.0.8, Ethernet-BP260, 2d22h01m + * via 10.0.0.7, PortChannel4009, 2d22h01m +B>*192.168.0.241/32 [20/0] via 10.0.0.8, PortChannel0008, 2d22h01m + * via 10.0.0.7, PortChannel0007, 2d22h01m +asic2: +K *0.0.0.0/0 [210/0] via 240.127.1.1, eth0, 2d22h02m +B>*0.0.0.0/0 [20/0] via 10.0.0.16, PortChannel1016, 2d22h02m + * via 10.0.0.15, PortChannel1015, 2d22h02m +S 0.0.0.0/0 [200/0] via 10.3.146.1, inactive 2d22h02m +C>*8.0.0.2/32 is directly connected, Loopback4096, 2d22h02m +C>*10.0.0.0/31 is directly connected, PortChannel4001, 2d22h02m +C>*10.0.0.4/31 is directly connected, PortChannel1016, 2d22h02m +C>*10.1.0.32/32 is directly connected, Loopback0, 2d22h02m +B>*100.1.0.3/32 [20/0] via 10.0.0.16, PortChannel1016, 2d22h02m +B>*192.168.0.0/32 [20/0] via 10.0.0.16, PortChannel1016, 2d22h02m + * via 10.0.0.15, PortChannel1015, 2d22h02m +B>*192.168.0.1/32 [20/0] via 10.0.0.16, PortChannel1016, 2d22h02m + * via 10.0.0.15, PortChannel1015, 2d22h02m +B>*192.168.0.32/32 [20/0] via 10.0.0.16, PortChannel1016, 2d22h02m + * via 10.0.0.15, PortChannel1015, 2d22h02m +B>*192.168.0.96/32 [20/0] via 10.0.0.16, Ethernet-BP24, 2d22h02m + * via 10.0.0.15, Ethernet-BP20, 2d22h02m +B>*192.168.0.97/32 [20/0] via 10.0.0.16, PortChannel1016, 2d22h02m + * via 10.0.0.15, PortChannel1015, 2d22h02m +B>*192.168.0.192/32 [20/0] via 10.0.0.16, Ethernet-BP24, 2d22h02m + * via 10.0.0.15, PortChannel4001, 2d22h02m +B>*192.168.0.193/32 [20/0] via 10.0.0.16, PortChannel1016, 2d22h02m + * via 10.0.0.15, PortChannel1015, 2d22h02m +B>*192.168.0.208/32 [20/0] via 10.0.0.16, PortChannel1016, 2d22h02m + * via 10.0.0.15, PortChannel1015, 2d22h02m +B>*192.168.0.209/32 [20/0] via 10.0.0.16, PortChannel1016, 2d22h02m + * via 10.0.0.15, PortChannel1015, 2d22h02m +B>*192.168.0.224/32 [20/0] via 10.0.0.16, PortChannel1016, 2d22h02m + * via 10.0.0.15, PortChannel1015, 2d22h02m +B>*192.168.0.225/32 [20/0] via 10.0.0.16, PortChannel1016, 2d22h02m + * via 10.0.0.15, PortChannel1015, 2d22h02m +B>*192.168.0.240/32 [20/0] via 10.0.0.16, PortChannel1016, 2d22h02m + * via 10.0.0.15, PortChannel1015, 2d22h02m +B>*192.168.0.241/32 [20/0] via 10.0.0.16, PortChannel1016, 2d22h02m + * via 10.0.0.15, PortChannel1015, 2d22h02m +""" + +show_ip_route_multi_asic_display_all_front_expected_output = """\ +Codes: K - kernel route, C - connected, S - static, R - RIP, + O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP, + T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP, + F - PBR, f - OpenFabric, + > - selected route, * - FIB route, q - queued route, r - rejected route + +K *0.0.0.0/0 [210/0] via 240.127.1.1, eth0, 2d22h00m +B>*0.0.0.0/0 [20/0] via 10.0.0.5, PortChannel0005, 2d22h00m + * via 10.0.0.1, PortChannel0002, 2d22h00m + * via 10.0.0.15, PortChannel1015, 2d22h00m + * via 10.0.0.16, PortChannel1016, 2d22h00m +S 0.0.0.0/0 [200/0] via 10.3.146.1, inactive 2d22h00m +C>*8.0.0.0/32 is directly connected, Loopback4096, 2d22h00m +C>*8.0.0.2/32 is directly connected, Loopback4096, 2d22h02m +C>*10.0.0.4/31 is directly connected, PortChannel0005, 2d22h00m +C>*10.0.0.4/31 is directly connected, PortChannel1016, 2d22h02m +C>*10.1.0.32/32 is directly connected, Loopback0, 2d22h00m +B>*100.1.0.3/32 [20/0] via 10.0.0.5, PortChannel0005, 2d22h00m + * via 10.0.0.16, PortChannel1016, 2d22h00m +B>*192.168.0.0/32 [20/0] via 10.0.0.5, PortChannel0005, 2d22h00m + * via 10.0.0.1, PortChannel0002, 2d22h00m + * via 10.0.0.15, PortChannel1015, 2d22h00m + * via 10.0.0.16, PortChannel1016, 2d22h00m +B>*192.168.0.1/32 [20/0] via 10.0.0.5, PortChannel0005, 2d22h00m + * via 10.0.0.1, PortChannel0002, 2d22h00m + * via 10.0.0.15, PortChannel1015, 2d22h00m + * via 10.0.0.16, PortChannel1016, 2d22h00m +B>*192.168.0.32/32 [20/0] via 10.0.0.5, PortChannel0005, 2d22h00m + * via 10.0.0.1, PortChannel0002, 2d22h00m + * via 10.0.0.15, PortChannel1015, 2d22h00m + * via 10.0.0.16, PortChannel1016, 2d22h00m +B>*192.168.0.97/32 [20/0] via 10.0.0.5, PortChannel0005, 2d22h00m + * via 10.0.0.1, PortChannel0002, 2d22h00m + * via 10.0.0.15, PortChannel1015, 2d22h00m + * via 10.0.0.16, PortChannel1016, 2d22h00m +B>*192.168.0.193/32 [20/0] via 10.0.0.5, PortChannel0005, 2d22h00m + * via 10.0.0.1, PortChannel0002, 2d22h00m + * via 10.0.0.15, PortChannel1015, 2d22h00m + * via 10.0.0.16, PortChannel1016, 2d22h00m +B>*192.168.0.208/32 [20/0] via 10.0.0.5, PortChannel0005, 2d22h00m + * via 10.0.0.1, PortChannel0002, 2d22h00m + * via 10.0.0.15, PortChannel1015, 2d22h00m + * via 10.0.0.16, PortChannel1016, 2d22h00m +B>*192.168.0.209/32 [20/0] via 10.0.0.5, PortChannel0005, 2d22h00m + * via 10.0.0.1, PortChannel0002, 2d22h00m + * via 10.0.0.15, PortChannel1015, 2d22h00m + * via 10.0.0.16, PortChannel1016, 2d22h00m +B>*192.168.0.224/32 [20/0] via 10.0.0.5, PortChannel0005, 2d22h00m + * via 10.0.0.1, PortChannel0002, 2d22h00m + * via 10.0.0.15, PortChannel1015, 2d22h00m + * via 10.0.0.16, PortChannel1016, 2d22h00m +B>*192.168.0.225/32 [20/0] via 10.0.0.5, PortChannel0005, 2d22h00m + * via 10.0.0.1, PortChannel0002, 2d22h00m + * via 10.0.0.15, PortChannel1015, 2d22h00m + * via 10.0.0.16, PortChannel1016, 2d22h00m +B>*192.168.0.240/32 [20/0] via 10.0.0.5, PortChannel0005, 2d22h00m + * via 10.0.0.1, PortChannel0002, 2d22h00m + * via 10.0.0.15, PortChannel1015, 2d22h00m + * via 10.0.0.16, PortChannel1016, 2d22h00m +B>*192.168.0.241/32 [20/0] via 10.0.0.5, PortChannel0005, 2d22h00m + * via 10.0.0.1, PortChannel0002, 2d22h00m + * via 10.0.0.15, PortChannel1015, 2d22h00m + * via 10.0.0.16, PortChannel1016, 2d22h00m +""" + +show_ipv6_route_multi_asic_all_namesapce_output = """\ +Codes: K - kernel route, C - connected, S - static, R - RIP, + O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP, + T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP, + F - PBR, f - OpenFabric, + > - selected route, * - FIB route, q - queued route, r - rejected route + +K *::/0 [210/0] via fd00::1, eth0, 2d22h00m +B>*::/0 [20/0] via fc00::6, PortChannel0005, 2d22h00m + * via fc00::2, PortChannel0002, 2d22h00m + * via fc00::2, PortChannel1015, 2d22h00m + * via fc00::6, PortChannel1016, 2d22h00m +B>*2064:100::1/128 [20/0] via fc00::2, PortChannel0002, 2d22h00m + * via fc00::2, PortChannel1015, 2d22h00m +B>*2064:100::3/128 [20/0] via fc00::6, PortChannel0005, 2d22h00m + * via fc00::6, PortChannel1016, 2d22h00m +B>*20c0:a800:0:1::/64 [20/0] via fc00::6, PortChannel0005, 2d22h00m + * via fc00::2, PortChannel0002, 2d22h00m + * via fc00::2, PortChannel1015, 2d22h00m + * via fc00::6, PortChannel1016, 2d22h00m +B>*20c0:a800:0:10::/64 [20/0] via fc00::6, PortChannel0005, 2d22h00m + * via fc00::2, PortChannel0002, 2d22h00m + * via fc00::2, PortChannel1015, 2d22h00m + * via fc00::6, PortChannel1016, 2d22h00m +B>*20c0:a800:0:11::/64 [20/0] via fc00::6, PortChannel0002, 2d22h00m + * via fc00::6, PortChannel1015, 2d22h00m +B>*20c0:a800:0:20::/64 [20/0] via fc00::2, PortChannel0002, 2d22h00m + * via fc00::2, PortChannel1015, 2d22h00m +B>*20c0:a800:0:21::/64 [20/0] via fc00::2, PortChannel0002, 2d22h00m + * via fc00::2, PortChannel1015, 2d22h00m +C>*2603:10e2:400::/128 is directly connected, Loopback4096, 2d22h00m +C>*2603:10e2:400::2/128 is directly connected, Loopback4096, 2d22h02m +C>*fc00::4/126 is directly connected, PortChannel0005, 2d22h00m +C>*fc00::4/126 is directly connected, PortChannel1016, 2d22h02m +C>*fc00:1::32/128 is directly connected, Loopback0, 2d22h00m +C>*fd00::/80 is directly connected, eth0, 2d22h00m +C>*fe80::/64 is directly connected, eth0, 2d22h00m +C *fe80::/64 is directly connected, Loopback0, 2d22h00m +C *fe80::/64 is directly connected, Loopback4096, 2d22h00m +C *fe80::/64 is directly connected, Ethernet16, 2d22h00m +C *fe80::/64 is directly connected, Ethernet20, 2d22h00m +C *fe80::/64 is directly connected, PortChannel0005, 2d22h00m +C *fe80::/64 is directly connected, PortChannel1016, 2d22h02m +C *fe80::/64 is directly connected, Ethernet24, 2d22h02m +""" + +show_ipv6_route_multi_asic_single_namesapce_output = """\ +Codes: K - kernel route, C - connected, S - static, R - RIP, + O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP, + T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP, + F - PBR, f - OpenFabric, + > - selected route, * - FIB route, q - queued route, r - rejected route + +K *::/0 [210/0] via fd00::1, eth0, 2d22h02m +B>*::/0 [20/0] via fc00::6, PortChannel1016, 2d22h02m + * via fc00::2, PortChannel1015, 2d22h02m +B>*2064:100::1/128 [20/0] via fc00::2, PortChannel1015, 2d22h02m +B>*2064:100::3/128 [20/0] via fc00::6, PortChannel1016, 2d22h02m +B>*20c0:a800:0:1::/64 [20/0] via fc00::6, PortChannel1016, 2d22h02m + * via fc00::2, PortChannel1015, 2d22h02m +B>*20c0:a800:0:10::/64 [20/0] via fc00::6, PortChannel1016, 2d22h02m + * via fc00::2, PortChannel1015, 2d22h02m +B>*20c0:a800:0:11::/64 [20/0] via fc00::6, PortChannel1015, 2d22h02m +B>*20c0:a800:0:20::/64 [20/0] via fc00::2, PortChannel1015, 2d22h02m +B>*20c0:a800:0:21::/64 [20/0] via fc00::2, PortChannel1015, 2d22h02m +C>*2603:10e2:400::2/128 is directly connected, Loopback4096, 2d22h02m +C>*fc00::4/126 is directly connected, PortChannel1016, 2d22h02m +C>*fc00:1::32/128 is directly connected, Loopback0, 2d22h02m +C>*fd00::/80 is directly connected, eth0, 2d22h02m +C>*fe80::/64 is directly connected, eth0, 2d22h02m +C *fe80::/64 is directly connected, Loopback0, 2d22h02m +C *fe80::/64 is directly connected, Loopback4096, 2d22h02m +C *fe80::/64 is directly connected, Ethernet24, 2d22h02m +C *fe80::/64 is directly connected, Ethernet20, 2d22h02m +C *fe80::/64 is directly connected, PortChannel1016, 2d22h02m +""" + +show_ip_route_multi_asic_invalid_namesapce_err_output = """\ +namespace 'asic7' is not valid. valid name spaces are: +['asic0', 'asic1', 'asic2'] +""" + +show_ip_route_multi_asic_invalid_display_err_output = """\ +dislay option 'everything' is not a valid option. +""" + +show_ip_route_multi_asic_invalid_tables_cmd_err_output = """\ +% Unknown command: show ip route tables +""" + +show_ip_route_multi_asic_specific_route_output = """\ +Routing entry for 10.0.0.4/31 + Known via "connected", distance 0, metric 0, best + Last update 2d22h00m ago + * directly connected, PortChannel0005 + + +Routing entry for 10.0.0.4/31 + Known via "connected", distance 0, metric 0, best + Last update 2d22h02m ago + * directly connected, PortChannel1016 + + +""" + +show_ipv6_route_multi_asic_specific_route_output = """\ +Routing entry for 2603:10e2:400::/128 + Known via "connected", distance 0, metric 0, best + Last update 2d22h00m ago + * directly connected, Loopback4096 + + +""" + +show_ipv6_route_multi_asic_json_output = """\ +{ + "2603:10e2:400::/128": [ + { + "destSelected": true, + "distance": 0, + "installed": true, + "internalFlags": 8, + "internalNextHopActiveNum": 1, + "internalNextHopNum": 1, + "internalStatus": 16, + "metric": 0, + "nexthops": [ + { + "active": true, + "directlyConnected": true, + "fib": true, + "flags": 3, + "interfaceIndex": 726, + "interfaceName": "Loopback4096" + } + ], + "prefix": "2603:10e2:400::/128", + "protocol": "connected", + "selected": true, + "table": 254, + "uptime": "2d22h00m" + } + ] +} +""" + From 10ffc281823ea9a3a1c87fbfc747393beb862026 Mon Sep 17 00:00:00 2001 From: Akhilesh Samineni <47657796+AkhileshSamineni@users.noreply.github.com> Date: Sun, 13 Dec 2020 23:49:32 +0530 Subject: [PATCH 004/342] Added 'detailed' option for 'show interface counters' command (#1299) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The current ‘show interfaces counters’ command does not show any information regarding the BCAST/MCAST counters per interface. Also, no data regarding the different packet sizes Rx/Tx counts. Depends on Azure/sonic-swss#1536 Added a detailed option for 'show interface counters' to display all these information. This is a per interface command like show below root@sonic:/home/admin# show interfaces counters detailed -h Usage: show interfaces counters detailed [OPTIONS] Show interface counters detailed Options: -p, --period TEXT Display statistics over a specified period (in seconds) --verbose Enable verbose output -?, -h, --help Show this message and exit. root@sonic:/home/admin# Sample Output: root@sonic:/home/admin# show interfaces counters detailed Ethernet11 Packets Received 64 Octets..................... 77 Packets Received 65-127 Octets................. 6 Packets Received 128-255 Octets................ 0 Packets Received 256-511 Octets................ 3 Packets Received 512-1023 Octets............... 0 Packets Received 1024-1518 Octets.............. 0 Packets Received 1519-2047 Octets.............. 0 Packets Received 2048-4095 Octets.............. 0 Packets Received 4096-9216 Octets.............. 0 Packets Received 9217-16383 Octets............. 0 Total Packets Received Without Errors.......... 86 Unicast Packets Received....................... 79 Multicast Packets Received..................... 6 Broadcast Packets Received..................... 1 Jabbers Received............................... 0 Fragments Received............................. 0 Undersize Received............................. 0 Overruns Received.............................. 0 Packets Transmitted 64 Octets.................. 77 Packets Transmitted 65-127 Octets.............. 0 Packets Transmitted 128-255 Octets............. 0 Packets Transmitted 256-511 Octets............. 3,677 Packets Transmitted 512-1023 Octets............ 0 Packets Transmitted 1024-1518 Octets........... 0 Packets Transmitted 1519-2047 Octets........... 0 Packets Transmitted 2048-4095 Octets........... 0 Packets Transmitted 4096-9216 Octets........... 0 Packets Transmitted 9217-16383 Octets.......... 0 Total Packets Transmitted Successfully......... 3,754 Unicast Packets Transmitted.................... 80 Multicast Packets Transmitted.................. 3,674 Broadcast Packets Transmitted.................. 0 Time Since Counters Last Cleared............... None root@sonic:/home/admin# Signed-off-by: Akhilesh Samineni --- scripts/portstat | 177 ++++++++++++++++++++++++----- show/interfaces/__init__.py | 15 +++ tests/mock_tables/counters_db.json | 93 ++++++++++++++- tests/portstat_test.py | 55 +++++++++ 4 files changed, 309 insertions(+), 31 deletions(-) diff --git a/scripts/portstat b/scripts/portstat index b05fdbdf8b..674d0c5aea 100755 --- a/scripts/portstat +++ b/scripts/portstat @@ -42,8 +42,17 @@ except KeyError: PORT_RATE = 40 +""" +The order and count of statistics mentioned below needs to be in sync with the values in portstat script +So, any fields added/deleted in here should be reflected in portstat script also +""" NStats = namedtuple("NStats", "rx_ok, rx_err, rx_drop, rx_ovr, tx_ok,\ - tx_err, tx_drop, tx_ovr, rx_byt, tx_byt") + tx_err, tx_drop, tx_ovr, rx_byt, tx_byt,\ + rx_64, rx_65_127, rx_128_255, rx_256_511, rx_512_1023, rx_1024_1518, rx_1519_2047, rx_2048_4095, rx_4096_9216, rx_9217_16383,\ + rx_uca, rx_mca, rx_bca, rx_all,\ + tx_64, tx_65_127, tx_128_255, tx_256_511, tx_512_1023, tx_1024_1518, tx_1519_2047, tx_2048_4095, tx_4096_9216, tx_9217_16383,\ + tx_uca, tx_mca, tx_bca, tx_all,\ + rx_jbr, rx_frag, rx_usize, rx_ovrrun") header_all = ['IFACE', 'STATE', 'RX_OK', 'RX_BPS', 'RX_PPS', 'RX_UTIL', 'RX_ERR', 'RX_DRP', 'RX_OVR', 'TX_OK', 'TX_BPS', 'Tx_PPS', 'TX_UTIL', 'TX_ERR', 'TX_DRP', 'TX_OVR'] header_std = ['IFACE', 'STATE', 'RX_OK', 'RX_BPS', 'RX_UTIL', 'RX_ERR', 'RX_DRP', 'RX_OVR', @@ -51,19 +60,54 @@ header_std = ['IFACE', 'STATE', 'RX_OK', 'RX_BPS', 'RX_UTIL', 'RX_ERR', 'RX_DRP' header_errors_only = ['IFACE', 'STATE', 'RX_ERR', 'RX_DRP', 'RX_OVR', 'TX_ERR', 'TX_DRP', 'TX_OVR'] header_rates_only = ['IFACE', 'STATE', 'RX_OK', 'RX_BPS', 'RX_PPS', 'RX_UTIL', 'TX_OK', 'TX_BPS', 'TX_PPS', 'TX_UTIL'] +""" +The order and count of statistics mentioned below needs to be in sync with the values in portstat script +So, any fields added/deleted in here should be reflected in portstat script also +""" +BUCKET_NUM = 42 counter_bucket_dict = { - 'SAI_PORT_STAT_IF_IN_UCAST_PKTS': 0, - 'SAI_PORT_STAT_IF_IN_NON_UCAST_PKTS': 0, - 'SAI_PORT_STAT_IF_IN_ERRORS': 1, - 'SAI_PORT_STAT_IF_IN_DISCARDS': 2, - 'SAI_PORT_STAT_ETHER_RX_OVERSIZE_PKTS': 3, - 'SAI_PORT_STAT_IF_OUT_UCAST_PKTS': 4, - 'SAI_PORT_STAT_IF_OUT_NON_UCAST_PKTS': 4, - 'SAI_PORT_STAT_IF_OUT_ERRORS': 5, - 'SAI_PORT_STAT_IF_OUT_DISCARDS': 6, - 'SAI_PORT_STAT_ETHER_TX_OVERSIZE_PKTS': 7, - 'SAI_PORT_STAT_IF_IN_OCTETS': 8, - 'SAI_PORT_STAT_IF_OUT_OCTETS': 9 + 0:['SAI_PORT_STAT_IF_IN_UCAST_PKTS', 'SAI_PORT_STAT_IF_IN_NON_UCAST_PKTS'], + 1:['SAI_PORT_STAT_IF_IN_ERRORS'], + 2:['SAI_PORT_STAT_IF_IN_DISCARDS'], + 3:['SAI_PORT_STAT_ETHER_RX_OVERSIZE_PKTS'], + 4:['SAI_PORT_STAT_IF_OUT_UCAST_PKTS', 'SAI_PORT_STAT_IF_OUT_NON_UCAST_PKTS'], + 5:['SAI_PORT_STAT_IF_OUT_ERRORS'], + 6:['SAI_PORT_STAT_IF_OUT_DISCARDS'], + 7:['SAI_PORT_STAT_ETHER_TX_OVERSIZE_PKTS'], + 8:['SAI_PORT_STAT_IF_IN_OCTETS'], + 9:['SAI_PORT_STAT_IF_OUT_OCTETS'], + 10:['SAI_PORT_STAT_ETHER_IN_PKTS_64_OCTETS'], + 11:['SAI_PORT_STAT_ETHER_IN_PKTS_65_TO_127_OCTETS'], + 12:['SAI_PORT_STAT_ETHER_IN_PKTS_128_TO_255_OCTETS'], + 13:['SAI_PORT_STAT_ETHER_IN_PKTS_256_TO_511_OCTETS'], + 14:['SAI_PORT_STAT_ETHER_IN_PKTS_512_TO_1023_OCTETS'], + 15:['SAI_PORT_STAT_ETHER_IN_PKTS_1024_TO_1518_OCTETS'], + 16:['SAI_PORT_STAT_ETHER_IN_PKTS_1519_TO_2047_OCTETS'], + 17:['SAI_PORT_STAT_ETHER_IN_PKTS_2048_TO_4095_OCTETS'], + 18:['SAI_PORT_STAT_ETHER_IN_PKTS_4096_TO_9216_OCTETS'], + 19:['SAI_PORT_STAT_ETHER_IN_PKTS_9217_TO_16383_OCTETS'], + 20:['SAI_PORT_STAT_IF_IN_UCAST_PKTS'], + 21:['SAI_PORT_STAT_IF_IN_MULTICAST_PKTS'], + 22:['SAI_PORT_STAT_IF_IN_BROADCAST_PKTS'], + 23:['SAI_PORT_STAT_IF_IN_UCAST_PKTS', 'SAI_PORT_STAT_IF_IN_MULTICAST_PKTS', 'SAI_PORT_STAT_IF_IN_BROADCAST_PKTS'], + 24:['SAI_PORT_STAT_ETHER_OUT_PKTS_64_OCTETS'], + 25:['SAI_PORT_STAT_ETHER_OUT_PKTS_65_TO_127_OCTETS'], + 26:['SAI_PORT_STAT_ETHER_OUT_PKTS_128_TO_255_OCTETS'], + 27:['SAI_PORT_STAT_ETHER_OUT_PKTS_256_TO_511_OCTETS'], + 28:['SAI_PORT_STAT_ETHER_OUT_PKTS_512_TO_1023_OCTETS'], + 29:['SAI_PORT_STAT_ETHER_OUT_PKTS_1024_TO_1518_OCTETS'], + 30:['SAI_PORT_STAT_ETHER_OUT_PKTS_1519_TO_2047_OCTETS'], + 31:['SAI_PORT_STAT_ETHER_OUT_PKTS_2048_TO_4095_OCTETS'], + 32:['SAI_PORT_STAT_ETHER_OUT_PKTS_4096_TO_9216_OCTETS'], + 33:['SAI_PORT_STAT_ETHER_OUT_PKTS_9217_TO_16383_OCTETS'], + 34:['SAI_PORT_STAT_IF_OUT_UCAST_PKTS'], + 35:['SAI_PORT_STAT_IF_OUT_MULTICAST_PKTS'], + 36:['SAI_PORT_STAT_IF_OUT_BROADCAST_PKTS'], + 37:['SAI_PORT_STAT_IF_OUT_UCAST_PKTS', 'SAI_PORT_STAT_IF_OUT_MULTICAST_PKTS', 'SAI_PORT_STAT_IF_OUT_BROADCAST_PKTS'], + 38:['SAI_PORT_STAT_ETHER_STATS_JABBERS'], + 39:['SAI_PORT_STAT_ETHER_STATS_FRAGMENTS'], + 40:['SAI_PORT_STAT_ETHER_STATS_UNDERSIZE_PKTS'], + 41:['SAI_PORT_STAT_IP_IN_RECEIVES'] } STATUS_NA = 'N/A' @@ -110,14 +154,17 @@ class Portstat(object): """ Get the counters from specific table. """ - fields = ["0","0","0","0","0","0","0","0","0","0"] - for counter_name, pos in counter_bucket_dict.items(): - full_table_id = COUNTER_TABLE_PREFIX + table_id - counter_data = self.db.get(self.db.COUNTERS_DB, full_table_id, counter_name) - if counter_data is None: - fields[pos] = STATUS_NA - elif fields[pos] != STATUS_NA: - fields[pos] = str(int(fields[pos]) + int(counter_data)) + fields = ["0"]*BUCKET_NUM + + for pos, cntr_list in counter_bucket_dict.items(): + for counter_name in cntr_list: + full_table_id = COUNTER_TABLE_PREFIX + table_id + counter_data = self.db.get(self.db.COUNTERS_DB, full_table_id, counter_name) + if counter_data is None: + fields[pos] = STATUS_NA + elif fields[pos] != STATUS_NA: + fields[pos] = str(int(fields[pos]) + int(counter_data)) + cntr = NStats._make(fields) return cntr @@ -170,10 +217,15 @@ class Portstat(object): return STATUS_NA - def cnstat_print(self, cnstat_dict, intf_list, use_json, print_all, errors_only, rates_only): + def cnstat_print(self, cnstat_dict, intf_list, use_json, print_all, errors_only, rates_only, detail=False): """ Print the cnstat. """ + + if intf_list and detail: + self.cnstat_intf_diff_print(cnstat_dict, {}, intf_list) + return None + table = [] header = None @@ -212,12 +264,77 @@ class Portstat(object): else: print(tabulate(table, header, tablefmt='simple', stralign='right')) - - def cnstat_diff_print(self, cnstat_new_dict, cnstat_old_dict, intf_list, use_json, print_all, errors_only, rates_only): + + def cnstat_intf_diff_print(self, cnstat_new_dict, cnstat_old_dict, intf_list): + """ + Print the difference between two cnstat results for interface. + """ + + for key, cntr in cnstat_new_dict.items(): + if key == 'time': + continue + + if key in cnstat_old_dict: + old_cntr = cnstat_old_dict.get(key) + else: + old_cntr = NStats._make([0] * BUCKET_NUM) + + if intf_list and key not in intf_list: + continue + + print("Packets Received 64 Octets..................... {}".format(ns_diff(cntr.rx_64, old_cntr.rx_64))) + print("Packets Received 65-127 Octets................. {}".format(ns_diff(cntr.rx_65_127, old_cntr.rx_65_127))) + print("Packets Received 128-255 Octets................ {}".format(ns_diff(cntr.rx_128_255, old_cntr.rx_128_255))) + print("Packets Received 256-511 Octets................ {}".format(ns_diff(cntr.rx_256_511, old_cntr.rx_256_511))) + print("Packets Received 512-1023 Octets............... {}".format(ns_diff(cntr.rx_512_1023, old_cntr.rx_512_1023))) + print("Packets Received 1024-1518 Octets.............. {}".format(ns_diff(cntr.rx_1024_1518, old_cntr.rx_1024_1518))) + print("Packets Received 1519-2047 Octets.............. {}".format(ns_diff(cntr.rx_1519_2047, old_cntr.rx_1519_2047))) + print("Packets Received 2048-4095 Octets.............. {}".format(ns_diff(cntr.rx_2048_4095, old_cntr.rx_2048_4095))) + print("Packets Received 4096-9216 Octets.............. {}".format(ns_diff(cntr.rx_4096_9216, old_cntr.rx_4096_9216))) + print("Packets Received 9217-16383 Octets............. {}".format(ns_diff(cntr.rx_9217_16383, old_cntr.rx_9217_16383))) + + print("") + print("Total Packets Received Without Errors.......... {}".format(ns_diff(cntr.rx_all, old_cntr.rx_all))) + print("Unicast Packets Received....................... {}".format(ns_diff(cntr.rx_uca, old_cntr.rx_uca))) + print("Multicast Packets Received..................... {}".format(ns_diff(cntr.rx_mca, old_cntr.rx_mca))) + print("Broadcast Packets Received..................... {}".format(ns_diff(cntr.rx_bca, old_cntr.rx_bca))) + + print("") + print("Jabbers Received............................... {}".format(ns_diff(cntr.rx_jbr, old_cntr.rx_jbr))) + print("Fragments Received............................. {}".format(ns_diff(cntr.rx_frag, old_cntr.rx_frag))) + print("Undersize Received............................. {}".format(ns_diff(cntr.rx_usize, old_cntr.rx_usize))) + print("Overruns Received.............................. {}".format(ns_diff(cntr.rx_ovrrun, old_cntr.rx_ovrrun))) + + print("") + print("Packets Transmitted 64 Octets.................. {}".format(ns_diff(cntr.tx_64, old_cntr.tx_64))) + print("Packets Transmitted 65-127 Octets.............. {}".format(ns_diff(cntr.tx_65_127, old_cntr.tx_65_127))) + print("Packets Transmitted 128-255 Octets............. {}".format(ns_diff(cntr.tx_128_255, old_cntr.tx_128_255))) + print("Packets Transmitted 256-511 Octets............. {}".format(ns_diff(cntr.tx_256_511, old_cntr.tx_256_511))) + print("Packets Transmitted 512-1023 Octets............ {}".format(ns_diff(cntr.tx_512_1023, old_cntr.tx_512_1023))) + print("Packets Transmitted 1024-1518 Octets........... {}".format(ns_diff(cntr.tx_1024_1518, old_cntr.tx_1024_1518))) + print("Packets Transmitted 1519-2047 Octets........... {}".format(ns_diff(cntr.tx_1519_2047, old_cntr.tx_1519_2047))) + print("Packets Transmitted 2048-4095 Octets........... {}".format(ns_diff(cntr.tx_2048_4095, old_cntr.tx_2048_4095))) + print("Packets Transmitted 4096-9216 Octets........... {}".format(ns_diff(cntr.tx_4096_9216, old_cntr.tx_4096_9216))) + print("Packets Transmitted 9217-16383 Octets.......... {}".format(ns_diff(cntr.tx_9217_16383, old_cntr.tx_9217_16383))) + + print("") + print("Total Packets Transmitted Successfully......... {}".format(ns_diff(cntr.tx_all, old_cntr.tx_all))) + print("Unicast Packets Transmitted.................... {}".format(ns_diff(cntr.tx_uca, old_cntr.tx_uca))) + print("Multicast Packets Transmitted.................. {}".format(ns_diff(cntr.tx_mca, old_cntr.tx_mca))) + print("Broadcast Packets Transmitted.................. {}".format(ns_diff(cntr.tx_bca, old_cntr.tx_bca))) + + print("Time Since Counters Last Cleared............... " + str(cnstat_old_dict.get('time'))) + + + def cnstat_diff_print(self, cnstat_new_dict, cnstat_old_dict, intf_list, use_json, print_all, errors_only, rates_only, detail=False): """ Print the difference between two cnstat results. """ + if intf_list and detail: + self.cnstat_intf_diff_print(cnstat_new_dict, cnstat_old_dict, intf_list) + return None + table = [] header = None @@ -339,6 +456,7 @@ Examples: portstat -R portstat -a portstat -p 20 + portstat -l -i Ethernet4,Ethernet8,Ethernet12-20,PortChannel100-102 """) parser.add_argument('-a', '--all', action='store_true', help='Display all the stats counters') @@ -355,6 +473,7 @@ Examples: parser.add_argument('-s','--show', default=constants.DISPLAY_EXTERNAL, help='Display all interfaces or only external interfaces') parser.add_argument('-n','--namespace', default=None, help='Display interfaces for specific namespace') parser.add_argument('-v', '--version', action='version', version='%(prog)s 1.0') + parser.add_argument('-l', '--detail', action='store_true', help='Display detailed statistics.') args = parser.parse_args() save_fresh_stats = args.clear @@ -371,6 +490,7 @@ Examples: intf_fs = args.interface namespace = args.namespace display_option = args.show + detail = args.detail if tag_name is not None: cnstat_file = uid + "-" + tag_name @@ -442,8 +562,9 @@ Examples: if os.path.isfile(cnstat_fqn_file): try: cnstat_cached_dict = pickle.load(open(cnstat_fqn_file, 'rb')) - print("Last cached time was " + str(cnstat_cached_dict.get('time'))) - portstat.cnstat_diff_print(cnstat_dict, cnstat_cached_dict, intf_list, use_json, print_all, errors_only, rates_only) + if not detail: + print("Last cached time was " + str(cnstat_cached_dict.get('time'))) + portstat.cnstat_diff_print(cnstat_dict, cnstat_cached_dict, intf_list, use_json, print_all, errors_only, rates_only, detail) except IOError as e: print(e.errno, e) else: @@ -451,13 +572,13 @@ Examples: print("\nFile '%s' does not exist" % cnstat_fqn_file) print("Did you run 'portstat -c -t %s' to record the counters via tag %s?\n" % (tag_name, tag_name)) else: - portstat.cnstat_print(cnstat_dict, intf_list, use_json, print_all, errors_only, rates_only) + portstat.cnstat_print(cnstat_dict, intf_list, use_json, print_all, errors_only, rates_only, detail) else: #wait for the specified time and then gather the new stats and output the difference. time.sleep(wait_time_in_seconds) print("The rates are calculated within %s seconds period" % wait_time_in_seconds) cnstat_new_dict = portstat.get_cnstat_dict() - portstat.cnstat_diff_print(cnstat_new_dict, cnstat_dict, intf_list, use_json, print_all, errors_only, rates_only) + portstat.cnstat_diff_print(cnstat_new_dict, cnstat_dict, intf_list, use_json, print_all, errors_only, rates_only, detail) if __name__ == "__main__": main() diff --git a/show/interfaces/__init__.py b/show/interfaces/__init__.py index f94f90bd5e..83e230acf1 100644 --- a/show/interfaces/__init__.py +++ b/show/interfaces/__init__.py @@ -426,3 +426,18 @@ def rif(interface, period, verbose): clicommon.run_command(cmd, display_cmd=verbose) +# 'counters' subcommand ("show interfaces counters detailed") +@counters.command() +@click.argument('interface', metavar='', required=True, type=str) +@click.option('-p', '--period', help="Display statistics over a specified period (in seconds)") +@click.option('--verbose', is_flag=True, help="Enable verbose output") +def detailed(interface, period, verbose): + """Show interface counters detailed""" + + cmd = "portstat -l" + if period is not None: + cmd += " -p {}".format(period) + if interface is not None: + cmd += " -i {}".format(interface) + + clicommon.run_command(cmd, display_cmd=verbose) diff --git a/tests/mock_tables/counters_db.json b/tests/mock_tables/counters_db.json index dfc344672b..b2de41ae9d 100644 --- a/tests/mock_tables/counters_db.json +++ b/tests/mock_tables/counters_db.json @@ -145,7 +145,36 @@ "SAI_PORT_STAT_PFC_4_TX_PKTS": "214", "SAI_PORT_STAT_PFC_5_TX_PKTS": "215", "SAI_PORT_STAT_PFC_6_TX_PKTS": "216", - "SAI_PORT_STAT_PFC_7_TX_PKTS": "217" + "SAI_PORT_STAT_PFC_7_TX_PKTS": "217", + "SAI_PORT_STAT_IF_IN_BROADCAST_PKTS": "0", + "SAI_PORT_STAT_IF_IN_MULTICAST_PKTS": "0", + "SAI_PORT_STAT_IP_IN_UCAST_PKTS": "0", + "SAI_PORT_STAT_IP_IN_RECEIVES": "0", + "SAI_PORT_STAT_IF_OUT_MULTICAST_PKTS": "0", + "SAI_PORT_STAT_IF_OUT_BROADCAST_PKTS": "0", + "SAI_PORT_STAT_ETHER_IN_PKTS_64_OCTETS": "0", + "SAI_PORT_STAT_ETHER_IN_PKTS_65_TO_127_OCTETS": "0", + "SAI_PORT_STAT_ETHER_IN_PKTS_128_TO_255_OCTETS": "0", + "SAI_PORT_STAT_ETHER_IN_PKTS_256_TO_511_OCTETS": "0", + "SAI_PORT_STAT_ETHER_IN_PKTS_512_TO_1023_OCTETS": "0", + "SAI_PORT_STAT_ETHER_IN_PKTS_1024_TO_1518_OCTETS": "0", + "SAI_PORT_STAT_ETHER_IN_PKTS_1519_TO_2047_OCTETS": "0", + "SAI_PORT_STAT_ETHER_IN_PKTS_2048_TO_4095_OCTETS": "0", + "SAI_PORT_STAT_ETHER_IN_PKTS_4096_TO_9216_OCTETS": "0", + "SAI_PORT_STAT_ETHER_IN_PKTS_9217_TO_16383_OCTETS": "0", + "SAI_PORT_STAT_ETHER_OUT_PKTS_64_OCTETS": "0", + "SAI_PORT_STAT_ETHER_OUT_PKTS_65_TO_127_OCTETS": "0", + "SAI_PORT_STAT_ETHER_OUT_PKTS_128_TO_255_OCTETS": "0", + "SAI_PORT_STAT_ETHER_OUT_PKTS_256_TO_511_OCTETS": "0", + "SAI_PORT_STAT_ETHER_OUT_PKTS_512_TO_1023_OCTETS": "0", + "SAI_PORT_STAT_ETHER_OUT_PKTS_1024_TO_1518_OCTETS": "0", + "SAI_PORT_STAT_ETHER_OUT_PKTS_1519_TO_2047_OCTETS": "0", + "SAI_PORT_STAT_ETHER_OUT_PKTS_2048_TO_4095_OCTETS": "0", + "SAI_PORT_STAT_ETHER_OUT_PKTS_4096_TO_9216_OCTETS": "0", + "SAI_PORT_STAT_ETHER_OUT_PKTS_9217_TO_16383_OCTETS": "0", + "SAI_PORT_STAT_ETHER_STATS_FRAGMENTS": "0", + "SAI_PORT_STAT_ETHER_STATS_UNDERSIZE_PKTS": "0", + "SAI_PORT_STAT_ETHER_STATS_JABBERS": "0" }, "COUNTERS:oid:0x1000000000013": { "SAI_PORT_STAT_IF_IN_UCAST_PKTS": "4", @@ -173,7 +202,36 @@ "SAI_PORT_STAT_PFC_4_TX_PKTS": "414", "SAI_PORT_STAT_PFC_5_TX_PKTS": "415", "SAI_PORT_STAT_PFC_6_TX_PKTS": "416", - "SAI_PORT_STAT_PFC_7_TX_PKTS": "417" + "SAI_PORT_STAT_PFC_7_TX_PKTS": "417", + "SAI_PORT_STAT_IF_IN_BROADCAST_PKTS": "0", + "SAI_PORT_STAT_IF_IN_MULTICAST_PKTS": "0", + "SAI_PORT_STAT_IP_IN_UCAST_PKTS": "0", + "SAI_PORT_STAT_IP_IN_RECEIVES": "0", + "SAI_PORT_STAT_IF_OUT_MULTICAST_PKTS": "0", + "SAI_PORT_STAT_IF_OUT_BROADCAST_PKTS": "0", + "SAI_PORT_STAT_ETHER_IN_PKTS_64_OCTETS": "0", + "SAI_PORT_STAT_ETHER_IN_PKTS_65_TO_127_OCTETS": "0", + "SAI_PORT_STAT_ETHER_IN_PKTS_128_TO_255_OCTETS": "0", + "SAI_PORT_STAT_ETHER_IN_PKTS_256_TO_511_OCTETS": "0", + "SAI_PORT_STAT_ETHER_IN_PKTS_512_TO_1023_OCTETS": "0", + "SAI_PORT_STAT_ETHER_IN_PKTS_1024_TO_1518_OCTETS": "0", + "SAI_PORT_STAT_ETHER_IN_PKTS_1519_TO_2047_OCTETS": "0", + "SAI_PORT_STAT_ETHER_IN_PKTS_2048_TO_4095_OCTETS": "0", + "SAI_PORT_STAT_ETHER_IN_PKTS_4096_TO_9216_OCTETS": "0", + "SAI_PORT_STAT_ETHER_IN_PKTS_9217_TO_16383_OCTETS": "0", + "SAI_PORT_STAT_ETHER_OUT_PKTS_64_OCTETS": "0", + "SAI_PORT_STAT_ETHER_OUT_PKTS_65_TO_127_OCTETS": "0", + "SAI_PORT_STAT_ETHER_OUT_PKTS_128_TO_255_OCTETS": "0", + "SAI_PORT_STAT_ETHER_OUT_PKTS_256_TO_511_OCTETS": "0", + "SAI_PORT_STAT_ETHER_OUT_PKTS_512_TO_1023_OCTETS": "0", + "SAI_PORT_STAT_ETHER_OUT_PKTS_1024_TO_1518_OCTETS": "0", + "SAI_PORT_STAT_ETHER_OUT_PKTS_1519_TO_2047_OCTETS": "0", + "SAI_PORT_STAT_ETHER_OUT_PKTS_2048_TO_4095_OCTETS": "0", + "SAI_PORT_STAT_ETHER_OUT_PKTS_4096_TO_9216_OCTETS": "0", + "SAI_PORT_STAT_ETHER_OUT_PKTS_9217_TO_16383_OCTETS": "0", + "SAI_PORT_STAT_ETHER_STATS_FRAGMENTS": "0", + "SAI_PORT_STAT_ETHER_STATS_UNDERSIZE_PKTS": "0", + "SAI_PORT_STAT_ETHER_STATS_JABBERS": "0" }, "COUNTERS:oid:0x1000000000014": { "SAI_PORT_STAT_IF_IN_UCAST_PKTS": "6", @@ -201,7 +259,36 @@ "SAI_PORT_STAT_PFC_4_TX_PKTS": "814", "SAI_PORT_STAT_PFC_5_TX_PKTS": "815", "SAI_PORT_STAT_PFC_6_TX_PKTS": "816", - "SAI_PORT_STAT_PFC_7_TX_PKTS": "817" + "SAI_PORT_STAT_PFC_7_TX_PKTS": "817", + "SAI_PORT_STAT_IF_IN_BROADCAST_PKTS": "0", + "SAI_PORT_STAT_IF_IN_MULTICAST_PKTS": "0", + "SAI_PORT_STAT_IP_IN_UCAST_PKTS": "0", + "SAI_PORT_STAT_IP_IN_RECEIVES": "0", + "SAI_PORT_STAT_IF_OUT_MULTICAST_PKTS": "0", + "SAI_PORT_STAT_IF_OUT_BROADCAST_PKTS": "0", + "SAI_PORT_STAT_ETHER_IN_PKTS_64_OCTETS": "0", + "SAI_PORT_STAT_ETHER_IN_PKTS_65_TO_127_OCTETS": "0", + "SAI_PORT_STAT_ETHER_IN_PKTS_128_TO_255_OCTETS": "0", + "SAI_PORT_STAT_ETHER_IN_PKTS_256_TO_511_OCTETS": "0", + "SAI_PORT_STAT_ETHER_IN_PKTS_512_TO_1023_OCTETS": "0", + "SAI_PORT_STAT_ETHER_IN_PKTS_1024_TO_1518_OCTETS": "0", + "SAI_PORT_STAT_ETHER_IN_PKTS_1519_TO_2047_OCTETS": "0", + "SAI_PORT_STAT_ETHER_IN_PKTS_2048_TO_4095_OCTETS": "0", + "SAI_PORT_STAT_ETHER_IN_PKTS_4096_TO_9216_OCTETS": "0", + "SAI_PORT_STAT_ETHER_IN_PKTS_9217_TO_16383_OCTETS": "0", + "SAI_PORT_STAT_ETHER_OUT_PKTS_64_OCTETS": "0", + "SAI_PORT_STAT_ETHER_OUT_PKTS_65_TO_127_OCTETS": "0", + "SAI_PORT_STAT_ETHER_OUT_PKTS_128_TO_255_OCTETS": "0", + "SAI_PORT_STAT_ETHER_OUT_PKTS_256_TO_511_OCTETS": "0", + "SAI_PORT_STAT_ETHER_OUT_PKTS_512_TO_1023_OCTETS": "0", + "SAI_PORT_STAT_ETHER_OUT_PKTS_1024_TO_1518_OCTETS": "0", + "SAI_PORT_STAT_ETHER_OUT_PKTS_1519_TO_2047_OCTETS": "0", + "SAI_PORT_STAT_ETHER_OUT_PKTS_2048_TO_4095_OCTETS": "0", + "SAI_PORT_STAT_ETHER_OUT_PKTS_4096_TO_9216_OCTETS": "0", + "SAI_PORT_STAT_ETHER_OUT_PKTS_9217_TO_16383_OCTETS": "0", + "SAI_PORT_STAT_ETHER_STATS_FRAGMENTS": "0", + "SAI_PORT_STAT_ETHER_STATS_UNDERSIZE_PKTS": "0", + "SAI_PORT_STAT_ETHER_STATS_JABBERS": "0" }, "COUNTERS:oid:0x21000000000000": { "SAI_SWITCH_STAT_OUT_DROP_REASON_RANGE_BASE": "1000", diff --git a/tests/portstat_test.py b/tests/portstat_test.py index 0413c7e238..b0f60b1e8a 100644 --- a/tests/portstat_test.py +++ b/tests/portstat_test.py @@ -146,6 +146,46 @@ intf_invalid_asic_error = """ValueError: Unknown Namespace asic99""" +intf_counters_detailed = """\ +Packets Received 64 Octets..................... 0 +Packets Received 65-127 Octets................. 0 +Packets Received 128-255 Octets................ 0 +Packets Received 256-511 Octets................ 0 +Packets Received 512-1023 Octets............... 0 +Packets Received 1024-1518 Octets.............. 0 +Packets Received 1519-2047 Octets.............. 0 +Packets Received 2048-4095 Octets.............. 0 +Packets Received 4096-9216 Octets.............. 0 +Packets Received 9217-16383 Octets............. 0 + +Total Packets Received Without Errors.......... 4 +Unicast Packets Received....................... 4 +Multicast Packets Received..................... 0 +Broadcast Packets Received..................... 0 + +Jabbers Received............................... 0 +Fragments Received............................. 0 +Undersize Received............................. 0 +Overruns Received.............................. 0 + +Packets Transmitted 64 Octets.................. 0 +Packets Transmitted 65-127 Octets.............. 0 +Packets Transmitted 128-255 Octets............. 0 +Packets Transmitted 256-511 Octets............. 0 +Packets Transmitted 512-1023 Octets............ 0 +Packets Transmitted 1024-1518 Octets........... 0 +Packets Transmitted 1519-2047 Octets........... 0 +Packets Transmitted 2048-4095 Octets........... 0 +Packets Transmitted 4096-9216 Octets........... 0 +Packets Transmitted 9217-16383 Octets.......... 0 + +Total Packets Transmitted Successfully......... 40 +Unicast Packets Transmitted.................... 40 +Multicast Packets Transmitted.................. 0 +Broadcast Packets Transmitted.................. 0 +Time Since Counters Last Cleared............... None +""" + TEST_PERIOD = 3 @@ -234,6 +274,21 @@ def test_show_intf_counters_period(self): assert return_code == 0 assert result == intf_counters_period + def test_show_intf_counters_detailed(self): + runner = CliRunner() + result = runner.invoke( + show.cli.commands["interfaces"].commands["counters"].commands["detailed"], ["Ethernet4"]) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == intf_counters_detailed + + return_code, result = get_result_and_return_code('portstat -l -i Ethernet4') + print("return_code: {}".format(return_code)) + print("result = {}".format(result)) + assert return_code == 0 + assert result == intf_counters_detailed + def test_clear_intf_counters(self): runner = CliRunner() result = runner.invoke(clear.cli.commands["counters"], []) From 0603c0bdca220dd4367be4f1cfa02454b24f6014 Mon Sep 17 00:00:00 2001 From: Joe LeVeque Date: Sun, 13 Dec 2020 10:20:27 -0800 Subject: [PATCH 005/342] [pcieutil] Remove 'pcie-' prefix from arguments (#1297) Remove redundant 'pcie-' prefix from subcommands Note this will also require an update to files/image_config/pcie-check/pcie-check.sh in sonic-buildimage. Also, since these commands require sudo, they need to be added to the read-only commands in the sudoers file, which they have not yet been. --- pcieutil/main.py | 6 +++--- show/platform.py | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pcieutil/main.py b/pcieutil/main.py index 4bfa1ad5c4..de671b38a2 100644 --- a/pcieutil/main.py +++ b/pcieutil/main.py @@ -91,7 +91,7 @@ def print_test_title(testname): @cli.command() -def pcie_show(): +def show(): '''Display PCIe Device ''' testname = "Display PCIe Device" print_test_title(testname) @@ -107,7 +107,7 @@ def pcie_show(): # Show PCIE Vender ID and Device ID @cli.command() -def pcie_check(): +def check(): '''Check PCIe Device ''' testname = "PCIe Device Check" err = 0 @@ -128,7 +128,7 @@ def pcie_check(): @cli.command() @click.confirmation_option(prompt="Are you sure to overwrite config file pcie.yaml with current pcie device info?") -def pcie_generate(): +def generate(): '''Generate config file with current pci device''' platform_pcieutil.dump_conf_yaml() click.echo("Generate config file pcie.yaml under path %s" % platform_plugins_path) diff --git a/show/platform.py b/show/platform.py index 9162c66b84..7a4f99d7ac 100644 --- a/show/platform.py +++ b/show/platform.py @@ -100,9 +100,9 @@ def ssdhealth(device, verbose, vendor): @click.option('-c', '--check', is_flag=True, help="Check the platfome pcie device") def pcieinfo(check, verbose): """Show Device PCIe Info""" - cmd = "sudo pcieutil pcie-show" + cmd = "sudo pcieutil show" if check: - cmd = "sudo pcieutil pcie-check" + cmd = "sudo pcieutil check" clicommon.run_command(cmd, display_cmd=verbose) From 6255384ac50fded27b9a5d29ac909112bb632c13 Mon Sep 17 00:00:00 2001 From: rajendra-dendukuri <47423477+rajendra-dendukuri@users.noreply.github.com> Date: Sun, 13 Dec 2020 13:22:18 -0500 Subject: [PATCH 006/342] [kdump]: Parse sonic_platform kernel command line parameter to read the platform identifier string (#1291) The platform identifier string is used in the reboot script to identify and execute any custom platform specific reboot script Signed-off-by: Rajendra Dendukuri --- scripts/reboot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/reboot b/scripts/reboot index 23092a56b6..18d68f918a 100755 --- a/scripts/reboot +++ b/scripts/reboot @@ -10,7 +10,7 @@ if [ -e $VMCORE_FILE -a -s $VMCORE_FILE ]; then echo "We have a /proc/vmcore, then we just kdump'ed" echo "User issued 'kdump' command [User: kdump, Time: ${REBOOT_TIME}]" > ${REBOOT_CAUSE_FILE} sync - PLATFORM=$(grep -oP 'platform=\K\S+' /proc/cmdline) + PLATFORM=$(grep -oP 'sonic_platform=\K\S+' /proc/cmdline) if [ ! -z "${PLATFORM}" -a -x ${DEVPATH}/${PLATFORM}/${PLAT_REBOOT} ]; then exec ${DEVPATH}/${PLATFORM}/${PLAT_REBOOT} fi From 6dd5d3188aced71dc5ee997d19b26ac852004b8b Mon Sep 17 00:00:00 2001 From: Sujin Kang Date: Mon, 14 Dec 2020 23:20:52 -0800 Subject: [PATCH 007/342] show tech with platform dump option (#1158) - What I did Add an option to force the hardware register dump with -f for show techsupport --allow-process-stop - How I did it Add an option '--allow-process-stop' to show techsupport cli command and '-a' to generate_dump script - How to verify it Perform show techsupport --allow-process-stop to collect extra hardware registers information which may require system interruption. - Previous command output (if the output of a command-line utility has changed) N/A - New command output (if the output of a command-line utility has changed) N/A --- scripts/generate_dump | 11 +++++++++-- show/main.py | 7 ++++++- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/scripts/generate_dump b/scripts/generate_dump index edbd638e16..07a43f0e22 100755 --- a/scripts/generate_dump +++ b/scripts/generate_dump @@ -20,6 +20,7 @@ MV=mv GREP=grep TOUCH=touch V= +ALLOW_PROCESS_STOP= NOOP=false DO_COMPRESS=true CMD_PREFIX= @@ -763,7 +764,7 @@ main() { # run 'hw-management-generate-dump.sh' script and save the result file HW_DUMP_FILE=/usr/bin/hw-management-generate-dump.sh if [ -f "$HW_DUMP_FILE" ]; then - /usr/bin/hw-management-generate-dump.sh + /usr/bin/hw-management-generate-dump.sh $ALLOW_PROCESS_STOP save_file "/tmp/hw-mgmt-dump*" "hw-mgmt" false rm -f /tmp/hw-mgmt-dump* else @@ -827,6 +828,9 @@ OPTIONS passed to them -n Noop mode. Don't actually create anything, just echo what would happen + -a + Allow any process stop. This allows for collection of platform HW register + status, which may require potential system interruption -z Don't compress the tar at the end. -s DATE @@ -837,7 +841,7 @@ OPTIONS EOF } -while getopts ":xnvhzs:" opt; do +while getopts ":xnvhzsa:" opt; do case $opt in x) # enable bash debugging @@ -868,6 +872,9 @@ while getopts ":xnvhzs:" opt; do z) DO_COMPRESS=false ;; + a) + ALLOW_PROCESS_STOP="-a" + ;; s) SINCE_DATE="${OPTARG}" # validate date expression diff --git a/show/main.py b/show/main.py index 087a67958b..220d4daaa0 100755 --- a/show/main.py +++ b/show/main.py @@ -1128,11 +1128,16 @@ def users(verbose): @cli.command() @click.option('--since', required=False, help="Collect logs and core files since given date") @click.option('--verbose', is_flag=True, help="Enable verbose output") -def techsupport(since, verbose): +@click.option('--allow-process-stop', is_flag=True, help="Dump additional data which may require system interruption") +def techsupport(since, verbose, allow_process_stop): """Gather information for troubleshooting""" cmd = "sudo generate_dump -v" + if allow_process_stop: + cmd += " -a" + if since: cmd += " -s {}".format(since) + run_command(cmd, display_cmd=verbose) From 394b2021c7268144c2955b80340b9bf341f9a777 Mon Sep 17 00:00:00 2001 From: Stephen Sun <5379172+stephenxs@users.noreply.github.com> Date: Wed, 16 Dec 2020 03:14:46 +0800 Subject: [PATCH 008/342] [Dynamic buffer calc] Support dynamic buffer calculation (#973) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit **- What I did** Support dynamic buffer calculation **- How I did it** 1. Commands added: • config interface buffer priority-group lossless • config interface buffer priority-group lossless add [headroom-override-profile] for adding the PG for the first time providing option headroom-override-profile means to configure the PG as headroom override otherwise as dynamically calculated headroom • config interface buffer priority-group lossless set [headroom-override-profile] for modifying an existing PG, the option headroom-override-profile has the same meaning as "add" • config interface buffer priority-group lossless remove [PG] for removing the PG specified by option PG. If the option isn't provided, all lossless PGs on the port will be removed • config buffer-profile to add, modify or remove buffer profiles • show buffer 2. db_migrator: • migrate CONFIG_DB from old approach to the new approach • when system warm starts from old image to the new one, copies related tables from CONFIG_DB to APPL_DB for the purpose that buffermgrd can start smoothly 3. Warm-reboot script: don't clear BUFFER_MAX_PARAM table across warm reboot 4. CLI reference is also provided **- How to verify it** **- Previous command output (if the output of a command-line utility has changed)** **- New command output (if the output of a command-line utility has changed)** --- config/main.py | 426 +++++++++++++++++++++- doc/Command-Reference.md | 332 ++++++++++++++++- scripts/buffershow | 1 + scripts/db_migrator.py | 236 +++++++++++- scripts/fast-reboot | 3 +- scripts/mellanox_buffer_migrator.py | 194 ++++++++-- scripts/mmuconfig | 114 ++++-- setup.py | 1 + show/main.py | 31 +- tests/buffer_input/buffer_test_vectors.py | 108 ++++++ tests/buffer_test.py | 108 ++++++ tests/config_test.py | 2 +- tests/mock_tables/config_db.json | 46 +++ tests/mock_tables/state_db.json | 32 ++ 14 files changed, 1557 insertions(+), 77 deletions(-) mode change 100755 => 100644 config/main.py create mode 120000 scripts/buffershow mode change 100644 => 100755 scripts/mellanox_buffer_migrator.py mode change 100644 => 100755 scripts/mmuconfig mode change 100755 => 100644 show/main.py create mode 100644 tests/buffer_input/buffer_test_vectors.py create mode 100644 tests/buffer_test.py diff --git a/config/main.py b/config/main.py old mode 100755 new mode 100644 index 2316d7e38c..a074a55924 --- a/config/main.py +++ b/config/main.py @@ -1197,7 +1197,7 @@ def load_minigraph(db, no_service_restart): clicommon.run_command("acl-loader update full /etc/sonic/acl.json", display_cmd=True) # generate QoS and Buffer configs - clicommon.run_command("config qos reload", display_cmd=True) + clicommon.run_command("config qos reload --no-dynamic-buffer", display_cmd=True) # Write latest db version string into db db_migrator='/usr/local/bin/db_migrator.py' @@ -1626,8 +1626,20 @@ def clear(): log.log_info("'qos clear' executing...") _clear_qos() +def _update_buffer_calculation_model(config_db, model): + """Update the buffer calculation model into CONFIG_DB""" + buffer_model_changed = False + device_metadata = config_db.get_entry('DEVICE_METADATA', 'localhost') + if device_metadata.get('buffer_model') != model: + buffer_model_changed = True + device_metadata['buffer_model'] = model + config_db.set_entry('DEVICE_METADATA', 'localhost', device_metadata) + return buffer_model_changed + @qos.command('reload') -def reload(): +@click.pass_context +@click.option('--no-dynamic-buffer', is_flag=True, help="Disable dynamic buffer calculation") +def reload(ctx, no_dynamic_buffer): """Reload QoS configuration""" log.log_info("'qos reload' executing...") _clear_qos() @@ -1638,9 +1650,13 @@ def reload(): if multi_asic.get_num_asics() > 1: namespace_list = multi_asic.get_namespaces_from_linux() + buffer_model_updated = False + vendors_supporting_dynamic_buffer = ["mellanox"] + for ns in namespace_list: if ns is DEFAULT_NAMESPACE: asic_id_suffix = "" + config_db = ConfigDBConnector() else: asic_id = multi_asic.get_asic_id_from_name(ns) if asic_id is None: @@ -1652,7 +1668,19 @@ def reload(): raise click.Abort() asic_id_suffix = str(asic_id) - buffer_template_file = os.path.join(hwsku_path, asic_id_suffix, "buffers.json.j2") + config_db = ConfigDBConnector( + use_unix_socket_path=True, namespace=ns + ) + + config_db.connect() + + if not no_dynamic_buffer and asic_type in vendors_supporting_dynamic_buffer: + buffer_template_file = os.path.join(hwsku_path, asic_id_suffix, "buffers_dynamic.json.j2") + buffer_model_updated |= _update_buffer_calculation_model(config_db, "dynamic") + else: + buffer_template_file = os.path.join(hwsku_path, asic_id_suffix, "buffers.json.j2") + if asic_type in vendors_supporting_dynamic_buffer: + buffer_model_updated |= _update_buffer_calculation_model(config_db, "traditional") if os.path.isfile(buffer_template_file): qos_template_file = os.path.join(hwsku_path, asic_id_suffix, "qos.json.j2") if os.path.isfile(qos_template_file): @@ -1677,6 +1705,14 @@ def reload(): buffer_template_file ), fg="yellow") + if buffer_model_updated: + print("Buffer calculation model updated, restarting swss is required to take effect") + +def is_dynamic_buffer_enabled(config_db): + """Return whether the current system supports dynamic buffer calculation""" + device_metadata = config_db.get_entry('DEVICE_METADATA', 'localhost') + return 'dynamic' == device_metadata.get('buffer_model') + # # 'warm_restart' group ('config warm_restart ...') # @@ -2475,6 +2511,244 @@ def remove(ctx, interface_name, ip_addr): except ValueError: ctx.fail("'ip_addr' is not valid.") + +# +# buffer commands and utilities +# +def pgmaps_check_legality(ctx, interface_name, input_pg, is_new_pg): + """ + Tool function to check whether input_pg is legal. + Three checking performed: + 1. Whether the input_pg is legal: pgs are in range [0-7] + 2. Whether the input_pg overlaps an existing pg in the port + """ + config_db = ctx.obj["config_db"] + + try: + lower = int(input_pg[0]) + upper = int(input_pg[-1]) + + if upper < lower or lower < 0 or upper > 7: + ctx.fail("PG {} is not valid.".format(input_pg)) + except Exception: + ctx.fail("PG {} is not valid.".format(input_pg)) + + # Check overlapping. + # To configure a new PG which is overlapping an existing one is not allowed + # For example, to add '5-6' while '3-5' existing is illegal + existing_pgs = config_db.get_table("BUFFER_PG") + if not is_new_pg: + if not (interface_name, input_pg) in existing_pgs.keys(): + ctx.fail("PG {} doesn't exist".format(input_pg)) + return + + for k, v in existing_pgs.items(): + port, existing_pg = k + if port == interface_name: + existing_lower = int(existing_pg[0]) + existing_upper = int(existing_pg[-1]) + if existing_upper < lower or existing_lower > upper: + # new and existing pgs disjoint, legal + pass + else: + ctx.fail("PG {} overlaps with existing PG {}".format(input_pg, existing_pg)) + + +def update_pg(ctx, interface_name, pg_map, override_profile, add = True): + config_db = ctx.obj["config_db"] + + # Check whether port is legal + ports = config_db.get_entry("PORT", interface_name) + if not ports: + ctx.fail("Port {} doesn't exist".format(interface_name)) + + # Check whether pg_map is legal + # Check whether there is other lossless profiles configured on the interface + pgmaps_check_legality(ctx, interface_name, pg_map, add) + + # All checking passed + if override_profile: + profile_dict = config_db.get_entry("BUFFER_PROFILE", override_profile) + if not profile_dict: + ctx.fail("Profile {} doesn't exist".format(override_profile)) + if not 'xoff' in profile_dict.keys() and 'size' in profile_dict.keys(): + ctx.fail("Profile {} doesn't exist or isn't a lossless profile".format(override_profile)) + profile_full_name = "[BUFFER_PROFILE|{}]".format(override_profile) + config_db.set_entry("BUFFER_PG", (interface_name, pg_map), {"profile": profile_full_name}) + else: + config_db.set_entry("BUFFER_PG", (interface_name, pg_map), {"profile": "NULL"}) + adjust_pfc_enable(ctx, interface_name, pg_map, True) + + +def remove_pg_on_port(ctx, interface_name, pg_map): + config_db = ctx.obj["config_db"] + + # Check whether port is legal + ports = config_db.get_entry("PORT", interface_name) + if not ports: + ctx.fail("Port {} doesn't exist".format(interface_name)) + + # Remvoe all dynamic lossless PGs on the port + existing_pgs = config_db.get_table("BUFFER_PG") + removed = False + for k, v in existing_pgs.items(): + port, existing_pg = k + if port == interface_name and (not pg_map or pg_map == existing_pg): + need_to_remove = False + referenced_profile = v.get('profile') + if referenced_profile and referenced_profile == '[BUFFER_PROFILE|ingress_lossy_profile]': + if pg_map: + ctx.fail("Lossy PG {} can't be removed".format(pg_map)) + else: + continue + config_db.set_entry("BUFFER_PG", (interface_name, existing_pg), None) + adjust_pfc_enable(ctx, interface_name, pg_map, False) + removed = True + if not removed: + if pg_map: + ctx.fail("No specified PG {} found on port {}".format(pg_map, interface_name)) + else: + ctx.fail("No lossless PG found on port {}".format(interface_name)) + + +def adjust_pfc_enable(ctx, interface_name, pg_map, add): + config_db = ctx.obj["config_db"] + + # Fetch the original pfc_enable + qosmap = config_db.get_entry("PORT_QOS_MAP", interface_name) + pfc_enable = qosmap.get("pfc_enable") + + pfc_set = set() + if pfc_enable: + for priority in pfc_enable.split(","): + pfc_set.add(int(priority)) + + if pg_map: + lower_bound = int(pg_map[0]) + upper_bound = int(pg_map[-1]) + + for priority in range(lower_bound, upper_bound + 1): + if add: + pfc_set.add(priority) + elif priority in pfc_set: + pfc_set.remove(priority) + + empty_set = set() + pfc_enable = "" + if not pfc_set.issubset(empty_set): + for priority in pfc_set: + pfc_enable += str(priority) + "," + elif not add: + # Remove all + pfc_enable = "" + else: + ctx.fail("Try to add empty priorities") + + qosmap["pfc_enable"] = pfc_enable[:-1] + config_db.set_entry("PORT_QOS_MAP", interface_name, qosmap) + + +# +# 'buffer' subgroup ('config interface buffer ...') +# +@interface.group(cls=clicommon.AbbreviationGroup) +@click.pass_context +def buffer(ctx): + """Set or clear buffer configuration""" + config_db = ctx.obj["config_db"] + if not is_dynamic_buffer_enabled(config_db): + ctx.fail("This command can only be executed on a system with dynamic buffer enabled") + + +# +# 'priority_group' subgroup ('config interface buffer priority_group ...') +# +@buffer.group(cls=clicommon.AbbreviationGroup) +@click.pass_context +def priority_group(ctx): + """Set or clear buffer configuration""" + pass + + +# +# 'lossless' subgroup ('config interface buffer priority_group lossless ...') +# +@priority_group.group(cls=clicommon.AbbreviationGroup) +@click.pass_context +def lossless(ctx): + """Set or clear lossless PGs""" + pass + + +# +# 'add' subcommand +# +@lossless.command('add') +@click.argument('interface_name', metavar='', required=True) +@click.argument('pg_map', metavar='', required=True) +@click.argument('override_profile', metavar='', required=False) +@click.pass_context +def add_pg(ctx, interface_name, pg_map, override_profile): + """Set lossless PGs for the interface""" + update_pg(ctx, interface_name, pg_map, override_profile) + + +# +# 'set' subcommand +# +@lossless.command('set') +@click.argument('interface_name', metavar='', required=True) +@click.argument('pg_map', metavar='', required=True) +@click.argument('override_profile', metavar='', required=False) +@click.pass_context +def set_pg(ctx, interface_name, pg_map, override_profile): + """Set lossless PGs for the interface""" + update_pg(ctx, interface_name, pg_map, override_profile, False) + + +# +# 'remove' subcommand +# +@lossless.command('remove') +@click.argument('interface_name', metavar='', required=True) +@click.argument('pg_map', metavar='m, like 300m".format(cable_length)) + + keys = config_db.get_keys("CABLE_LENGTH") + + cable_length_set = {} + cable_length_set[interface_name] = length + config_db.mod_entry("CABLE_LENGTH", keys[0], cable_length_set) + # # 'transceiver' subgroup ('config interface transceiver ...') # @@ -3055,6 +3329,152 @@ def priority(ctx, interface_name, priority, status): clicommon.run_command("pfc config priority {0} {1} {2}".format(status, interface_name, priority)) +# +# 'buffer' group ('config buffer ...') +# + +@config.group(cls=clicommon.AbbreviationGroup) +@click.pass_context +def buffer(ctx): + """Configure buffer_profile""" + config_db = ConfigDBConnector() + config_db.connect() + + if not is_dynamic_buffer_enabled(config_db): + ctx.fail("This command can only be supported on a system with dynamic buffer enabled") + + +@buffer.group(cls=clicommon.AbbreviationGroup) +@click.pass_context +def profile(ctx): + """Configure buffer profile""" + pass + + +@profile.command('add') +@click.argument('profile', metavar='', required=True) +@click.option('--xon', metavar='', type=int, help="Set xon threshold") +@click.option('--xoff', metavar='', type=int, help="Set xoff threshold") +@click.option('--size', metavar='', type=int, help="Set reserved size size") +@click.option('--dynamic_th', metavar='', type=str, help="Set dynamic threshold") +@click.option('--pool', metavar='', type=str, help="Buffer pool") +@clicommon.pass_db +def add_profile(db, profile, xon, xoff, size, dynamic_th, pool): + """Add or modify a buffer profile""" + config_db = db.cfgdb + ctx = click.get_current_context() + + profile_entry = config_db.get_entry('BUFFER_PROFILE', profile) + if profile_entry: + ctx.fail("Profile {} already exist".format(profile)) + + update_profile(ctx, config_db, profile, xon, xoff, size, dynamic_th, pool) + + +@profile.command('set') +@click.argument('profile', metavar='', required=True) +@click.option('--xon', metavar='', type=int, help="Set xon threshold") +@click.option('--xoff', metavar='', type=int, help="Set xoff threshold") +@click.option('--size', metavar='', type=int, help="Set reserved size size") +@click.option('--dynamic_th', metavar='', type=str, help="Set dynamic threshold") +@click.option('--pool', metavar='', type=str, help="Buffer pool") +@clicommon.pass_db +def set_profile(db, profile, xon, xoff, size, dynamic_th, pool): + """Add or modify a buffer profile""" + config_db = db.cfgdb + ctx = click.get_current_context() + + profile_entry = config_db.get_entry('BUFFER_PROFILE', profile) + if not profile_entry: + ctx.fail("Profile {} doesn't exist".format(profile)) + + if not 'xoff' in profile_entry.keys() and xoff: + ctx.fail("Can't change profile {} from dynamically calculating headroom to non-dynamically one".format(profile)) + + update_profile(ctx, config_db, profile, xon, xoff, size, dynamic_th, pool, profile_entry) + + +def update_profile(ctx, config_db, profile_name, xon, xoff, size, dynamic_th, pool, profile_entry = None): + params = {} + if profile_entry: + params = profile_entry + dynamic_calculate = True + + if not pool: + pool = 'ingress_lossless_pool' + params['pool'] = '[BUFFER_POOL|' + pool + ']' + if not config_db.get_entry('BUFFER_POOL', pool): + ctx.fail("Pool {} doesn't exist".format(pool)) + + if xon: + params['xon'] = xon + dynamic_calculate = False + else: + xon = params.get('xon') + + if xoff: + params['xoff'] = xoff + dynamic_calculate = False + else: + xoff = params.get('xoff') + + if size: + params['size'] = size + dynamic_calculate = False + if xon and not xoff: + xoff = int(size) - int (xon) + params['xoff'] = xoff + elif not dynamic_calculate: + if xon and xoff: + size = int(xon) + int(xoff) + params['size'] = size + else: + ctx.fail("Either both xon and xoff or size should be provided") + + if dynamic_calculate: + params['headroom_type'] = 'dynamic' + if not dynamic_th: + ctx.fail("Either size information (xon, xoff, size) or dynamic_th needs to be provided") + + if dynamic_th: + params['dynamic_th'] = dynamic_th + else: + # Fetch all the keys of default_lossless_buffer_parameter table + # and then get the default_dynamic_th from that entry (should be only one) + keys = config_db.get_keys('DEFAULT_LOSSLESS_BUFFER_PARAMETER') + if len(keys) > 1 or len(keys) == 0: + ctx.fail("Multiple or no entry in DEFAULT_LOSSLESS_BUFFER_PARAMETER found while no dynamic_th specified") + + default_lossless_param = config_db.get_entry('DEFAULT_LOSSLESS_BUFFER_PARAMETER', keys[0]) + if 'default_dynamic_th' in default_lossless_param.keys(): + params['dynamic_th'] = default_lossless_param['default_dynamic_th'] + else: + ctx.fail("No dynamic_th defined in DEFAULT_LOSSLESS_BUFFER_PARAMETER") + + config_db.set_entry("BUFFER_PROFILE", (profile_name), params) + +@profile.command('remove') +@click.argument('profile', metavar='', required=True) +@clicommon.pass_db +def remove_profile(db, profile): + """Delete a buffer profile""" + config_db = db.cfgdb + ctx = click.get_current_context() + + full_profile_name = '[BUFFER_PROFILE|{}]'.format(profile) + existing_pgs = config_db.get_table("BUFFER_PG") + for k, v in existing_pgs.items(): + port, pg = k + referenced_profile = v.get('profile') + if referenced_profile and referenced_profile == full_profile_name: + ctx.fail("Profile {} is referenced by {}|{} and can't be removed".format(profile, port, pg)) + + entry = config_db.get_entry("BUFFER_PROFILE", profile) + if entry: + config_db.set_entry("BUFFER_PROFILE", profile, None) + else: + ctx.fail("Profile {} doesn't exist".format(profile)) + # # 'platform' group ('config platform ...') # diff --git a/doc/Command-Reference.md b/doc/Command-Reference.md index 1887d29118..4122c0d865 100644 --- a/doc/Command-Reference.md +++ b/doc/Command-Reference.md @@ -42,6 +42,9 @@ * [Drop Counter show commands](#drop-counters-show-commands) * [Drop Counter config commands](#drop-counters-config-commands) * [Drop Counter clear commands](#drop-counters-clear-commands) +* [Dynamic Buffer Management](#dynamic-buffer-management) + * [Configuration commands](#configuration-commands) + * [Show commands](#show-commands) * [ECN](#ecn) * [ECN show commands](#ecn-show-commands) * [ECN config commands](#ecn-config-commands) @@ -2163,7 +2166,7 @@ This command is used to delete a configured DHCP Relay Destination IP address fr Go Back To [Beginning of the document](#) or [Beginning of this section](#dhcp-relay) -# Drop Counters +## Drop Counters This section explains all the Configurable Drop Counters show commands and configuration options that are supported in SONiC. @@ -2345,8 +2348,310 @@ This comnmand is used to clear drop counters. This is done on a per-user basis. Cleared drop counters ``` -Go Back To [Beginning of the document](#) or [Beginning of this section](#drop-counters) +Go Back To [Beginning of the document](#) or [Beginning of this section](##drop-counters) +## Dynamic Buffer Management + +This section explains all the show and configuration commands regarding the dynamic buffer management. + +Dynamic buffer management is responsible for calculating buffer size according to the ports' configured speed and administrative state. In order to enable dynamic buffer management feature, the ports' speed must be configured. For this please refer [Interface naming mode config commands](#interface-naming-mode-config-commands) + +### Configuration commands + +**configure a lossless buffer profile** + +This command is used to configure a lossless buffer profile. + +- Usage: + + ``` + config buffer_profile add -xon -xoff [-size ] [-dynamic_th ] [-pool ] + config buffer_profile set -xon -xoff [-size ] [-dynamic_th ] [-pool ] + config buffer_profile remove + ``` + + All the parameters are devided to two groups, one for headroom and one for dynamic_th. For any command at lease one group of parameters should be provided. + For headroom parameters: + + - At lease one of `xoff` and `size` should be provided and the other will be optional and conducted via the formula `xon + xoff = size`. + All other parameters are optional. + - `xon` is madantory. + - `xon` + `xoff` <= `size`; For Mellanox platform xon + xoff == size + + If only headroom parameters are provided, the `dynamic_th` will be taken from `CONFIG_DB.DEFAULT_LOSSLESS_BUFFER_PARAMETER.default_dynamic_th`. + + If only dynamic_th parameter is provided, the `headroom_type` will be set as `dynamic` and `xon`, `xoff` and `size` won't be set. This is only used for non default dynamic_th. In this case, the profile won't be deployed to ASIC directly. It can be configured to a lossless PG and then a dynamic profile will be generated based on the port's speed, cable length, and MTU and deployed to the ASIC. + + The subcommand `add` is designed for adding a new buffer profile to the system. + + The subcommand `set` is designed for modifying an existing buffer profile in the system. + For a profile with dynamically calculated headroom information, only `dynamic_th` can be modified. + + The subcommand `remove` is designed for removing an existing buffer profile from the system. When removing a profile, it shouldn't be referenced by any entry in `CONFIG_DB.BUFFER_PG`. + +- Example: + + ``` + admin@sonic:~$ sudo config buffer_profile add profile1 -xon 18432 -xoff 18432 + admin@sonic:~$ sudo config buffer_profile remove profile1 + ``` + +**config interface cable_length** + +This command is used to configure the length of the cable connected to a port. The cable_length is in unit of meters and must be suffixed with "m". + +- Usage: + + ``` + config interface cable_length + ``` + +- Example: + + ``` + admin@sonic:~$ sudo config interface cable_length Ethernet0 40m + ``` + +Go Back To [Beginning of the document](#) or [Beginning of this section](#dynamic-buffer-management) + +**config interface buffer priority-group lossless** + +This command is used to configure the priority groups on which lossless traffic runs. + +- Usage: + + ``` + config interface buffer priority-group lossless add [profile] + config interface buffer priority-group lossless set [profile] + config interface buffer priority-group lossless remove [] + ``` + + The can be in one of the following two forms: + + - For a range of priorities, the lower bound and upper bound connected by a dash, like `3-4` + - For a single priority, the number, like `6` + + The `pg-map` represents the map of priorities for lossless traffic. It should be a string and in form of a bit map like `3-4`. The `-` connects the lower bound and upper bound of a range of priorities. + + The subcommand `add` is designed for adding a new lossless PG on top of current PGs. The new PG range must be disjoint with all existing PGs. + + For example, currently the PG range 3-4 exist on port Ethernet4, to add PG range 4-5 will fail because it isn't disjoint with 3-4. To add PG range 5-6 will succeed. After that both range 3-4 and 5-6 will work as lossless PG. + + The `override-profile` parameter is optional. When provided, it represents the predefined buffer profile for headroom override. + + The subcommand `set` is designed for modifying an existing PG from dynamic calculation to headroom override or vice versa. The `pg-map` must be an existing PG. + + The subcommand `remove` is designed for removing an existing PG. The option `pg-map` must be an existing PG. All lossless PGs will be removed in case no `pg-map` provided. + +- Example: + + To configure lossless_pg on a port: + + ``` + admin@sonic:~$ sudo config interface buffer priority-group lossless add Ethernet0 3-4 + ``` + + To change the profile used for lossless_pg on a port: + + ``` + admin@sonic:~$ sudo config interface buffer priority-group lossless set Ethernet0 3-4 new-profile + ``` + + To remove one lossless priority from a port: + + ``` + admin@sonic:~$ sudo config interface buffer priority-group lossless remove Ethernet0 6 + ``` + + To remove all lossless priorities from a port: + + ``` + admin@sonic:~$ sudo config interface buffer priority-group lossless remove Ethernet0 + ``` + +Go Back To [Beginning of the document](#) or [Beginning of this section](#dynamic-buffer-management) + +### Show commands + +**show buffer information** + +This command is used to display the status of buffer pools and profiles currently deployed to the ASIC. + +- Usage: + + ``` + show buffer information + ``` + +- Example: + + ``` + admin@sonic:~$ show buffer information + Pool: ingress_lossless_pool + ---- -------- + type ingress + mode dynamic + size 17170432 + ---- -------- + + Pool: egress_lossless_pool + ---- -------- + type egress + mode dynamic + size 34340822 + ---- -------- + + Pool: ingress_lossy_pool + ---- -------- + type ingress + mode dynamic + size 17170432 + ---- -------- + + Pool: egress_lossy_pool + ---- -------- + type egress + mode dynamic + size 17170432 + ---- -------- + + Profile: pg_lossless_100000_5m_profile + ---------- ----------------------------------- + xon 18432 + dynamic_th 0 + xoff 18432 + pool [BUFFER_POOL:ingress_lossless_pool] + size 36864 + ---------- ----------------------------------- + + Profile: q_lossy_profile + ---------- ------------------------------- + dynamic_th 3 + pool [BUFFER_POOL:egress_lossy_pool] + size 0 + ---------- ------------------------------- + + Profile: egress_lossy_profile + ---------- ------------------------------- + dynamic_th 3 + pool [BUFFER_POOL:egress_lossy_pool] + size 4096 + ---------- ------------------------------- + + Profile: egress_lossless_profile + ---------- ---------------------------------- + dynamic_th 7 + pool [BUFFER_POOL:egress_lossless_pool] + size 0 + ---------- ---------------------------------- + + Profile: ingress_lossless_profile + ---------- ----------------------------------- + dynamic_th 0 + pool [BUFFER_POOL:ingress_lossless_pool] + size 0 + ---------- ----------------------------------- + + Profile: pg_lossless_100000_79m_profile + ---------- ----------------------------------- + xon 18432 + dynamic_th 0 + xoff 60416 + pool [BUFFER_POOL:ingress_lossless_pool] + size 78848 + ---------- ----------------------------------- + + Profile: pg_lossless_100000_40m_profile + ---------- ----------------------------------- + xon 18432 + dynamic_th 0 + xoff 38912 + pool [BUFFER_POOL:ingress_lossless_pool] + size 57344 + ---------- ----------------------------------- + + Profile: ingress_lossy_profile + ---------- -------------------------------- + dynamic_th 3 + pool [BUFFER_POOL:ingress_lossy_pool] + size 0 + ---------- -------------------------------- + ``` + +**show buffer configuration** + +This command is used to display the status of buffer pools and profiles currently configured. + +- Usage: + + ``` + show buffer configuration + ``` + +- Example: + + ``` + admin@sonic:~$ show buffer configuration + Pool: ingress_lossless_pool + ---- -------- + type ingress + mode dynamic + ---- -------- + + Pool: egress_lossless_pool + ---- -------- + type egress + mode dynamic + size 34340822 + ---- -------- + + Pool: ingress_lossy_pool + ---- -------- + type ingress + mode dynamic + ---- -------- + + Pool: egress_lossy_pool + ---- -------- + type egress + mode dynamic + ---- -------- + + Profile: q_lossy_profile + ---------- ------------------------------- + dynamic_th 3 + pool [BUFFER_POOL:egress_lossy_pool] + size 0 + ---------- ------------------------------- + + Profile: egress_lossy_profile + ---------- ------------------------------- + dynamic_th 3 + pool [BUFFER_POOL:egress_lossy_pool] + size 4096 + ---------- ------------------------------- + + Profile: egress_lossless_profile + ---------- ---------------------------------- + dynamic_th 7 + pool [BUFFER_POOL:egress_lossless_pool] + size 0 + ---------- ---------------------------------- + + Profile: ingress_lossless_profile + ---------- ----------------------------------- + dynamic_th 0 + pool [BUFFER_POOL:ingress_lossless_pool] + size 0 + ---------- ----------------------------------- + + Profile: ingress_lossy_profile + ---------- -------------------------------- + dynamic_th 3 + pool [BUFFER_POOL:ingress_lossy_pool] + size 0 + ---------- -------------------------------- + ``` ## ECN @@ -3259,6 +3564,29 @@ kindly use, double tab i.e. to see the available breakout option cust Go Back To [Beginning of the document](#) or [Beginning of this section](#interfaces) +**config interface cable_length (Versions >= 202006)** + +This command is used to configure the length of the cable connected to a port. The cable_length is in unit of meters and must be suffixed with "m". + +For details please refer [dynamic buffer management](#dynamic-buffer-management) + +Go Back To [Beginning of the document](#) or [Beginning of this section](#interfaces) + +**config interface lossless_pg (Versions >= 202006)** + +This command is used to configure the priority groups on which lossless traffic runs. + +For details please refer [dynamic buffer management](#dynamic-buffer-management) + +Go Back To [Beginning of the document](#) or [Beginning of this section](#interfaces) + +**config interface headroom_override (Versions >= 202006)** + +This command is used to configure a static buffer profile on a port's lossless priorities. There shouldn't be any `lossless_pg` configured on the port when configuring `headroom_override`. The port's headroom won't be updated after `headroom_override` has been configured on the port. + +For details please refer [dynamic buffer management](#dynamic-buffer-management) + +Go Back To [Beginning of the document](#) or [Beginning of this section](#interfaces) ## Interface Naming Mode diff --git a/scripts/buffershow b/scripts/buffershow new file mode 120000 index 0000000000..e223bf79ce --- /dev/null +++ b/scripts/buffershow @@ -0,0 +1 @@ +mmuconfig \ No newline at end of file diff --git a/scripts/db_migrator.py b/scripts/db_migrator.py index c040551ac7..5b571ce758 100755 --- a/scripts/db_migrator.py +++ b/scripts/db_migrator.py @@ -4,6 +4,7 @@ import json import sys import traceback +import re from sonic_py_common import device_info, logger from swsssdk import ConfigDBConnector, SonicDBConfig @@ -30,7 +31,7 @@ def __init__(self, namespace, socket=None): none-zero values. build: sequentially increase within a minor version domain. """ - self.CURRENT_VERSION = 'version_1_0_4' + self.CURRENT_VERSION = 'version_2_0_0' self.TABLE_NAME = 'VERSIONS' self.TABLE_KEY = 'DATABASE' @@ -50,6 +51,10 @@ def __init__(self, namespace, socket=None): if self.appDB is not None: self.appDB.connect(self.appDB.APPL_DB) + self.stateDB = SonicV2Connector(host='127.0.0.1') + if self.stateDB is not None: + self.stateDB.connect(self.stateDB.STATE_DB) + version_info = device_info.get_sonic_version_info() asic_type = version_info.get('asic_type') self.asic_type = asic_type @@ -112,7 +117,6 @@ def migrate_intf_table(self): "Vlan1000:192.168.0.1/21": {}", this function shall add an entry without IP prefix as ""Vlan1000": {}". This also migrates 'lo' to 'Loopback0' interface ''' - if self.appDB is None: return @@ -157,6 +161,183 @@ def migrate_copp_table(self): for copp_key in keys: self.appDB.delete(self.appDB.APPL_DB, copp_key) + def migrate_config_db_buffer_tables_for_dynamic_calculation(self, speed_list, cable_len_list, default_dynamic_th, default_lossless_profiles, abandon_method, append_item_method): + ''' + Migrate buffer tables to dynamic calculation mode + parameters + @speed_list - list of speed supported + @cable_len_list - list of cable length supported + @default_dynamic_th - default dynamic th + @default_lossless_profiles - default lossless profiles from the previous image + @abandon_method - a function which is called to abandon the migration and keep the current configuration + if the current one doesn't match the default one + @append_item_method - a function which is called to append an item to the list of pending commit items + any update to buffer configuration will be pended and won't be applied until + all configuration is checked and aligns with the default one + + 1. Buffer profiles for lossless PGs in BUFFER_PROFILE table will be removed + if their names have the convention of pg_lossless___profile + where the speed and cable_length belongs speed_list and cable_len_list respectively + and the dynamic_th is equal to default_dynamic_th + 2. Insert tables required for dynamic buffer calculation + - DEFAULT_LOSSLESS_BUFFER_PARAMETER|AZURE: {'default_dynamic_th': default_dynamic_th} + - LOSSLESS_TRAFFIC_PATTERN|AZURE: {'mtu': '1500', 'small_packet_percentage': '100'} + 3. For lossless dynamic PGs, remove the explicit referencing buffer profiles + Before: BUFFER_PG||3-4: {'profile': 'BUFFER_PROFILE|pg_lossless___profile'} + After: BUFFER_PG||3-4: {'profile': 'NULL'} + ''' + # Migrate BUFFER_PROFILEs, removing dynamically generated profiles + dynamic_profile = self.configDB.get_table('BUFFER_PROFILE') + profile_pattern = 'pg_lossless_([1-9][0-9]*000)_([1-9][0-9]*m)_profile' + for name, info in dynamic_profile.items(): + m = re.search(profile_pattern, name) + if not m: + continue + speed = m.group(1) + cable_length = m.group(2) + if speed in speed_list and cable_length in cable_len_list: + log.log_info("current profile {} {}".format(name, info)) + log.log_info("default profile {} {}".format(name, default_lossless_profiles.get(name))) + default_profile = default_lossless_profiles.get(name); + if info.get("xon") == default_profile.get("xon") and info.get("size") == default_profile.get("size") and info.get('dynamic_th') == default_dynamic_th: + append_item_method(('BUFFER_PROFILE', name, None)) + log.log_info("Lossless profile {} has been removed".format(name)) + else: + log.log_notice("Lossless profile {} doesn't match the default configuration, keep using traditional buffer calculation mode") + abandon_method() + return True + + # Migrate BUFFER_PGs, removing the explicit designated profiles + buffer_pgs = self.configDB.get_table('BUFFER_PG') + ports = self.configDB.get_table('PORT') + all_cable_lengths = self.configDB.get_table('CABLE_LENGTH') + if not buffer_pgs or not ports or not all_cable_lengths: + log.log_notice("At lease one of tables BUFFER_PG, PORT and CABLE_LENGTH hasn't been defined, skip following migration") + abandon_method() + return True + + cable_lengths = all_cable_lengths[list(all_cable_lengths.keys())[0]] + for name, profile in buffer_pgs.items(): + # do the db migration + port, pg = name + if pg != '3-4': + continue + try: + profile_name = profile['profile'][1:-1].split('|')[1] + m = re.search(profile_pattern, profile_name) + except Exception: + continue + if not m: + continue + speed = m.group(1) + cable_length = m.group(2) + try: + if speed == ports[port]['speed'] and cable_length == cable_lengths[port]: + append_item_method(('BUFFER_PG', name, {'profile': 'NULL'})) + else: + log.log_notice("Lossless PG profile {} for port {} doesn't match its speed {} or cable length {}, keep using traditional buffer calculation mode".format( + profile_name, port, speed, cable_length)) + abandon_method() + return True + except Exception: + continue + + # Insert other tables required for dynamic buffer calculation + metadata = self.configDB.get_entry('DEVICE_METADATA', 'localhost') + metadata['buffer_model'] = 'dynamic' + append_item_method(('DEVICE_METADATA', 'localhost', metadata)) + append_item_method(('DEFAULT_LOSSLESS_BUFFER_PARAMETER', 'AZURE', {'default_dynamic_th': default_dynamic_th})) + append_item_method(('LOSSLESS_TRAFFIC_PATTERN', 'AZURE', {'mtu': '1500', 'small_packet_percentage': '100'})) + + return True + + def prepare_dynamic_buffer_for_warm_reboot(self, buffer_pools = None, buffer_profiles = None, buffer_pgs = None): + ''' + This is the very first warm reboot of buffermgrd (dynamic) if the system reboot from old image by warm-reboot + In this case steps need to be taken to get buffermgrd prepared (for warm reboot) + + During warm reboot, buffer tables should be installed in the first place. + However, it isn't able to achieve that when system is warm-rebooted from an old image + without dynamic buffer supported, because the buffer info wasn't in the APPL_DB in the old image. + The solution is to copy that info from CONFIG_DB into APPL_DB in db_migrator. + During warm-reboot, db_migrator adjusts buffer info in CONFIG_DB by removing some fields + according to requirement from dynamic buffer calculation. + The buffer info before that adjustment needs to be copied to APPL_DB. + + 1. set WARM_RESTART_TABLE|buffermgrd as {restore_count: 0} + 2. Copy the following tables from CONFIG_DB into APPL_DB in case of warm reboot + The separator in fields that reference objects in other table needs to be updated from '|' to ':' + - BUFFER_POOL + - BUFFER_PROFILE, separator updated for field 'pool' + - BUFFER_PG, separator updated for field 'profile' + - BUFFER_QUEUE, separator updated for field 'profile + - BUFFER_PORT_INGRESS_PROFILE_LIST, separator updated for field 'profile_list' + - BUFFER_PORT_EGRESS_PROFILE_LIST, separator updated for field 'profile_list' + + ''' + warmreboot_state = self.stateDB.get(self.stateDB.STATE_DB, 'WARM_RESTART_ENABLE_TABLE|system', 'enable') + mmu_size = self.stateDB.get(self.stateDB.STATE_DB, 'BUFFER_MAX_PARAM_TABLE|global', 'mmu_size') + if warmreboot_state == 'true' and not mmu_size: + log.log_notice("This is the very first run of buffermgrd (dynamic), prepare info required from warm reboot") + else: + return True + + buffer_table_list = [ + ('BUFFER_POOL', buffer_pools, None), + ('BUFFER_PROFILE', buffer_profiles, 'pool'), + ('BUFFER_PG', buffer_pgs, 'profile'), + ('BUFFER_QUEUE', None, 'profile'), + ('BUFFER_PORT_INGRESS_PROFILE_LIST', None, 'profile_list'), + ('BUFFER_PORT_EGRESS_PROFILE_LIST', None, 'profile_list') + ] + + for pair in buffer_table_list: + keys_copied = [] + keys_ignored = [] + table_name, entries, reference_field_name = pair + app_table_name = table_name + "_TABLE" + if not entries: + entries = self.configDB.get_table(table_name) + for key, items in entries.items(): + # copy items to appl db + if reference_field_name: + confdb_ref = items.get(reference_field_name) + if not confdb_ref or confdb_ref == "NULL": + keys_ignored.append(key) + continue + items_referenced = confdb_ref.split(',') + appdb_ref = "" + first_item = True + for item in items_referenced: + if first_item: + first_item = False + else: + appdb_ref += ',' + subitems = item.split('|') + first_key = True + for subitem in subitems: + if first_key: + appdb_ref += subitem + '_TABLE' + first_key = False + else: + appdb_ref += ':' + subitem + + items[reference_field_name] = appdb_ref + keys_copied.append(key) + if type(key) is tuple: + appl_db_key = app_table_name + ':' + ':'.join(key) + else: + appl_db_key = app_table_name + ':' + key + for field, data in items.items(): + self.appDB.set(self.appDB.APPL_DB, appl_db_key, field, data) + + if keys_copied: + log.log_info("The following items in table {} in CONFIG_DB have been copied to APPL_DB: {}".format(table_name, keys_copied)) + if keys_ignored: + log.log_info("The following items in table {} in CONFIG_DB have been ignored: {}".format(table_name, keys_copied)) + + return True + def version_unknown(self): """ version_unknown tracks all SONiC versions that doesn't have a version @@ -198,7 +379,8 @@ def version_1_0_2(self): log.log_info('Handling version_1_0_2') # Check ASIC type, if Mellanox platform then need DB migration if self.asic_type == "mellanox": - if self.mellanox_buffer_migrator.mlnx_migrate_buffer_pool_size('version_1_0_2', 'version_1_0_3'): + if self.mellanox_buffer_migrator.mlnx_migrate_buffer_pool_size('version_1_0_2', 'version_1_0_3') \ + and self.mellanox_buffer_migrator.mlnx_flush_new_buffer_configuration(): self.set_version('version_1_0_3') else: self.set_version('version_1_0_3') @@ -212,7 +394,9 @@ def version_1_0_3(self): # Check ASIC type, if Mellanox platform then need DB migration if self.asic_type == "mellanox": - if self.mellanox_buffer_migrator.mlnx_migrate_buffer_pool_size('version_1_0_3', 'version_1_0_4') and self.mellanox_buffer_migrator.mlnx_migrate_buffer_profile('version_1_0_3', 'version_1_0_4'): + if self.mellanox_buffer_migrator.mlnx_migrate_buffer_pool_size('version_1_0_3', 'version_1_0_4') \ + and self.mellanox_buffer_migrator.mlnx_migrate_buffer_profile('version_1_0_3', 'version_1_0_4') \ + and self.mellanox_buffer_migrator.mlnx_flush_new_buffer_configuration(): self.set_version('version_1_0_4') else: self.set_version('version_1_0_4') @@ -225,6 +409,50 @@ def version_1_0_4(self): """ log.log_info('Handling version_1_0_4') + # Check ASIC type, if Mellanox platform then need DB migration + if self.asic_type == "mellanox": + speed_list = self.mellanox_buffer_migrator.default_speed_list + cable_len_list = self.mellanox_buffer_migrator.default_cable_len_list + buffer_pools = self.configDB.get_table('BUFFER_POOL') + buffer_profiles = self.configDB.get_table('BUFFER_PROFILE') + buffer_pgs = self.configDB.get_table('BUFFER_PG') + default_lossless_profiles = self.mellanox_buffer_migrator.mlnx_get_default_lossless_profile('version_1_0_4') + abandon_method = self.mellanox_buffer_migrator.mlnx_abandon_pending_buffer_configuration + append_method = self.mellanox_buffer_migrator.mlnx_append_item_on_pending_configuration_list + + if self.mellanox_buffer_migrator.mlnx_migrate_buffer_pool_size('version_1_0_4', 'version_2_0_0') \ + and self.mellanox_buffer_migrator.mlnx_migrate_buffer_profile('version_1_0_4', 'version_2_0_0') \ + and self.migrate_config_db_buffer_tables_for_dynamic_calculation(speed_list, cable_len_list, '0', default_lossless_profiles, + abandon_method, append_method) \ + and self.mellanox_buffer_migrator.mlnx_flush_new_buffer_configuration() \ + and self.prepare_dynamic_buffer_for_warm_reboot(buffer_pools, buffer_profiles, buffer_pgs): + metadata = self.configDB.get_entry('DEVICE_METADATA', 'localhost') + if not metadata.get('buffer_model'): + metadata['buffer_model'] = 'traditional' + self.configDB.set_entry('DEVICE_METADATA', 'localhost', metadata) + log.log_notice('Setting buffer_model to traditional') + else: + log.log_notice('Got buffer_model {}'.format(metadata.get('buffer_model'))) + + self.set_version('version_2_0_0') + else: + self.prepare_dynamic_buffer_for_warm_reboot() + + metadata = self.configDB.get_entry('DEVICE_METADATA', 'localhost') + metadata['buffer_model'] = 'traditional' + self.configDB.set_entry('DEVICE_METADATA', 'localhost', metadata) + log.log_notice('Setting buffer_model to traditional') + + self.set_version('version_2_0_0') + + return 'version_2_0_0' + + def version_2_0_0(self): + """ + Current latest version. Nothing to do here. + """ + log.log_info('Handling version_2_0_0') + return None def get_version(self): diff --git a/scripts/fast-reboot b/scripts/fast-reboot index 58ad650ffb..a042f71091 100755 --- a/scripts/fast-reboot +++ b/scripts/fast-reboot @@ -247,7 +247,8 @@ function backup_database() for _, k in ipairs(redis.call('keys', '*')) do if not string.match(k, 'FDB_TABLE|') and not string.match(k, 'WARM_RESTART_TABLE|') \ and not string.match(k, 'MIRROR_SESSION_TABLE|') \ - and not string.match(k, 'WARM_RESTART_ENABLE_TABLE|') then + and not string.match(k, 'WARM_RESTART_ENABLE_TABLE|') \ + and not string.match(k, 'BUFFER_MAX_PARAM_TABLE|') then redis.call('del', k) end end diff --git a/scripts/mellanox_buffer_migrator.py b/scripts/mellanox_buffer_migrator.py old mode 100644 new mode 100755 index 90abf0d821..e449f3657e --- a/scripts/mellanox_buffer_migrator.py +++ b/scripts/mellanox_buffer_migrator.py @@ -8,6 +8,10 @@ class MellanoxBufferMigrator(): def __init__(self, configDB): self.configDB = configDB + self.pending_update_items = list() + self.default_speed_list = ['1000', '10000', '25000', '40000', '50000', '100000', '200000', '400000'] + self.default_cable_len_list = ['5m', '40m', '300m'] + self.is_buffer_config_default = True mellanox_default_parameter = { "version_1_0_2": { @@ -138,7 +142,7 @@ def __init__(self, configDB): }, "version_1_0_4": { # version 1.0.4 is introduced for updating the buffer settings - "pool_configuration_list": ["spc1_t0_pool", "spc1_t1_pool", "spc2_t0_pool", "spc2_t1_pool", "spc2_3800_t0_pool", "spc2_3800_t1_pool"], + "pool_configuration_list": ["spc1_t0_pool", "spc1_t1_pool", "spc2_t0_pool", "spc2_t1_pool", "spc2_3800_t0_pool", "spc2_3800_t1_pool", "spc3_t0_pool", "spc3_t1_pool"], # Buffer pool info for normal mode "buffer_pool_list" : ['ingress_lossless_pool', 'ingress_lossy_pool', 'egress_lossless_pool', 'egress_lossy_pool'], @@ -169,6 +173,16 @@ def __init__(self, configDB): "egress_lossless_pool": { "size": "34287552", "type": "egress", "mode": "dynamic" }, "egress_lossy_pool": {"size": "12457984", "type": "egress", "mode": "dynamic" } }, + # SPC3 is used only when migrating from 1.0.4 to newer version + "spc3_t0_pool": {"ingress_lossless_pool": { "size": "26451968", "type": "ingress", "mode": "dynamic" }, + "ingress_lossy_pool": { "size": "26451968", "type": "ingress", "mode": "dynamic" }, + "egress_lossless_pool": { "size": "60817392", "type": "egress", "mode": "dynamic" }, + "egress_lossy_pool": {"size": "26451968", "type": "egress", "mode": "dynamic" } }, + "spc3_t1_pool": {"ingress_lossless_pool": { "size": "20627456", "type": "ingress", "mode": "dynamic" }, + "ingress_lossy_pool": { "size": "20627456", "type": "ingress", "mode": "dynamic" }, + "egress_lossless_pool": { "size": "60817392", "type": "egress", "mode": "dynamic" }, + "egress_lossy_pool": {"size": "20627456", "type": "egress", "mode": "dynamic" } }, + # Lossless headroom info "spc1_headroom": {"pg_lossless_10000_5m_profile": {"size": "49152", "xon":"19456"}, "pg_lossless_25000_5m_profile": {"size": "49152", "xon":"19456"}, @@ -218,6 +232,27 @@ def __init__(self, configDB): "pg_lossless_40000_300m_profile": {"size": "95232", "xon":"19456"}, "pg_lossless_50000_300m_profile": {"size": "106496", "xon":"19456"}, "pg_lossless_100000_300m_profile": {"size": "159744", "xon":"19456"}}, + "spc3_headroom": {"pg_lossless_10000_5m_profile": {"size": "52224", "xon":"19456"}, + "pg_lossless_25000_5m_profile": {"size": "52224", "xon":"19456"}, + "pg_lossless_40000_5m_profile": {"size": "53248", "xon":"19456"}, + "pg_lossless_50000_5m_profile": {"size": "53248", "xon":"19456"}, + "pg_lossless_100000_5m_profile": {"size": "53248", "xon":"19456"}, + "pg_lossless_200000_5m_profile": {"size": "55296", "xon":"19456"}, + "pg_lossless_400000_5m_profile": {"size": "86016", "xon":"37888"}, + "pg_lossless_10000_40m_profile": {"size": "53248", "xon":"19456"}, + "pg_lossless_25000_40m_profile": {"size": "55296", "xon":"19456"}, + "pg_lossless_40000_40m_profile": {"size": "57344", "xon":"19456"}, + "pg_lossless_50000_40m_profile": {"size": "58368", "xon":"19456"}, + "pg_lossless_100000_40m_profile": {"size": "63488", "xon":"19456"}, + "pg_lossless_200000_40m_profile": {"size": "74752", "xon":"19456"}, + "pg_lossless_400000_40m_profile": {"size": "124928", "xon":"37888"}, + "pg_lossless_10000_300m_profile": {"size": "60416", "xon":"19456"}, + "pg_lossless_25000_300m_profile": {"size": "73728", "xon":"19456"}, + "pg_lossless_40000_300m_profile": {"size": "86016", "xon":"19456"}, + "pg_lossless_50000_300m_profile": {"size": "95232", "xon":"19456"}, + "pg_lossless_100000_300m_profile": {"size": "137216", "xon":"19456"}, + "pg_lossless_200000_300m_profile": {"size": "223232", "xon":"19456"}, + "pg_lossless_400000_300m_profile": {"size": "420864", "xon":"37888"}}, # Buffer profile info "buffer_profiles": {"ingress_lossless_profile": {"dynamic_th": "7", "pool": "[BUFFER_POOL|ingress_lossless_pool]", "size": "0"}, @@ -225,7 +260,37 @@ def __init__(self, configDB): "egress_lossless_profile": {"dynamic_th": "7", "pool": "[BUFFER_POOL|egress_lossless_pool]", "size": "0"}, "egress_lossy_profile": {"dynamic_th": "7", "pool": "[BUFFER_POOL|egress_lossy_pool]", "size": "9216"}, "q_lossy_profile": {"dynamic_th": "3", "pool": "[BUFFER_POOL|egress_lossy_pool]", "size": "0"}} - } + }, + "version_2_0_0": { + # version 2.0.0 is introduced for dynamic buffer calculation + # + "pool_configuration_list": ["spc1_pool", "spc2_pool", "spc3_pool"], + "pool_mapped_from_old_version": { + "spc1_t0_pool": "spc1_pool", + "spc1_t1_pool": "spc1_pool", + "spc2_t0_pool": "spc2_pool", + "spc2_t1_pool": "spc2_pool", + "spc2_3800_t0_pool": "spc2_pool", + "spc2_3800_t1_pool": "spc2_pool", + "spc3_t0_pool": "spc3_pool", + "spc3_t1_pool": "spc3_pool" + }, + + # Buffer pool info for normal mode + "buffer_pool_list" : ['ingress_lossless_pool', 'ingress_lossy_pool', 'egress_lossless_pool', 'egress_lossy_pool'], + "spc1_pool": {"ingress_lossless_pool": { "type": "ingress", "mode": "dynamic" }, + "ingress_lossy_pool": { "type": "ingress", "mode": "dynamic" }, + "egress_lossless_pool": { "size": "13945824", "type": "egress", "mode": "dynamic" }, + "egress_lossy_pool": {"type": "egress", "mode": "dynamic" } }, + "spc2_pool": {"ingress_lossless_pool": { "type": "ingress", "mode": "dynamic" }, + "ingress_lossy_pool": { "type": "ingress", "mode": "dynamic" }, + "egress_lossless_pool": { "size": "34287552", "type": "egress", "mode": "dynamic" }, + "egress_lossy_pool": { "type": "egress", "mode": "dynamic" } }, + "spc3_pool": {"ingress_lossless_pool": { "type": "ingress", "mode": "dynamic" }, + "ingress_lossy_pool": { "type": "ingress", "mode": "dynamic" }, + "egress_lossless_pool": { "size": "60817392", "type": "egress", "mode": "dynamic" }, + "egress_lossy_pool": {"type": "egress", "mode": "dynamic" } } + } } def mlnx_default_buffer_parameters(self, db_version, table): @@ -247,6 +312,9 @@ def mlnx_migrate_buffer_pool_size(self, old_version, new_version): """ To migrate buffer pool configuration """ + self.is_buffer_config_default = False + buffer_pool_conf_in_db = {} + # Buffer pools defined in old version old_default_buffer_pools = self.mlnx_default_buffer_parameters(old_version, "buffer_pool_list") @@ -274,12 +342,16 @@ def mlnx_migrate_buffer_pool_size(self, old_version, new_version): return False new_config_name = None + pool_mapping = self.mlnx_default_buffer_parameters(new_version, "pool_mapped_from_old_version") for old_config_name in old_pool_configuration_list: old_config = self.mlnx_default_buffer_parameters(old_version, old_config_name) log.log_info("Checking old pool configuration {}".format(old_config_name)) if buffer_pool_conf_in_db == old_config: - new_config_name = old_config_name - log.log_info("Old buffer pool configuration {} will be migrate to new one".format(old_config_name)) + if pool_mapping: + new_config_name = pool_mapping[old_config_name] + else: + new_config_name = old_config_name + log.log_info("Old buffer pool configuration {} will be migrate to new one {}".format(old_config_name, new_config_name)) break if not new_config_name: @@ -291,27 +363,46 @@ def mlnx_migrate_buffer_pool_size(self, old_version, new_version): log.log_error("Can't find the buffer pool configuration for {} in {}".format(new_config_name, new_version)) return False - # Migrate old buffer conf to latest. + # Don't migrate the old buffer pool conf to latest until we know all the following buffer configuration matches default value. for pool in old_default_buffer_pools: - self.configDB.set_entry('BUFFER_POOL', pool, new_buffer_pool_conf.get(pool)) + self.pending_update_items.append(('BUFFER_POOL', pool, new_buffer_pool_conf.get(pool))) - log.log_info("Successfully migrate mlnx buffer pool {} size to the latest.".format(pool)) + self.is_buffer_config_default = True return True + def mlnx_get_buffer_profile_key(self): + device_data = self.configDB.get_entry('DEVICE_METADATA', 'localhost') + if device_data: + platform = device_data.get('platform') + if not platform: + log.log_error("Trying to get DEVICE_METADATA from DB but doesn't exist, skip migration") + return None + + spc1_platforms = ["x86_64-mlnx_msn2010-r0", "x86_64-mlnx_msn2100-r0", "x86_64-mlnx_msn2410-r0", "x86_64-mlnx_msn2700-r0", "x86_64-mlnx_msn2740-r0"] + spc2_platforms = ["x86_64-mlnx_msn3700-r0", "x86_64-mlnx_msn3700c-r0"] + spc2_platform_with_gearbox = ['x86_64-mlnx_msn3800-r0'] + spc3_platforms = ["x86_64-mlnx_msn4600c-r0", "x86_64-mlnx_msn4700-r0"] + + if platform in spc2_platform_with_gearbox: + return "spc2_3800_headroom" + elif platform in spc3_platforms: + return "spc3_headroom" + elif platform in spc2_platforms: + return "spc2_headroom" + elif platform in spc1_platforms: + return "spc1_headroom" + + return None + def mlnx_migrate_buffer_profile(self, old_version, new_version): """ This is to migrate BUFFER_PROFILE configuration """ - device_data = self.configDB.get_table('DEVICE_METADATA') - if 'localhost' in device_data: - platform = device_data['localhost']['platform'] + if not self.is_buffer_config_default: + return True else: - log.log_error("Trying to get DEVICE_METADATA from DB but doesn't exist, skip migration") - return False - - spc1_platforms = ["x86_64-mlnx_msn2010-r0", "x86_64-mlnx_msn2100-r0", "x86_64-mlnx_msn2410-r0", "x86_64-mlnx_msn2700-r0", "x86_64-mlnx_msn2740-r0"] - spc2_platforms = ["x86_64-mlnx_msn3700-r0", "x86_64-mlnx_msn3700c-r0"] + self.is_buffer_config_default = False # get profile buffer_profile_old_configure = self.mlnx_default_buffer_parameters(old_version, "buffer_profiles") @@ -322,15 +413,13 @@ def mlnx_migrate_buffer_profile(self, old_version, new_version): # we need to transform lossless pg profiles to new settings # to achieve that, we just need to remove this kind of profiles, buffermgrd will generate them automatically default_lossless_profiles = None - if platform == 'x86_64-mlnx_msn3800-r0': - default_lossless_profiles = self.mlnx_default_buffer_parameters(old_version, "spc2_3800_headroom") - new_lossless_profiles = self.mlnx_default_buffer_parameters(new_version, "spc2_3800_headroom") - elif platform in spc2_platforms: - default_lossless_profiles = self.mlnx_default_buffer_parameters(old_version, "spc2_headroom") - new_lossless_profiles = self.mlnx_default_buffer_parameters(new_version, "spc2_headroom") - elif platform in spc1_platforms: - default_lossless_profiles = self.mlnx_default_buffer_parameters(old_version, "spc1_headroom") - new_lossless_profiles = self.mlnx_default_buffer_parameters(new_version, "spc1_headroom") + headroom_key = self.mlnx_get_buffer_profile_key() + if not headroom_key: + default_lossless_profiles = None + new_lossless_profiles = None + else: + default_lossless_profiles = self.mlnx_default_buffer_parameters(old_version, headroom_key) + new_lossless_profiles = self.mlnx_default_buffer_parameters(new_version, headroom_key) if default_lossless_profiles and new_lossless_profiles: for name, profile in buffer_profile_conf.items(): @@ -346,12 +435,7 @@ def mlnx_migrate_buffer_profile(self, old_version, new_version): default_profile['size'] = new_profile['size'] default_profile['xon'] = new_profile['xon'] default_profile['xoff'] = str(int(default_profile['size']) - int(default_profile['xon'])) - self.configDB.set_entry('BUFFER_PROFILE', name, default_profile) - - if not buffer_profile_new_configure: - # Not providing new profile configure in new version means they do need to be changed - log.log_notice("No buffer profile in {}, don't need to migrate non-lossless profiles".format(new_version)) - return True + self.pending_update_items.append(('BUFFER_PROFILE', name, default_profile)) for name, profile in buffer_profile_old_configure.items(): if name in buffer_profile_conf and profile == buffer_profile_conf[name]: @@ -360,8 +444,56 @@ def mlnx_migrate_buffer_profile(self, old_version, new_version): log.log_notice("Default profile {} isn't in database or doesn't match default value".format(name)) return True + self.is_buffer_config_default = True + + if not buffer_profile_new_configure: + # Not providing new profile configure in new version means they do need to be changed + log.log_notice("No buffer profile in {}, don't need to migrate non-lossless profiles".format(new_version)) + return True + for name, profile in buffer_profile_new_configure.items(): log.log_info("Successfully migrate profile {}".format(name)) - self.configDB.set_entry('BUFFER_PROFILE', name, profile) + self.pending_update_items.append(('BUFFER_PROFILE', name, profile)) return True + + def mlnx_append_item_on_pending_configuration_list(self, item): + self.pending_update_items.append(item) + + def mlnx_abandon_pending_buffer_configuration(self): + """ + We found the buffer configuration on the device doesn't match the default one, so no migration performed + Clear pending update item list in this case + """ + self.pending_update_items = [] + self.is_buffer_config_default = False + + def mlnx_flush_new_buffer_configuration(self): + """ + Flush all the pending items to config database + """ + if not self.is_buffer_config_default: + log.log_notice("No item pending to be updated") + metadata = self.configDB.get_entry('DEVICE_METADATA', 'localhost') + metadata['buffer_model'] = 'traditional' + self.configDB.set_entry('DEVICE_METADATA', 'localhost', metadata) + log.log_notice("Set buffer_model as traditional") + return True + + for item in self.pending_update_items: + table, key, value = item + self.configDB.set_entry(table, key, value) + if value: + log.log_notice("Successfully migrate {} {} to {}".format(table, key, value)) + else: + log.log_notice("Successfully remove {} {} which is no longer used".format(table, key)) + + return True + + def mlnx_get_default_lossless_profile(self, db_version): + key = self.mlnx_get_buffer_profile_key() + if not key: + return None + + default_profiles = self.mlnx_default_buffer_parameters(db_version, key) + return default_profiles diff --git a/scripts/mmuconfig b/scripts/mmuconfig old mode 100644 new mode 100755 index e77a46d9de..e44fcf0e4d --- a/scripts/mmuconfig +++ b/scripts/mmuconfig @@ -29,37 +29,74 @@ BUFFER_PROFILE_FIELDS = { "alpha": DYNAMIC_THRESHOLD } +# mock the redis for unit test purposes # +try: + if os.environ["UTILITIES_UNIT_TESTING"] == "2": + modules_path = os.path.join(os.path.dirname(__file__), "..") + tests_path = os.path.join(modules_path, "tests") + sys.path.insert(0, modules_path) + sys.path.insert(0, tests_path) + import mock_tables.dbconnector + +except KeyError: + pass class MmuConfig(object): - def __init__(self, verbose): + def __init__(self, verbose, config): self.verbose = verbose + self.config = config # Set up db connections - self.db = swsssdk.ConfigDBConnector() - self.db.connect() + if self.config: + self.db = swsssdk.ConfigDBConnector() + self.db.connect() + else: + self.db = swsssdk.SonicV2Connector(host='127.0.0.1') + self.db.connect(self.db.STATE_DB, False) - def list(self): - buf_pools = self.db.get_table(BUFFER_POOL_TABLE_NAME) - for pool_name, pool_data in buf_pools.items(): - config = [] - - print("Pool: " + pool_name) - for field, value in pool_data.items(): - config.append([field, value]) - print(tabulate.tabulate(config) + "\n") - if self.verbose: - print("Total pools: %d\n\n" % len(buf_pools)) + def get_table(self, tablename): + if self.config: + return self.db.get_table(tablename) - buf_profs = self.db.get_table(BUFFER_PROFILE_TABLE_NAME) - for prof_name, prof_data in buf_profs.items(): - config = [] + entries = {} + keys = self.db.keys(self.db.STATE_DB, tablename + '*') - print("Profile: " + prof_name) - for field, value in prof_data.items(): - config.append([field, value]) - print(tabulate.tabulate(config) + "\n") - if self.verbose: - print("Total profiles: %d" % len(buf_profs)) + if not keys: + return None + + for key in keys: + entries[key.split('|')[1]] = self.db.get_all(self.db.STATE_DB, key) + + return entries + + def list(self): + buf_pools = self.get_table(BUFFER_POOL_TABLE_NAME) + if buf_pools: + for pool_name, pool_data in buf_pools.items(): + config = [] + + print("Pool: " + pool_name) + for field, value in pool_data.items(): + config.append([field, value]) + print(tabulate.tabulate(config) + "\n") + if self.verbose: + print("Total pools: %d\n\n" % len(buf_pools)) + else: + print("No buffer pool information available") + + buf_profs = self.get_table(BUFFER_PROFILE_TABLE_NAME) + if buf_profs: + for prof_name, prof_data in buf_profs.items(): + config = [] + + print("Profile: " + prof_name) + for field, value in prof_data.items(): + config.append([field, value]) + print(tabulate.tabulate(config) + "\n") + if self.verbose: + print("Total profiles: %d" % len(buf_profs)) + else: + print("No buffer profile information available") def set(self, profile, field_alias, value): if os.geteuid() != 0: @@ -82,23 +119,31 @@ class MmuConfig(object): self.db.mod_entry(BUFFER_PROFILE_TABLE_NAME, profile, {field: value}) -def main(): - parser = argparse.ArgumentParser(description='Show and change: mmu configuration', - formatter_class=argparse.RawTextHelpFormatter) +def main(config): + if config: + parser = argparse.ArgumentParser(description='Show and change: mmu configuration', + formatter_class=argparse.RawTextHelpFormatter) + + parser.add_argument('-l', '--list', action='store_true', help='show mmu configuration') + parser.add_argument('-p', '--profile', type=str, help='specify buffer profile name', default=None) + parser.add_argument('-a', '--alpha', type=str, help='set n for dyanmic threshold alpha 2^(n)', default=None) + parser.add_argument('-v', '--version', action='version', version='%(prog)s 1.0') + else: + parser = argparse.ArgumentParser(description='Show buffer state', + formatter_class=argparse.RawTextHelpFormatter) + + parser.add_argument('-l', '--list', action='store_true', help='show buffer state') + parser.add_argument('-v', '--version', action='version', version='%(prog)s 1.0') - parser.add_argument('-l', '--list', action='store_true', help='show mmu configuration') - parser.add_argument('-p', '--profile', type=str, help='specify buffer profile name', default=None) - parser.add_argument('-a', '--alpha', type=str, help='set n for dyanmic threshold alpha 2^(n)', default=None) - parser.add_argument('-v', '--version', action='version', version='%(prog)s 1.0') parser.add_argument('-vv', '--verbose', action='store_true', help='verbose output', default=False) args = parser.parse_args() try: - mmu_cfg = MmuConfig(args.verbose) + mmu_cfg = MmuConfig(args.verbose, config) if args.list: mmu_cfg.list() - elif args.profile: + elif config and args.profile: if args.alpha: mmu_cfg.set(args.profile, "alpha", args.alpha) else: @@ -110,4 +155,7 @@ def main(): sys.exit(1) if __name__ == "__main__": - main() + if sys.argv[0].split('/')[-1] == "mmuconfig": + main(True) + else: + main(False) diff --git a/setup.py b/setup.py index 3d9fa80297..a6cdaf8f59 100644 --- a/setup.py +++ b/setup.py @@ -67,6 +67,7 @@ 'scripts/aclshow', 'scripts/asic_config_check', 'scripts/boot_part', + 'scripts/buffershow', 'scripts/coredump-compress', 'scripts/configlet', 'scripts/db_migrator.py', diff --git a/show/main.py b/show/main.py old mode 100755 new mode 100644 index 220d4daaa0..c6f02987ff --- a/show/main.py +++ b/show/main.py @@ -1457,14 +1457,41 @@ def boot(): click.echo(proc.stdout.read()) +# # 'mmu' command ("show mmu") # @cli.command('mmu') def mmu(): """Show mmu configuration""" cmd = "mmuconfig -l" - proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True, text=True) - click.echo(proc.stdout.read()) + run_command(cmd) + +# +# 'buffer' command ("show buffer") +# +@cli.group(cls=clicommon.AliasedGroup) +def buffer(): + """Show buffer information""" + pass + +# +# 'configuration' command ("show buffer command") +# +@buffer.command() +def configuration(): + """show buffer configuration""" + cmd = "mmuconfig -l" + run_command(cmd) + +# +# 'information' command ("show buffer state") +# +@buffer.command() +def information(): + """show buffer information""" + cmd = "buffershow -l" + run_command(cmd) + # # 'line' command ("show line") diff --git a/tests/buffer_input/buffer_test_vectors.py b/tests/buffer_input/buffer_test_vectors.py new file mode 100644 index 0000000000..82f0a09a35 --- /dev/null +++ b/tests/buffer_input/buffer_test_vectors.py @@ -0,0 +1,108 @@ +show_buffer_configuration="""\ +Pool: egress_lossless_pool +---- -------- +mode dynamic +size 13945824 +type egress +---- -------- + +Pool: egress_lossy_pool +---- ------- +mode dynamic +type egress +---- ------- + +Pool: ingress_lossless_pool +---- ------- +mode dynamic +type ingress +---- ------- + +Pool: ingress_lossy_pool +---- ------- +mode dynamic +type ingress +---- ------- + +Profile: ingress_lossy_profile +---------- -------------------------------- +dynamic_th 3 +pool [BUFFER_POOL|ingress_lossy_pool] +size 0 +---------- -------------------------------- + +Profile: headroom_profile +---------- ----------------------------------- +dynamic_th 0 +pool [BUFFER_POOL|ingress_lossless_pool] +xon 18432 +xoff 32768 +size 51200 +---------- ----------------------------------- + +Profile: alpha_profile +------------- ----------------------------------- +dynamic_th 0 +pool [BUFFER_POOL|ingress_lossless_pool] +headroom_type dynamic +------------- ----------------------------------- + +""" + +show_buffer_information_output="""\ +Pool: egress_lossless_pool +---- -------- +mode dynamic +size 13945824 +type egress +---- -------- + +Pool: egress_lossy_pool +---- ------- +mode dynamic +size 4580864 +type egress +---- ------- + +Pool: ingress_lossless_pool +---- ------- +mode dynamic +size 4580864 +type ingress +---- ------- + +Pool: ingress_lossy_pool +---- ------- +mode dynamic +size 4580864 +type ingress +---- ------- + +Profile: ingress_lossy_profile +---------- -------------------------------------- +dynamic_th 3 +pool [BUFFER_POOL_TABLE|ingress_lossy_pool] +size 0 +---------- -------------------------------------- + +Profile: headroom_profile +---------- ----------------------------------------- +dynamic_th 0 +pool [BUFFER_POOL_TABLE|ingress_lossless_pool] +xon 18432 +xoff 32768 +size 51200 +---------- ----------------------------------------- + +""" + +testData = { + 'show_buffer_configuration' : [ {'cmd' : ['buffer', 'configuration'], + 'rc_output': show_buffer_configuration + } + ], + 'show_buffer_information' : [ {'cmd' : ['buffer', 'information'], + 'rc_output': show_buffer_information_output + } + ] + } diff --git a/tests/buffer_test.py b/tests/buffer_test.py new file mode 100644 index 0000000000..cf32f39d55 --- /dev/null +++ b/tests/buffer_test.py @@ -0,0 +1,108 @@ +import imp +import os +import sys +from click.testing import CliRunner +from unittest import TestCase +from swsssdk import ConfigDBConnector + +from .mock_tables import dbconnector + +import show.main as show +import config.main as config +from utilities_common.db import Db + +from .buffer_input.buffer_test_vectors import * + +test_path = os.path.dirname(os.path.abspath(__file__)) +modules_path = os.path.dirname(test_path) +scripts_path = os.path.join(modules_path, "scripts") +sys.path.insert(0, test_path) +sys.path.insert(0, modules_path) + +class TestBuffer(object): + @classmethod + def setup_class(cls): + os.environ["PATH"] += os.pathsep + scripts_path + os.environ['UTILITIES_UNIT_TESTING'] = "2" + print("SETUP") + + def setUp(self): + self.runner = CliRunner() + self.config_db = ConfigDBConnector() + self.config_db.connect() + self.obj = {'db': self.config_db} + + def test_config_buffer_profile_headroom(self): + runner = CliRunner() + db = Db() + result = runner.invoke(config.config.commands["buffer"].commands["profile"].commands["add"], + ["testprofile", "--dynamic_th", "3", "--xon", "18432", "--xoff", "32768"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + profile = db.cfgdb.get_entry('BUFFER_PROFILE', 'testprofile') + assert profile == {'dynamic_th': '3', 'pool': '[BUFFER_POOL|ingress_lossless_pool]', 'xon': '18432', 'xoff': '32768', 'size': '51200'} + + def test_config_buffer_profile_dynamic_th(self): + runner = CliRunner() + db = Db() + result = runner.invoke(config.config.commands["buffer"].commands["profile"].commands["add"], + ["testprofile", "--dynamic_th", "3"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + profile = db.cfgdb.get_entry('BUFFER_PROFILE', 'testprofile') + assert profile == {'dynamic_th': '3', 'pool': '[BUFFER_POOL|ingress_lossless_pool]', 'headroom_type': 'dynamic'} + + def test_config_buffer_profile_add_existing(self): + runner = CliRunner() + result = runner.invoke(config.config.commands["buffer"].commands["profile"].commands["add"], + ["headroom_profile", "--dynamic_th", "3"]) + print(result.exit_code) + print(result.output) + assert result.exit_code != 0 + assert "Profile headroom_profile already exist" in result.output + + def test_config_buffer_profile_set_non_existing(self): + runner = CliRunner() + result = runner.invoke(config.config.commands["buffer"].commands["profile"].commands["set"], + ["non_existing_profile", "--dynamic_th", "3"]) + print(result.exit_code) + print(result.output) + assert result.exit_code != 0 + assert "Profile non_existing_profile doesn't exist" in result.output + + def test_config_buffer_profile_add_headroom_to_dynamic_profile(self): + runner = CliRunner() + result = runner.invoke(config.config.commands["buffer"].commands["profile"].commands["set"], + ["alpha_profile", "--dynamic_th", "3", "--xon", "18432", "--xoff", "32768"]) + print(result.exit_code) + print(result.output) + assert result.exit_code != 0 + assert "Can't change profile alpha_profile from dynamically calculating headroom to non-dynamically one" in result.output + + def test_show_buffer_configuration(self): + self.executor(testData['show_buffer_configuration']) + + def test_show_buffer_information(self): + self.executor(testData['show_buffer_information']) + + def executor(self, testcase): + runner = CliRunner() + + for input in testcase: + exec_cmd = show.cli.commands[input['cmd'][0]].commands[input['cmd'][1]] + + result = runner.invoke(exec_cmd, []) + + print(result.exit_code) + print(result.output) + + assert result.exit_code == 0 + assert result.output == input['rc_output'] + + @classmethod + def teardown_class(cls): + os.environ["PATH"] = os.pathsep.join(os.environ["PATH"].split(os.pathsep)[:-1]) + os.environ['UTILITIES_UNIT_TESTING'] = "0" + print("TEARDOWN") diff --git a/tests/config_test.py b/tests/config_test.py index 94b21a4f9b..1ca37fb7a9 100644 --- a/tests/config_test.py +++ b/tests/config_test.py @@ -17,7 +17,7 @@ Executing stop of service nat... Running command: /usr/local/bin/sonic-cfggen -H -m --write-to-db Running command: pfcwd start_default -Running command: config qos reload +Running command: config qos reload --no-dynamic-buffer Executing reset-failed of service bgp... Executing reset-failed of service dhcp_relay... Executing reset-failed of service hostcfgd... diff --git a/tests/mock_tables/config_db.json b/tests/mock_tables/config_db.json index 4a3c21e29f..55bf817587 100644 --- a/tests/mock_tables/config_db.json +++ b/tests/mock_tables/config_db.json @@ -1332,5 +1332,51 @@ }, "PEER_SWITCH|sonic-switch" : { "address_ipv4": "10.2.2.2" + }, + "BUFFER_POOL|egress_lossless_pool": { + "mode": "dynamic", + "size": "13945824", + "type": "egress" + }, + "BUFFER_POOL|egress_lossy_pool": { + "mode": "dynamic", + "type": "egress" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "mode": "dynamic", + "type": "ingress" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "mode": "dynamic", + "type": "ingress" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|headroom_profile": { + "dynamic_th": "0", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "xon": "18432", + "xoff": "32768", + "size": "51200" + }, + "BUFFER_PROFILE|alpha_profile": { + "dynamic_th": "0", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "headroom_type": "dynamic" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "PORT_QOS_MAP|Ethernet0": { + "pfc_enable": "3,4" + }, + "DEFAULT_LOSSLESS_BUFFER_PARAMETER|AZURE": { + "default_dynamic_th": "0" } } diff --git a/tests/mock_tables/state_db.json b/tests/mock_tables/state_db.json index b8cd11315e..b1c2f1cea1 100644 --- a/tests/mock_tables/state_db.json +++ b/tests/mock_tables/state_db.json @@ -327,5 +327,37 @@ }, "MUX_CABLE_TABLE|Ethernet12": { "state": "unknown" + }, + "BUFFER_POOL_TABLE|egress_lossless_pool": { + "mode": "dynamic", + "size": "13945824", + "type": "egress" + }, + "BUFFER_POOL_TABLE|egress_lossy_pool": { + "mode": "dynamic", + "size": "4580864", + "type": "egress" + }, + "BUFFER_POOL_TABLE|ingress_lossless_pool": { + "mode": "dynamic", + "size": "4580864", + "type": "ingress" + }, + "BUFFER_POOL_TABLE|ingress_lossy_pool": { + "mode": "dynamic", + "size": "4580864", + "type": "ingress" + }, + "BUFFER_PROFILE_TABLE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE|headroom_profile": { + "dynamic_th": "0", + "pool": "[BUFFER_POOL_TABLE|ingress_lossless_pool]", + "xon": "18432", + "xoff": "32768", + "size": "51200" } } From 269c3171b9380690da4428ab76bf45e473895cf1 Mon Sep 17 00:00:00 2001 From: Suman Kumar <73022268+sumanbrcm@users.noreply.github.com> Date: Wed, 16 Dec 2020 22:54:11 +0530 Subject: [PATCH 009/342] Mgmt vrf/SNMP agent validations and bug fixes (#1289) *Added ip address validation for add_snmp_agent_address in config/main.py *Added click choice for routes in show/main.py *Default kernel route via eth0 interface is still being show in the output 'show ip route' even after creating 'mgmt' VRF Added Fix for it . --- config/main.py | 50 +++++++++++++++++++++++++++++++++++++++++++++++++- show/main.py | 2 +- 2 files changed, 50 insertions(+), 2 deletions(-) diff --git a/config/main.py b/config/main.py index a074a55924..f064cfb3d9 100644 --- a/config/main.py +++ b/config/main.py @@ -12,6 +12,7 @@ import threading import time +from socket import AF_INET, AF_INET6 from minigraph import parse_device_desc_xml from portconfig import get_child_ports from sonic_py_common import device_info, multi_asic @@ -1814,6 +1815,21 @@ def vrf_add_management_vrf(config_db): return None config_db.mod_entry('MGMT_VRF_CONFIG', "vrf_global", {"mgmtVrfEnabled": "true"}) mvrf_restart_services() + """ + The regular expression for grep in below cmd is to match eth0 line in /proc/net/route, sample file: + $ cat /proc/net/route + Iface Destination Gateway Flags RefCnt Use Metric Mask MTU Window IRTT + eth0 00000000 01803B0A 0003 0 0 202 00000000 0 0 0 + """ + cmd = "cat /proc/net/route | grep -E \"eth0\s+00000000\s+[0-9A-Z]+\s+[0-9]+\s+[0-9]+\s+[0-9]+\s+202\" | wc -l" + proc = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE) + output = proc.communicate() + if int(output[0]) >= 1: + cmd="ip -4 route del default dev eth0 metric 202" + proc = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE) + proc.communicate() + if proc.returncode != 0: + click.echo("Could not delete eth0 route") def vrf_delete_management_vrf(config_db): """Disable management vrf in config DB""" @@ -1833,6 +1849,8 @@ def snmpagentaddress(ctx): config_db.connect() ctx.obj = {'db': config_db} +ip_family = {4: AF_INET, 6: AF_INET6} + @snmpagentaddress.command('add') @click.argument('agentip', metavar='', required=True) @click.option('-p', '--port', help="SNMP AGENT LISTENING PORT") @@ -1842,13 +1860,43 @@ def add_snmp_agent_address(ctx, agentip, port, vrf): """Add the SNMP agent listening IP:Port%Vrf configuration""" #Construct SNMP_AGENT_ADDRESS_CONFIG table key in the format ip|| + if not clicommon.is_ipaddress(agentip): + click.echo("Invalid IP address") + return False + config_db = ctx.obj['db'] + if not vrf: + entry = config_db.get_entry('MGMT_VRF_CONFIG', "vrf_global") + if entry and entry['mgmtVrfEnabled'] == 'true' : + click.echo("ManagementVRF is Enabled. Provide vrf.") + return False + found = 0 + ip = ipaddress.ip_address(agentip) + for intf in netifaces.interfaces(): + ipaddresses = netifaces.ifaddresses(intf) + if ip_family[ip.version] in ipaddresses: + for ipaddr in ipaddresses[ip_family[ip.version]]: + if agentip == ipaddr['addr']: + found = 1 + break; + if found == 1: + break; + else: + click.echo("IP addfress is not available") + return + key = agentip+'|' if port: key = key+port + #snmpd does not start if we have two entries with same ip and port. + key1 = "SNMP_AGENT_ADDRESS_CONFIG|" + key + '*' + entry = config_db.get_keys(key1) + if entry: + ip_port = agentip + ":" + port + click.echo("entry with {} already exists ".format(ip_port)) + return key = key+'|' if vrf: key = key+vrf - config_db = ctx.obj['db'] config_db.set_entry('SNMP_AGENT_ADDRESS_CONFIG', key, {}) #Restarting the SNMP service will regenerate snmpd.conf and rerun snmpd diff --git a/show/main.py b/show/main.py index c6f02987ff..3b7c37b5ad 100644 --- a/show/main.py +++ b/show/main.py @@ -280,7 +280,7 @@ def is_mgmt_vrf_enabled(ctx): # @cli.group('mgmt-vrf', invoke_without_command=True) -@click.argument('routes', required=False) +@click.argument('routes', required=False, type=click.Choice(["routes"])) @click.pass_context def mgmt_vrf(ctx,routes): """Show management VRF attributes""" From 281b15720b5991e8544ebffb06add4af4b4ba725 Mon Sep 17 00:00:00 2001 From: bingwang-ms <66248323+bingwang-ms@users.noreply.github.com> Date: Thu, 17 Dec 2020 22:44:18 +0800 Subject: [PATCH 010/342] [fast-reboot-dump] Fix exception in struct.pack (#1309) This commit fix the exception thrown by struct.pack when attempting to pack a unicode string. The script ```fast-reboot-dump.py``` will throw an exception in python3 because ```struct.pack``` requires ```bytes``` for ```s```. ``` Traceback: Traceback (most recent call last): #012 File "/usr/local/bin/fast-reboot-dump.py", line 299, in #012 res = main() #012 File "/usr/local/bin/fast-reboot-dump.py", line 292, in main #012 send_garp_nd(neighbor_entries, map_mac_ip_per_vlan) #012 File "/usr/local/bin/fast-reboot-dump.py", line 221, in send_garp_nd #012 src_ip_addrs = {vlan_name:get_iface_ip_addr(vlan_name) for vlan_name,_,_ in neighbor_entries} #012 File "/usr/local/bin/fast-reboot-dump.py", line 221, in #012 src_ip_addrs = {vlan_name:get_iface_ip_addr(vlan_name) for vlan_name,_,_ in neighbor_entries} #012 File "/usr/local/bin/fast-reboot-dump.py", line 195, in get_iface_ip_addr #012 return get_if(iff, SIOCGIFADDR)[20:24] #012 File "/usr/local/bin/fast-reboot-dump.py", line 185, in get_if #012 ifreq = ioctl(s, cmd, struct.pack("16s16x",iff)) #012 struct.error: argument for 's' must be a bytes object ``` Signed-off-by: bingwang --- scripts/fast-reboot-dump.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/fast-reboot-dump.py b/scripts/fast-reboot-dump.py index 81d98456b2..2744f05a0d 100644 --- a/scripts/fast-reboot-dump.py +++ b/scripts/fast-reboot-dump.py @@ -182,7 +182,7 @@ def generate_fdb_entries(filename): def get_if(iff, cmd): s = socket.socket() - ifreq = ioctl(s, cmd, struct.pack("16s16x",iff)) + ifreq = ioctl(s, cmd, struct.pack("16s16x",bytes(iff.encode()))) s.close() return ifreq From 155f6d5be57dba95a5d1ffa8645ab57f47cdb569 Mon Sep 17 00:00:00 2001 From: Lawrence Lee Date: Thu, 17 Dec 2020 09:28:56 -0800 Subject: [PATCH 011/342] [config vlan]: Remove `-t` flag from docker exec command (#1317) Remove -t flag from the docker exec command used to restart SWSS after updating the proxy ARP config. Currently with the flag, this command cannot be executed as part of a script (e.g. during a unit test in sonic-mgmt) since Docker is expecting the input device to be a TTY. Signed-off-by: Lawrence Lee --- config/vlan.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/vlan.py b/config/vlan.py index 718f31f917..75ec66264b 100644 --- a/config/vlan.py +++ b/config/vlan.py @@ -53,7 +53,7 @@ def del_vlan(db, vid): def restart_ndppd(): verify_swss_running_cmd = "docker container inspect -f '{{.State.Status}}' swss" - docker_exec_cmd = "docker exec -it swss {}" + docker_exec_cmd = "docker exec -i swss {}" ndppd_config_gen_cmd = "sonic-cfggen -d -t /usr/share/sonic/templates/ndppd.conf.j2,/etc/ndppd.conf" ndppd_restart_cmd = "supervisorctl restart ndppd" From 9419627c90a865f1769568d6fcc5959262a76315 Mon Sep 17 00:00:00 2001 From: abdosi <58047199+abdosi@users.noreply.github.com> Date: Thu, 17 Dec 2020 12:43:46 -0800 Subject: [PATCH 012/342] [Multi-asic] Enhanced Feature Table configuration for multi-asic platforms (#1152) Enhanced Feature Table configuration for multi-asic platforms to programmed for all config db's. --- config/feature.py | 32 +++++-- tests/crm_test.py | 2 + tests/feature_test.py | 107 ++++++++++++++++++++++++ tests/ip_show_routes_multi_asic_test.py | 8 +- tests/mock_tables/asic0/config_db.json | 5 ++ tests/mock_tables/asic1/config_db.json | 5 ++ tests/mock_tables/asic2/config_db.json | 5 ++ 7 files changed, 152 insertions(+), 12 deletions(-) diff --git a/config/feature.py b/config/feature.py index 8a90ae798d..6fdc68c026 100644 --- a/config/feature.py +++ b/config/feature.py @@ -20,17 +20,25 @@ def feature(): @pass_db def feature_state(db, name, state): """Enable/disable a feature""" - entry_data = db.cfgdb.get_entry('FEATURE', name) + entry_data_set = set() - if not entry_data: - click.echo("Feature '{}' doesn't exist".format(name)) + for ns, cfgdb in db.cfgdb_clients.items(): + entry_data = cfgdb.get_entry('FEATURE', name) + if not entry_data: + click.echo("Feature '{}' doesn't exist".format(name)) + sys.exit(1) + entry_data_set.add(entry_data['state']) + + if len(entry_data_set) > 1: + click.echo("Feature '{}' state is not consistent across namespaces".format(name)) sys.exit(1) if entry_data['state'] == "always_enabled": click.echo("Feature '{}' state is always enabled and can not be modified".format(name)) return - db.cfgdb.mod_entry('FEATURE', name, {'state': state}) + for ns, cfgdb in db.cfgdb_clients.items(): + cfgdb.mod_entry('FEATURE', name, {'state': state}) # # 'autorestart' command ('config feature autorestart ...') @@ -41,14 +49,22 @@ def feature_state(db, name, state): @pass_db def feature_autorestart(db, name, autorestart): """Enable/disable autorestart of a feature""" - entry_data = db.cfgdb.get_entry('FEATURE', name) + entry_data_set = set() + + for ns, cfgdb in db.cfgdb_clients.items(): + entry_data = cfgdb.get_entry('FEATURE', name) + if not entry_data: + click.echo("Feature '{}' doesn't exist".format(name)) + sys.exit(1) + entry_data_set.add(entry_data['auto_restart']) - if not entry_data: - click.echo("Feature '{}' doesn't exist".format(name)) + if len(entry_data_set) > 1: + click.echo("Feature '{}' auto-restart is not consistent across namespaces".format(name)) sys.exit(1) if entry_data['auto_restart'] == "always_enabled": click.echo("Feature '{}' auto-restart is always enabled and can not be modified".format(name)) return - db.cfgdb.mod_entry('FEATURE', name, {'auto_restart': autorestart}) + for ns, cfgdb in db.cfgdb_clients.items(): + cfgdb.mod_entry('FEATURE', name, {'auto_restart': autorestart}) diff --git a/tests/crm_test.py b/tests/crm_test.py index 2ddb1b2108..2056b90775 100644 --- a/tests/crm_test.py +++ b/tests/crm_test.py @@ -1,5 +1,6 @@ import os import sys +from importlib import reload from click.testing import CliRunner import crm.main as crm @@ -1298,3 +1299,4 @@ def teardown_class(cls): os.environ["UTILITIES_UNIT_TESTING"] = "0" os.environ["UTILITIES_UNIT_TESTING_TOPOLOGY"] = "" from .mock_tables import mock_single_asic + reload(mock_single_asic) diff --git a/tests/feature_test.py b/tests/feature_test.py index c260a4b5f6..1b5e275a7c 100644 --- a/tests/feature_test.py +++ b/tests/feature_test.py @@ -1,3 +1,5 @@ +from importlib import reload + from click.testing import CliRunner from utilities_common.db import Db @@ -76,6 +78,12 @@ --------- -------------- database always_enabled """ +config_feature_bgp_inconsistent_state_output="""\ +Feature 'bgp' state is not consistent across namespaces +""" +config_feature_bgp_inconsistent_autorestart_output="""\ +Feature 'bgp' auto-restart is not consistent across namespaces +""" class TestFeature(object): @classmethod @@ -217,3 +225,102 @@ def test_config_unknown_feature(self, get_cmd_module): @classmethod def teardown_class(cls): print("TEARDOWN") + +class TestFeatureMultiAsic(object): + @classmethod + def setup_class(cls): + print("SETUP") + + def test_config_bgp_feature_inconsistent_state(self, get_cmd_module): + from .mock_tables import dbconnector + from .mock_tables import mock_multi_asic_3_asics + reload(mock_multi_asic_3_asics) + dbconnector.load_namespace_config() + (config, show) = get_cmd_module + db = Db() + runner = CliRunner() + result = runner.invoke(config.config.commands["feature"].commands["state"], ["bgp", "disabled"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 1 + assert result.output == config_feature_bgp_inconsistent_state_output + result = runner.invoke(config.config.commands["feature"].commands["state"], ["bgp", "enabled"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 1 + assert result.output == config_feature_bgp_inconsistent_state_output + + def test_config_bgp_feature_inconsistent_autorestart(self, get_cmd_module): + from .mock_tables import dbconnector + from .mock_tables import mock_multi_asic_3_asics + reload(mock_multi_asic_3_asics) + dbconnector.load_namespace_config() + (config, show) = get_cmd_module + db = Db() + runner = CliRunner() + result = runner.invoke(config.config.commands["feature"].commands["autorestart"], ["bgp", "disabled"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 1 + assert result.output == config_feature_bgp_inconsistent_autorestart_output + result = runner.invoke(config.config.commands["feature"].commands["autorestart"], ["bgp", "enabled"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 1 + assert result.output == config_feature_bgp_inconsistent_autorestart_output + + def test_config_bgp_feature_consistent_state(self, get_cmd_module): + from .mock_tables import dbconnector + from .mock_tables import mock_multi_asic + reload(mock_multi_asic) + dbconnector.load_namespace_config() + (config, show) = get_cmd_module + db = Db() + runner = CliRunner() + result = runner.invoke(config.config.commands["feature"].commands["state"], ["bgp", "disabled"], obj=db) + print(result.exit_code) + assert result.exit_code == 0 + result = runner.invoke(show.cli.commands["feature"].commands["status"], ["bgp"], obj=db) + print(result.output) + assert result.exit_code == 0 + assert result.output == show_feature_bgp_disabled_status_output + result = runner.invoke(config.config.commands["feature"].commands["state"], ["bgp", "enabled"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + result = runner.invoke(show.cli.commands["feature"].commands["status"], ["bgp"], obj=db) + print(result.output) + assert result.exit_code == 0 + assert result.output == show_feature_bgp_status_output + + def test_config_bgp_feature_consistent_autorestart(self, get_cmd_module): + from .mock_tables import dbconnector + from .mock_tables import mock_multi_asic + reload(mock_multi_asic) + dbconnector.load_namespace_config() + (config, show) = get_cmd_module + db = Db() + runner = CliRunner() + result = runner.invoke(config.config.commands["feature"].commands["autorestart"], ["bgp", "disabled"], obj=db) + print(result.exit_code) + assert result.exit_code == 0 + result = runner.invoke(show.cli.commands["feature"].commands["autorestart"], ["bgp"], obj=db) + print(result.output) + print(result.exit_code) + assert result.exit_code == 0 + assert result.output == show_feature_bgp_disabled_autorestart_output + result = runner.invoke(config.config.commands["feature"].commands["autorestart"], ["bgp", "enabled"], obj=db) + print(result.exit_code) + assert result.exit_code == 0 + result = runner.invoke(show.cli.commands["feature"].commands["autorestart"], ["bgp"], obj=db) + print(result.output) + print(result.exit_code) + assert result.exit_code == 0 + assert result.output == show_feature_bgp_autorestart_output + + + @classmethod + def teardown_class(cls): + print("TEARDOWN") + from .mock_tables import mock_single_asic + reload(mock_single_asic) diff --git a/tests/ip_show_routes_multi_asic_test.py b/tests/ip_show_routes_multi_asic_test.py index c889a65430..384cda4f6b 100644 --- a/tests/ip_show_routes_multi_asic_test.py +++ b/tests/ip_show_routes_multi_asic_test.py @@ -1,4 +1,5 @@ import os +from importlib import reload import pytest @@ -16,6 +17,7 @@ def setup_class(cls): os.environ["UTILITIES_UNIT_TESTING"] = "2" os.environ["UTILITIES_UNIT_TESTING_TOPOLOGY"] = "multi_asic" from .mock_tables import mock_multi_asic_3_asics + reload(mock_multi_asic_3_asics) from .mock_tables import dbconnector dbconnector.load_namespace_config() @@ -224,7 +226,5 @@ def teardown_class(cls): os.environ["PATH"] = os.pathsep.join(os.environ["PATH"].split(os.pathsep)[:-1]) os.environ["UTILITIES_UNIT_TESTING"] = "0" os.environ["UTILITIES_UNIT_TESTING_TOPOLOGY"] = "" - import imp - from sonic_py_common import multi_asic - imp.reload(multi_asic) - import mock_tables.dbconnector + from .mock_tables import mock_single_asic + reload(mock_single_asic) diff --git a/tests/mock_tables/asic0/config_db.json b/tests/mock_tables/asic0/config_db.json index 51f61e7fc7..826daf4c6e 100644 --- a/tests/mock_tables/asic0/config_db.json +++ b/tests/mock_tables/asic0/config_db.json @@ -162,5 +162,10 @@ }, "PEER_SWITCH|sonic" : { "address_ipv4": "10.2.2.2" + }, + "FEATURE|bgp": { + "state": "enabled", + "auto_restart": "enabled", + "high_mem_alert": "disabled" } } diff --git a/tests/mock_tables/asic1/config_db.json b/tests/mock_tables/asic1/config_db.json index 066732e615..9bd34c08a1 100644 --- a/tests/mock_tables/asic1/config_db.json +++ b/tests/mock_tables/asic1/config_db.json @@ -131,5 +131,10 @@ }, "PEER_SWITCH|sonic" : { "address_ipv4": "10.2.2.2" + }, + "FEATURE|bgp": { + "state": "enabled", + "auto_restart": "enabled", + "high_mem_alert": "disabled" } } diff --git a/tests/mock_tables/asic2/config_db.json b/tests/mock_tables/asic2/config_db.json index be5af80bf4..532d85bcbb 100644 --- a/tests/mock_tables/asic2/config_db.json +++ b/tests/mock_tables/asic2/config_db.json @@ -119,5 +119,10 @@ "PFC_WD|GLOBAL": { "BIG_RED_SWITCH": "enable", "POLL_INTERVAL": "199" + }, + "FEATURE|bgp": { + "state": "disabled", + "auto_restart": "disabled", + "high_mem_alert": "disabled" } } From aad2c38196fd01b96b2e2636dbd9ad6a727b5c58 Mon Sep 17 00:00:00 2001 From: Rajesh Sankaran <48232228+srj102@users.noreply.github.com> Date: Sat, 19 Dec 2020 05:44:34 +0530 Subject: [PATCH 013/342] VXLAN config and show utilities (#870) Added support for VXLAN config and commands as described in the PR Azure/SONiC#437 config vxlan add/del and config vxlan evpn_nvo add/del config vxlan map/map_range add show vxlan remote vni/show vxlan remote mac show vxlan tunnel Co-authored-by: Tapash Das Co-authored-by: Karthikeyan Ananthakrishnan Co-authored-by: Tapash Das <48195098+tapashdas@users.noreply.github.com> --- config/main.py | 53 +++++- config/vxlan.py | 273 +++++++++++++++++++++++++++++++ scripts/fast-reboot | 1 + show/main.py | 1 - show/vxlan.py | 244 ++++++++++++++++++++++++++- tests/mock_tables/appl_db.json | 9 + tests/mock_tables/config_db.json | 26 +++ tests/mock_tables/state_db.json | 18 ++ tests/vxlan_test.py | 248 ++++++++++++++++++++++++++++ utilities_common/cli.py | 28 ++++ 10 files changed, 896 insertions(+), 5 deletions(-) create mode 100644 config/vxlan.py create mode 100644 tests/vxlan_test.py diff --git a/config/main.py b/config/main.py index f064cfb3d9..e452f135a3 100644 --- a/config/main.py +++ b/config/main.py @@ -24,7 +24,6 @@ import utilities_common.cli as clicommon from .utils import log - from . import aaa from . import chassis_modules from . import console @@ -35,6 +34,7 @@ from . import muxcable from . import nat from . import vlan +from . import vxlan from .config_mgmt import ConfigMgmtDPB CONTEXT_SETTINGS = dict(help_option_names=['-h', '--help', '-?']) @@ -885,6 +885,7 @@ def config(ctx): config.add_command(muxcable.muxcable) config.add_command(nat.nat) config.add_command(vlan.vlan) +config.add_command(vxlan.vxlan) @config.command() @click.option('-y', '--yes', is_flag=True, callback=_abort_if_false, @@ -2978,6 +2979,56 @@ def del_vrf(ctx, vrf_name): config_db.set_entry('VRF', vrf_name, None) +@vrf.command('add_vrf_vni_map') +@click.argument('vrfname', metavar='', required=True, type=str) +@click.argument('vni', metavar='', required=True) +@click.pass_context +def add_vrf_vni_map(ctx, vrfname, vni): + config_db = ctx.obj['config_db'] + found = 0 + if vrfname not in config_db.get_table('VRF').keys(): + ctx.fail("vrf {} doesnt exists".format(vrfname)) + if not vni.isdigit(): + ctx.fail("Invalid VNI {}. Only valid VNI is accepted".format(vni)) + + if clicommon.vni_id_is_valid(int(vni)) is False: + ctx.fail("Invalid VNI {}. Valid range [1 to 16777215].".format(vni)) + + vxlan_table = config_db.get_table('VXLAN_TUNNEL_MAP') + vxlan_keys = vxlan_table.keys() + if vxlan_keys is not None: + for key in vxlan_keys: + if (vxlan_table[key]['vni'] == vni): + found = 1 + break + + if (found == 0): + ctx.fail("VLAN VNI not mapped. Please create VLAN VNI map entry first") + + found = 0 + vrf_table = config_db.get_table('VRF') + vrf_keys = vrf_table.keys() + if vrf_keys is not None: + for vrf_key in vrf_keys: + if ('vni' in vrf_table[vrf_key] and vrf_table[vrf_key]['vni'] == vni): + found = 1 + break + + if (found == 1): + ctx.fail("VNI already mapped to vrf {}".format(vrf_key)) + + config_db.mod_entry('VRF', vrfname, {"vni": vni}) + +@vrf.command('del_vrf_vni_map') +@click.argument('vrfname', metavar='', required=True, type=str) +@click.pass_context +def del_vrf_vni_map(ctx, vrfname): + config_db = ctx.obj['config_db'] + if vrfname not in config_db.get_table('VRF').keys(): + ctx.fail("vrf {} doesnt exists".format(vrfname)) + + config_db.mod_entry('VRF', vrfname, {"vni": 0}) + # # 'route' group ('config route ...') # diff --git a/config/vxlan.py b/config/vxlan.py new file mode 100644 index 0000000000..382ab72815 --- /dev/null +++ b/config/vxlan.py @@ -0,0 +1,273 @@ +import click +import utilities_common.cli as clicommon + +# +# 'vxlan' group ('config vxlan ...') +# +@click.group() +def vxlan(): + pass + +@vxlan.command('add') +@click.argument('vxlan_name', metavar='', required=True) +@click.argument('src_ip', metavar='', required=True) +@clicommon.pass_db +def add_vxlan(db, vxlan_name, src_ip): + """Add VXLAN""" + ctx = click.get_current_context() + + if not clicommon.is_ipaddress(src_ip): + ctx.fail("{} invalid src ip address".format(src_ip)) + + vxlan_keys = db.cfgdb.get_keys('VXLAN_TUNNEL') + if not vxlan_keys: + vxlan_count = 0 + else: + vxlan_count = len(vxlan_keys) + + if(vxlan_count > 0): + ctx.fail("VTEP already configured.") + + fvs = {'src_ip': src_ip} + db.cfgdb.set_entry('VXLAN_TUNNEL', vxlan_name, fvs) + +@vxlan.command('del') +@click.argument('vxlan_name', metavar='', required=True) +@clicommon.pass_db +def del_vxlan(db, vxlan_name): + """Del VXLAN""" + ctx = click.get_current_context() + + vxlan_keys = db.cfgdb.get_keys('VXLAN_EVPN_NVO') + if not vxlan_keys: + vxlan_count = 0 + else: + vxlan_count = len(vxlan_keys) + + if(vxlan_count > 0): + ctx.fail("Please delete the EVPN NVO configuration.") + + vxlan_keys = db.cfgdb.get_keys('CONFIG_DB', "VXLAN_TUNNEL_MAP|*") + if not vxlan_keys: + vxlan_count = 0 + else: + vxlan_count = len(vxlan_keys) + + if(vxlan_count > 0): + ctx.fail("Please delete all VLAN VNI mappings.") + + db.cfgdb.set_entry('VXLAN_TUNNEL', vxlan_name, None) + +@vxlan.group('evpn_nvo') +def vxlan_evpn_nvo(): + pass + +@vxlan_evpn_nvo.command('add') +@click.argument('nvo_name', metavar='', required=True) +@click.argument('vxlan_name', metavar='', required=True) +@clicommon.pass_db +def add_vxlan_evpn_nvo(db, nvo_name, vxlan_name): + """Add NVO""" + ctx = click.get_current_context() + vxlan_keys = db.cfgdb.get_keys('CONFIG_DB', "VXLAN_EVPN_NVO|*") + if not vxlan_keys: + vxlan_count = 0 + else: + vxlan_count = len(vxlan_keys) + + if(vxlan_count > 0): + ctx.fail("EVPN NVO already configured") + + if len(db.cfgdb.get_entry('VXLAN_TUNNEL', vxlan_name)) == 0: + ctx.fail("VTEP {} not configured".format(vxlan_name)) + + fvs = {'source_vtep': vxlan_name} + db.cfgdb.set_entry('VXLAN_EVPN_NVO', nvo_name, fvs) + +@vxlan_evpn_nvo.command('del') +@click.argument('nvo_name', metavar='', required=True) +@clicommon.pass_db +def del_vxlan_evpn_nvo(db, nvo_name): + """Del NVO""" + ctx = click.get_current_context() + vxlan_keys = db.cfgdb.get_keys('VXLAN_TUNNEL_MAP') + if not vxlan_keys: + vxlan_count = 0 + else: + vxlan_count = len(vxlan_keys) + + if(vxlan_count > 0): + ctx.fail("Please delete all VLAN VNI mappings.") + db.cfgdb.set_entry('VXLAN_EVPN_NVO', nvo_name, None) + +@vxlan.group('map') +def vxlan_map(): + pass + +@vxlan_map.command('add') +@click.argument('vxlan_name', metavar='', required=True) +@click.argument('vlan', metavar='', required=True) +@click.argument('vni', metavar='', required=True) +@clicommon.pass_db +def add_vxlan_map(db, vxlan_name, vlan, vni): + """Add VLAN-VNI map entry""" + ctx = click.get_current_context() + + if not vlan.isdigit(): + ctx.fail("Invalid vlan {}. Only valid vlan is accepted".format(vni)) + if clicommon.is_vlanid_in_range(int(vlan)) is False: + ctx.fail(" Invalid Vlan Id , Valid Range : 1 to 4094 ") + if not vni.isdigit(): + ctx.fail("Invalid VNI {}. Only valid VNI is accepted".format(vni)) + if clicommon.vni_id_is_valid(int(vni)) is False: + ctx.fail("Invalid VNI {}. Valid range [1 to 16777215].".format(vni)) + + vlan_name = "Vlan" + vlan + + if len(db.cfgdb.get_entry('VXLAN_TUNNEL', vxlan_name)) == 0: + ctx.fail("VTEP {} not configured".format(vxlan_name)) + + if len(db.cfgdb.get_entry('VLAN', vlan_name)) == 0: + ctx.fail("{} not configured".format(vlan_name)) + + vxlan_table = db.cfgdb.get_table('VXLAN_TUNNEL_MAP') + vxlan_keys = vxlan_table.keys() + if vxlan_keys is not None: + for key in vxlan_keys: + if (vxlan_table[key]['vlan'] == vlan_name): + ctx.fail(" Vlan Id already mapped ") + if (vxlan_table[key]['vni'] == vni): + ctx.fail(" VNI Id already mapped ") + + fvs = {'vni': vni, + 'vlan' : vlan_name} + mapname = vxlan_name + '|' + 'map_' + vni + '_' + vlan_name + db.cfgdb.set_entry('VXLAN_TUNNEL_MAP', mapname, fvs) + +@vxlan_map.command('del') +@click.argument('vxlan_name', metavar='', required=True) +@click.argument('vlan', metavar='', required=True) +@click.argument('vni', metavar='', required=True) +@clicommon.pass_db +def del_vxlan_map(db, vxlan_name, vlan, vni): + """Del VLAN-VNI map entry""" + ctx = click.get_current_context() + + if not vlan.isdigit(): + ctx.fail("Invalid vlan {}. Only valid vlan is accepted".format(vni)) + if clicommon.is_vlanid_in_range(int(vlan)) is False: + ctx.fail(" Invalid Vlan Id , Valid Range : 1 to 4094 ") + if not vni.isdigit(): + ctx.fail("Invalid VNI {}. Only valid VNI is accepted".format(vni)) + if clicommon.vni_id_is_valid(int(vni)) is False: + ctx.fail("Invalid VNI {}. Valid range [1 to 16777215].".format(vni)) + + if len(db.cfgdb.get_entry('VXLAN_TUNNEL', vxlan_name)) == 0: + ctx.fail("VTEP {} not configured".format(vxlan_name)) + found = 0 + vrf_table = db.cfgdb.get_table('VRF') + vrf_keys = vrf_table.keys() + if vrf_keys is not None: + for vrf_key in vrf_keys: + if ('vni' in vrf_table[vrf_key] and vrf_table[vrf_key]['vni'] == vni): + found = 1 + break + + if (found == 1): + ctx.fail("VNI mapped to vrf {}, Please remove VRF VNI mapping".format(vrf_key)) + + mapname = vxlan_name + '|' + 'map_' + vni + '_' + vlan + db.cfgdb.set_entry('VXLAN_TUNNEL_MAP', mapname, None) + mapname = vxlan_name + '|' + 'map_' + vni + '_Vlan' + vlan + db.cfgdb.set_entry('VXLAN_TUNNEL_MAP', mapname, None) + +@vxlan.group('map_range') +def vxlan_map_range(): + pass + +@vxlan_map_range.command('add') +@click.argument('vxlan_name', metavar='', required=True) +@click.argument('vlan_start', metavar='', required=True, type=int) +@click.argument('vlan_end', metavar='', required=True, type=int) +@click.argument('vni_start', metavar='', required=True, type=int) +@clicommon.pass_db +def add_vxlan_map_range(db, vxlan_name, vlan_start, vlan_end, vni_start): + """Add Range of vlan-vni mappings""" + ctx = click.get_current_context() + if clicommon.is_vlanid_in_range(vlan_start) is False: + ctx.fail(" Invalid Vlan Id , Valid Range : 1 to 4094 ") + if clicommon.is_vlanid_in_range(vlan_end) is False: + ctx.fail(" Invalid Vlan Id , Valid Range : 1 to 4094 ") + if (vlan_start > vlan_end): + ctx.fail("vlan_end should be greater or equal to vlan_start") + if clicommon.vni_id_is_valid(vni_start) is False: + ctx.fail("Invalid VNI {}. Valid range [1 to 16777215].".format(vni_start)) + if clicommon.vni_id_is_valid(vni_start+vlan_end-vlan_start) is False: + ctx.fail("Invalid VNI End {}. Valid range [1 to 16777215].".format(vni_start)) + + if len(db.cfgdb.get_entry('VXLAN_TUNNEL', vxlan_name)) == 0: + ctx.fail("VTEP {} not configured".format(vxlan_name)) + vlan_end = vlan_end + 1 + vxlan_table = db.cfgdb.get_table('VXLAN_TUNNEL_MAP') + vxlan_keys = vxlan_table.keys() + + for vid in range (vlan_start, vlan_end): + vlan_name = 'Vlan{}'.format(vid) + vnid = vni_start+vid-vlan_start + vni_name = '{}'.format(vnid) + match_found = 'no' + if len(db.cfgdb.get_entry('VLAN', vlan_name)) == 0: + click.echo("{} not configured".format(vlan_name)) + continue + if vxlan_keys is not None: + for key in vxlan_keys: + if (vxlan_table[key]['vlan'] == vlan_name): + print(vlan_name + " already mapped") + match_found = 'yes' + break + if (vxlan_table[key]['vni'] == vni_name): + print("VNI:" + vni_name + " already mapped ") + match_found = 'yes' + break + if (match_found == 'yes'): + continue + fvs = {'vni': vni_name, + 'vlan' : vlan_name} + mapname = vxlan_name + '|' + 'map_' + vni_name + '_' + vlan_name + db.cfgdb.set_entry('VXLAN_TUNNEL_MAP', mapname, fvs) + +@vxlan_map_range.command('del') +@click.argument('vxlan_name', metavar='', required=True) +@click.argument('vlan_start', metavar='', required=True, type=int) +@click.argument('vlan_end', metavar='', required=True, type=int) +@click.argument('vni_start', metavar='', required=True, type=int) +@clicommon.pass_db +def del_vxlan_map_range(db, vxlan_name, vlan_start, vlan_end, vni_start): + """Del Range of vlan-vni mappings""" + ctx = click.get_current_context() + if clicommon.is_vlanid_in_range(vlan_start) is False: + ctx.fail(" Invalid Vlan Id , Valid Range : 1 to 4094 ") + if clicommon.is_vlanid_in_range(vlan_end) is False: + ctx.fail(" Invalid Vlan Id , Valid Range : 1 to 4094 ") + if (vlan_start > vlan_end): + ctx.fail("vlan_end should be greater or equal to vlan_start") + if clicommon.vni_id_is_valid(vni_start) is False: + ctx.fail("Invalid VNI {}. Valid range [1 to 16777215].".format(vni_start)) + if clicommon.vni_id_is_valid(vni_start+vlan_end-vlan_start) is False: + ctx.fail("Invalid VNI End {}. Valid range [1 to 16777215].".format(vni_start)) + + if len(db.cfgdb.get_entry('VXLAN_TUNNEL', vxlan_name)) == 0: + ctx.fail("VTEP {} not configured".format(vxlan_name)) + + vlan_end = vlan_end + 1 + for vid in range (vlan_start, vlan_end): + vlan_name = 'Vlan{}'.format(vid) + vnid = vni_start+vid-vlan_start + vni_name = '{}'.format(vnid) + if clicommon.is_vni_vrf_mapped(db, vni_name) is False: + print("Skipping Vlan {} VNI {} mapped delete. ".format(vlan_name, vni_name)) + continue + + mapname = vxlan_name + '|' + 'map_' + vni_name + '_' + vlan_name + db.cfgdb.set_entry('VXLAN_TUNNEL_MAP', mapname, None) + diff --git a/scripts/fast-reboot b/scripts/fast-reboot index a042f71091..8918620201 100755 --- a/scripts/fast-reboot +++ b/scripts/fast-reboot @@ -248,6 +248,7 @@ function backup_database() if not string.match(k, 'FDB_TABLE|') and not string.match(k, 'WARM_RESTART_TABLE|') \ and not string.match(k, 'MIRROR_SESSION_TABLE|') \ and not string.match(k, 'WARM_RESTART_ENABLE_TABLE|') \ + and not string.match(k, 'VXLAN_TUNNEL_TABLE|') \ and not string.match(k, 'BUFFER_MAX_PARAM_TABLE|') then redis.call('del', k) end diff --git a/show/main.py b/show/main.py index 3b7c37b5ad..71df38fa32 100644 --- a/show/main.py +++ b/show/main.py @@ -1522,6 +1522,5 @@ def ztp(status, verbose): cmd = cmd + " --verbose" run_command(cmd, display_cmd=verbose) - if __name__ == '__main__': cli() diff --git a/show/vxlan.py b/show/vxlan.py index d9b0de85f0..a9f18759e3 100644 --- a/show/vxlan.py +++ b/show/vxlan.py @@ -2,9 +2,9 @@ import utilities_common.cli as clicommon from natsort import natsorted from swsssdk import ConfigDBConnector +from swsssdk import SonicV2Connector from tabulate import tabulate - # # 'vxlan' command ("show vxlan") # @@ -13,7 +13,6 @@ def vxlan(): """Show vxlan related information""" pass - @vxlan.command() @click.argument('vxlan_name', required=True) def name(vxlan_name): @@ -41,7 +40,6 @@ def name(vxlan_name): click.echo(tabulate(table, header)) - @vxlan.command() def tunnel(): """Show vxlan tunnel information""" @@ -68,3 +66,243 @@ def tunnel(): table.append(r) click.echo(tabulate(table, header)) + +@vxlan.command() +def interface(): + """Show VXLAN VTEP Information""" + + config_db = ConfigDBConnector() + config_db.connect() + + # Fetching VTEP keys from config DB + click.secho('VTEP Information:\n', bold=True, underline=True) + vxlan_table = config_db.get_table('VXLAN_TUNNEL') + vxlan_keys = vxlan_table.keys() + vtep_sip = '0.0.0.0' + if vxlan_keys is not None: + for key in natsorted(vxlan_keys): + key1 = key.split('|',1) + vtepname = key1.pop(); + if 'src_ip' in vxlan_table[key]: + vtep_sip = vxlan_table[key]['src_ip'] + if vtep_sip is not '0.0.0.0': + output = '\tVTEP Name : ' + vtepname + ', SIP : ' + vxlan_table[key]['src_ip'] + else: + output = '\tVTEP Name : ' + vtepname + + click.echo(output) + + if vtep_sip is not '0.0.0.0': + vxlan_table = config_db.get_table('VXLAN_EVPN_NVO') + vxlan_keys = vxlan_table.keys() + if vxlan_keys is not None: + for key in natsorted(vxlan_keys): + key1 = key.split('|',1) + vtepname = key1.pop(); + output = '\tNVO Name : ' + vtepname + ', VTEP : ' + vxlan_table[key]['source_vtep'] + click.echo(output) + + vxlan_keys = config_db.keys('CONFIG_DB', "LOOPBACK_INTERFACE|*") + loopback = 'Not Configured' + if vxlan_keys is not None: + for key in natsorted(vxlan_keys): + key1 = key.split('|',2) + if len(key1) == 3 and key1[2] == vtep_sip+'/32': + loopback = key1[1] + break + output = '\tSource interface : ' + loopback + if vtep_sip != '0.0.0.0': + click.echo(output) + +@vxlan.command() +@click.argument('count', required=False) +def vlanvnimap(count): + """Show VLAN VNI Mapping Information""" + + header = ['VLAN', 'VNI'] + body = [] + + config_db = ConfigDBConnector() + config_db.connect() + + if count is not None: + vxlan_keys = config_db.keys('CONFIG_DB', "VXLAN_TUNNEL_MAP|*") + + if not vxlan_keys: + vxlan_count = 0 + else: + vxlan_count = len(vxlan_keys) + + output = 'Total count : ' + output += ('%s \n' % (str(vxlan_count))) + click.echo(output) + else: + vxlan_table = config_db.get_table('VXLAN_TUNNEL_MAP') + vxlan_keys = vxlan_table.keys() + num=0 + if vxlan_keys is not None: + for key in natsorted(vxlan_keys): + body.append([vxlan_table[key]['vlan'], vxlan_table[key]['vni']]) + num += 1 + click.echo(tabulate(body, header, tablefmt="grid")) + output = 'Total count : ' + output += ('%s \n' % (str(num))) + click.echo(output) + +@vxlan.command() +def vrfvnimap(): + """Show VRF VNI Mapping Information""" + + header = ['VRF', 'VNI'] + body = [] + + config_db = ConfigDBConnector() + config_db.connect() + + vrf_table = config_db.get_table('VRF') + vrf_keys = vrf_table.keys() + num=0 + if vrf_keys is not None: + for key in natsorted(vrf_keys): + if ('vni' in vrf_table[key]): + body.append([key, vrf_table[key]['vni']]) + num += 1 + click.echo(tabulate(body, header, tablefmt="grid")) + output = 'Total count : ' + output += ('%s \n' % (str(num))) + click.echo(output) + +@vxlan.command() +@click.argument('count', required=False) +def remotevtep(count): + """Show All Remote VTEP Information""" + + if (count is not None) and (count != 'count'): + click.echo("Unacceptable argument {}".format(count)) + return + + header = ['SIP', 'DIP', 'Creation Source', 'OperStatus'] + body = [] + db = SonicV2Connector(host='127.0.0.1') + db.connect(db.STATE_DB) + + vxlan_keys = db.keys(db.STATE_DB, 'VXLAN_TUNNEL_TABLE|*') + + if vxlan_keys is not None: + vxlan_count = len(vxlan_keys) + else: + vxlan_count = 0 + + if (count is not None): + output = 'Total count : ' + output += ('%s \n' % (str(vxlan_count))) + click.echo(output) + else: + num = 0 + if vxlan_keys is not None: + for key in natsorted(vxlan_keys): + vxlan_table = db.get_all(db.STATE_DB, key); + if vxlan_table is None: + continue + body.append([vxlan_table['src_ip'], vxlan_table['dst_ip'], vxlan_table['tnl_src'], 'oper_' + vxlan_table['operstatus']]) + num += 1 + click.echo(tabulate(body, header, tablefmt="grid")) + output = 'Total count : ' + output += ('%s \n' % (str(num))) + click.echo(output) + +@vxlan.command() +@click.argument('remote_vtep_ip', required=True) +@click.argument('count', required=False) +def remotevni(remote_vtep_ip, count): + """Show Vlans extended to the remote VTEP""" + + if (remote_vtep_ip != 'all') and (clicommon.is_ipaddress(remote_vtep_ip ) is False): + click.echo("Remote VTEP IP {} invalid format".format(remote_vtep_ip)) + return + + header = ['VLAN', 'RemoteVTEP', 'VNI'] + body = [] + db = SonicV2Connector(host='127.0.0.1') + db.connect(db.APPL_DB) + + if(remote_vtep_ip == 'all'): + vxlan_keys = db.keys(db.APPL_DB, 'VXLAN_REMOTE_VNI_TABLE:*') + else: + vxlan_keys = db.keys(db.APPL_DB, 'VXLAN_REMOTE_VNI_TABLE:*' + remote_vtep_ip + '*') + + if count is not None: + if not vxlan_keys: + vxlan_count = 0 + else: + vxlan_count = len(vxlan_keys) + + output = 'Total count : ' + output += ('%s \n' % (str(vxlan_count))) + click.echo(output) + else: + num = 0 + if vxlan_keys is not None: + for key in natsorted(vxlan_keys): + key1 = key.split(':') + rmtip = key1.pop(); + #if remote_vtep_ip != 'all' and rmtip != remote_vtep_ip: + # continue + vxlan_table = db.get_all(db.APPL_DB, key); + if vxlan_table is None: + continue + body.append([key1.pop(), rmtip, vxlan_table['vni']]) + num += 1 + click.echo(tabulate(body, header, tablefmt="grid")) + output = 'Total count : ' + output += ('%s \n' % (str(num))) + click.echo(output) + +@vxlan.command() +@click.argument('remote_vtep_ip', required=True) +@click.argument('count', required=False) +def remotemac(remote_vtep_ip, count): + """Show MACs pointing to the remote VTEP""" + + if (remote_vtep_ip != 'all') and (clicommon.is_ipaddress(remote_vtep_ip ) is False): + click.echo("Remote VTEP IP {} invalid format".format(remote_vtep_ip)) + return + + header = ['VLAN', 'MAC', 'RemoteVTEP', 'VNI', 'Type'] + body = [] + db = SonicV2Connector(host='127.0.0.1') + db.connect(db.APPL_DB) + + vxlan_keys = db.keys(db.APPL_DB, 'VXLAN_FDB_TABLE:*') + + if ((count is not None) and (remote_vtep_ip == 'all')): + if not vxlan_keys: + vxlan_count = 0 + else: + vxlan_count = len(vxlan_keys) + + output = 'Total count : ' + output += ('%s \n' % (str(vxlan_count))) + click.echo(output) + else: + num = 0 + if vxlan_keys is not None: + for key in natsorted(vxlan_keys): + key1 = key.split(':',2) + mac = key1.pop(); + vlan = key1.pop(); + vxlan_table = db.get_all(db.APPL_DB, key); + if vxlan_table is None: + continue + rmtip = vxlan_table['remote_vtep'] + if remote_vtep_ip != 'all' and rmtip != remote_vtep_ip: + continue + if count is None: + body.append([vlan, mac, rmtip, vxlan_table['vni'], vxlan_table['type']]) + num += 1 + if count is None: + click.echo(tabulate(body, header, tablefmt="grid")) + output = 'Total count : ' + output += ('%s \n' % (str(num))) + click.echo(output) + diff --git a/tests/mock_tables/appl_db.json b/tests/mock_tables/appl_db.json index 5cdb65a180..803473b9c4 100644 --- a/tests/mock_tables/appl_db.json +++ b/tests/mock_tables/appl_db.json @@ -169,5 +169,14 @@ }, "SWITCH_TABLE:switch": { "vxlan_port": "13550" + }, + "VXLAN_REMOTE_VNI_TABLE:Vlan200:25.25.25.25": { + "vni": "200" + }, + "VXLAN_REMOTE_VNI_TABLE:Vlan200:25.25.25.26": { + "vni": "200" + }, + "VXLAN_REMOTE_VNI_TABLE:Vlan200:25.25.25.27": { + "vni": "200" } } diff --git a/tests/mock_tables/config_db.json b/tests/mock_tables/config_db.json index 55bf817587..06e1f65f80 100644 --- a/tests/mock_tables/config_db.json +++ b/tests/mock_tables/config_db.json @@ -1333,6 +1333,32 @@ "PEER_SWITCH|sonic-switch" : { "address_ipv4": "10.2.2.2" }, + "VXLAN_TUNNEL|vtep1": { + "src_ip": "1.1.1.1" + }, + "VXLAN_EVPN_NVO|nvo1": { + "source_vtep": "vtep1" + }, + "VXLAN_TUNNEL_MAP|vtep1|map_100_Vlan100": { + "vni" : "100", + "vlan": "Vlan100" + }, + "VXLAN_TUNNEL_MAP|vtep1|map_101_Vlan101": { + "vni" : "101", + "vlan": "Vlan101" + }, + "VXLAN_TUNNEL_MAP|vtep1|map_102_Vlan102": { + "vni" : "102", + "vlan": "Vlan102" + }, + "VXLAN_TUNNEL_MAP|vtep1|map_200_Vlan200": { + "vni" : "200", + "vlan": "Vlan200" + }, + "VRF|Vrf1": { + "fallback": "false", + "vni" : "1000" + }, "BUFFER_POOL|egress_lossless_pool": { "mode": "dynamic", "size": "13945824", diff --git a/tests/mock_tables/state_db.json b/tests/mock_tables/state_db.json index b1c2f1cea1..7f563d8842 100644 --- a/tests/mock_tables/state_db.json +++ b/tests/mock_tables/state_db.json @@ -328,6 +328,24 @@ "MUX_CABLE_TABLE|Ethernet12": { "state": "unknown" }, + "VXLAN_TUNNEL_TABLE|EVPN_25.25.25.25": { + "src_ip": "1.1.1.1", + "dst_ip": "25.25.25.25", + "tnl_src": "EVPN", + "operstatus": "down" + }, + "VXLAN_TUNNEL_TABLE|EVPN_25.25.25.26": { + "src_ip": "1.1.1.1", + "dst_ip": "25.25.25.26", + "tnl_src": "EVPN", + "operstatus": "down" + }, + "VXLAN_TUNNEL_TABLE|EVPN_25.25.25.27": { + "src_ip": "1.1.1.1", + "dst_ip": "25.25.25.27", + "tnl_src": "EVPN", + "operstatus": "down" + }, "BUFFER_POOL_TABLE|egress_lossless_pool": { "mode": "dynamic", "size": "13945824", diff --git a/tests/vxlan_test.py b/tests/vxlan_test.py new file mode 100644 index 0000000000..74819f9f61 --- /dev/null +++ b/tests/vxlan_test.py @@ -0,0 +1,248 @@ +import os +import traceback +from unittest import mock + +from click.testing import CliRunner + +import config.main as config +import show.main as show +from utilities_common.db import Db + +show_vxlan_interface_output="""\ +VTEP Information: + + VTEP Name : vtep1, SIP : 1.1.1.1 + NVO Name : nvo1, VTEP : vtep1 +""" + +show_vxlan_vlanvnimap_output="""\ ++---------+-------+ +| VLAN | VNI | ++=========+=======+ +| Vlan100 | 100 | ++---------+-------+ +| Vlan101 | 101 | ++---------+-------+ +| Vlan102 | 102 | ++---------+-------+ +| Vlan200 | 200 | ++---------+-------+ +Total count : 4 + +""" + +show_vxlan_vrfvnimap_output="""\ ++-------+-------+ +| VRF | VNI | ++=======+=======+ +| Vrf1 | 1000 | ++-------+-------+ +Total count : 1 + +""" + + +show_vxlan_tunnel_output="""\ ++---------+-------------+-------------------+--------------+ +| SIP | DIP | Creation Source | OperStatus | ++=========+=============+===================+==============+ +| 1.1.1.1 | 25.25.25.25 | EVPN | oper_down | ++---------+-------------+-------------------+--------------+ +| 1.1.1.1 | 25.25.25.26 | EVPN | oper_down | ++---------+-------------+-------------------+--------------+ +| 1.1.1.1 | 25.25.25.27 | EVPN | oper_down | ++---------+-------------+-------------------+--------------+ +Total count : 3 + +""" + +show_vxlan_remotevni_output="""\ ++---------+--------------+-------+ +| VLAN | RemoteVTEP | VNI | ++=========+==============+=======+ +| Vlan200 | 25.25.25.25 | 200 | ++---------+--------------+-------+ +| Vlan200 | 25.25.25.26 | 200 | ++---------+--------------+-------+ +| Vlan200 | 25.25.25.27 | 200 | ++---------+--------------+-------+ +Total count : 3 + +""" + +show_vxlan_remotevni_specific_output="""\ ++---------+--------------+-------+ +| VLAN | RemoteVTEP | VNI | ++=========+==============+=======+ +| Vlan200 | 25.25.25.27 | 200 | ++---------+--------------+-------+ +Total count : 1 + +""" +show_vxlan_vlanvnimap_cnt_output="""\ +Total count : 4 + +""" + +show_vxlan_tunnel_cnt_output="""\ +Total count : 3 + +""" + +show_vxlan_remotevni_cnt_output="""\ +Total count : 3 + +""" + +show_vxlan_remotevni_specific_cnt_output="""\ +Total count : 1 + +""" + +class TestVxlan(object): + @classmethod + def setup_class(cls): + os.environ['UTILITIES_UNIT_TESTING'] = "1" + print("SETUP") + + def test_show_vxlan_interface(self): + runner = CliRunner() + result = runner.invoke(show.cli.commands["vxlan"].commands["interface"], []) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == show_vxlan_interface_output + + def test_show_vxlan_vlanvnimap(self): + runner = CliRunner() + result = runner.invoke(show.cli.commands["vxlan"].commands["vlanvnimap"], []) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == show_vxlan_vlanvnimap_output + + def test_show_vxlan_vrfvnimap(self): + runner = CliRunner() + result = runner.invoke(show.cli.commands["vxlan"].commands["vrfvnimap"], []) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == show_vxlan_vrfvnimap_output + + def test_show_vxlan_tunnel(self): + runner = CliRunner() + result = runner.invoke(show.cli.commands["vxlan"].commands["remotevtep"], []) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == show_vxlan_tunnel_output + + def test_show_vxlan_remotevni(self): + runner = CliRunner() + result = runner.invoke(show.cli.commands["vxlan"].commands["remotevni"], ["all"]) + #result = runner.invoke(show.cli.commands["vxlan"].commands["remotevni"].commands["all"], []) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == show_vxlan_remotevni_output + + def test_show_vxlan_remotevni_specific(self): + runner = CliRunner() + result = runner.invoke(show.cli.commands["vxlan"].commands["remotevni"],["25.25.25.27"]) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == show_vxlan_remotevni_specific_output + + def test_show_vxlan_vlanvnimap_cnt(self): + runner = CliRunner() + result = runner.invoke(show.cli.commands["vxlan"].commands["vlanvnimap"],["count"]) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == show_vxlan_vlanvnimap_cnt_output + + def test_show_vxlan_tunnel_cnt(self): + runner = CliRunner() + result = runner.invoke(show.cli.commands["vxlan"].commands["remotevtep"], ["count"]) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == show_vxlan_tunnel_cnt_output + + def test_show_vxlan_remotevni_cnt(self): + runner = CliRunner() + result = runner.invoke(show.cli.commands["vxlan"].commands["remotevni"], ["all", "count"]) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == show_vxlan_remotevni_cnt_output + + def test_show_vxlan_remotevni_specific_cnt(self): + runner = CliRunner() + result = runner.invoke(show.cli.commands["vxlan"].commands["remotevni"], ["25.25.25.25", "count"]) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == show_vxlan_remotevni_specific_cnt_output + + def test_config_vxlan_add(self): + runner = CliRunner() + db = Db() + + result = runner.invoke(config.config.commands["vxlan"].commands["map"].commands["del"], ["vtep1", "200", "200"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + + result = runner.invoke(config.config.commands["vxlan"].commands["map_range"].commands["del"], ["vtep1", "100", "102", "100"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + + result = runner.invoke(config.config.commands["vxlan"].commands["evpn_nvo"].commands["del"], ["nvo1"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + + result = runner.invoke(config.config.commands["vxlan"].commands["del"], ["vtep1"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + + result = runner.invoke(config.config.commands["vxlan"].commands["add"], ["vtep1", "1.1.1.1"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + + result = runner.invoke(show.cli.commands["vxlan"].commands["interface"], []) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == show_vxlan_interface_output + + result = runner.invoke(config.config.commands["vlan"].commands["add"], ["100"], obj=db) + result = runner.invoke(config.config.commands["vlan"].commands["add"], ["101"], obj=db) + result = runner.invoke(config.config.commands["vlan"].commands["add"], ["102"], obj=db) + result = runner.invoke(config.config.commands["vlan"].commands["add"], ["200"], obj=db) + + result = runner.invoke(config.config.commands["vxlan"].commands["map"].commands["add"], ["vtep1", "200", "200"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + + result = runner.invoke(config.config.commands["vxlan"].commands["map_range"].commands["add"], ["vtep1", "100", "102", "100"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + + result = runner.invoke(show.cli.commands["vxlan"].commands["vlanvnimap"], []) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == show_vxlan_vlanvnimap_output + + @classmethod + def teardown_class(cls): + os.environ['UTILITIES_UNIT_TESTING'] = "0" + print("TEARDOWN") diff --git a/utilities_common/cli.py b/utilities_common/cli.py index 2379b4a603..3644f71b10 100644 --- a/utilities_common/cli.py +++ b/utilities_common/cli.py @@ -301,6 +301,34 @@ def is_port_mirror_dst_port(config_db, port): return False +def vni_id_is_valid(vni): + """Check if the vni id is in acceptable range (between 1 and 2^24) + """ + + if (vni < 1) or (vni > 16777215): + return False + + return True + +def is_vni_vrf_mapped(db, vni): + """Check if the vni is mapped to vrf + """ + + found = 0 + vrf_table = db.cfgdb.get_table('VRF') + vrf_keys = vrf_table.keys() + if vrf_keys is not None: + for vrf_key in vrf_keys: + if ('vni' in vrf_table[vrf_key] and vrf_table[vrf_key]['vni'] == vni): + found = 1 + break + + if (found == 1): + print("VNI {} mapped to Vrf {}, Please remove VRF VNI mapping".format(vni, vrf_key)) + return False + + return True + def interface_has_mirror_config(mirror_table, interface_name): """Check if port is already configured with mirror config """ for _,v in mirror_table.items(): From becf5b5ff7dd117b91399ae766999b82afb5a3d7 Mon Sep 17 00:00:00 2001 From: Renuka Manavalan <47282725+renukamanavalan@users.noreply.github.com> Date: Mon, 21 Dec 2020 15:38:31 -0800 Subject: [PATCH 014/342] Kubernetes support commands update (#1133) 1) Upgrade Feature commands in both config & show to adopt the kube updates 2) kube join/reset upgraded to call kube_label command to add/remove label, which would trigger join/reset 3) few minor updates in kube code. New/update to commands. `sudo config feature owner ` To update owner `sudo config feature fallback ` To enable/disable fallback `show feature status` Shows the status of the feature. Extended to include kube-support related fields `show feature config` New command to show the current config info `show kube server` Extended to show config & status of server --- config/feature.py | 32 ++++ config/kube.py | 320 ++++++++----------------------- doc/Command-Reference.md | 148 +++++++++++--- scripts/fast-reboot | 38 +++- scripts/reboot | 17 ++ show/feature.py | 126 +++++++++++- show/kube.py | 103 ++++++---- tests/feature_test.py | 213 +++++++++++++++++--- tests/kube_test.py | 187 +++++++++++++++--- tests/mock_tables/config_db.json | 48 +++-- utilities_common/cli.py | 6 - 11 files changed, 834 insertions(+), 404 deletions(-) diff --git a/config/feature.py b/config/feature.py index 6fdc68c026..950671a3d7 100644 --- a/config/feature.py +++ b/config/feature.py @@ -11,6 +11,38 @@ def feature(): """Configure features""" pass +def _update_field(db, name, fld, val): + tbl = db.cfgdb.get_table('FEATURE') + if name not in tbl: + click.echo("Unable to retrieve {} from FEATURE table".format(name)) + sys.exit(1) + db.cfgdb.mod_entry('FEATURE', name, { fld: val }) + + +# +# 'owner' command ('config feature owner ...') +# +@feature.command('owner', short_help="set owner for a feature") +@click.argument('name', metavar='', required=True) +@click.argument('owner', metavar='', required=True, type=click.Choice(["local", "kube"])) +@pass_db +def feature_owner(db, name, owner): + """Set owner for the feature""" + _update_field(db, name, "set_owner", owner) + + +# +# 'fallback' command ('config feature fallback ...') +# +@feature.command('fallback', short_help="set fallback for a feature") +@click.argument('name', metavar='', required=True) +@click.argument('fallback', metavar='', required=True, type=click.Choice(["on", "off"])) +@pass_db +def feature_fallback(db, name, fallback): + """Set fallback for the feature""" + _update_field(db, name, "no_fallback_to_local", "false" if fallback == "on" else "true") + + # # 'state' command ('config feature state ...') # diff --git a/config/kube.py b/config/kube.py index 08cca628d8..ef27c0538e 100644 --- a/config/kube.py +++ b/config/kube.py @@ -1,256 +1,74 @@ -import fcntl -import os -import shutil -import tempfile -from urllib.parse import urlparse - import click -import netaddr -import requests -import urllib3 -import utilities_common.cli as clicommon -import yaml -from sonic_py_common import device_info -from swsssdk import ConfigDBConnector -from utilities_common.db import Db +import socket + +from utilities_common.cli import AbbreviationGroup, pass_db from .utils import log -KUBE_ADMIN_CONF = "/etc/sonic/kube_admin.conf" -KUBELET_YAML = "/var/lib/kubelet/config.yaml" -KUBELET_SERVICE = "/etc/systemd/system/multi-user.target.wants/kubelet.service" +# DB Field names +KUBE_SERVER_TABLE_NAME = "KUBERNETES_MASTER" +KUBE_SERVER_TABLE_KEY = "SERVER" +KUBE_SERVER_IP = "ip" +KUBE_SERVER_PORT = "port" +KUBE_SERVER_DISABLE = "disable" +KUBE_SERVER_INSECURE = "insecure" + +KUBE_STATE_SERVER_CONNECTED = "connected" +KUBE_STATE_SERVER_REACHABLE = "server_reachability" +KUBE_STATE_SERVER_IP = "server_ip" +KUBE_STATE_SERVER_TS = "last_update_ts" + +KUBE_LABEL_TABLE = "KUBE_LABELS" +KUBE_LABEL_SET_KEY = "SET" + +def is_valid_ip4_addr(address): + try: + socket.inet_pton(socket.AF_INET, address) + except socket.error: # not a valid address + return False + return True -SERVER_ADMIN_URL = "https://{}/admin.conf" -KUBEADM_JOIN_CMD = "kubeadm join --discovery-file {} --node-name {}" -LOCK_FILE = "/var/lock/kube_join.lock" +def is_valid_ip6_addr(address): + try: + socket.inet_pton(socket.AF_INET6, address) + except socket.error: # not a valid address + return False + return True -def _update_kube_server(field, val): - config_db = ConfigDBConnector() - config_db.connect() - table = "KUBERNETES_MASTER" - key = "SERVER" - db_data = Db().get_data(table, key) +def _update_kube_server(db, field, val): + db_data = db.cfgdb.get_entry(KUBE_SERVER_TABLE_NAME, KUBE_SERVER_TABLE_KEY) def_data = { - "IP": "", - "insecure": "False", - "disable": "False" + KUBE_SERVER_IP: "", + KUBE_SERVER_PORT: "6443", + KUBE_SERVER_INSECURE: "False", + KUBE_SERVER_DISABLE: "False" } for f in def_data: if db_data and f in db_data: if f == field and db_data[f] != val: - config_db.mod_entry(table, key, {field: val}) + db.cfgdb.mod_entry(KUBE_SERVER_TABLE_NAME, KUBE_SERVER_TABLE_KEY, {field: val}) log.log_info("modify kubernetes server entry {}={}".format(field,val)) else: # Missing field. Set to default or given value v = val if f == field else def_data[f] - config_db.mod_entry(table, key, {f: v}) + db.cfgdb.mod_entry(KUBE_SERVER_TABLE_NAME, KUBE_SERVER_TABLE_KEY, {f: v}) log.log_info("set kubernetes server entry {}={}".format(f,v)) -def _take_lock(): - lock_fd = None - try: - lock_fd = open(LOCK_FILE, "w") - fcntl.lockf(lock_fd, fcntl.LOCK_EX | fcntl.LOCK_NB) - log.log_info("Lock taken {}".format(LOCK_FILE)) - except IOError as e: - lock_fd = None - log.log_error("Lock {} failed: {}".format(LOCK_FILE, str(e))) - return lock_fd - - -def _download_file(server, insecure): - fname = "" - if insecure: - urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) - - r = requests.get(SERVER_ADMIN_URL.format(server), verify=not insecure) - if r.status_code == 200: - (h, fname) = tempfile.mkstemp(suffix="_kube_join") - os.write(h, r.text) - os.close(h) - else: - clicommon.do_exit("Failed to download {}".format( - SERVER_ADMIN_URL.format(server))) - - # Ensure the admin.conf has given VIP as server-IP. - update_file = "{}.upd".format(fname) - cmd = 'sed "s/server:.*:6443/server: https:\/\/{}:6443/" {} > {}'.format( - server, fname, update_file) - clicommon.run_command(cmd) - - shutil.copyfile(update_file, KUBE_ADMIN_CONF) - - clicommon.run_command("rm -f {} {}".format(fname, update_file)) - - -def _is_connected(server=""): - if (os.path.exists(KUBE_ADMIN_CONF) and - os.path.exists(KUBELET_YAML) and - os.path.exists(KUBELET_SERVICE)): - - with open(KUBE_ADMIN_CONF, 'r') as s: - d = yaml.load(s) - d = d['clusters'] if 'clusters' in d else [] - d = d[0] if len(d) > 0 else {} - d = d['cluster'] if 'cluster' in d else {} - d = d['server'] if 'server' in d else "" - if d: - o = urlparse(d) - if o.hostname: - return not server or server == o.hostname - return False - - -def _get_labels(): - labels = [] - - hwsku = device_info.get_hwsku() - version_info = device_info.get_sonic_version_info() - - labels.append("sonic_version={}".format(version_info['build_version'])) - labels.append("hwsku={}".format(hwsku)) - lh = Db().get_data('DEVICE_METADATA', 'localhost') - labels.append("deployment_type={}".format( - lh['type'] if lh and 'type' in lh else "Unknown")) - labels.append("enable_pods=True") - - return labels - - -def _label_node(label): - cmd = "kubectl --kubeconfig {} label nodes {} {}".format( - KUBE_ADMIN_CONF, device_info.get_hostname(), label) - clicommon.run_command(cmd, ignore_error=True) - - -def _troubleshoot_tips(): - msg = """ -if join fails, check the following - -a) Ensure both master & node run same or compatible k8s versions - -b) Check if this node already exists in master - Use 'sudo kubectl --kubeconfig=/etc/kubernetes/admin.conf get nodes' to list nodes at master. - - If yes, delete it, as the node is attempting a new join. - 'kubectl --kubeconfig=/etc/kubernetes/admin.conf drain --ignore-daemonsets' - 'kubectl --kubeconfig=/etc/kubernetes/admin.conf delete node ' - -c) In Master check if all system pods are running good. - 'kubectl get pods --namespace kube-system' - - If any not running properly, say READY column has 0/1, decribe pod for more detail. - 'kubectl --namespace kube-system describe pod ' +def _label_node(dbconn, name, val=None): + set_key = "{}|{}".format(KUBE_LABEL_TABLE, KUBE_LABEL_SET_KEY) + client = dbconn.get_redis_client(dbconn.STATE_DB) + client.hset(set_key, name, val if val else "false") - For additional details, look into pod's logs. - @ node: /var/log/pods//... - @ master: 'kubectl logs -n kube-system ' - """ - (h, fname) = tempfile.mkstemp(suffix="kube_hints_") - os.write(h, msg) - os.close(h) - - log.log_error("Refer file {} for troubleshooting tips".format(fname)) - - -def _do_join(server, insecure): - try: - _download_file(server, insecure) - - clicommon.run_command("systemctl enable kubelet") - - clicommon.run_command("modprobe br_netfilter") - - clicommon.run_command(KUBEADM_JOIN_CMD.format( - KUBE_ADMIN_CONF, device_info.get_hostname()), ignore_error=True) - - if _is_connected(server): - labels = _get_labels() - for label in labels: - _label_node(label) - - except requests.exceptions.RequestException as e: - clicommon.do_exit("Download failed: {}".format(str(e))) - - except OSError as e: - clicommon.do_exit("Download failed: {}".format(str(e))) - - _troubleshoot_tips() - - -def kube_reset(): - lock_fd = _take_lock() - if not lock_fd: - log.log_error("Lock {} is active; Bail out".format(LOCK_FILE)) - return - - # Remove a key label and drain/delete self from cluster - # If not, the next join would fail - # - if os.path.exists(KUBE_ADMIN_CONF): - _label_node("enable_pods-") - clicommon.run_command( - "kubectl --kubeconfig {} --request-timeout 20s drain {} --ignore-daemonsets".format( - KUBE_ADMIN_CONF, device_info.get_hostname()), - ignore_error=True) - clicommon.run_command( - "kubectl --kubeconfig {} --request-timeout 20s delete node {}".format( - KUBE_ADMIN_CONF, device_info.get_hostname()), - ignore_error=True) - - clicommon.run_command("kubeadm reset -f", ignore_error=True) - clicommon.run_command("rm -rf /etc/cni/net.d") - clicommon.run_command("rm -f {}".format(KUBE_ADMIN_CONF)) - clicommon.run_command("systemctl stop kubelet") - clicommon.run_command("systemctl disable kubelet") - - -def kube_join(force=False): - lock_fd = _take_lock() - if not lock_fd: - log.log_error("Lock {} is active; Bail out".format(LOCK_FILE)) - return - - db_data = Db().get_data('KUBERNETES_MASTER', 'SERVER') - if not db_data or 'IP' not in db_data or not db_data['IP']: - log.log_error("Kubernetes server is not configured") - - if db_data['disable'].lower() != "false": - log.log_error("kube join skipped as kubernetes server is marked disabled") - return - - if not force: - if _is_connected(db_data['IP']): - # Already connected. No-Op - return - - kube_reset() - _do_join(db_data['IP'], db_data['insecure']) - - -@click.group(cls=clicommon.AbbreviationGroup) +@click.group(cls=AbbreviationGroup) def kubernetes(): """kubernetes command line""" pass -# cmd kubernetes join [-f/--force] -@kubernetes.command() -@click.option('-f', '--force', help='Force a join', is_flag=True) -def join(force): - kube_join(force=force) - - -# cmd kubernetes reset -@kubernetes.command() -def reset(): - kube_reset() - - # cmd kubernetes server @kubernetes.group() def server(): @@ -260,29 +78,45 @@ def server(): # cmd kubernetes server IP @server.command() -@click.argument('vip') -def ip(vip): +@click.argument('vip', required=True) +@pass_db +def ip(db, vip): """Specify a kubernetes cluster VIP""" - if not netaddr.IPAddress(vip): + if vip and not is_valid_ip4_addr(vip) and not is_valid_ip6_addr(vip): click.echo('Invalid IP address %s' % vip) - return - _update_kube_server('IP', vip) + sys.exit(1) + _update_kube_server(db, KUBE_SERVER_IP, vip) + + +# cmd kubernetes server Port +@server.command() +@click.argument('portval', required=True) +@pass_db +def port(db, portval): + """Specify a kubernetes Service port""" + val = int(portval) + if (val <= 0) or (val >= (64 << 10)): + click.echo('Invalid port value %s' % portval) + sys.exit(1) + _update_kube_server(db, KUBE_SERVER_PORT, portval) # cmd kubernetes server insecure @server.command() @click.argument('option', type=click.Choice(["on", "off"])) -def insecure(option): +@pass_db +def insecure(db, option): """Specify a kubernetes cluster VIP access as insecure or not""" - _update_kube_server('insecure', option == "on") + _update_kube_server(db, 'insecure', option == "on") # cmd kubernetes server disable @server.command() @click.argument('option', type=click.Choice(["on", "off"])) -def disable(option): +@pass_db +def disable(db, option): """Specify a kubernetes cluster VIP access is disabled or not""" - _update_kube_server('disable', option == "on") + _update_kube_server(db, 'disable', option == "on") # cmd kubernetes label @@ -296,20 +130,16 @@ def label(): @label.command() @click.argument('key', required=True) @click.argument('val', required=True) -def add(key, val): +@pass_db +def add(db, key, val): """Add a label to this node""" - if not key or not val: - click.echo('Require key & val') - return - _label_node("{}={}".format(key, val)) + _label_node(db.db, key, val) # cmd kubernetes label drop @label.command() @click.argument('key', required=True) -def drop(key): +@pass_db +def drop(db, key): """Drop a label from this node""" - if not key: - click.echo('Require key to drop') - return - _label_node("{}-".format(key)) + _label_node(db.db, key) diff --git a/doc/Command-Reference.md b/doc/Command-Reference.md index 4122c0d865..3088b6db61 100644 --- a/doc/Command-Reference.md +++ b/doc/Command-Reference.md @@ -65,6 +65,9 @@ * [IP / IPv6](#ip--ipv6) * [IP show commands](#ip-show-commands) * [IPv6 show commands](#ipv6-show-commands) +* [Kubernetes](#Kubernetes) + * [Kubernetes show commands](#Kubernetes-show-commands) + * [Kubernetes config commands](#Kubernetes-config-commands) * [LLDP](#lldp) * [LLDP show commands](#lldp-show-commands) * [Loading, Reloading And Saving Configuration](#loading-reloading-and-saving-configuration) @@ -292,6 +295,7 @@ This command lists all the possible configuration commands at the top level. hostname Change device hostname without impacting traffic interface Interface-related configuration tasks interface_naming_mode Modify interface naming mode for interacting... + kubernetes Kubernetes server related configuration load Import a previous saved config DB dump file. load_mgmt_config Reconfigure hostname and mgmt interface based... load_minigraph Reconfigure based on minigraph. @@ -343,6 +347,7 @@ This command displays the full list of show commands available in the software; interfaces Show details of the network interfaces ip Show IP (IPv4) commands ipv6 Show IPv6 commands + kubernetes Show kubernetes commands line Show all /dev/ttyUSB lines and their info lldp LLDP (Link Layer Discovery Protocol)... logging Show system log @@ -2725,7 +2730,7 @@ The list of the WRED profile fields that are configurable is listed in the below Go Back To [Beginning of the document](#) or [Beginning of this section](#ecn) -## Feature +## Feature SONiC includes a capability in which Feature state can be enabled/disabled which will make corresponding feature docker container to start/stop. @@ -2738,43 +2743,102 @@ likelihood of entering a healthy state. ### Feature show commands +**show feature config** + +Shows the config of given feature or all if no feature is given. The "fallback" is shown only if configured. The fallback defaults to "true" when not configured. + +- Usage: + ``` + show feature config [] + ``` + +- Example: + ``` + admin@sonic:~$ show feature config + Feature State AutoRestart Owner fallback + -------------- -------- ------------- ------- ---------- + bgp enabled enabled local + database enabled disabled local + dhcp_relay enabled enabled kube + lldp enabled enabled kube true + mgmt-framework enabled enabled local + nat disabled enabled local + pmon enabled enabled kube + radv enabled enabled kube + sflow disabled enabled local + snmp enabled enabled kube + swss enabled enabled local + syncd enabled enabled local + teamd enabled enabled local + telemetry enabled enabled kube + ``` + **show feature status** -This command will display the status of feature state. +Shows the status of given feature or all if no feature is given. The "fallback" defaults to "true" when not configured. +The subset of features are configurable for remote management and only those report additional data. - Usage: ``` - show feature status [] + show feature status [] ``` - Example: ``` admin@sonic:~$ show feature status - Feature State AutoRestart - ---------- -------------- -------------- - bgp enabled enabled - database always_enabled always_enabled - dhcp_relay enabled enabled - lldp enabled enabled - pmon enabled enabled - radv enabled enabled - snmp enabled enabled - swss always_enabled enabled - syncd always_enabled enabled - teamd always_enabled enabled - telemetry enabled enabled + Feature State AutoRestart SystemState UpdateTime ContainerId ContainerVersion SetOwner CurrentOwner RemoteState + -------------- -------- ------------- ------------- ------------------- ------------- ------------------ ---------- -------------- ------------- + bgp enabled enabled up local local none + database enabled disabled local + dhcp_relay enabled enabled up 2020-11-15 18:21:09 249e70102f55 20201230.100 kube local + lldp enabled enabled up 2020-11-15 18:21:09 779c2d55ee12 20201230.100 kube local + mgmt-framework enabled enabled up local local none + nat disabled enabled local + pmon enabled enabled up 2020-11-15 18:20:27 a2b9ffa8aba3 20201230.100 kube local + radv enabled enabled up 2020-11-15 18:21:05 d8ff27dcfe46 20201230.100 kube local + sflow disabled enabled local + snmp enabled enabled up 2020-11-15 18:25:51 8b7d5529e306 20201230.111 kube kube running + swss enabled enabled up local local none + syncd enabled enabled up local local none + teamd enabled enabled up local local none + telemetry enabled enabled down 2020-11-15 18:24:59 20201230.100 kube none ``` -**show feature autorestart** -This command will display the status of auto-restart for feature container. +**config feature owner** + +Configures the owner for a feature as "local" or "kube". The "local" implies starting the feature container from local image. The "kube" implies that kubernetes server is made eligible to deploy the feature. The deployment of a feature by kubernetes is conditional based on many factors like, whether the kube server is configured or not, connected-to-kube-server or not and if that master has manifest for this feature for this switch or not and more. At some point in future, the deployment *could* happen and till that point the feature can run from local image, called "fallback". The fallback is allowed by default and it could be toggled to "not allowed". When fallback is not allowed, the feature would run only upon deployment by kubernetes master. - Usage: ``` - show feature autorestart [] + config feature owner [] [local/kube] + ``` + +- Example: + ``` + admin@sonic:~$ sudo config feature owner snmp kube + ``` + +**config feature fallback** + +Features configured for "kube" deployment could be allowed to fallback to using local image, until the point of successful kube deployment. The fallback is allowed by default. + +- Usage: + ``` + config feature fallback [] [on/off] ``` - Example: ``` + admin@sonic:~$ sudo config feature fallback snmp on + ``` + +**show feature autorestart** + +This command will display the status of auto-restart for feature container. + +- Usage: + ``` + show feature autorestart [] admin@sonic:~$ show feature autorestart Feature AutoRestart ---------- -------------- @@ -2803,10 +2867,6 @@ This command will configure the state for a specific feature. - Usage: ``` config feature state (enabled | disabled) - ``` - -- Example: - ``` admin@sonic:~$ sudo config feature state bgp disabled ``` @@ -2817,10 +2877,6 @@ This command will configure the status of auto-restart for a specific feature co - Usage: ``` config feature autorestart (enabled | disabled) - ``` - -- Example: - ``` admin@sonic:~$ sudo config feature autorestart bgp disabled ``` NOTE: If the existing state or auto-restart value for a feature is "always_enabled" then config @@ -3968,6 +4024,44 @@ Refer the routing stack [Quagga Command Reference](https://www.quagga.net/docs/q Go Back To [Beginning of the document](#) or [Beginning of this section](#ip--ipv6) +## Kubernetes + +### Kubernetes show commands + +**show kubernetes server config** + +This command displays the kubernetes server configuration, if any, else would report as not configured. + +- Usage: + ``` + show kubernetes server config + ``` + +- Example: + ``` + admin@sonic:~$ show kubernetes server config + ip port insecure disable + ----------- ------ ---------- --------- + 10.3.157.24 6443 True False + ``` + +**show kubernetes server status** + +This command displays the kubernetes server status. + +- Usage: + ``` + show kubernetes server status + ``` + +- Example: + ``` + admin@sonic:~$ show kubernetes server status + ip port connected update-time + ----------- ------ ----------- ------------------- + 10.3.157.24 6443 true 2020-11-15 18:25:05 + ``` + ## LLDP ### LLDP show commands diff --git a/scripts/fast-reboot b/scripts/fast-reboot index 8918620201..25b69a5c8b 100755 --- a/scripts/fast-reboot +++ b/scripts/fast-reboot @@ -20,6 +20,8 @@ PLATFORM=$(sonic-cfggen -H -v DEVICE_METADATA.localhost.platform) PLATFORM_PLUGIN="${REBOOT_TYPE}_plugin" LOG_SSD_HEALTH="/usr/local/bin/log_ssd_health" SSD_FW_UPDATE="ssd-fw-upgrade" +TAG_LATEST=yes + # Require 100M available on the hard drive for warm reboot temp files, # Size is in 1K blocks: MIN_HD_SPACE_NEEDED=100000 @@ -63,6 +65,7 @@ function showHelpAndExit() echo " -c : specify control plane assistant IP list" echo " -s : strict mode: do not proceed without:" echo " - control plane assistant IP list." + echo " -t : Don't tag the current kube images as latest" exit "${EXIT_SUCCESS}" } @@ -98,6 +101,9 @@ function parseOptions() s ) STRICT=yes ;; + t ) + TAG_LATEST=no + ;; esac done } @@ -438,6 +444,13 @@ setup_reboot_variables reboot_pre_check +if test -f /usr/local/bin/ctrmgr_tools.py +then + if [[ x"${TAG_LATEST}" == x"yes" ]]; then + /usr/local/bin/ctrmgr_tools.py tag-all + fi +fi + # Install new FW for mellanox platforms before control plane goes down # So on boot switch will not spend time to upgrade FW increasing the CP downtime if [[ "$sonic_asic_type" == "mellanox" ]]; then @@ -544,11 +557,11 @@ debug "Stopping bgp ..." systemctl stop bgp debug "Stopped bgp ..." -# Kill lldp, otherwise it sends informotion about reboot. +# Kill lldp, otherwise it sends information about reboot. # We call `docker kill lldp` to ensure the container stops as quickly as possible, # then immediately call `systemctl stop lldp` to prevent the service from # restarting the container automatically. -docker kill lldp &> /dev/null || debug "Docker lldp is not running ($?) ..." +container kill lldp &> /dev/null || debug "Docker lldp is not running ($?) ..." systemctl stop lldp if [[ "$REBOOT_TYPE" = "fast-reboot" ]]; then @@ -605,14 +618,19 @@ debug "Stopped syncd ..." # then immediately call `systemctl stop ...` to prevent the service from # restarting the container automatically. debug "Stopping all remaining containers ..." -for CONTAINER_NAME in $(docker ps --format '{{.Names}}'); do - CONTAINER_STOP_RC=0 - docker kill $CONTAINER_NAME &> /dev/null || CONTAINER_STOP_RC=$? - systemctl stop $CONTAINER_NAME || debug "Ignore stopping $CONTAINER_NAME error $?" - if [[ CONTAINER_STOP_RC -ne 0 ]]; then - debug "Failed killing container $CONTAINER_NAME RC $CONTAINER_STOP_RC ." - fi -done +if test -f /usr/local/bin/ctrmgr_tools.py +then + /usr/local/bin/ctrmgr_tools.py kill-all +else + for CONTAINER_NAME in $(docker ps --format '{{.Names}}'); do + CONTAINER_STOP_RC=0 + docker kill $CONTAINER_NAME &> /dev/null || CONTAINER_STOP_RC=$? + systemctl stop $CONTAINER_NAME || debug "Ignore stopping $CONTAINER_NAME error $?" + if [[ CONTAINER_STOP_RC -ne 0 ]]; then + debug "Failed killing container $CONTAINER_NAME RC $CONTAINER_STOP_RC ." + fi + done +fi debug "Stopped all remaining containers ..." # Stop the docker container engine. Otherwise we will have a broken docker storage diff --git a/scripts/reboot b/scripts/reboot index 18d68f918a..889f4c4bd5 100755 --- a/scripts/reboot +++ b/scripts/reboot @@ -29,6 +29,7 @@ EXIT_SONIC_INSTALLER_VERIFY_REBOOT=21 SSD_FW_UPDATE="ssd-fw-upgrade" REBOOT_SCRIPT_NAME=$(basename $0) REBOOT_TYPE="${REBOOT_SCRIPT_NAME}" +TAG_LATEST=yes function debug() { @@ -38,6 +39,16 @@ function debug() logger "$@" } +function tag_images() +{ + if test -f /usr/local/bin/ctrmgr_tools.py + then + if [[ x"${TAG_LATEST}" == x"yes" ]]; then + /usr/local/bin/ctrmgr_tools.py tag-all + fi + fi +} + function stop_sonic_services() { if [[ x"$ASIC_TYPE" != x"mellanox" ]]; then @@ -110,6 +121,9 @@ function parse_options() v ) VERBOSE=yes ;; + t ) + TAG_LATEST=no + ;; esac done } @@ -127,6 +141,9 @@ debug "User requested rebooting device ..." setup_reboot_variables reboot_pre_check +# Tag remotely deployed images as local +tag_images + # Stop SONiC services gracefully. stop_sonic_services diff --git a/show/feature.py b/show/feature.py index e3dfd907a3..f6aab9cf6b 100644 --- a/show/feature.py +++ b/show/feature.py @@ -1,3 +1,4 @@ +import sys import click from natsort import natsorted from tabulate import tabulate @@ -12,6 +13,27 @@ def feature(): """Show feature status""" pass + +def make_header(fields_info, fields): + header = ["Feature"] + + for (h, f, _) in fields_info: + if f in fields: + header.append(h) + return header + +def make_body(names, lst_data, fields, fields_info): + # Make body + body = [] + for name, data in zip(names, lst_data): + entry = [name] + for (_, f, d) in fields_info: + if f in fields: + entry.append(data[f] if f in data else d) + body.append(entry) + return body + + # # 'status' subcommand (show feature status) # @@ -19,20 +41,106 @@ def feature(): @click.argument('feature_name', required=False) @pass_db def feature_status(db, feature_name): - header = ['Feature', 'State', 'AutoRestart'] - body = [] - feature_table = db.cfgdb.get_table('FEATURE') + fields_info = [ + ('State', 'state', ""), + ('AutoRestart', 'auto_restart', ""), + ('SystemState', 'system_state', ""), + ('UpdateTime', 'update_time', ""), + ('ContainerId', 'container_id', ""), + ('Version', 'container_version', ""), + ('SetOwner', 'set_owner', ""), + ('CurrentOwner', 'current_owner', ""), + ('RemoteState', "remote_state", "") + ] + + cfg_table = db.cfgdb.get_table('FEATURE') + dbconn = db.db + keys = dbconn.keys(dbconn.STATE_DB, "FEATURE|*") + ordered_data = [] + fields = set() + names = [] if feature_name: - if feature_table and feature_name in feature_table: - body.append([feature_name, feature_table[feature_name]['state'], \ - feature_table[feature_name]['auto_restart']]) + key = "FEATURE|{}".format(feature_name) + if feature_name in cfg_table: + data = cfg_table[feature_name] + if keys and (key in keys): + data.update(dbconn.get_all(dbconn.STATE_DB, key)) + ordered_data.append(data) + fields = set(data.keys()) + names.append(feature_name) else: click.echo("Can not find feature {}".format(feature_name)) sys.exit(1) else: - for key in natsorted(list(feature_table.keys())): - body.append([key, feature_table[key]['state'], feature_table[key]['auto_restart']]) - click.echo(tabulate(body, header)) + for name in natsorted(cfg_table.keys()): + data = cfg_table[name] + key = "FEATURE|{}".format(name) + if keys and (key in keys): + data.update(dbconn.get_all(dbconn.STATE_DB, key)) + + fields = fields | set(data.keys()) + ordered_data.append(data) + names.append(name) + + header = make_header(fields_info, fields) + body = make_body(names, ordered_data, fields, fields_info) + click.echo(tabulate(body, header, disable_numparse=True)) + + +def _negate_bool_str(d): + d = d.lower() + if d == "true": + return "false" + if d == "false": + return "true" + return d + +def _update_data(upd_lst, data): + for f in upd_lst: + if f in data: + data[f] = upd_lst[f](data[f]) + return data + +# +# 'config' subcommand (show feature config) +# +@feature.command('config', short_help="Show feature config") +@click.argument('feature_name', required=False) +@pass_db +def feature_config(db, feature_name): + fields_info = [ + ('State', 'state', ""), + ('AutoRestart', 'auto_restart', ""), + ('Owner', 'set_owner', "local"), + ('fallback', 'no_fallback_to_local', "") + ] + + update_list = { "no_fallback_to_local" : _negate_bool_str } + + cfg_table = db.cfgdb.get_table('FEATURE') + ordered_data = [] + names = [] + fields = set() + if feature_name: + if feature_name in cfg_table: + data = _update_data(update_list, cfg_table[feature_name]) + ordered_data.append(data) + names.append(feature_name) + fields = set(data.keys()) + else: + click.echo("Can not find feature {}".format(feature_name)) + sys.exit(1) + else: + for key in natsorted(cfg_table.keys()): + data = _update_data(update_list, cfg_table[key]) + + fields = fields | set(data.keys()) + names.append(key) + ordered_data.append(data) + + header = make_header(fields_info, fields) + body = make_body(names, ordered_data, fields, fields_info) + click.echo(tabulate(body, header, disable_numparse=True)) # # 'autorestart' subcommand (show feature autorestart) diff --git a/show/kube.py b/show/kube.py index fbcfbe3e23..5ab8cf3f6f 100644 --- a/show/kube.py +++ b/show/kube.py @@ -1,67 +1,92 @@ -import os - import click -from sonic_py_common import device_info -from utilities_common.db import Db -import utilities_common.cli as clicommon +from tabulate import tabulate + +from utilities_common.cli import AbbreviationGroup, pass_db -KUBE_ADMIN_CONF = "/etc/sonic/kube_admin.conf" -KUBECTL_CMD = "kubectl --kubeconfig /etc/sonic/kube_admin.conf {}" REDIS_KUBE_TABLE = 'KUBERNETES_MASTER' REDIS_KUBE_KEY = 'SERVER' +KUBE_LABEL_TABLE = "KUBE_LABELS" +KUBE_LABEL_SET_KEY = "SET" -def _print_entry(d, prefix): - if prefix: - prefix += " " - if isinstance(d, dict): - for k in d: - _print_entry(d[k], prefix + k) - else: - print(prefix + str(d)) +def _print_entry(data, fields): + header = [] + body = [] + for (h, f, d) in fields: + header.append(h) + body.append(data[f] if f in data else d) -def run_kube_command(cmd): - if os.path.exists(KUBE_ADMIN_CONF): - clicommon.run_command(KUBECTL_CMD.format(cmd)) - else: - print("System not connected to cluster yet") + click.echo(tabulate([body,], header, disable_numparse=True)) # # kubernetes group ("show kubernetes ...") # -@click.group() +@click.group(cls=AbbreviationGroup, name='kubernetes', invoke_without_command=False) def kubernetes(): pass -@kubernetes.command() -def nodes(): - """List all nodes in this kubernetes cluster""" - run_kube_command("get nodes") +# cmd kubernetes server +@kubernetes.group() +def server(): + """ Server configuration """ + pass -@kubernetes.command() -def pods(): - """List all pods in this kubernetes cluster""" - run_kube_command("get pods --field-selector spec.nodeName={}".format(device_info.get_hostname())) +@server.command() +@pass_db +def config(db): + """Show kube configuration""" + server_cfg_fields = [ + # (
, , ) + ("ip", "ip" "", False), + ("port", "port", "6443"), + ("insecure", "insecure", "False"), + ("disable","disable", "False") + ] -@kubernetes.command() -def status(): - """Descibe this node""" - run_kube_command("describe node {}".format(device_info.get_hostname())) + kube_fvs = db.cfgdb.get_entry(REDIS_KUBE_TABLE, REDIS_KUBE_KEY) + if kube_fvs: + _print_entry(kube_fvs, server_cfg_fields) + else: + print("Kubernetes server is not configured") -@kubernetes.command() -def server(): +@server.command() +@pass_db +def status(db): """Show kube configuration""" - kube_fvs = Db().get_data(REDIS_KUBE_TABLE, REDIS_KUBE_KEY) + server_state_fields = [ + # (
, , ) + ("ip", "ip" "", False), + ("port", "port", "6443"), + ("connected", "connected", ""), + ("update-time", "update_time", "") + ] + + + kube_fvs = db.db.get_all(db.db.STATE_DB, + "{}|{}".format(REDIS_KUBE_TABLE, REDIS_KUBE_KEY)) if kube_fvs: - _print_entry(kube_fvs, "{} {}".format( - REDIS_KUBE_TABLE, REDIS_KUBE_KEY)) + _print_entry(kube_fvs, server_state_fields) else: - print("Kubernetes server is not configured") + print("Kubernetes server has no status info") + + +@kubernetes.command() +@pass_db +def labels(db): + header = ["name", "value"] + + body = [] + labels = db.db.get_all(db.db.STATE_DB, + "{}|{}".format(KUBE_LABEL_TABLE, KUBE_LABEL_SET_KEY)) + if labels: + for (n,v) in labels.items(): + body.append([n, v]) + click.echo(tabulate(body, header, disable_numparse=True)) diff --git a/tests/feature_test.py b/tests/feature_test.py index 1b5e275a7c..661dc9584d 100644 --- a/tests/feature_test.py +++ b/tests/feature_test.py @@ -5,34 +5,102 @@ from utilities_common.db import Db show_feature_status_output="""\ -Feature State AutoRestart ----------- -------------- -------------- -bgp enabled enabled -database always_enabled always_enabled -dhcp_relay enabled enabled -lldp enabled enabled -nat enabled enabled -pmon enabled enabled -radv enabled enabled -restapi disabled enabled -sflow disabled enabled -snmp enabled enabled -swss enabled enabled -syncd enabled enabled -teamd enabled enabled -telemetry enabled enabled +Feature State AutoRestart SetOwner +---------- -------------- -------------- ---------- +bgp enabled enabled local +database always_enabled always_enabled local +dhcp_relay enabled enabled kube +lldp enabled enabled kube +nat enabled enabled local +pmon enabled enabled kube +radv enabled enabled kube +restapi disabled enabled local +sflow disabled enabled local +snmp enabled enabled kube +swss enabled enabled local +syncd enabled enabled local +teamd enabled enabled local +telemetry enabled enabled kube +""" + +show_feature_status_output_with_remote_mgmt="""\ +Feature State AutoRestart SystemState UpdateTime ContainerId Version SetOwner CurrentOwner RemoteState +---------- -------------- -------------- ------------- ------------------- ------------- ------------ ---------- -------------- ------------- +bgp enabled enabled local +database always_enabled always_enabled local +dhcp_relay enabled enabled kube +lldp enabled enabled kube +nat enabled enabled local +pmon enabled enabled kube +radv enabled enabled kube +restapi disabled enabled local +sflow disabled enabled local +snmp enabled enabled up 2020-11-12 23:32:56 aaaabbbbcccc 20201230.100 kube kube kube +swss enabled enabled local +syncd enabled enabled local +teamd enabled enabled local +telemetry enabled enabled kube +""" + +show_feature_config_output="""\ +Feature State AutoRestart +---------- -------- ------------- +bgp enabled enabled +database enabled disabled +dhcp_relay enabled enabled +lldp enabled enabled +nat enabled enabled +pmon enabled enabled +radv enabled enabled +restapi disabled enabled +sflow disabled enabled +snmp enabled enabled +swss enabled enabled +syncd enabled enabled +teamd enabled enabled +telemetry enabled enabled +""" + +show_feature_config_output_with_remote_mgmt="""\ +Feature State AutoRestart Owner +---------- -------------- -------------- ------- +bgp enabled enabled local +database always_enabled always_enabled local +dhcp_relay enabled enabled kube +lldp enabled enabled kube +nat enabled enabled local +pmon enabled enabled kube +radv enabled enabled kube +restapi disabled enabled local +sflow disabled enabled local +snmp enabled enabled kube +swss enabled enabled local +syncd enabled enabled local +teamd enabled enabled local +telemetry enabled enabled kube """ show_feature_bgp_status_output="""\ -Feature State AutoRestart ---------- ------- ------------- -bgp enabled enabled +Feature State AutoRestart SetOwner +--------- ------- ------------- ---------- +bgp enabled enabled local """ show_feature_bgp_disabled_status_output="""\ -Feature State AutoRestart ---------- -------- ------------- -bgp disabled enabled +Feature State AutoRestart SetOwner +--------- -------- ------------- ---------- +bgp disabled enabled local +""" +show_feature_snmp_config_owner_output="""\ +Feature State AutoRestart Owner fallback +--------- ------- ------------- ------- ---------- +snmp enabled enabled local true +""" + +show_feature_snmp_config_fallback_output="""\ +Feature State AutoRestart Owner fallback +--------- ------- ------------- ------- ---------- +snmp enabled enabled kube false """ show_feature_autorestart_output="""\ @@ -68,9 +136,9 @@ """ show_feature_database_always_enabled_state_output="""\ -Feature State AutoRestart ---------- -------------- -------------- -database always_enabled always_enabled +Feature State AutoRestart SetOwner +--------- -------------- -------------- ---------- +database always_enabled always_enabled local """ show_feature_database_always_enabled_autorestart_output="""\ @@ -90,7 +158,7 @@ class TestFeature(object): def setup_class(cls): print("SETUP") - def test_show_feature_status(self, get_cmd_module): + def test_show_feature_status_no_kube_status(self, get_cmd_module): (config, show) = get_cmd_module runner = CliRunner() result = runner.invoke(show.cli.commands["feature"].commands["status"], []) @@ -99,6 +167,37 @@ def test_show_feature_status(self, get_cmd_module): assert result.exit_code == 0 assert result.output == show_feature_status_output + def test_show_feature_status(self, get_cmd_module): + (config, show) = get_cmd_module + db = Db() + dbconn = db.db + for (key, val) in [("system_state", "up"), ("current_owner", "kube"), + ("container_id", "aaaabbbbcccc"), ("update_time", "2020-11-12 23:32:56"), + ("container_version", "20201230.100"), ("remote_state", "kube")]: + dbconn.set(dbconn.STATE_DB, "FEATURE|snmp", key, val) + runner = CliRunner() + result = runner.invoke(show.cli.commands["feature"].commands["status"], ["snmp"], obj=db) + print(result.exit_code) + assert result.exit_code == 0 + + result = runner.invoke(show.cli.commands["feature"].commands["status"], [], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == show_feature_status_output_with_remote_mgmt + + def test_show_feature_config(self, get_cmd_module): + (config, show) = get_cmd_module + runner = CliRunner() + result = runner.invoke(show.cli.commands["feature"].commands["config"], []) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + if "Owner" in result.output: + assert result.output == show_feature_config_output_with_remote_mgmt + else: + assert result.output == show_feature_config_output + def test_show_feature_status_abbrev_cmd(self, get_cmd_module): (config, show) = get_cmd_module runner = CliRunner() @@ -134,6 +233,25 @@ def test_show_feature_autorestart(self, get_cmd_module): assert result.exit_code == 0 assert result.output == show_feature_autorestart_output + def test_fail_autorestart(self, get_cmd_module): + (config, show) = get_cmd_module + runner = CliRunner() + db = Db() + + # Try setting auto restart for non-existing feature + result = runner.invoke(config.config.commands["feature"].commands["autorestart"], ["foo", "disabled"]) + print(result.exit_code) + assert result.exit_code == 1 + + # Delete Feature table + db.cfgdb.delete_table("FEATURE") + + # Try setting auto restart when no FEATURE table + result = runner.invoke(config.config.commands["feature"].commands["autorestart"], ["bgp", "disabled"], obj=db) + print(result.exit_code) + assert result.exit_code == 1 + + def test_show_bgp_autorestart_status(self, get_cmd_module): (config, show) = get_cmd_module runner = CliRunner() @@ -164,6 +282,48 @@ def test_config_bgp_feature_state(self, get_cmd_module): assert result.exit_code == 0 assert result.output == show_feature_bgp_disabled_status_output + def test_config_snmp_feature_owner(self, get_cmd_module): + (config, show) = get_cmd_module + db = Db() + runner = CliRunner() + result = runner.invoke(config.config.commands["feature"].commands["owner"], ["snmp", "local"], obj=db) + print(result.exit_code) + print(result.output) + result = runner.invoke(config.config.commands["feature"].commands["fallback"], ["snmp", "on"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + + result = runner.invoke(show.cli.commands["feature"].commands["config"], ["foo"], obj=db) + print(result.exit_code) + assert result.exit_code == 1 + + result = runner.invoke(show.cli.commands["feature"].commands["config"], ["snmp"], obj=db) + print(result.output) + assert result.exit_code == 0 + assert result.output == show_feature_snmp_config_owner_output + + def test_config_unknown_feature_owner(self, get_cmd_module): + (config, show) = get_cmd_module + runner = CliRunner() + result = runner.invoke(config.config.commands["feature"].commands["owner"], ["foo", "local"]) + print(result.exit_code) + print(result.output) + assert result.exit_code == 1 + + def test_config_snmp_feature_fallback(self, get_cmd_module): + (config, show) = get_cmd_module + db = Db() + runner = CliRunner() + result = runner.invoke(config.config.commands["feature"].commands["fallback"], ["snmp", "off"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + result = runner.invoke(show.cli.commands["feature"].commands["config"], ["snmp"], obj=db) + print(result.output) + assert result.exit_code == 0 + assert result.output == show_feature_snmp_config_fallback_output + def test_config_bgp_autorestart(self, get_cmd_module): (config, show) = get_cmd_module db = Db() @@ -220,6 +380,7 @@ def test_config_unknown_feature(self, get_cmd_module): runner = CliRunner() result = runner.invoke(config.config.commands["feature"].commands['state'], ["foo", "enabled"]) print(result.output) + print(result.exit_code) assert result.exit_code == 1 @classmethod diff --git a/tests/kube_test.py b/tests/kube_test.py index 2a39c241d6..a19402a627 100644 --- a/tests/kube_test.py +++ b/tests/kube_test.py @@ -1,32 +1,62 @@ -import os -import sys from click.testing import CliRunner from utilities_common.db import Db -show_server_output_0="""\ +show_no_server_output="""\ Kubernetes server is not configured """ +show_server_output_0="""\ +ip port insecure disable +----------- ------ ---------- --------- +10.3.157.24 6443 True False +""" show_server_output_1="""\ -KUBERNETES_MASTER SERVER IP 10.10.10.11 -KUBERNETES_MASTER SERVER insecure False -KUBERNETES_MASTER SERVER disable False +ip port insecure disable +----------- ------ ---------- --------- +10.10.10.11 6443 True False """ show_server_output_2="""\ -KUBERNETES_MASTER SERVER IP 10.10.10.11 -KUBERNETES_MASTER SERVER insecure True -KUBERNETES_MASTER SERVER disable False +ip port insecure disable +----------- ------ ---------- --------- +10.3.157.24 6443 False False """ show_server_output_3="""\ -KUBERNETES_MASTER SERVER IP 10.10.10.11 -KUBERNETES_MASTER SERVER insecure True -KUBERNETES_MASTER SERVER disable True +ip port insecure disable +----------- ------ ---------- --------- +10.3.157.24 6443 True True +""" + +show_server_output_4="""\ +ip port insecure disable +----------- ------ ---------- --------- +10.3.157.24 7777 True False +""" + +empty_server_status="""\ +Kubernetes server has no status info +""" + +non_empty_server_status="""\ +ip port connected update-time +----------- ------ ----------- ------------------- +10.3.157.24 6443 false 2020-11-13 00:49:05 +""" + +empty_labels="""\ +name value +------ ------- """ +non_empty_labels="""\ +name value +------------- ------------- +hwsku Force10-S6000 +teamd_enabled false +""" -class kube(object): +class TestKube(object): @classmethod def setup_class(cls): print("SETUP") @@ -35,44 +65,145 @@ def setup_class(cls): def __check_res(self, result, info, op): print("Running test: {}".format(info)) print(result.exit_code) - print(result.output) assert result.exit_code == 0 - assert "\n".join([ l.rstrip() for l in result.output.split('\n')]) == op - + print(result.output) + assert result.output == op def test_kube_server(self, get_cmd_module): (config, show) = get_cmd_module - db = Db() runner = CliRunner() # Check server not configured - result = runner.invoke(show.cli.commands["kubernetes"].commands["server"]) - self.__check_res(result, "empty server test", show_server_output_0) + result = runner.invoke(show.cli.commands["kubernetes"].commands["server"].commands["config"]) + self.__check_res(result, "init server config test", show_server_output_0) + + result = runner.invoke(show.cli.commands["kubernetes"].commands["server"].commands["status"]) + self.__check_res(result, "init server status test", empty_server_status) + + def test_no_kube_server(self, get_cmd_module): + (config, show) = get_cmd_module + runner = CliRunner() + db = Db() + + db.cfgdb.delete_table("KUBERNETES_MASTER") + + # Check server not configured + result = runner.invoke(show.cli.commands["kubernetes"].commands["server"].commands["config"], [], obj=db) + self.__check_res(result, "null server config test", show_no_server_output) + + # Add IP when not configured + result = runner.invoke(config.config.commands["kubernetes"].commands["server"], ["ip", "10.10.10.11"], obj=db) + self.__check_res(result, "set server IP when none", "") + + + + def test_kube_server_status(self, get_cmd_module): + (config, show) = get_cmd_module + runner = CliRunner() + db = Db() + dbconn = db.db + + for (k, v) in [ ("ip", "10.3.157.24"), ("port", "6443"), + ("connected", "false"), ("update_time", "2020-11-13 00:49:05")]: + dbconn.set(dbconn.STATE_DB, "KUBERNETES_MASTER|SERVER", k, v) + + result = runner.invoke(show.cli.commands["kubernetes"].commands["server"].commands["status"], [], obj=db) + self.__check_res(result, "init server status test", non_empty_server_status) + + + def test_set_server_ip(self, get_cmd_module): + (config, show) = get_cmd_module + db = Db() + runner = CliRunner() # Add IP & test show result = runner.invoke(config.config.commands["kubernetes"].commands["server"], ["ip", "10.10.10.11"], obj=db) self.__check_res(result, "set server IP", "") - - result = runner.invoke(show.cli.commands["kubernetes"].commands["server"]) + + result = runner.invoke(show.cli.commands["kubernetes"].commands["server"].commands["config"], [], obj=db) self.__check_res(result, "check server IP", show_server_output_1) + def test_set_server_invalid_ip_port(self, get_cmd_module): + (config, show) = get_cmd_module + db = Db() + runner = CliRunner() + + # test invalid IP + result = runner.invoke(config.config.commands["kubernetes"].commands["server"], ["ip", "10101011"], obj=db) + assert result.exit_code == 1 + + # test invalid port + result = runner.invoke(config.config.commands["kubernetes"].commands["server"], ["port", "10101011"], obj=db) + assert result.exit_code == 1 + + + + def test_set_insecure(self, get_cmd_module): + (config, show) = get_cmd_module + db = Db() + runner = CliRunner() + # set insecure as True & test show - result = runner.invoke(config.config.commands["kubernetes"].commands["server"], ["insecure", "on"], obj=db) + result = runner.invoke(config.config.commands["kubernetes"].commands["server"], ["insecure", "off"], obj=db) self.__check_res(result, "set server insecure", "") - - result = runner.invoke(show.cli.commands["kubernetes"].commands["server"]) + + result = runner.invoke(show.cli.commands["kubernetes"].commands["server"].commands["config"], [], obj=db) self.__check_res(result, "check server IP", show_server_output_2) - + + + def test_set_disable(self, get_cmd_module): + (config, show) = get_cmd_module + db = Db() + runner = CliRunner() + # set disable as True & test show result = runner.invoke(config.config.commands["kubernetes"].commands["server"], ["disable", "on"], obj=db) self.__check_res(result, "set server disable", "") - - result = runner.invoke(show.cli.commands["kubernetes"].commands["server"]) + + result = runner.invoke(show.cli.commands["kubernetes"].commands["server"].commands["config"], [], obj=db) self.__check_res(result, "check server IP", show_server_output_3) - + + def test_set_port(self, get_cmd_module): + (config, show) = get_cmd_module + db = Db() + runner = CliRunner() + + # set port to a different value & test show + result = runner.invoke(config.config.commands["kubernetes"].commands["server"], ["port", "7777"], obj=db) + self.__check_res(result, "set server port", "") + + result = runner.invoke(show.cli.commands["kubernetes"].commands["server"].commands["config"], [], obj=db) + self.__check_res(result, "check server IP", show_server_output_4) + + + def test_kube_labels(self, get_cmd_module): + (config, show) = get_cmd_module + runner = CliRunner() + + # Check for no labels + result = runner.invoke(show.cli.commands["kubernetes"].commands["labels"]) + self.__check_res(result, "no labels", empty_labels) + + + def test_set_kube_labels(self, get_cmd_module): + (config, show) = get_cmd_module + db = Db() + runner = CliRunner() + + # Add a label + result = runner.invoke(config.config.commands["kubernetes"].commands["label"].commands["add"], ["hwsku", "Force10-S6000"], obj=db) + self.__check_res(result, "set add label", "") + + # Drop a label + result = runner.invoke(config.config.commands["kubernetes"].commands["label"].commands["drop"], ["teamd_enabled"], obj=db) + self.__check_res(result, "set drop label", "") + + result = runner.invoke(show.cli.commands["kubernetes"].commands["labels"], [], obj=db) + self.__check_res(result, "Test labels", non_empty_labels) + @classmethod def teardown_class(cls): diff --git a/tests/mock_tables/config_db.json b/tests/mock_tables/config_db.json index 06e1f65f80..74437b197a 100644 --- a/tests/mock_tables/config_db.json +++ b/tests/mock_tables/config_db.json @@ -570,72 +570,86 @@ "FEATURE|bgp": { "state": "enabled", "auto_restart": "enabled", - "high_mem_alert": "disabled" + "high_mem_alert": "disabled", + "set_owner": "local" }, "FEATURE|database": { "state": "always_enabled", "auto_restart": "always_enabled", - "high_mem_alert": "disabled" + "high_mem_alert": "disabled", + "set_owner": "local" }, "FEATURE|dhcp_relay": { "state": "enabled", "auto_restart": "enabled", - "high_mem_alert": "disabled" + "high_mem_alert": "disabled", + "set_owner": "kube" }, "FEATURE|lldp": { "state": "enabled", "auto_restart": "enabled", - "high_mem_alert": "disabled" + "high_mem_alert": "disabled", + "set_owner": "kube" }, "FEATURE|nat": { "state": "enabled", "auto_restart": "enabled", - "high_mem_alert": "disabled" + "high_mem_alert": "disabled", + "set_owner": "local" }, "FEATURE|pmon": { "state": "enabled", "auto_restart": "enabled", - "high_mem_alert": "disabled" + "high_mem_alert": "disabled", + "set_owner": "kube" }, "FEATURE|radv": { "state": "enabled", "auto_restart": "enabled", - "high_mem_alert": "disabled" + "high_mem_alert": "disabled", + "set_owner": "kube" }, "FEATURE|restapi": { "state": "disabled", "auto_restart": "enabled", - "high_mem_alert": "disabled" + "high_mem_alert": "disabled", + "set_owner": "local" }, "FEATURE|sflow": { "state": "disabled", "auto_restart": "enabled", - "high_mem_alert": "disabled" + "high_mem_alert": "disabled", + "set_owner": "local" }, "FEATURE|snmp": { "state": "enabled", "auto_restart": "enabled", - "high_mem_alert": "disabled" + "high_mem_alert": "disabled", + "set_owner": "kube" }, "FEATURE|swss": { "state": "enabled", "auto_restart": "enabled", - "high_mem_alert": "disabled" + "high_mem_alert": "disabled", + "set_owner": "local" }, "FEATURE|syncd": { "state": "enabled", "auto_restart": "enabled", - "high_mem_alert": "disabled" + "high_mem_alert": "disabled", + "set_owner": "local" }, "FEATURE|teamd": { "state": "enabled", "auto_restart": "enabled", - "high_mem_alert": "disabled" + "high_mem_alert": "disabled", + "set_owner": "local" }, "FEATURE|telemetry": { "state": "enabled", "auto_restart": "enabled", - "high_mem_alert": "disabled" + "high_mem_alert": "disabled", + "set_owner": "kube" }, "DEVICE_METADATA|localhost": { "default_bgp_status": "down", @@ -1404,5 +1418,11 @@ }, "DEFAULT_LOSSLESS_BUFFER_PARAMETER|AZURE": { "default_dynamic_th": "0" + }, + "KUBERNETES_MASTER|SERVER": { + "ip": "10.3.157.24", + "insecure": "True", + "disable": "False", + "port": "6443" } } diff --git a/utilities_common/cli.py b/utilities_common/cli.py index 3644f71b10..f521a576b8 100644 --- a/utilities_common/cli.py +++ b/utilities_common/cli.py @@ -537,12 +537,6 @@ def run_command(command, display_cmd=False, ignore_error=False, return_cmd=False sys.exit(rc) -def do_exit(msg): - m = "FATAL failure: {}. Exiting...".format(msg) - _log_msg(syslog.LOG_ERR, True, inspect.stack()[1][1], inspect.stack()[1][2], m) - raise SystemExit(m) - - def json_dump(data): """ Dump data in JSON format From 150642e1130654c6b543924de34a2e83f23782f0 Mon Sep 17 00:00:00 2001 From: Danny Allen Date: Tue, 22 Dec 2020 09:56:24 -0800 Subject: [PATCH 015/342] [dropcounters] Fix clear for non-root users (#1253) Signed-off-by: Danny Allen --- scripts/dropstat | 17 ++++++++++++----- tests/drops_group_test.py | 2 +- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/scripts/dropstat b/scripts/dropstat index bddd3fa0b2..a80269fa48 100755 --- a/scripts/dropstat +++ b/scripts/dropstat @@ -30,7 +30,8 @@ try: sys.path.insert(0, modules_path) sys.path.insert(0, test_path) import mock_tables.dbconnector - socket.gethostname = lambda : 'sonic_drops_test' + socket.gethostname = lambda: 'sonic_drops_test' + os.getuid = lambda: 27 except KeyError: pass @@ -75,8 +76,10 @@ std_port_headers_map = { # Standard Switch-Level Headers std_switch_description_header = ['DEVICE'] -# Bookkeeping Files -dropstat_dir = '/tmp/dropstat/' + +def get_dropstat_dir(): + dropstat_dir_prefix = '/tmp/dropstat' + return "{}-{}/".format(dropstat_dir_prefix, os.getuid()) class DropStat(object): @@ -89,8 +92,9 @@ class DropStat(object): self.db.connect(self.db.ASIC_DB) self.db.connect(self.db.APPL_DB) - self.port_drop_stats_file = os.path.join(dropstat_dir, 'port-stats-{}'.format(os.getuid())) - self.switch_drop_stats_file = os.path.join(dropstat_dir + 'switch-stats-{}'.format(os.getuid())) + dropstat_dir = get_dropstat_dir() + self.port_drop_stats_file = os.path.join(dropstat_dir, 'port-stats') + self.switch_drop_stats_file = os.path.join(dropstat_dir + 'switch-stats') self.stat_lookup = {} self.reverse_stat_lookup = {} @@ -405,6 +409,8 @@ Examples: group = args.group counter_type = args.type + dropstat_dir = get_dropstat_dir() + # Create the directory to hold clear results if not os.path.exists(dropstat_dir): try: @@ -422,5 +428,6 @@ Examples: else: print("Command not recognized") + if __name__ == '__main__': main() diff --git a/tests/drops_group_test.py b/tests/drops_group_test.py index 637ed09e18..d374275a48 100644 --- a/tests/drops_group_test.py +++ b/tests/drops_group_test.py @@ -82,7 +82,7 @@ sonic_drops_test 0 0 """ -dropstat_path = "/tmp/dropstat" +dropstat_path = "/tmp/dropstat-27" class TestDropCounters(object): @classmethod From b6221f4390af0c68849dfe5510256886ea07c7cc Mon Sep 17 00:00:00 2001 From: Praveen Chaudhary Date: Tue, 22 Dec 2020 12:04:13 -0800 Subject: [PATCH 016/342] [config] Add unit tests for 'config interface breakout' command (#1223) Consideration for sonic utilities breakout config tests: -- create a breakout config file, -- mock load_configMgmt() to return specially constructed configMgmtDPB instance. -- Device info get_ path*__file function should return default file so it should be mocked. -- config db must have breakout config table. -- mock get child ports to return interfaces, if needed. -- mock shut down interfaces, if needed. *Test Plan:* *>>> Test _get_ breakout options()* -- create a file breakout config. This can be a PY test fixture. -- mock device information part to return breakout file. -- pass argument incomplete as below and observe the results: a.) 1x1 b.) 4x c.) 2x d.) Wrong interface. *>> Test Verbose Args:* Pass verbose as args, and observe that loadConfigMgmt is called with verbose. *>> Test breakout_extra_table_warning Args:* Test breakout_extra_table_warning for breakout port. Add unknown_table to config with port which will be broken out Observe: Warning and ask User confirmation for the tables WithOut Yang models. *>>> Test Negative case: Test negative case of breakout port. Such as: Wrong Interface, wrong option and Wrong breakout Mode for DPB Command. *>>> Test below Config Breakout commands:* [Mock loadConfigMgmt and device info part for all below tests] [Load a fixed config in Data Tree, i.e. may not be same as configDB from mockTables] [Replace the configDB.json with test config if needed. Or correct configDB then use it. Also replace it at the end with original Config] [Note: we are testing only main.py part not config_mgmt.py] [Observe point for all below will be: a.) Click.echo part and b.) Update to BRK_CFG table in in-memory DB] # Ethernet8: start from 4x25G-->2x50G with -f -l sudo config interface breakout Ethernet8 2x50G -f -l # Ethernet8: move from 2x50G-->1x100G without force, list deps sudo config interface breakout Ethernet8 1x100G[40G] -f -l # Ethernet8: move from 2x50G-->1x100G with force, where deps exists sudo config interface breakout Ethernet8 1x100G[40G] -f # Ethernet8: move from 1x100G-->4x25G without force, no deps sudo config interface breakout Ethernet8 4x25G # Ethernet8: move from 4x25G-->1x100G with force, no deps sudo config interface breakout Ethernet8 1x100G -f # Ethernet8: move from 1x100G-->1x50G(2)+2x25G(2) with -f -l, sudo config interface breakout Ethernet8 1x50G(2)+2x25G(2) -f -l # Ethernet4: breakout from 4x25G to 2x50G with -f -l sudo config interface breakout Ethernet4 2x50G -f -l Signed-off-by: Praveen Chaudhary --- config/main.py | 7 +- tests/config_dpb_test.py | 669 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 673 insertions(+), 3 deletions(-) create mode 100644 tests/config_dpb_test.py diff --git a/config/main.py b/config/main.py index e452f135a3..7f82deec8c 100644 --- a/config/main.py +++ b/config/main.py @@ -1258,7 +1258,7 @@ def synchronous_mode(sync_mode): config reload -y \n 2. systemctl restart swss """ - + if sync_mode == 'enable' or sync_mode == 'disable': config_db = ConfigDBConnector() config_db.connect() @@ -2352,12 +2352,12 @@ def breakout(ctx, interface_name, mode, verbose, force_remove_dependencies, load portJson = dict(); portJson['PORT'] = port_dict # breakout_Ports will abort operation on failure, So no need to check return - breakout_Ports(cm, delPorts=final_delPorts, portJson=portJson, force=force_remove_dependencies, + breakout_Ports(cm, delPorts=final_delPorts, portJson=portJson, force=force_remove_dependencies, loadDefConfig=load_predefined_config, verbose=verbose) # Set Current Breakout mode in config DB brkout_cfg_keys = config_db.get_keys('BREAKOUT_CFG') - if interface_name.decode("utf-8") not in brkout_cfg_keys: + if interface_name not in brkout_cfg_keys: click.secho("[ERROR] {} is not present in 'BREAKOUT_CFG' Table!".format(interface_name), fg='red') raise click.Abort() config_db.set_entry("BREAKOUT_CFG", interface_name, {'brkout_mode': target_brkout_mode}) @@ -2367,6 +2367,7 @@ def breakout(ctx, interface_name, mode, verbose, force_remove_dependencies, load except Exception as e: click.secho("Failed to break out Port. Error: {}".format(str(e)), fg='magenta') + sys.exit(0) def _get_all_mgmtinterface_keys(): diff --git a/tests/config_dpb_test.py b/tests/config_dpb_test.py new file mode 100644 index 0000000000..4977c9ffd1 --- /dev/null +++ b/tests/config_dpb_test.py @@ -0,0 +1,669 @@ +import json +import os +from imp import load_source + +import mock +import pytest +from click.testing import CliRunner +from utilities_common.db import Db + +import config.main as config + +load_source('sonic_cfggen', '/usr/local/bin/sonic-cfggen') +from sonic_cfggen import deep_update, FormatConverter + +load_source('config_mgmt', \ + os.path.join(os.path.dirname(__file__), '..', 'config', 'config_mgmt.py')) +import config_mgmt + +breakout_cfg_file_json = { + "interfaces": { + "Ethernet0": { + "index": "1,1,1,1", + "lanes": "65,66,67,68", + "alias_at_lanes": "Eth1/1, Eth1/2, Eth1/3, Eth1/4", + "breakout_modes": "1x100G[40G],2x50G,4x25G[10G]" + }, + "Ethernet4": { + "index": "2,2,2,2", + "lanes": "69,70,71,72", + "alias_at_lanes": "Eth2/1, Eth2/2, Eth2/3, Eth2/4", + "breakout_modes": "1x100G[40G],2x50G,4x25G[10G],1x50G(2)+2x25G(2)" + }, + "Ethernet8": { + "index": "3,3,3,3", + "lanes": "73,74,75,76", + "alias_at_lanes": "Eth3/1, Eth3/2, Eth3/3, Eth3/4", + "breakout_modes": "1x100G[40G],2x50G,4x25G[10G],1x50G(2)+2x25G(2)" + }, + "Ethernet12": { + "index": "4,4,4,4", + "lanes": "77,78,79,80", + "alias_at_lanes": "Eth4/1, Eth4/2, Eth4/3, Eth4/4", + "breakout_modes": "1x100G[40G],2x50G,4x25G[10G]" + } + } +} + +@pytest.fixture(scope='module') +def breakout_cfg_file(): + ''' + Create a function to create a file as platform.json + ''' + file = '/tmp/breakout_cfg_file.json' + print("File is:{}",file) + with open(file, 'w') as f: + json.dump(breakout_cfg_file_json, f, indent=4) + yield file + + os.system("rm /tmp/breakout_cfg_file.json") + return + +@pytest.fixture(scope='module') +def sonic_db(scope='module'): + ''' + Read config Db, And Update it with starting config for DPB. + @return: db + ''' + db = Db() + tables = db.cfgdb.get_config() + # delete all tables + for table in tables: + db.cfgdb.delete_table(table) + # load new config + write_config_db(db.cfgdb, configDbJson) + return db + +mock_funcs = [None]*4 +@pytest.fixture(scope='function') +def mock_func(breakout_cfg_file, sonic_db): + ''' + Mock functions in config/main.py, then unmocked them after test funtion. + Note: Always remember to unmock the function if done in a file after + importing. + + @Param: breakout_cfg_file [PyFixture], Equivalent to platform.json + @Param: sonic_db [PyFixture], db.cfgdb -> Config DB. + ''' + # stored mock funcs + print("We are mocking") + mock_funcs[0] = config.device_info.get_path_to_port_config_file + mock_funcs[1] = config.load_ConfigMgmt + mock_funcs[2] = config.breakout_warnUser_extraTables + mock_funcs[3] = config.asic_type + + config.asic_type = mock.MagicMock(return_value = "broadcom") + config.device_info.get_path_to_port_config_file = \ + mock.MagicMock(return_value = breakout_cfg_file) + config.load_ConfigMgmt = \ + mock.MagicMock(return_value = config_mgmt_dpb(sonic_db.cfgdb)) + config.breakout_warnUser_extraTables = \ + mock.MagicMock(return_value = True) + yield + + config.device_info.get_path_to_port_config_file = mock_funcs[0] + config.load_ConfigMgmt = mock_funcs[1] + config.breakout_warnUser_extraTables = mock_funcs[2] + config.asic_type = mock_funcs[3] + + return + +def write_config_db(cfgdb, config): + data = dict() + deep_update(data, FormatConverter.to_deserialized(config)) + cfgdb.mod_config(FormatConverter.output_to_db(data)) + return + +def read_config_db(cfgdb): + data = dict() + deep_update(data, FormatConverter.db_to_output(cfgdb.get_config())) + return FormatConverter.to_serialized(data) + +def writeJson(d, file): + with open(file, 'w') as f: + json.dump(d, f, indent=4) + return + +def config_mgmt_dpb(cfgdb): + ''' + config_mgmt. ConfigMgmtDPB class instance with mocked functions. Not using + pytest fixture, because it is used in mocked funcs. + @param: cfgdb -> configDb. + @return: + cmdpb (ConfigMgmtDPB): Class instance of ConfigMgmtDPB with mocked funcs. + ''' + curConfig = read_config_db(cfgdb) + # create object + config_mgmt.CONFIG_DB_JSON_FILE = "/tmp/startConfigDb.json" + config_mgmt.DEFAULT_CONFIG_DB_JSON_FILE = "/tmp/portBreakOutConfigDb.json" + # write in temp file + writeJson(curConfig, config_mgmt.CONFIG_DB_JSON_FILE) + writeJson(portBreakOutConfigDbJson, config_mgmt.DEFAULT_CONFIG_DB_JSON_FILE) + cmdpb = config_mgmt.ConfigMgmtDPB(source=config_mgmt.CONFIG_DB_JSON_FILE) + # mock funcs + cmdpb.writeConfigDB = mock.MagicMock(return_value=True) + cmdpb._verifyAsicDB = mock.MagicMock(return_value=True) + return cmdpb + +class TestConfigDPB(object): + @classmethod + def setup_class(cls): + print("SETUP") + os.environ["UTILITIES_UNIT_TESTING"] = "1" + return + + @pytest.mark.usefixtures('mock_func') + def test_get_breakout_options(self): + ''' + Test mode options, which are generated from platform.json, + when TAB is pressed while DPB command. + Such as: sudo config interface breakout Ethernet4 2x + ''' + + ctx = None + args = ['config', 'interface', 'breakout', 'Ethernet4'] + ############## + incomplete = '1' + output = config._get_breakout_options(ctx, args, incomplete) + assert output == ['1x100G[40G]', '4x25G[10G]', '1x50G(2)+2x25G(2)'] + ############## + incomplete = '2' + output = config._get_breakout_options(ctx, args, incomplete) + assert output == ['2x50G', '4x25G[10G]', '1x50G(2)+2x25G(2)'] + ############## + incomplete = '1x' + output = config._get_breakout_options(ctx, args, incomplete) + assert output == ['1x100G[40G]', '1x50G(2)+2x25G(2)'] + ############## + incomplete = '2x' + output = config._get_breakout_options(ctx, args, incomplete) + assert output == ['2x50G', '1x50G(2)+2x25G(2)'] + ############## + incomplete = '4x' + output = config._get_breakout_options(ctx, args, incomplete) + assert output == ['4x25G[10G]'] + ############## + #Negattive case, Wrong Interface + args = ['config', 'interface', 'breakout', 'Etherne'] + output = config._get_breakout_options(ctx, args, incomplete) + #TODO: Uncomment it after Dev Fix, Right now Python BT for this. + #assert output == [] + return + + def test_config_breakout_extra_table_warning(self, breakout_cfg_file, sonic_db): + ''' + Test breakout_extra_table_warning for breakout port. + Warning and ask User confirmation from user for the tablesWithOutYang. + + @Param: breakout_cfg_file [PyFixture], Equivalent to platform.json + @Param: sonic_db [PyFixture], db.cfgdb -> Config DB. + ''' + + db = sonic_db + # add unknown table in config + unknown = { + "UNKNOWN_TABLE": { + "Ethernet0": { + "pkey": "pvalue" + } + } + } + write_config_db(db.cfgdb, unknown) + print(db.cfgdb.get_table('UNKNOWN_TABLE')) + + # Mock functions except breakout_warnUser_extraTables + mock_funcs[0] = config.device_info.get_path_to_port_config_file + mock_funcs[1] = config.load_ConfigMgmt + config.device_info.get_path_to_port_config_file = \ + mock.MagicMock(return_value = breakout_cfg_file) + config.load_ConfigMgmt = \ + mock.MagicMock(return_value = config_mgmt_dpb(db.cfgdb)) + + runner = CliRunner() + obj = {'config_db':db.cfgdb} + + result = runner.invoke(config.config.commands["interface"].\ + commands["breakout"], ['Ethernet0', '2x50G', '-v', '-y'], obj=obj) + print(result.exit_code, result.output) + assert result.exit_code == 0 + assert 'Below Config can not be verified' in result.output + assert 'UNKNOWN_TABLE' in result.output + assert 'Do you wish to Continue?' in result.output + + brk_cfg_table = db.cfgdb.get_table('BREAKOUT_CFG') + assert brk_cfg_table["Ethernet0"]["brkout_mode"] == '4x25G[10G]' + + # remove unknown table in config + unknown = { + "UNKNOWN_TABLE": None + } + write_config_db(db.cfgdb, unknown) + assert db.cfgdb.get_table('UNKNOWN_TABLE') == {} + # revert mocking + config.device_info.get_path_to_port_config_file = mock_funcs[0] + config.load_ConfigMgmt = mock_funcs[1] + + return + + @pytest.mark.usefixtures('mock_func') + def test_config_breakout_verbose(self, sonic_db): + ''' + Test verbose option for breakout port. Verbose option must be passed + to ConfigMgmtDPB Class. + @Param: sonic_db [PyFixture], db.cfgdb -> Config DB. + ''' + + db = sonic_db + runner = CliRunner() + obj = {'config_db':db.cfgdb} + + result = runner.invoke(config.config.commands["interface"].\ + commands["breakout"], ['Ethernet0', '2x50G', '-v', '-y'], obj=obj) + print(result.exit_code, result.output) + assert result.exit_code == 0 + assert 'Dependecies Exist.' in result.output + + # verbose must be set while creating instance of ConfigMgmt class + calls = [mock.call(True)] + assert config.load_ConfigMgmt.call_count == 1 + config.load_ConfigMgmt.assert_has_calls(calls, any_order=False) + + return + + @pytest.mark.usefixtures('mock_func') + def test_config_breakout_negative_cases(self, sonic_db): + ''' + Test negative case of breakout port. Such as: + Wrong Interface, wrong option and Wrong breakout Mode. + @Param: sonic_db [PyFixture], db.cfgdb -> Config DB. + ''' + + db = sonic_db + runner = CliRunner() + obj = {'config_db':db.cfgdb} + + # Wrong interface name + result = runner.invoke(config.config.commands["interface"].\ + commands["breakout"], ['Ethern', '2x50G', '-v', '-y'], obj=obj) + print(result.exit_code, result.output) + assert result.exit_code == 1 + #TODO: Uncomment it after Dev Fix, right now it is python bt + #assert "Ethern is not present" in result.output + + # Wrong mode + result = runner.invoke(config.config.commands["interface"].\ + commands["breakout"], ['Ethernet0', '1x50G', '-v', '-y'], obj=obj) + print(result.exit_code, result.output) + assert result.exit_code == 1 + assert "Target mode 1x50G is not available for the port Ethernet0" in result.output + + brk_cfg_table = db.cfgdb.get_table('BREAKOUT_CFG') + assert brk_cfg_table["Ethernet0"]["brkout_mode"] == '4x25G[10G]' + + # Wrong option + result = runner.invoke(config.config.commands["interface"].\ + commands["breakout"], ['Ethernet0', '2x50G', '-v', '-p' '-y'], obj=obj) + print(result.exit_code, result.output) + assert result.exit_code == 2 + assert "no such option: -p" in result.output + + brk_cfg_table = db.cfgdb.get_table('BREAKOUT_CFG') + assert brk_cfg_table["Ethernet0"]["brkout_mode"] == '4x25G[10G]' + + return + + @pytest.mark.usefixtures('mock_func') + def test_config_breakout_various_modes(self, sonic_db): + ''' + Test different combination of breakout port. + @Param: sonic_db [PyFixture], db.cfgdb -> Config DB. + + How this function works: + mock_func creates a mock for load_ConfigMgmt, which inturn create one + mocked object of ConfigMgmtDPB, each time when config breakout command + is executed, same object of ConfigMgmtDPB will be returned. + The object will also have data tree loaded and updated with each breakout + command, so we can run breakout command in continution assuming + config changes are happening to DB. + + writeConfigDB in ConfigMgmtDPB writes in new object of DB, so those + changes will be lost, i.e. not reflected in db.cfgdb. So we mock + writeConfigDB() or not, does not matter. + + config/main.py part will use db (sonic_db) while configDb update, + so brk_cfg_table updates will be seen in db. + ''' + + db = sonic_db + runner = CliRunner() + obj = {'config_db':db.cfgdb} + + ''' + INNER FUNCTIONS + ''' + # Ethernet8: start from 4x25G-->2x50G with -f -l + def config_dpb_port8_4x25G_2x50G_f_l(): + + result = runner.invoke(config.config.commands["interface"].\ + commands["breakout"], ['Ethernet8', '2x50G', '-v', '-f',\ + '-l', '-y'], obj=obj) + print(result.exit_code, result.output) + assert result.exit_code == 0 + assert 'Breakout process got successfully completed.' in result.output + + brk_cfg_table = db.cfgdb.get_table('BREAKOUT_CFG') + assert brk_cfg_table["Ethernet8"]["brkout_mode"] == '2x50G' + return + + # Ethernet8: move from 2x50G-->1x100G without force, list deps + def config_dpb_port8_2x50G_1x100G(): + + result = runner.invoke(config.config.commands["interface"].\ + commands["breakout"], ['Ethernet8', '1x100G[40G]', '-v','-y'], obj=obj) + print(result.exit_code, result.output) + assert result.exit_code == 0 + assert 'Dependecies Exist.' in result.output + assert 'Printing dependecies' in result.output + assert 'NO-NSW-PACL-V4' in result.output + + brk_cfg_table = db.cfgdb.get_table('BREAKOUT_CFG') + assert brk_cfg_table["Ethernet8"]["brkout_mode"] == '2x50G' + return + + # Ethernet8: move from 2x50G-->1x100G with force, where deps exists + def config_dpb_port8_2x50G_1x100G_f(): + + result = runner.invoke(config.config.commands["interface"].\ + commands["breakout"], ['Ethernet8', '1x100G[40G]', '-v', '-f',\ + '-y'], obj=obj) + print(result.exit_code, result.output) + assert result.exit_code == 0 + assert 'Breakout process got successfully completed.' in result.output + + brk_cfg_table = db.cfgdb.get_table('BREAKOUT_CFG') + assert brk_cfg_table["Ethernet8"]["brkout_mode"] == '1x100G[40G]' + return + + # Ethernet8: move from 1x100G-->4x25G without force, no deps + def config_dpb_port8_1x100G_4x25G(): + result = runner.invoke(config.config.commands["interface"].\ + commands["breakout"], ['Ethernet8', '4x25G[10G]', '-v',\ + '-y'], obj=obj) + print(result.exit_code, result.output) + assert result.exit_code == 0 + assert 'Breakout process got successfully completed.' in result.output + + brk_cfg_table = db.cfgdb.get_table('BREAKOUT_CFG') + assert brk_cfg_table["Ethernet8"]["brkout_mode"] == '4x25G[10G]' + return + + # Ethernet8: move from 4x25G-->1x100G with force, no deps + def config_dpb_port8_4x25G_1x100G_f(): + + result = runner.invoke(config.config.commands["interface"].\ + commands["breakout"], ['Ethernet8', '1x100G[40G]', '-v', '-f',\ + '-y'], obj=obj) + print(result.exit_code, result.output) + assert result.exit_code == 0 + assert 'Breakout process got successfully completed.' in result.output + + brk_cfg_table = db.cfgdb.get_table('BREAKOUT_CFG') + assert brk_cfg_table["Ethernet8"]["brkout_mode"] == '1x100G[40G]' + return + + # Ethernet8: move from 1x100G-->1x50G(2)+2x25G(2) with -f -l, + def config_dpb_port8_1x100G_1x50G_2x25G_f_l(): + + result = runner.invoke(config.config.commands["interface"].\ + commands["breakout"], ['Ethernet8', '1x50G(2)+2x25G(2)', '-v',\ + '-f', '-l', '-y'], obj=obj) + print(result.exit_code, result.output) + assert result.exit_code == 0 + assert 'Breakout process got successfully completed.' in result.output + + brk_cfg_table = db.cfgdb.get_table('BREAKOUT_CFG') + assert brk_cfg_table["Ethernet8"]["brkout_mode"] == '1x50G(2)+2x25G(2)' + return + + # Ethernet4: breakout from 4x25G to 2x50G with -f -l + def config_dpb_port4_4x25G_2x50G_f_l(): + + result = runner.invoke(config.config.commands["interface"].\ + commands["breakout"], ['Ethernet4', '2x50G', '-v',\ + '-f', '-l', '-y'], obj=obj) + print(result.exit_code, result.output) + assert result.exit_code == 0 + assert 'Breakout process got successfully completed.' in result.output + + brk_cfg_table = db.cfgdb.get_table('BREAKOUT_CFG') + assert brk_cfg_table["Ethernet4"]["brkout_mode"] == '2x50G' + assert brk_cfg_table["Ethernet8"]["brkout_mode"] == '1x50G(2)+2x25G(2)' + return + ''' + END OF INNER FUNCTIONS + ''' + + # Ethernet8: start from 4x25G-->2x50G with -f -l + config_dpb_port8_4x25G_2x50G_f_l() + # Ethernet8: move from 2x50G-->1x100G without force, list deps + config_dpb_port8_2x50G_1x100G() + # Ethernet8: move from 2x50G-->1x100G with force, where deps exists + config_dpb_port8_2x50G_1x100G_f() + # Ethernet8: move from 1x100G-->4x25G without force, no deps + config_dpb_port8_1x100G_4x25G() + # Ethernet8: move from 4x25G-->1x100G with force, no deps + config_dpb_port8_4x25G_1x100G_f() + # Ethernet8: move from 1x100G-->1x50G(2)+2x25G(2) with -f -l, + config_dpb_port8_1x100G_1x50G_2x25G_f_l() + # Ethernet4: breakout from 4x25G to 2x50G with -f -l + config_dpb_port4_4x25G_2x50G_f_l() + + return + + @classmethod + def teardown_class(cls): + print("TEARDOWN") + os.system("rm /tmp/startConfigDb.json") + os.system("rm /tmp/portBreakOutConfigDb.json") + os.environ["UTILITIES_UNIT_TESTING"] = "0" + return + +###########GLOBAL Configs##################################### +''' +Below Config will used as starting config for Dynamic Port Breakout +''' +configDbJson = { + "BREAKOUT_CFG": { + "Ethernet0": { + "brkout_mode": "4x25G[10G]" + }, + "Ethernet4": { + "brkout_mode": "4x25G[10G]" + }, + "Ethernet8": { + "brkout_mode": "4x25G[10G]" + }, + }, + "ACL_TABLE": { + "NO-NSW-PACL-TEST": { + "policy_desc": "NO-NSW-PACL-TEST", + "type": "L3", + "stage": "INGRESS", + "ports": [ + "Ethernet9", + "Ethernet11", + ] + }, + "NO-NSW-PACL-V4": { + "policy_desc": "NO-NSW-PACL-V4", + "type": "L3", + "stage": "INGRESS", + "ports": [ + "Ethernet0", + "Ethernet4", + "Ethernet8", + "Ethernet10" + ] + } + }, + "VLAN": { + "Vlan100": { + "admin_status": "up", + "description": "server_vlan", + "dhcp_servers": [ + "10.186.72.116" + ] + }, + }, + "VLAN_MEMBER": { + "Vlan100|Ethernet0": { + "tagging_mode": "untagged" + }, + "Vlan100|Ethernet2": { + "tagging_mode": "untagged" + }, + "Vlan100|Ethernet8": { + "tagging_mode": "untagged" + }, + "Vlan100|Ethernet11": { + "tagging_mode": "untagged" + }, + }, + "INTERFACE": { + "Ethernet10": {}, + "Ethernet10|2a04:0000:40:a709::1/126": { + "scope": "global", + "family": "IPv6" + } + }, + "PORT": { + "Ethernet0": { + "alias": "Eth1/1", + "lanes": "65", + "description": "", + "speed": "25000", + "admin_status": "up" + }, + "Ethernet1": { + "alias": "Eth1/2", + "lanes": "66", + "description": "", + "speed": "25000", + "admin_status": "up" + }, + "Ethernet2": { + "alias": "Eth1/3", + "lanes": "67", + "description": "", + "speed": "25000", + "admin_status": "up" + }, + "Ethernet3": { + "alias": "Eth1/4", + "lanes": "68", + "description": "", + "speed": "25000", + "admin_status": "up" + }, + "Ethernet4": { + "alias": "Eth2/1", + "lanes": "69", + "description": "", + "speed": "25000", + "admin_status": "up" + }, + "Ethernet5": { + "alias": "Eth2/2", + "lanes": "70", + "description": "", + "speed": "25000", + "admin_status": "up" + }, + "Ethernet6": { + "alias": "Eth2/3", + "lanes": "71", + "description": "", + "speed": "25000", + "admin_status": "up" + }, + "Ethernet7": { + "alias": "Eth2/4", + "lanes": "72", + "description": "", + "speed": "25000", + "admin_status": "up" + }, + "Ethernet8": { + "alias": "Eth3/1", + "lanes": "73", + "description": "", + "speed": "25000", + "admin_status": "up" + }, + "Ethernet9": { + "alias": "Eth3/2", + "lanes": "74", + "description": "", + "speed": "25000", + "admin_status": "up" + }, + "Ethernet10": { + "alias": "Eth3/3", + "lanes": "75", + "description": "", + "speed": "25000", + "admin_status": "up" + }, + "Ethernet11": { + "alias": "Eth3/4", + "lanes": "76", + "description": "", + "speed": "25000", + "admin_status": "up" + } + } +} + +portBreakOutConfigDbJson = { + "ACL_TABLE": { + "NO-NSW-PACL-TEST": { + "ports": [ + "Ethernet9", + "Ethernet11", + ] + }, + "NO-NSW-PACL-V4": { + "policy_desc": "NO-NSW-PACL-V4", + "ports": [ + "Ethernet0", + "Ethernet4", + "Ethernet8", + "Ethernet10" + ] + } + }, + "VLAN": { + "Vlan100": { + "admin_status": "up", + "description": "server_vlan", + "dhcp_servers": [ + "10.186.72.116" + ] + } + }, + "VLAN_MEMBER": { + "Vlan100|Ethernet8": { + "tagging_mode": "untagged" + }, + "Vlan100|Ethernet11": { + "tagging_mode": "untagged" + } + }, + "INTERFACE": { + "Ethernet11": {}, + "Ethernet11|2a04:1111:40:a709::1/126": { + "scope": "global", + "family": "IPv6" + } + } +} From 5e18bf5d039207cc3ca6758d4293efea265e18ca Mon Sep 17 00:00:00 2001 From: bingwang-ms <66248323+bingwang-ms@users.noreply.github.com> Date: Wed, 23 Dec 2020 04:20:03 +0800 Subject: [PATCH 017/342] Fix exception handling in python3 (#1324) **- What I did** In python3, message is not an attribute of Exception. As a result, another exception will be thrown in exception handling code. ``` "Traceback (most recent call last):", " File \"/usr/local/bin/fdbshow\", line 154, in ", " main()", " File \"/usr/local/bin/fdbshow\", line 150, in main", " print(e.message)", "AttributeError: 'RuntimeError' object has no attribute 'message'" ``` This commit addressed the issue. **- How I did it** Relpace `e.message` with `str(e)`. Signed-off-by: bingwang --- scripts/aclshow | 2 +- scripts/ecnconfig | 2 +- scripts/fdbclear | 2 +- scripts/fdbshow | 2 +- scripts/lldpshow | 2 +- scripts/mmuconfig | 2 +- scripts/natclear | 2 +- scripts/natconfig | 2 +- scripts/natshow | 2 +- scripts/nbrshow | 2 +- scripts/portconfig | 2 +- scripts/sonic_sku_create.py | 4 ++-- 12 files changed, 13 insertions(+), 13 deletions(-) diff --git a/scripts/aclshow b/scripts/aclshow index 36f73e4e34..a9ee169209 100755 --- a/scripts/aclshow +++ b/scripts/aclshow @@ -212,7 +212,7 @@ def main(): acls.previous_counters() acls.display_acl_stat(args.all) except Exception as e: - print(e.message, file=sys.stderr) + print(str(e), file=sys.stderr) sys.exit(1) if __name__ == "__main__": diff --git a/scripts/ecnconfig b/scripts/ecnconfig index c0ac26b817..96061dc5d1 100755 --- a/scripts/ecnconfig +++ b/scripts/ecnconfig @@ -326,7 +326,7 @@ def main(): sys.exit(1) except Exception as e: - print("Exception caught: ", e.message, file=sys.stderr) + print("Exception caught: ", str(e), file=sys.stderr) sys.exit(1) if __name__ == "__main__": diff --git a/scripts/fdbclear b/scripts/fdbclear index b7eec2d555..ceb5f22b7e 100644 --- a/scripts/fdbclear +++ b/scripts/fdbclear @@ -50,7 +50,7 @@ def main(): fdb.send_notification("ALL", "ALL") print("FDB entries are cleared.") except Exception as e: - print(e.message) + print(str(e)) sys.exit(1) if __name__ == "__main__": diff --git a/scripts/fdbshow b/scripts/fdbshow index 759472a56d..169bf7cf3c 100755 --- a/scripts/fdbshow +++ b/scripts/fdbshow @@ -147,7 +147,7 @@ def main(): fdb = FdbShow() fdb.display(args.vlan, args.port) except Exception as e: - print(e.message) + print(str(e)) sys.exit(1) if __name__ == "__main__": diff --git a/scripts/lldpshow b/scripts/lldpshow index 1530a56f8b..05ecb9c49e 100755 --- a/scripts/lldpshow +++ b/scripts/lldpshow @@ -201,7 +201,7 @@ def main(): lldp.parse_info(lldp_detail_info) lldp.display_sum(lldp_detail_info) except Exception as e: - print(e.message, file=sys.stderr) + print(str(e), file=sys.stderr) sys.exit(1) diff --git a/scripts/mmuconfig b/scripts/mmuconfig index e44fcf0e4d..96f3af1064 100755 --- a/scripts/mmuconfig +++ b/scripts/mmuconfig @@ -151,7 +151,7 @@ def main(config): sys.exit(1) except Exception as e: - print("Exception caught:", e.message, file=sys.stderr) + print("Exception caught:", str(e), file=sys.stderr) sys.exit(1) if __name__ == "__main__": diff --git a/scripts/natclear b/scripts/natclear index 2a46aaab18..8137218ac5 100644 --- a/scripts/natclear +++ b/scripts/natclear @@ -63,7 +63,7 @@ def main(): nat.send_statistics_notification("STATISTICS", "ALL") print("\nNAT statistics are cleared.") except Exception as e: - print(e.message) + print(str(e)) sys.exit(1) if __name__ == "__main__": diff --git a/scripts/natconfig b/scripts/natconfig index 8254c37b2e..e4e88ad580 100644 --- a/scripts/natconfig +++ b/scripts/natconfig @@ -367,7 +367,7 @@ def main(): nat.fetch_nat_zone() nat.display_nat_zone() except Exception as e: - print(e.message) + print(str(e)) sys.exit(1) if __name__ == "__main__": diff --git a/scripts/natshow b/scripts/natshow index cd0a58c38b..70a5170703 100644 --- a/scripts/natshow +++ b/scripts/natshow @@ -404,7 +404,7 @@ def main(): nat.display_count() except Exception as e: - print(e.message) + print(str(e)) sys.exit(1) if __name__ == "__main__": diff --git a/scripts/nbrshow b/scripts/nbrshow index dddeaa696a..694e64242d 100644 --- a/scripts/nbrshow +++ b/scripts/nbrshow @@ -261,7 +261,7 @@ def main(): arp.display() except Exception as e: - print(e.message) + print(str(e)) sys.exit(1) diff --git a/scripts/portconfig b/scripts/portconfig index cbb5cea938..c850cbe2fe 100755 --- a/scripts/portconfig +++ b/scripts/portconfig @@ -99,7 +99,7 @@ def main(): sys.exit(1) except Exception as e: - print(e.message, file=sys.stderr) + print(str(e), file=sys.stderr) sys.exit(1) if __name__ == "__main__": diff --git a/scripts/sonic_sku_create.py b/scripts/sonic_sku_create.py index 8ba9b3e520..846f454825 100755 --- a/scripts/sonic_sku_create.py +++ b/scripts/sonic_sku_create.py @@ -631,7 +631,7 @@ def create_sku_dir(self): try: shutil.copytree(self.base_sku_dir, self.new_sku_dir) except OSError as e: - print(e.message, file=sys.stderr) + print(str(e), file=sys.stderr) def remove_sku_dir(self): # remove SKU directory @@ -653,7 +653,7 @@ def remove_sku_dir(self): else: print("SKU directory: "+ self.new_sku_dir + " was NOT removed") except OSError as e: - print(e.message, file=sys.stderr) + print(str(e), file=sys.stderr) def platform_specific(self): # Function that checks for Platform specific restrictions From f44e57ed27aecb372229dc8b09b09b3886fb0f7d Mon Sep 17 00:00:00 2001 From: weixchen1215 <44277328+weixchen1215@users.noreply.github.com> Date: Tue, 22 Dec 2020 15:48:16 -0800 Subject: [PATCH 018/342] Retain fgnhg state db table entry during warm reboot (#1315) Add FG_ROUTE_TABLE to backup database for warm reboot support for fgnhg. --- scripts/fast-reboot | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/fast-reboot b/scripts/fast-reboot index 25b69a5c8b..e9519612de 100755 --- a/scripts/fast-reboot +++ b/scripts/fast-reboot @@ -248,11 +248,12 @@ function backup_database() debug "Backing up database ..." # Dump redis content to a file 'dump.rdb' in warmboot directory mkdir -p $WARM_DIR - # Delete keys in stateDB except FDB_TABLE|*, MIRROR_SESSION_TABLE|*, WARM_RESTART_ENABLE_TABLE|* + # Delete keys in stateDB except FDB_TABLE|*, MIRROR_SESSION_TABLE|*, WARM_RESTART_ENABLE_TABLE|*, FG_ROUTE_TABLE|* sonic-db-cli STATE_DB eval " for _, k in ipairs(redis.call('keys', '*')) do if not string.match(k, 'FDB_TABLE|') and not string.match(k, 'WARM_RESTART_TABLE|') \ and not string.match(k, 'MIRROR_SESSION_TABLE|') \ + and not string.match(k, 'FG_ROUTE_TABLE|') \ and not string.match(k, 'WARM_RESTART_ENABLE_TABLE|') \ and not string.match(k, 'VXLAN_TUNNEL_TABLE|') \ and not string.match(k, 'BUFFER_MAX_PARAM_TABLE|') then From f555e9e0d1e0f22e3941514f60647ec9eaa17cb0 Mon Sep 17 00:00:00 2001 From: Prabhu Sreenivasan <45380242+PrabhuSreenivasan@users.noreply.github.com> Date: Wed, 23 Dec 2020 19:11:00 +0530 Subject: [PATCH 019/342] [CRM]Add support for snat, dnat and ipmc crm resources (#1258) Signed-off-by: Prabhu Sreenivasan prabhu.sreenivasan@broadcom.com - What I did Added support for snat, dnat and ipmc resources under CRM module. - How I did it New feature NAT adds new resources snat_enty and dnat_entry that needs to be monitored. ipmc_entry tracks IP multicast resources used by switch. - How to verify it sonic-utilities tests and crm spytest --- crm/main.py | 86 ++++++- tests/crm_test.py | 276 +++++++++++++++++++++++ tests/mock_tables/asic0/config_db.json | 11 +- tests/mock_tables/asic0/counters_db.json | 8 +- tests/mock_tables/asic1/config_db.json | 11 +- tests/mock_tables/asic1/counters_db.json | 8 +- tests/mock_tables/config_db.json | 11 +- tests/mock_tables/counters_db.json | 8 +- 8 files changed, 406 insertions(+), 13 deletions(-) diff --git a/crm/main.py b/crm/main.py index 37e0b8eb12..b419cc212f 100644 --- a/crm/main.py +++ b/crm/main.py @@ -40,7 +40,11 @@ def show_summary(self): crm_info = configdb.get_entry('CRM', 'Config') if crm_info: - click.echo('\nPolling Interval: ' + crm_info['polling_interval'] + ' second(s)\n') + try: + click.echo('\nPolling Interval: ' + crm_info['polling_interval'] + ' second(s)\n') + except KeyError: + click.echo('\nError! Could not get CRM configuration.\n') + click.echo('\nError! Please configure polling interval.\n') else: click.echo('\nError! Could not get CRM configuration.\n') @@ -66,10 +70,16 @@ def show_thresholds(self, resource): if resource == 'all': for res in ["ipv4_route", "ipv6_route", "ipv4_nexthop", "ipv6_nexthop", "ipv4_neighbor", "ipv6_neighbor", "nexthop_group_member", "nexthop_group", "acl_table", "acl_group", "acl_entry", - "acl_counter", "fdb_entry"]: - data.append([res, crm_info[res + "_threshold_type"], crm_info[res + "_low_threshold"], crm_info[res + "_high_threshold"]]) + "acl_counter", "fdb_entry", "ipmc_entry", "snat_entry", "dnat_entry"]: + try: + data.append([res, crm_info[res + "_threshold_type"], crm_info[res + "_low_threshold"], crm_info[res + "_high_threshold"]]) + except KeyError: + pass else: - data.append([resource, crm_info[resource + "_threshold_type"], crm_info[resource + "_low_threshold"], crm_info[resource + "_high_threshold"]]) + try: + data.append([resource, crm_info[resource + "_threshold_type"], crm_info[resource + "_low_threshold"], crm_info[resource + "_high_threshold"]]) + except KeyError: + pass else: click.echo('\nError! Could not get CRM configuration.') @@ -87,10 +97,12 @@ def get_resources(self, resource): if crm_stats: if resource == 'all': for res in ["ipv4_route", "ipv6_route", "ipv4_nexthop", "ipv6_nexthop", "ipv4_neighbor", "ipv6_neighbor", - "nexthop_group_member", "nexthop_group", "fdb_entry"]: - data.append([res, crm_stats['crm_stats_' + res + "_used"], crm_stats['crm_stats_' + res + "_available"]]) + "nexthop_group_member", "nexthop_group", "fdb_entry", "ipmc_entry", "snat_entry", "dnat_entry"]: + if 'crm_stats_' + res + "_used" in crm_stats.keys() and 'crm_stats_' + res + "_available" in crm_stats.keys(): + data.append([res, crm_stats['crm_stats_' + res + "_used"], crm_stats['crm_stats_' + res + "_available"]]) else: - data.append([resource, crm_stats['crm_stats_' + resource + "_used"], crm_stats['crm_stats_' + resource + "_available"]]) + if 'crm_stats_' + resource + "_used" in crm_stats.keys() and 'crm_stats_' + resource + "_available" in crm_stats.keys(): + data.append([resource, crm_stats['crm_stats_' + resource + "_used"], crm_stats['crm_stats_' + resource + "_available"]]) return data @@ -353,6 +365,36 @@ def fdb(ctx): fdb.add_command(low) fdb.add_command(high) +@thresholds.group() +@click.pass_context +def ipmc(ctx): + """CRM configuration for IPMC resource""" + ctx.obj["crm"].res_type = 'ipmc_entry' + +ipmc.add_command(type) +ipmc.add_command(low) +ipmc.add_command(high) + +@thresholds.group() +@click.pass_context +def snat(ctx): + """CRM configuration for Source NAT resource""" + ctx.obj["crm"].res_type = 'snat_entry' + +snat.add_command(type) +snat.add_command(low) +snat.add_command(high) + +@thresholds.group() +@click.pass_context +def dnat(ctx): + """CRM configuration for Destination NAT resource""" + ctx.obj["crm"].res_type = 'dnat_entry' + +dnat.add_command(type) +dnat.add_command(low) +dnat.add_command(high) + @thresholds.group() @click.pass_context def acl(ctx): @@ -540,12 +582,42 @@ def fdb(ctx): elif ctx.obj["crm"].cli_mode == 'resources': ctx.obj["crm"].show_resources('fdb_entry') +@resources.command() +@click.pass_context +def ipmc(ctx): + """Show CRM information for IPMC resource""" + if ctx.obj["crm"].cli_mode == 'thresholds': + ctx.obj["crm"].show_thresholds('ipmc_entry') + elif ctx.obj["crm"].cli_mode == 'resources': + ctx.obj["crm"].show_resources('ipmc_entry') + +@resources.command() +@click.pass_context +def snat(ctx): + """Show CRM information for SNAT resource""" + if ctx.obj["crm"].cli_mode == 'thresholds': + ctx.obj["crm"].show_thresholds('snat_entry') + elif ctx.obj["crm"].cli_mode == 'resources': + ctx.obj["crm"].show_resources('snat_entry') + +@resources.command() +@click.pass_context +def dnat(ctx): + """Show CRM information for DNAT resource""" + if ctx.obj["crm"].cli_mode == 'thresholds': + ctx.obj["crm"].show_thresholds('dnat_entry') + elif ctx.obj["crm"].cli_mode == 'resources': + ctx.obj["crm"].show_resources('dnat_entry') + thresholds.add_command(acl) thresholds.add_command(all) thresholds.add_command(fdb) thresholds.add_command(ipv4) thresholds.add_command(ipv6) thresholds.add_command(nexthop) +thresholds.add_command(ipmc) +thresholds.add_command(snat) +thresholds.add_command(dnat) if __name__ == '__main__': diff --git a/tests/crm_test.py b/tests/crm_test.py index 2056b90775..f4fdcece10 100644 --- a/tests/crm_test.py +++ b/tests/crm_test.py @@ -47,6 +47,9 @@ acl_entry percentage 70 85 acl_counter percentage 70 85 fdb_entry percentage 70 85 +ipmc_entry percentage 70 85 +snat_entry percentage 70 85 +dnat_entry percentage 70 85 """ @@ -122,6 +125,30 @@ """ +crm_show_thresholds_snat = """\ + +Resource Name Threshold Type Low Threshold High Threshold +--------------- ---------------- --------------- ---------------- +snat_entry percentage 70 85 + +""" + +crm_show_thresholds_dnat = """\ + +Resource Name Threshold Type Low Threshold High Threshold +--------------- ---------------- --------------- ---------------- +dnat_entry percentage 70 85 + +""" + +crm_show_thresholds_ipmc = """\ + +Resource Name Threshold Type Low Threshold High Threshold +--------------- ---------------- --------------- ---------------- +ipmc_entry percentage 70 85 + +""" + crm_new_show_summary = """\ Polling Interval: 30 second(s) @@ -216,6 +243,30 @@ """ +crm_new_show_thresholds_snat = """\ + +Resource Name Threshold Type Low Threshold High Threshold +--------------- ---------------- --------------- ---------------- +snat_entry percentage 60 90 + +""" + +crm_new_show_thresholds_dnat = """\ + +Resource Name Threshold Type Low Threshold High Threshold +--------------- ---------------- --------------- ---------------- +dnat_entry percentage 60 90 + +""" + +crm_new_show_thresholds_ipmc = """\ + +Resource Name Threshold Type Low Threshold High Threshold +--------------- ---------------- --------------- ---------------- +ipmc_entry percentage 60 90 + +""" + crm_show_resources_acl_group = """\ Stage Bind Point Resource Name Used Count Available Count @@ -267,6 +318,9 @@ nexthop_group_member 0 16384 nexthop_group 0 512 fdb_entry 0 32767 +ipmc_entry 0 24576 +snat_entry 0 1024 +dnat_entry 0 1024 Stage Bind Point Resource Name Used Count Available Count @@ -374,6 +428,30 @@ """ +crm_show_resources_snat = """\ + +Resource Name Used Count Available Count +--------------- ------------ ----------------- +snat_entry 0 1024 + +""" + +crm_show_resources_dnat = """\ + +Resource Name Used Count Available Count +--------------- ------------ ----------------- +dnat_entry 0 1024 + +""" + +crm_show_resources_ipmc = """\ + +Resource Name Used Count Available Count +--------------- ------------ ----------------- +ipmc_entry 0 24576 + +""" + crm_multi_asic_show_resources_acl_group = """\ ASIC0 @@ -467,6 +545,9 @@ nexthop_group_member 0 16384 nexthop_group 0 512 fdb_entry 0 32767 +ipmc_entry 0 24576 +snat_entry 0 1024 +dnat_entry 0 1024 ASIC1 @@ -482,6 +563,9 @@ nexthop_group_member 0 16384 nexthop_group 0 512 fdb_entry 0 32767 +ipmc_entry 0 24576 +snat_entry 0 1024 +dnat_entry 0 1024 ASIC0 @@ -710,6 +794,58 @@ """ +crm_multi_asic_show_resources_snat = """\ + +ASIC0 + +Resource Name Used Count Available Count +--------------- ------------ ----------------- +snat_entry 0 1024 + + +ASIC1 + +Resource Name Used Count Available Count +--------------- ------------ ----------------- +snat_entry 0 1024 + +""" + +crm_multi_asic_show_resources_dnat = """\ + +ASIC0 + +Resource Name Used Count Available Count +--------------- ------------ ----------------- +dnat_entry 0 1024 + + +ASIC1 + +Resource Name Used Count Available Count +--------------- ------------ ----------------- +dnat_entry 0 1024 + +""" + +crm_multi_asic_show_resources_ipmc = """\ + +ASIC0 + +Resource Name Used Count Available Count +--------------- ------------ ----------------- +ipmc_entry 0 24576 + + +ASIC1 + +Resource Name Used Count Available Count +--------------- ------------ ----------------- +ipmc_entry 0 24576 + +""" + + class TestCrm(object): @classmethod def setup_class(cls): @@ -913,6 +1049,54 @@ def test_crm_show_thresholds_nexthop_group_object(self): assert result.exit_code == 0 assert result.output == crm_new_show_thresholds_nexthop_group_object + def test_crm_show_thresholds_snat(self): + runner = CliRunner() + db = Db() + result = runner.invoke(crm.cli, ['show', 'thresholds', 'snat'], obj=db) + print(sys.stderr, result.output) + assert result.exit_code == 0 + assert result.output == crm_show_thresholds_snat + result = runner.invoke(crm.cli, ['config', 'thresholds', 'snat', 'high', '90'], obj=db) + print(sys.stderr, result.output) + result = runner.invoke(crm.cli, ['config', 'thresholds', 'snat', 'low', '60'], obj=db) + print(sys.stderr, result.output) + result = runner.invoke(crm.cli, ['show', 'thresholds', 'snat'], obj=db) + print(sys.stderr, result.output) + assert result.exit_code == 0 + assert result.output == crm_new_show_thresholds_snat + + def test_crm_show_thresholds_dnat(self): + runner = CliRunner() + db = Db() + result = runner.invoke(crm.cli, ['show', 'thresholds', 'dnat'], obj=db) + print(sys.stderr, result.output) + assert result.exit_code == 0 + assert result.output == crm_show_thresholds_dnat + result = runner.invoke(crm.cli, ['config', 'thresholds', 'dnat', 'high', '90'], obj=db) + print(sys.stderr, result.output) + result = runner.invoke(crm.cli, ['config', 'thresholds', 'dnat', 'low', '60'], obj=db) + print(sys.stderr, result.output) + result = runner.invoke(crm.cli, ['show', 'thresholds', 'dnat'], obj=db) + print(sys.stderr, result.output) + assert result.exit_code == 0 + assert result.output == crm_new_show_thresholds_dnat + + def test_crm_show_thresholds_ipmc(self): + runner = CliRunner() + db = Db() + result = runner.invoke(crm.cli, ['show', 'thresholds', 'ipmc'], obj=db) + print(sys.stderr, result.output) + assert result.exit_code == 0 + assert result.output == crm_show_thresholds_ipmc + result = runner.invoke(crm.cli, ['config', 'thresholds', 'ipmc', 'high', '90'], obj=db) + print(sys.stderr, result.output) + result = runner.invoke(crm.cli, ['config', 'thresholds', 'ipmc', 'low', '60'], obj=db) + print(sys.stderr, result.output) + result = runner.invoke(crm.cli, ['show', 'thresholds', 'ipmc'], obj=db) + print(sys.stderr, result.output) + assert result.exit_code == 0 + assert result.output == crm_new_show_thresholds_ipmc + def test_crm_show_resources_acl_group(self): runner = CliRunner() result = runner.invoke(crm.cli, ['show', 'resources', 'acl', 'group']) @@ -997,6 +1181,27 @@ def test_crm_show_resources_nexthop(self): assert result.exit_code == 0 assert result.output == crm_show_resources_nexthop_group_object + def test_crm_show_resources_snat(self): + runner = CliRunner() + result = runner.invoke(crm.cli, ['show', 'resources', 'snat']) + print(sys.stderr, result.output) + assert result.exit_code == 0 + assert result.output == crm_show_resources_snat + + def test_crm_show_resources_dnat(self): + runner = CliRunner() + result = runner.invoke(crm.cli, ['show', 'resources', 'dnat']) + print(sys.stderr, result.output) + assert result.exit_code == 0 + assert result.output == crm_show_resources_dnat + + def test_crm_show_resources_ipmc(self): + runner = CliRunner() + result = runner.invoke(crm.cli, ['show', 'resources', 'ipmc']) + print(sys.stderr, result.output) + assert result.exit_code == 0 + assert result.output == crm_show_resources_ipmc + @classmethod def teardown_class(cls): print("TEARDOWN") @@ -1209,6 +1414,55 @@ def test_crm_show_thresholds_nexthop_group_object(self): assert result.exit_code == 0 assert result.output == crm_new_show_thresholds_nexthop_group_object + def test_crm_show_thresholds_snat(self): + runner = CliRunner() + db = Db() + result = runner.invoke(crm.cli, ['show', 'thresholds', 'snat'], obj=db) + print(sys.stderr, result.output) + assert result.exit_code == 0 + assert result.output == crm_show_thresholds_snat + result = runner.invoke(crm.cli, ['config', 'thresholds', 'snat', 'high', '90'], obj=db) + print(sys.stderr, result.output) + result = runner.invoke(crm.cli, ['config', 'thresholds', 'snat', 'low', '60'], obj=db) + print(sys.stderr, result.output) + result = runner.invoke(crm.cli, ['show', 'thresholds', 'snat'], obj=db) + print(sys.stderr, result.output) + assert result.exit_code == 0 + assert result.output == crm_new_show_thresholds_snat + + def test_crm_show_thresholds_dnat(self): + runner = CliRunner() + db = Db() + result = runner.invoke(crm.cli, ['show', 'thresholds', 'dnat'], obj=db) + print(sys.stderr, result.output) + assert result.exit_code == 0 + assert result.output == crm_show_thresholds_dnat + result = runner.invoke(crm.cli, ['config', 'thresholds', 'dnat', 'high', '90'], obj=db) + print(sys.stderr, result.output) + result = runner.invoke(crm.cli, ['config', 'thresholds', 'dnat', 'low', '60'], obj=db) + print(sys.stderr, result.output) + result = runner.invoke(crm.cli, ['show', 'thresholds', 'dnat'], obj=db) + print(sys.stderr, result.output) + assert result.exit_code == 0 + assert result.output == crm_new_show_thresholds_dnat + + def test_crm_show_thresholds_ipmc(self): + runner = CliRunner() + db = Db() + result = runner.invoke(crm.cli, ['show', 'thresholds', 'ipmc'], obj=db) + print(sys.stderr, result.output) + assert result.exit_code == 0 + assert result.output == crm_show_thresholds_ipmc + result = runner.invoke(crm.cli, ['config', 'thresholds', 'ipmc', 'high', '90'], obj=db) + print(sys.stderr, result.output) + result = runner.invoke(crm.cli, ['config', 'thresholds', 'ipmc', 'low', '60'], obj=db) + print(sys.stderr, result.output) + result = runner.invoke(crm.cli, ['show', 'thresholds', 'ipmc'], obj=db) + print(sys.stderr, result.output) + assert result.exit_code == 0 + assert result.output == crm_new_show_thresholds_ipmc + + def test_crm_multi_asic_show_resources_acl_group(self): runner = CliRunner() result = runner.invoke(crm.cli, ['show', 'resources', 'acl', 'group']) @@ -1293,6 +1547,28 @@ def test_crm_multi_asic_show_resources_nexthop(self): assert result.exit_code == 0 assert result.output == crm_multi_asic_show_resources_nexthop_group_object + def test_crm_multi_asic_show_resources_snat(self): + runner = CliRunner() + result = runner.invoke(crm.cli, ['show', 'resources', 'snat']) + print(sys.stderr, result.output) + assert result.exit_code == 0 + assert result.output == crm_multi_asic_show_resources_snat + + def test_crm_multi_asic_show_resources_dnat(self): + runner = CliRunner() + result = runner.invoke(crm.cli, ['show', 'resources', 'dnat']) + print(sys.stderr, result.output) + assert result.exit_code == 0 + assert result.output == crm_multi_asic_show_resources_dnat + + def test_crm_multi_asic_show_resources_ipmc(self): + runner = CliRunner() + result = runner.invoke(crm.cli, ['show', 'resources', 'ipmc']) + print(sys.stderr, result.output) + assert result.exit_code == 0 + assert result.output == crm_multi_asic_show_resources_ipmc + + @classmethod def teardown_class(cls): print("TEARDOWN") diff --git a/tests/mock_tables/asic0/config_db.json b/tests/mock_tables/asic0/config_db.json index 826daf4c6e..cd7b49fd0a 100644 --- a/tests/mock_tables/asic0/config_db.json +++ b/tests/mock_tables/asic0/config_db.json @@ -148,7 +148,16 @@ "ipv6_route_low_threshold": "70", "acl_entry_high_threshold": "85", "fdb_entry_low_threshold": "70", - "ipv6_nexthop_high_threshold": "85" + "ipv6_nexthop_high_threshold": "85", + "snat_entry_threshold_type": "percentage", + "snat_entry_high_threshold": "85", + "snat_entry_low_threshold": "70", + "dnat_entry_threshold_type": "percentage", + "dnat_entry_high_threshold": "85", + "dnat_entry_low_threshold": "70", + "ipmc_entry_threshold_type": "percentage", + "ipmc_entry_high_threshold": "85", + "ipmc_entry_low_threshold": "70" }, "MUX_CABLE|Ethernet32": { "state": "auto", diff --git a/tests/mock_tables/asic0/counters_db.json b/tests/mock_tables/asic0/counters_db.json index 488915a79c..9976978c64 100644 --- a/tests/mock_tables/asic0/counters_db.json +++ b/tests/mock_tables/asic0/counters_db.json @@ -1687,7 +1687,13 @@ "crm_stats_ipv6_route_used":"60", "crm_stats_ipv6_route_available":"16324", "crm_stats_ipv6_nexthop_used":"8", - "crm_stats_ipv6_neighbor_available":"4084" + "crm_stats_ipv6_neighbor_available":"4084", + "crm_stats_ipmc_entry_used":"0", + "crm_stats_ipmc_entry_available":"24576", + "crm_stats_snat_entry_used":"0", + "crm_stats_snat_entry_available":"1024", + "crm_stats_dnat_entry_used":"0", + "crm_stats_dnat_entry_available":"1024" }, "CRM:ACL_STATS:EGRESS:PORT":{ "crm_stats_acl_table_used":"0", diff --git a/tests/mock_tables/asic1/config_db.json b/tests/mock_tables/asic1/config_db.json index 9bd34c08a1..4d515ba2d3 100644 --- a/tests/mock_tables/asic1/config_db.json +++ b/tests/mock_tables/asic1/config_db.json @@ -117,7 +117,16 @@ "ipv6_route_low_threshold": "70", "acl_entry_high_threshold": "85", "fdb_entry_low_threshold": "70", - "ipv6_nexthop_high_threshold": "85" + "ipv6_nexthop_high_threshold": "85", + "snat_entry_threshold_type": "percentage", + "snat_entry_high_threshold": "85", + "snat_entry_low_threshold": "70", + "dnat_entry_threshold_type": "percentage", + "dnat_entry_high_threshold": "85", + "dnat_entry_low_threshold": "70", + "ipmc_entry_threshold_type": "percentage", + "ipmc_entry_high_threshold": "85", + "ipmc_entry_low_threshold": "70" }, "MUX_CABLE|Ethernet32": { "state": "auto", diff --git a/tests/mock_tables/asic1/counters_db.json b/tests/mock_tables/asic1/counters_db.json index a323ecde3e..798bb80b4f 100644 --- a/tests/mock_tables/asic1/counters_db.json +++ b/tests/mock_tables/asic1/counters_db.json @@ -894,7 +894,13 @@ "crm_stats_ipv6_route_used":"60", "crm_stats_ipv6_route_available":"16324", "crm_stats_ipv6_nexthop_used":"8", - "crm_stats_ipv6_neighbor_available":"4084" + "crm_stats_ipv6_neighbor_available":"4084", + "crm_stats_ipmc_entry_used":"0", + "crm_stats_ipmc_entry_available":"24576", + "crm_stats_snat_entry_used":"0", + "crm_stats_snat_entry_available":"1024", + "crm_stats_dnat_entry_used":"0", + "crm_stats_dnat_entry_available":"1024" }, "CRM:ACL_STATS:EGRESS:PORT":{ "crm_stats_acl_table_used":"0", diff --git a/tests/mock_tables/config_db.json b/tests/mock_tables/config_db.json index 74437b197a..fde2f7dc47 100644 --- a/tests/mock_tables/config_db.json +++ b/tests/mock_tables/config_db.json @@ -1314,7 +1314,16 @@ "ipv6_route_low_threshold": "70", "acl_entry_high_threshold": "85", "fdb_entry_low_threshold": "70", - "ipv6_nexthop_high_threshold": "85" + "ipv6_nexthop_high_threshold": "85", + "snat_entry_threshold_type": "percentage", + "snat_entry_high_threshold": "85", + "snat_entry_low_threshold": "70", + "dnat_entry_threshold_type": "percentage", + "dnat_entry_high_threshold": "85", + "dnat_entry_low_threshold": "70", + "ipmc_entry_threshold_type": "percentage", + "ipmc_entry_high_threshold": "85", + "ipmc_entry_low_threshold": "70" }, "CHASSIS_MODULE|LINE-CARD1": { "admin_status": "down" diff --git a/tests/mock_tables/counters_db.json b/tests/mock_tables/counters_db.json index b2de41ae9d..0a06fc22d9 100644 --- a/tests/mock_tables/counters_db.json +++ b/tests/mock_tables/counters_db.json @@ -1114,7 +1114,13 @@ "crm_stats_ipv6_route_used":"60", "crm_stats_ipv6_route_available":"16324", "crm_stats_ipv6_nexthop_used":"8", - "crm_stats_ipv6_neighbor_available":"4084" + "crm_stats_ipv6_neighbor_available":"4084", + "crm_stats_ipmc_entry_used":"0", + "crm_stats_ipmc_entry_available":"24576", + "crm_stats_snat_entry_used":"0", + "crm_stats_snat_entry_available":"1024", + "crm_stats_dnat_entry_used":"0", + "crm_stats_dnat_entry_available":"1024" }, "CRM:ACL_STATS:EGRESS:PORT":{ "crm_stats_acl_table_used":"0", From 6202a81d9b504c42d992ea33f361c35688f5fbbb Mon Sep 17 00:00:00 2001 From: Mahesh Maddikayala <10645050+smaheshm@users.noreply.github.com> Date: Wed, 23 Dec 2020 09:15:28 -0800 Subject: [PATCH 020/342] [pytest][qos][config] Added pytests for "config qos reload" commands (#1266) Added pytests for "config qos reload" commands. --- config/main.py | 45 ++- pfcwd/main.py | 2 + scripts/intfutil | 4 +- tests/config_test.py | 105 ++++++- tests/conftest.py | 35 ++- tests/crm_test.py | 5 +- tests/mock_tables/mock_multi_asic.py | 2 + tests/qos_config_input/0/buffers.json.j2 | 3 + tests/qos_config_input/0/buffers_config.j2 | 172 ++++++++++++ .../qos_config_input/0/buffers_defaults_t0.j2 | 45 +++ .../qos_config_input/0/buffers_defaults_t1.j2 | 45 +++ tests/qos_config_input/0/config_qos.json | 137 ++++++++++ tests/qos_config_input/0/qos.json.j2 | 1 + tests/qos_config_input/0/qos_config.j2 | 257 ++++++++++++++++++ tests/qos_config_input/1/buffers.json.j2 | 3 + tests/qos_config_input/1/buffers_config.j2 | 172 ++++++++++++ .../qos_config_input/1/buffers_defaults_t0.j2 | 45 +++ .../qos_config_input/1/buffers_defaults_t1.j2 | 45 +++ tests/qos_config_input/1/config_qos.json | 137 ++++++++++ tests/qos_config_input/1/qos.json.j2 | 1 + tests/qos_config_input/1/qos_config.j2 | 257 ++++++++++++++++++ tests/qos_config_input/buffers.json.j2 | 3 + tests/qos_config_input/buffers_config.j2 | 172 ++++++++++++ tests/qos_config_input/buffers_defaults_t1.j2 | 45 +++ tests/qos_config_input/config_qos.json | 137 ++++++++++ tests/qos_config_input/qos.json.j2 | 1 + tests/qos_config_input/qos_config.j2 | 257 ++++++++++++++++++ tests/qos_config_input/sonic_version.yml | 8 + 28 files changed, 2124 insertions(+), 17 deletions(-) create mode 100644 tests/qos_config_input/0/buffers.json.j2 create mode 100644 tests/qos_config_input/0/buffers_config.j2 create mode 100644 tests/qos_config_input/0/buffers_defaults_t0.j2 create mode 100644 tests/qos_config_input/0/buffers_defaults_t1.j2 create mode 100644 tests/qos_config_input/0/config_qos.json create mode 100644 tests/qos_config_input/0/qos.json.j2 create mode 100644 tests/qos_config_input/0/qos_config.j2 create mode 100644 tests/qos_config_input/1/buffers.json.j2 create mode 100644 tests/qos_config_input/1/buffers_config.j2 create mode 100644 tests/qos_config_input/1/buffers_defaults_t0.j2 create mode 100644 tests/qos_config_input/1/buffers_defaults_t1.j2 create mode 100644 tests/qos_config_input/1/config_qos.json create mode 100644 tests/qos_config_input/1/qos.json.j2 create mode 100644 tests/qos_config_input/1/qos_config.j2 create mode 100644 tests/qos_config_input/buffers.json.j2 create mode 100644 tests/qos_config_input/buffers_config.j2 create mode 100644 tests/qos_config_input/buffers_defaults_t1.j2 create mode 100644 tests/qos_config_input/config_qos.json create mode 100644 tests/qos_config_input/qos.json.j2 create mode 100644 tests/qos_config_input/qos_config.j2 create mode 100644 tests/qos_config_input/sonic_version.yml diff --git a/config/main.py b/config/main.py index 7f82deec8c..8710481e47 100644 --- a/config/main.py +++ b/config/main.py @@ -37,6 +37,21 @@ from . import vxlan from .config_mgmt import ConfigMgmtDPB +# mock masic APIs for unit test +try: + if os.environ["UTILITIES_UNIT_TESTING"] == "1" or os.environ["UTILITIES_UNIT_TESTING"] == "2": + modules_path = os.path.join(os.path.dirname(__file__), "..") + tests_path = os.path.join(modules_path, "tests") + sys.path.insert(0, modules_path) + sys.path.insert(0, tests_path) + import mock_tables.dbconnector + if os.environ["UTILITIES_UNIT_TESTING_TOPOLOGY"] == "multi_asic": + import mock_tables.mock_multi_asic + mock_tables.dbconnector.load_namespace_config() +except KeyError: + pass + + CONTEXT_SETTINGS = dict(help_option_names=['-h', '--help', '-?']) SONIC_GENERATED_SERVICE_PATH = '/etc/sonic/generated_services.conf' @@ -1641,12 +1656,24 @@ def _update_buffer_calculation_model(config_db, model): @qos.command('reload') @click.pass_context @click.option('--no-dynamic-buffer', is_flag=True, help="Disable dynamic buffer calculation") -def reload(ctx, no_dynamic_buffer): +@click.option( + '--json-data', type=click.STRING, + help="json string with additional data, valid with --dry-run option" +) +@click.option( + '--dry_run', type=click.STRING, + help="Dry run, writes config to the given file" +) +def reload(ctx, no_dynamic_buffer, dry_run, json_data): """Reload QoS configuration""" log.log_info("'qos reload' executing...") _clear_qos() _, hwsku_path = device_info.get_paths_to_platform_and_hwsku_dirs() + sonic_version_file = device_info.get_sonic_version_file() + from_db = "-d --write-to-db" + if dry_run: + from_db = "--additional-data \'{}\'".format(json_data) if json_data else "" namespace_list = [DEFAULT_NAMESPACE] if multi_asic.get_num_asics() > 1: @@ -1683,17 +1710,17 @@ def reload(ctx, no_dynamic_buffer): buffer_template_file = os.path.join(hwsku_path, asic_id_suffix, "buffers.json.j2") if asic_type in vendors_supporting_dynamic_buffer: buffer_model_updated |= _update_buffer_calculation_model(config_db, "traditional") + if os.path.isfile(buffer_template_file): - qos_template_file = os.path.join(hwsku_path, asic_id_suffix, "qos.json.j2") + qos_template_file = os.path.join( + hwsku_path, asic_id_suffix, "qos.json.j2" + ) if os.path.isfile(qos_template_file): cmd_ns = "" if ns is DEFAULT_NAMESPACE else "-n {}".format(ns) - sonic_version_file = os.path.join('/', "etc", "sonic", "sonic_version.yml") - command = "{} {} -d -t {},config-db -t {},config-db -y {} --write-to-db".format( - SONIC_CFGGEN_PATH, - cmd_ns, - buffer_template_file, - qos_template_file, - sonic_version_file + fname = "{}{}".format(dry_run, asic_id_suffix) if dry_run else "config-db" + command = "{} {} {} -t {},{} -t {},{} -y {}".format( + SONIC_CFGGEN_PATH, cmd_ns, from_db, buffer_template_file, + fname, qos_template_file, fname, sonic_version_file ) # Apply the configurations only when both buffer and qos # configuration files are present diff --git a/pfcwd/main.py b/pfcwd/main.py index c55038b9b2..bc5211191b 100644 --- a/pfcwd/main.py +++ b/pfcwd/main.py @@ -1,4 +1,5 @@ import os +import imp import sys import click @@ -21,6 +22,7 @@ import mock_tables.dbconnector if os.environ["UTILITIES_UNIT_TESTING_TOPOLOGY"] == "multi_asic": import mock_tables.mock_multi_asic + imp.reload(mock_tables.mock_multi_asic) mock_tables.dbconnector.load_namespace_config() except KeyError: diff --git a/scripts/intfutil b/scripts/intfutil index 2f4baa71ab..b943b7c543 100755 --- a/scripts/intfutil +++ b/scripts/intfutil @@ -22,7 +22,7 @@ try: if os.environ["UTILITIES_UNIT_TESTING_TOPOLOGY"] == "multi_asic": import mock_tables.mock_multi_asic mock_tables.dbconnector.load_namespace_config() - + except KeyError: pass @@ -461,7 +461,7 @@ class IntfDescription(object): self.intf_name = intf_name def display_intf_description(self): - + self.get_intf_description() # Sorting and tabulating the result table. diff --git a/tests/config_test.py b/tests/config_test.py index 1ca37fb7a9..30a1f10ec8 100644 --- a/tests/config_test.py +++ b/tests/config_test.py @@ -1,10 +1,14 @@ +import filecmp +import imp import os import traceback +import json from unittest import mock import click from click.testing import CliRunner +from sonic_py_common import device_info from utilities_common.db import Db load_minigraph_command_output="""\ @@ -61,8 +65,10 @@ class TestLoadMinigraph(object): def setup_class(cls): os.environ['UTILITIES_UNIT_TESTING'] = "1" print("SETUP") + import config.main + imp.reload(config.main) - def test_load_minigraph(self, get_cmd_module, setup_single_broacom_asic): + def test_load_minigraph(self, get_cmd_module, setup_single_broadcom_asic): with mock.patch("utilities_common.cli.run_command", mock.MagicMock(side_effect=mock_run_command_side_effect)) as mock_run_command: (config, show) = get_cmd_module runner = CliRunner() @@ -74,7 +80,7 @@ def test_load_minigraph(self, get_cmd_module, setup_single_broacom_asic): assert "\n".join([l.rstrip() for l in result.output.split('\n')]) == load_minigraph_command_output assert mock_run_command.call_count == 38 - def test_load_minigraph_with_disabled_telemetry(self, get_cmd_module, setup_single_broacom_asic): + def test_load_minigraph_with_disabled_telemetry(self, get_cmd_module, setup_single_broadcom_asic): with mock.patch("utilities_common.cli.run_command", mock.MagicMock(side_effect=mock_run_command_side_effect)) as mock_run_command: (config, show) = get_cmd_module db = Db() @@ -95,3 +101,98 @@ def test_load_minigraph_with_disabled_telemetry(self, get_cmd_module, setup_sing def teardown_class(cls): os.environ['UTILITIES_UNIT_TESTING'] = "0" print("TEARDOWN") + + +class TestConfigQos(object): + @classmethod + def setup_class(cls): + print("SETUP") + os.environ['UTILITIES_UNIT_TESTING'] = "2" + import config.main + imp.reload(config.main) + + def test_qos_reload_single( + self, get_cmd_module, setup_qos_mock_apis, + setup_single_broadcom_asic + ): + (config, show) = get_cmd_module + runner = CliRunner() + output_file = os.path.join(os.sep, "tmp", "qos_config_output.json") + print("Saving output in {}".format(output_file)) + try: + os.remove(output_file) + except OSError: + pass + json_data = '{"DEVICE_METADATA": {"localhost": {}}}' + result = runner.invoke( + config.config.commands["qos"], + ["reload", "--dry_run", output_file, "--json-data", json_data] + ) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + + cwd = os.path.dirname(os.path.realpath(__file__)) + expected_result = os.path.join( + cwd, "qos_config_input", "config_qos.json" + ) + assert filecmp.cmp(output_file, expected_result, shallow=False) + + @classmethod + def teardown_class(cls): + print("TEARDOWN") + os.environ['UTILITIES_UNIT_TESTING'] = "0" + + +class TestConfigQosMasic(object): + @classmethod + def setup_class(cls): + print("SETUP") + os.environ['UTILITIES_UNIT_TESTING'] = "2" + os.environ["UTILITIES_UNIT_TESTING_TOPOLOGY"] = "multi_asic" + import config.main + imp.reload(config.main) + + def test_qos_reload_masic( + self, get_cmd_module, setup_qos_mock_apis, + setup_multi_broadcom_masic + ): + (config, show) = get_cmd_module + runner = CliRunner() + output_file = os.path.join(os.sep, "tmp", "qos_config_output.json") + print("Saving output in {}<0,1,2..>".format(output_file)) + num_asic = device_info.get_num_npus() + for asic in range(num_asic): + try: + file = "{}{}".format(output_file, asic) + os.remove(file) + except OSError: + pass + json_data = '{"DEVICE_METADATA": {"localhost": {}}}' + result = runner.invoke( + config.config.commands["qos"], + ["reload", "--dry_run", output_file, "--json-data", json_data] + ) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + + cwd = os.path.dirname(os.path.realpath(__file__)) + + for asic in range(num_asic): + expected_result = os.path.join( + cwd, "qos_config_input", str(asic), "config_qos.json" + ) + file = "{}{}".format(output_file, asic) + assert filecmp.cmp(file, expected_result, shallow=False) + + @classmethod + def teardown_class(cls): + print("TEARDOWN") + os.environ['UTILITIES_UNIT_TESTING'] = "0" + os.environ["UTILITIES_UNIT_TESTING_TOPOLOGY"] = "" + # change back to single asic config + from .mock_tables import dbconnector + from .mock_tables import mock_single_asic + imp.reload(mock_single_asic) + dbconnector.load_namespace_config() diff --git a/tests/conftest.py b/tests/conftest.py index 5f28a2d8ba..f57ec4263b 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -56,18 +56,47 @@ def get_cmd_module(): return (config, show) +def set_mock_apis(): + import config.main as config + cwd = os.path.dirname(os.path.realpath(__file__)) + config.asic_type = mock.MagicMock(return_value="broadcom") + config._get_device_type = mock.MagicMock(return_value="ToRRouter") + +@pytest.fixture +def setup_qos_mock_apis(): + cwd = os.path.dirname(os.path.realpath(__file__)) + device_info.get_paths_to_platform_and_hwsku_dirs = mock.MagicMock( + return_value=( + os.path.join(cwd, "."), os.path.join(cwd, "qos_config_input") + ) + ) + device_info.get_sonic_version_file = mock.MagicMock( + return_value=os.path.join(cwd, "qos_config_input/sonic_version.yml") + ) @pytest.fixture -def setup_single_broacom_asic(): +def setup_single_broadcom_asic(): import config.main as config import show.main as show + set_mock_apis() device_info.get_num_npus = mock.MagicMock(return_value=1) config._get_sonic_generated_services = \ mock.MagicMock(return_value=(generated_services_list, [])) - config.asic_type = mock.MagicMock(return_value="broadcom") - config._get_device_type = mock.MagicMock(return_value="ToRRouter") + +@pytest.fixture +def setup_multi_broadcom_masic(): + import config.main as config + import show.main as show + + set_mock_apis() + device_info.get_num_npus = mock.MagicMock(return_value=2) + + yield + + device_info.get_num_npus = mock.MagicMock(return_value=1) + @pytest.fixture def setup_t1_topo(): diff --git a/tests/crm_test.py b/tests/crm_test.py index f4fdcece10..0c42bf17fc 100644 --- a/tests/crm_test.py +++ b/tests/crm_test.py @@ -1,3 +1,4 @@ +import imp import os import sys from importlib import reload @@ -1574,5 +1575,7 @@ def teardown_class(cls): print("TEARDOWN") os.environ["UTILITIES_UNIT_TESTING"] = "0" os.environ["UTILITIES_UNIT_TESTING_TOPOLOGY"] = "" + from .mock_tables import dbconnector from .mock_tables import mock_single_asic - reload(mock_single_asic) + imp.reload(mock_single_asic) + dbconnector.load_namespace_config() diff --git a/tests/mock_tables/mock_multi_asic.py b/tests/mock_tables/mock_multi_asic.py index ad694003f7..3e875af36a 100644 --- a/tests/mock_tables/mock_multi_asic.py +++ b/tests/mock_tables/mock_multi_asic.py @@ -14,6 +14,8 @@ def mock_is_multi_asic(): def mock_get_namespace_list(namespace=None): return ['asic0', 'asic1'] + multi_asic.get_num_asics = mock_get_num_asics multi_asic.is_multi_asic = mock_is_multi_asic multi_asic.get_namespace_list = mock_get_namespace_list +multi_asic.get_namespaces_from_linux = mock_get_namespace_list diff --git a/tests/qos_config_input/0/buffers.json.j2 b/tests/qos_config_input/0/buffers.json.j2 new file mode 100644 index 0000000000..b67cf577ab --- /dev/null +++ b/tests/qos_config_input/0/buffers.json.j2 @@ -0,0 +1,3 @@ +{%- set default_topo = 't1' %} +{%- include 'buffers_config.j2' %} + diff --git a/tests/qos_config_input/0/buffers_config.j2 b/tests/qos_config_input/0/buffers_config.j2 new file mode 100644 index 0000000000..f5dbb9784f --- /dev/null +++ b/tests/qos_config_input/0/buffers_config.j2 @@ -0,0 +1,172 @@ +{%- macro set_default_topology() %} +{%- if default_topo is defined %} +{{ default_topo }} +{%- else %} +def +{%- endif %} +{%- endmacro -%} + +{# Determine device topology and filename postfix #} +{%- if DEVICE_METADATA is defined and DEVICE_METADATA['localhost']['type'] is defined %} +{%- set switch_role = DEVICE_METADATA['localhost']['type'] %} +{%- if 'torrouter' in switch_role.lower() and 'mgmt' not in switch_role.lower()%} +{%- set filename_postfix = 't0' %} +{%- elif 'leafrouter' in switch_role.lower() and 'mgmt' not in switch_role.lower()%} +{%- set filename_postfix = 't1' %} +{%- else %} +{%- set filename_postfix = set_default_topology() %} +{%- endif %} +{%- else %} +{%- set filename_postfix = set_default_topology() %} +{%- set switch_role = '' %} +{%- endif -%} + +{# Import default values from device HWSKU folder #} +{%- import 'buffers_defaults_%s.j2' % filename_postfix as defs %} + +{%- set default_cable = defs.default_cable -%} + +{# Port configuration to cable length look-up table #} +{# Each record describes mapping of DUT (DUT port) role and neighbor role to cable length #} +{# Roles described in the minigraph #} +{%- if defs.ports2cable is defined %} + {%- set ports2cable = defs.ports2cable %} +{%- else %} + {%- set ports2cable = { + 'torrouter_server' : '5m', + 'leafrouter_torrouter' : '40m', + 'spinerouter_leafrouter' : '300m' + } + -%} +{%- endif %} + +{%- macro cable_length(port_name) %} + {%- set cable_len = [] %} + {%- for local_port in DEVICE_NEIGHBOR %} + {%- if local_port == port_name %} + {%- if DEVICE_NEIGHBOR_METADATA is defined and DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %} + {%- set neighbor = DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %} + {%- set neighbor_role = neighbor.type %} + {%- if 'asic' == neighbor_role | lower %} + {%- set roles1 = 'internal' %} + {%- if 'internal' not in ports2cable %} + {%- set _ = ports2cable.update({'internal': '5m'}) %} + {%- endif -%} + {%- else %} + {%- set roles1 = switch_role + '_' + neighbor_role %} + {%- set roles2 = neighbor_role + '_' + switch_role %} + {%- set roles1 = roles1 | lower %} + {%- set roles2 = roles2 | lower %} + {%- endif %} + {%- if roles1 in ports2cable %} + {%- if cable_len.append(ports2cable[roles1]) %}{% endif %} + {%- elif roles2 in ports2cable %} + {%- if cable_len.append(ports2cable[roles2]) %}{% endif %} + {%- endif %} + {%- endif %} + {%- endif %} + {%- endfor %} + {%- if cable_len -%} + {{ cable_len.0 }} + {%- else %} + {%- if 'torrouter' in switch_role.lower() and 'mgmt' not in switch_role.lower()%} + {%- for local_port in VLAN_MEMBER %} + {%- if local_port[1] == port_name %} + {%- set roles3 = switch_role + '_' + 'server' %} + {%- set roles3 = roles3 | lower %} + {%- if roles3 in ports2cable %} + {%- if cable_len.append(ports2cable[roles3]) %}{% endif %} + {%- endif %} + {%- endif %} + {%- endfor %} + {%- if cable_len -%} + {{ cable_len.0 }} + {%- else -%} + {{ default_cable }} + {%- endif %} + {%- else -%} + {{ default_cable }} + {%- endif %} + {%- endif %} +{%- endmacro %} + +{%- set PORT_ALL = [] %} + +{%- if PORT is not defined %} + {%- if defs.generate_port_lists(PORT_ALL) %} {% endif %} +{%- else %} + {%- for port in PORT %} + {%- if PORT_ALL.append(port) %}{%- endif %} + {%- endfor %} +{%- endif %} + +{%- set PORT_ACTIVE = [] %} +{%- if DEVICE_NEIGHBOR is not defined %} + {%- set PORT_ACTIVE = PORT_ALL %} +{%- else %} + {%- for port in DEVICE_NEIGHBOR.keys() %} + {%- if PORT_ACTIVE.append(port) %}{%- endif %} + {%- endfor %} +{%- endif %} + +{%- set port_names_list_active = [] %} +{%- for port in PORT_ACTIVE %} + {%- if port_names_list_active.append(port) %}{%- endif %} +{%- endfor %} +{%- set port_names_active = port_names_list_active | join(',') %} + +{ + "CABLE_LENGTH": { + "AZURE": { + {% for port in PORT_ALL %} + {%- set cable = cable_length(port) %} + "{{ port }}": "{{ cable }}"{%- if not loop.last %},{% endif %} + + {% endfor %} + } + }, + +{% if defs.generate_buffer_pool_and_profiles is defined %} +{{ defs.generate_buffer_pool_and_profiles() }} +{% endif %} + +{%- if defs.generate_profile_lists is defined %} +{{ defs.generate_profile_lists(port_names_active) }}, +{% endif %} + +{%- if defs.generate_pg_profils is defined %} +{{ defs.generate_pg_profils(port_names_active) }} +{% else %} + "BUFFER_PG": { +{% for port in PORT_ACTIVE %} + "{{ port }}|0": { + "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]" + }{% if not loop.last %},{% endif %} + +{% endfor %} + }, +{% endif %} + +{% if defs.generate_queue_buffers is defined %} +{{ defs.generate_queue_buffers(port_names_active) }} +{% else %} + "BUFFER_QUEUE": { +{% for port in PORT_ACTIVE %} + "{{ port }}|3-4": { + "profile" : "[BUFFER_PROFILE|egress_lossless_profile]" + }, +{% endfor %} +{% for port in PORT_ACTIVE %} + "{{ port }}|0-2": { + "profile" : "[BUFFER_PROFILE|egress_lossy_profile]" + }, +{% endfor %} +{% for port in PORT_ACTIVE %} + "{{ port }}|5-6": { + "profile" : "[BUFFER_PROFILE|egress_lossy_profile]" + }{% if not loop.last %},{% endif %} + +{% endfor %} + } +{% endif %} +} diff --git a/tests/qos_config_input/0/buffers_defaults_t0.j2 b/tests/qos_config_input/0/buffers_defaults_t0.j2 new file mode 100644 index 0000000000..38e34eb571 --- /dev/null +++ b/tests/qos_config_input/0/buffers_defaults_t0.j2 @@ -0,0 +1,45 @@ +{%- set default_cable = '300m' %} + +{%- macro generate_port_lists(PORT_ALL) %} + {# Generate list of ports #} + {% for port_idx in range(0,32) %} + {% if PORT_ALL.append("Ethernet%d" % (port_idx * 4)) %}{% endif %} + {% endfor %} +{%- endmacro %} + +{%- macro generate_buffer_pool_and_profiles() %} + "BUFFER_POOL": { + "ingress_lossless_pool": { + "size": "12766208", + "type": "ingress", + "mode": "dynamic" + }, + "egress_lossless_pool": { + "size": "12766208", + "type": "egress", + "mode": "static" + }, + "egress_lossy_pool": { + "size": "7326924", + "type": "egress", + "mode": "dynamic" + } + }, + "BUFFER_PROFILE": { + "ingress_lossy_profile": { + "pool":"[BUFFER_POOL|ingress_lossless_pool]", + "size":"0", + "dynamic_th":"3" + }, + "egress_lossless_profile": { + "pool":"[BUFFER_POOL|egress_lossless_pool]", + "size":"0", + "static_th":"12766208" + }, + "egress_lossy_profile": { + "pool":"[BUFFER_POOL|egress_lossy_pool]", + "size":"1518", + "dynamic_th":"3" + } + }, +{%- endmacro %} diff --git a/tests/qos_config_input/0/buffers_defaults_t1.j2 b/tests/qos_config_input/0/buffers_defaults_t1.j2 new file mode 100644 index 0000000000..38e34eb571 --- /dev/null +++ b/tests/qos_config_input/0/buffers_defaults_t1.j2 @@ -0,0 +1,45 @@ +{%- set default_cable = '300m' %} + +{%- macro generate_port_lists(PORT_ALL) %} + {# Generate list of ports #} + {% for port_idx in range(0,32) %} + {% if PORT_ALL.append("Ethernet%d" % (port_idx * 4)) %}{% endif %} + {% endfor %} +{%- endmacro %} + +{%- macro generate_buffer_pool_and_profiles() %} + "BUFFER_POOL": { + "ingress_lossless_pool": { + "size": "12766208", + "type": "ingress", + "mode": "dynamic" + }, + "egress_lossless_pool": { + "size": "12766208", + "type": "egress", + "mode": "static" + }, + "egress_lossy_pool": { + "size": "7326924", + "type": "egress", + "mode": "dynamic" + } + }, + "BUFFER_PROFILE": { + "ingress_lossy_profile": { + "pool":"[BUFFER_POOL|ingress_lossless_pool]", + "size":"0", + "dynamic_th":"3" + }, + "egress_lossless_profile": { + "pool":"[BUFFER_POOL|egress_lossless_pool]", + "size":"0", + "static_th":"12766208" + }, + "egress_lossy_profile": { + "pool":"[BUFFER_POOL|egress_lossy_pool]", + "size":"1518", + "dynamic_th":"3" + } + }, +{%- endmacro %} diff --git a/tests/qos_config_input/0/config_qos.json b/tests/qos_config_input/0/config_qos.json new file mode 100644 index 0000000000..40c1903a06 --- /dev/null +++ b/tests/qos_config_input/0/config_qos.json @@ -0,0 +1,137 @@ +{ + "TC_TO_PRIORITY_GROUP_MAP": { + "AZURE": { + "0": "0", + "1": "0", + "2": "0", + "3": "3", + "4": "4", + "5": "0", + "6": "0", + "7": "7" + } + }, + "MAP_PFC_PRIORITY_TO_QUEUE": { + "AZURE": { + "0": "0", + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7" + } + }, + "TC_TO_QUEUE_MAP": { + "AZURE": { + "0": "0", + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7" + } + }, + "DSCP_TO_TC_MAP": { + "AZURE": { + "0" : "1", + "1" : "1", + "2" : "1", + "3" : "3", + "4" : "4", + "5" : "2", + "6" : "1", + "7" : "1", + "8" : "0", + "9" : "1", + "10": "1", + "11": "1", + "12": "1", + "13": "1", + "14": "1", + "15": "1", + "16": "1", + "17": "1", + "18": "1", + "19": "1", + "20": "1", + "21": "1", + "22": "1", + "23": "1", + "24": "1", + "25": "1", + "26": "1", + "27": "1", + "28": "1", + "29": "1", + "30": "1", + "31": "1", + "32": "1", + "33": "1", + "34": "1", + "35": "1", + "36": "1", + "37": "1", + "38": "1", + "39": "1", + "40": "1", + "41": "1", + "42": "1", + "43": "1", + "44": "1", + "45": "1", + "46": "5", + "47": "1", + "48": "6", + "49": "1", + "50": "1", + "51": "1", + "52": "1", + "53": "1", + "54": "1", + "55": "1", + "56": "1", + "57": "1", + "58": "1", + "59": "1", + "60": "1", + "61": "1", + "62": "1", + "63": "1" + } + }, + "SCHEDULER": { + "scheduler.0": { + "type" : "DWRR", + "weight": "14" + }, + "scheduler.1": { + "type" : "DWRR", + "weight": "15" + } + }, + "PORT_QOS_MAP": { + }, + "WRED_PROFILE": { + "AZURE_LOSSLESS" : { + "wred_green_enable" : "true", + "wred_yellow_enable" : "true", + "wred_red_enable" : "true", + "ecn" : "ecn_all", + "green_max_threshold" : "2097152", + "green_min_threshold" : "1048576", + "yellow_max_threshold" : "2097152", + "yellow_min_threshold" : "1048576", + "red_max_threshold" : "2097152", + "red_min_threshold" : "1048576", + "green_drop_probability" : "5", + "yellow_drop_probability": "5", + "red_drop_probability" : "5" + } + }, + "QUEUE": { + } +} diff --git a/tests/qos_config_input/0/qos.json.j2 b/tests/qos_config_input/0/qos.json.j2 new file mode 100644 index 0000000000..3e548325ea --- /dev/null +++ b/tests/qos_config_input/0/qos.json.j2 @@ -0,0 +1 @@ +{%- include 'qos_config.j2' %} diff --git a/tests/qos_config_input/0/qos_config.j2 b/tests/qos_config_input/0/qos_config.j2 new file mode 100644 index 0000000000..a7c361d69f --- /dev/null +++ b/tests/qos_config_input/0/qos_config.j2 @@ -0,0 +1,257 @@ +{%- set PORT_ALL = [] %} +{%- for port in PORT %} + {%- if PORT_ALL.append(port) %}{% endif %} +{%- endfor %} +{%- if PORT_ALL | sort_by_port_index %}{% endif %} + +{%- set port_names_list_all = [] %} +{%- for port in PORT_ALL %} + {%- if port_names_list_all.append(port) %}{% endif %} +{%- endfor %} +{%- set port_names_all = port_names_list_all | join(',') -%} + + +{%- set PORT_ACTIVE = [] %} +{%- if DEVICE_NEIGHBOR is not defined %} + {%- set PORT_ACTIVE = PORT_ALL %} +{%- else %} + {%- for port in DEVICE_NEIGHBOR.keys() %} + {%- if PORT_ACTIVE.append(port) %}{%- endif %} + {%- endfor %} +{%- endif %} +{%- if PORT_ACTIVE | sort_by_port_index %}{% endif %} + +{%- set port_names_list_active = [] %} +{%- for port in PORT_ACTIVE %} + {%- if port_names_list_active.append(port) %}{%- endif %} +{%- endfor %} +{%- set port_names_active = port_names_list_active | join(',') -%} + + +{%- set pfc_to_pg_map_supported_asics = ['mellanox', 'barefoot', 'marvell'] -%} +{%- set backend_device_types = ['BackEndToRRouter', 'BackEndLeafRouter'] -%} + + +{ +{% if generate_tc_to_pg_map is defined %} + {{- generate_tc_to_pg_map() }} +{% else %} + "TC_TO_PRIORITY_GROUP_MAP": { + "AZURE": { + "0": "0", + "1": "0", + "2": "0", + "3": "3", + "4": "4", + "5": "0", + "6": "0", + "7": "7" + } + }, +{% endif %} + "MAP_PFC_PRIORITY_TO_QUEUE": { + "AZURE": { + "0": "0", + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7" + } + }, + "TC_TO_QUEUE_MAP": { + "AZURE": { + "0": "0", + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7" + } + }, +{% if 'type' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['type'] in backend_device_types and 'storage_device' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['storage_device'] == 'true' %} + "DOT1P_TO_TC_MAP": { + "AZURE": { + "0": "0", + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7" + } + }, +{% else %} + "DSCP_TO_TC_MAP": { + "AZURE": { + "0" : "1", + "1" : "1", + "2" : "1", + "3" : "3", + "4" : "4", + "5" : "2", + "6" : "1", + "7" : "1", + "8" : "0", + "9" : "1", + "10": "1", + "11": "1", + "12": "1", + "13": "1", + "14": "1", + "15": "1", + "16": "1", + "17": "1", + "18": "1", + "19": "1", + "20": "1", + "21": "1", + "22": "1", + "23": "1", + "24": "1", + "25": "1", + "26": "1", + "27": "1", + "28": "1", + "29": "1", + "30": "1", + "31": "1", + "32": "1", + "33": "1", + "34": "1", + "35": "1", + "36": "1", + "37": "1", + "38": "1", + "39": "1", + "40": "1", + "41": "1", + "42": "1", + "43": "1", + "44": "1", + "45": "1", + "46": "5", + "47": "1", + "48": "6", + "49": "1", + "50": "1", + "51": "1", + "52": "1", + "53": "1", + "54": "1", + "55": "1", + "56": "1", + "57": "1", + "58": "1", + "59": "1", + "60": "1", + "61": "1", + "62": "1", + "63": "1" + } + }, +{% endif %} + "SCHEDULER": { + "scheduler.0": { + "type" : "DWRR", + "weight": "14" + }, + "scheduler.1": { + "type" : "DWRR", + "weight": "15" + } + }, +{% if asic_type in pfc_to_pg_map_supported_asics %} + "PFC_PRIORITY_TO_PRIORITY_GROUP_MAP": { + "AZURE": { + "3": "3", + "4": "4" + } + }, +{% endif %} + "PORT_QOS_MAP": { +{% for port in PORT_ACTIVE %} + "{{ port }}": { +{% if 'type' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['type'] in backend_device_types and 'storage_device' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['storage_device'] == 'true' %} + "dot1p_to_tc_map" : "[DOT1P_TO_TC_MAP|AZURE]", +{% else %} + "dscp_to_tc_map" : "[DSCP_TO_TC_MAP|AZURE]", +{% endif %} + "tc_to_queue_map" : "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map" : "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", +{% if asic_type in pfc_to_pg_map_supported_asics %} + "pfc_to_pg_map" : "[PFC_PRIORITY_TO_PRIORITY_GROUP_MAP|AZURE]", +{% endif %} + "pfc_enable" : "3,4" + }{% if not loop.last %},{% endif %} + +{% endfor %} + }, +{% if generate_wred_profiles is defined %} + {{- generate_wred_profiles() }} +{% else %} + "WRED_PROFILE": { + "AZURE_LOSSLESS" : { + "wred_green_enable" : "true", + "wred_yellow_enable" : "true", + "wred_red_enable" : "true", + "ecn" : "ecn_all", + "green_max_threshold" : "2097152", + "green_min_threshold" : "1048576", + "yellow_max_threshold" : "2097152", + "yellow_min_threshold" : "1048576", + "red_max_threshold" : "2097152", + "red_min_threshold" : "1048576", + "green_drop_probability" : "5", + "yellow_drop_probability": "5", + "red_drop_probability" : "5" + } + }, +{% endif %} + "QUEUE": { +{% for port in PORT_ACTIVE %} + "{{ port }}|3": { + "scheduler" : "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, +{% endfor %} +{% for port in PORT_ACTIVE %} + "{{ port }}|4": { + "scheduler" : "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, +{% endfor %} +{% for port in PORT_ACTIVE %} + "{{ port }}|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, +{% endfor %} +{% for port in PORT_ACTIVE %} + "{{ port }}|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, +{% endfor %} +{% for port in PORT_ACTIVE %} + "{{ port }}|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, +{% endfor %} +{% for port in PORT_ACTIVE %} + "{{ port }}|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, +{% endfor %} +{% for port in PORT_ACTIVE %} + "{{ port }}|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }{% if not loop.last %},{% endif %} + +{% endfor %} + } +} diff --git a/tests/qos_config_input/1/buffers.json.j2 b/tests/qos_config_input/1/buffers.json.j2 new file mode 100644 index 0000000000..b67cf577ab --- /dev/null +++ b/tests/qos_config_input/1/buffers.json.j2 @@ -0,0 +1,3 @@ +{%- set default_topo = 't1' %} +{%- include 'buffers_config.j2' %} + diff --git a/tests/qos_config_input/1/buffers_config.j2 b/tests/qos_config_input/1/buffers_config.j2 new file mode 100644 index 0000000000..f5dbb9784f --- /dev/null +++ b/tests/qos_config_input/1/buffers_config.j2 @@ -0,0 +1,172 @@ +{%- macro set_default_topology() %} +{%- if default_topo is defined %} +{{ default_topo }} +{%- else %} +def +{%- endif %} +{%- endmacro -%} + +{# Determine device topology and filename postfix #} +{%- if DEVICE_METADATA is defined and DEVICE_METADATA['localhost']['type'] is defined %} +{%- set switch_role = DEVICE_METADATA['localhost']['type'] %} +{%- if 'torrouter' in switch_role.lower() and 'mgmt' not in switch_role.lower()%} +{%- set filename_postfix = 't0' %} +{%- elif 'leafrouter' in switch_role.lower() and 'mgmt' not in switch_role.lower()%} +{%- set filename_postfix = 't1' %} +{%- else %} +{%- set filename_postfix = set_default_topology() %} +{%- endif %} +{%- else %} +{%- set filename_postfix = set_default_topology() %} +{%- set switch_role = '' %} +{%- endif -%} + +{# Import default values from device HWSKU folder #} +{%- import 'buffers_defaults_%s.j2' % filename_postfix as defs %} + +{%- set default_cable = defs.default_cable -%} + +{# Port configuration to cable length look-up table #} +{# Each record describes mapping of DUT (DUT port) role and neighbor role to cable length #} +{# Roles described in the minigraph #} +{%- if defs.ports2cable is defined %} + {%- set ports2cable = defs.ports2cable %} +{%- else %} + {%- set ports2cable = { + 'torrouter_server' : '5m', + 'leafrouter_torrouter' : '40m', + 'spinerouter_leafrouter' : '300m' + } + -%} +{%- endif %} + +{%- macro cable_length(port_name) %} + {%- set cable_len = [] %} + {%- for local_port in DEVICE_NEIGHBOR %} + {%- if local_port == port_name %} + {%- if DEVICE_NEIGHBOR_METADATA is defined and DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %} + {%- set neighbor = DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %} + {%- set neighbor_role = neighbor.type %} + {%- if 'asic' == neighbor_role | lower %} + {%- set roles1 = 'internal' %} + {%- if 'internal' not in ports2cable %} + {%- set _ = ports2cable.update({'internal': '5m'}) %} + {%- endif -%} + {%- else %} + {%- set roles1 = switch_role + '_' + neighbor_role %} + {%- set roles2 = neighbor_role + '_' + switch_role %} + {%- set roles1 = roles1 | lower %} + {%- set roles2 = roles2 | lower %} + {%- endif %} + {%- if roles1 in ports2cable %} + {%- if cable_len.append(ports2cable[roles1]) %}{% endif %} + {%- elif roles2 in ports2cable %} + {%- if cable_len.append(ports2cable[roles2]) %}{% endif %} + {%- endif %} + {%- endif %} + {%- endif %} + {%- endfor %} + {%- if cable_len -%} + {{ cable_len.0 }} + {%- else %} + {%- if 'torrouter' in switch_role.lower() and 'mgmt' not in switch_role.lower()%} + {%- for local_port in VLAN_MEMBER %} + {%- if local_port[1] == port_name %} + {%- set roles3 = switch_role + '_' + 'server' %} + {%- set roles3 = roles3 | lower %} + {%- if roles3 in ports2cable %} + {%- if cable_len.append(ports2cable[roles3]) %}{% endif %} + {%- endif %} + {%- endif %} + {%- endfor %} + {%- if cable_len -%} + {{ cable_len.0 }} + {%- else -%} + {{ default_cable }} + {%- endif %} + {%- else -%} + {{ default_cable }} + {%- endif %} + {%- endif %} +{%- endmacro %} + +{%- set PORT_ALL = [] %} + +{%- if PORT is not defined %} + {%- if defs.generate_port_lists(PORT_ALL) %} {% endif %} +{%- else %} + {%- for port in PORT %} + {%- if PORT_ALL.append(port) %}{%- endif %} + {%- endfor %} +{%- endif %} + +{%- set PORT_ACTIVE = [] %} +{%- if DEVICE_NEIGHBOR is not defined %} + {%- set PORT_ACTIVE = PORT_ALL %} +{%- else %} + {%- for port in DEVICE_NEIGHBOR.keys() %} + {%- if PORT_ACTIVE.append(port) %}{%- endif %} + {%- endfor %} +{%- endif %} + +{%- set port_names_list_active = [] %} +{%- for port in PORT_ACTIVE %} + {%- if port_names_list_active.append(port) %}{%- endif %} +{%- endfor %} +{%- set port_names_active = port_names_list_active | join(',') %} + +{ + "CABLE_LENGTH": { + "AZURE": { + {% for port in PORT_ALL %} + {%- set cable = cable_length(port) %} + "{{ port }}": "{{ cable }}"{%- if not loop.last %},{% endif %} + + {% endfor %} + } + }, + +{% if defs.generate_buffer_pool_and_profiles is defined %} +{{ defs.generate_buffer_pool_and_profiles() }} +{% endif %} + +{%- if defs.generate_profile_lists is defined %} +{{ defs.generate_profile_lists(port_names_active) }}, +{% endif %} + +{%- if defs.generate_pg_profils is defined %} +{{ defs.generate_pg_profils(port_names_active) }} +{% else %} + "BUFFER_PG": { +{% for port in PORT_ACTIVE %} + "{{ port }}|0": { + "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]" + }{% if not loop.last %},{% endif %} + +{% endfor %} + }, +{% endif %} + +{% if defs.generate_queue_buffers is defined %} +{{ defs.generate_queue_buffers(port_names_active) }} +{% else %} + "BUFFER_QUEUE": { +{% for port in PORT_ACTIVE %} + "{{ port }}|3-4": { + "profile" : "[BUFFER_PROFILE|egress_lossless_profile]" + }, +{% endfor %} +{% for port in PORT_ACTIVE %} + "{{ port }}|0-2": { + "profile" : "[BUFFER_PROFILE|egress_lossy_profile]" + }, +{% endfor %} +{% for port in PORT_ACTIVE %} + "{{ port }}|5-6": { + "profile" : "[BUFFER_PROFILE|egress_lossy_profile]" + }{% if not loop.last %},{% endif %} + +{% endfor %} + } +{% endif %} +} diff --git a/tests/qos_config_input/1/buffers_defaults_t0.j2 b/tests/qos_config_input/1/buffers_defaults_t0.j2 new file mode 100644 index 0000000000..38e34eb571 --- /dev/null +++ b/tests/qos_config_input/1/buffers_defaults_t0.j2 @@ -0,0 +1,45 @@ +{%- set default_cable = '300m' %} + +{%- macro generate_port_lists(PORT_ALL) %} + {# Generate list of ports #} + {% for port_idx in range(0,32) %} + {% if PORT_ALL.append("Ethernet%d" % (port_idx * 4)) %}{% endif %} + {% endfor %} +{%- endmacro %} + +{%- macro generate_buffer_pool_and_profiles() %} + "BUFFER_POOL": { + "ingress_lossless_pool": { + "size": "12766208", + "type": "ingress", + "mode": "dynamic" + }, + "egress_lossless_pool": { + "size": "12766208", + "type": "egress", + "mode": "static" + }, + "egress_lossy_pool": { + "size": "7326924", + "type": "egress", + "mode": "dynamic" + } + }, + "BUFFER_PROFILE": { + "ingress_lossy_profile": { + "pool":"[BUFFER_POOL|ingress_lossless_pool]", + "size":"0", + "dynamic_th":"3" + }, + "egress_lossless_profile": { + "pool":"[BUFFER_POOL|egress_lossless_pool]", + "size":"0", + "static_th":"12766208" + }, + "egress_lossy_profile": { + "pool":"[BUFFER_POOL|egress_lossy_pool]", + "size":"1518", + "dynamic_th":"3" + } + }, +{%- endmacro %} diff --git a/tests/qos_config_input/1/buffers_defaults_t1.j2 b/tests/qos_config_input/1/buffers_defaults_t1.j2 new file mode 100644 index 0000000000..38e34eb571 --- /dev/null +++ b/tests/qos_config_input/1/buffers_defaults_t1.j2 @@ -0,0 +1,45 @@ +{%- set default_cable = '300m' %} + +{%- macro generate_port_lists(PORT_ALL) %} + {# Generate list of ports #} + {% for port_idx in range(0,32) %} + {% if PORT_ALL.append("Ethernet%d" % (port_idx * 4)) %}{% endif %} + {% endfor %} +{%- endmacro %} + +{%- macro generate_buffer_pool_and_profiles() %} + "BUFFER_POOL": { + "ingress_lossless_pool": { + "size": "12766208", + "type": "ingress", + "mode": "dynamic" + }, + "egress_lossless_pool": { + "size": "12766208", + "type": "egress", + "mode": "static" + }, + "egress_lossy_pool": { + "size": "7326924", + "type": "egress", + "mode": "dynamic" + } + }, + "BUFFER_PROFILE": { + "ingress_lossy_profile": { + "pool":"[BUFFER_POOL|ingress_lossless_pool]", + "size":"0", + "dynamic_th":"3" + }, + "egress_lossless_profile": { + "pool":"[BUFFER_POOL|egress_lossless_pool]", + "size":"0", + "static_th":"12766208" + }, + "egress_lossy_profile": { + "pool":"[BUFFER_POOL|egress_lossy_pool]", + "size":"1518", + "dynamic_th":"3" + } + }, +{%- endmacro %} diff --git a/tests/qos_config_input/1/config_qos.json b/tests/qos_config_input/1/config_qos.json new file mode 100644 index 0000000000..40c1903a06 --- /dev/null +++ b/tests/qos_config_input/1/config_qos.json @@ -0,0 +1,137 @@ +{ + "TC_TO_PRIORITY_GROUP_MAP": { + "AZURE": { + "0": "0", + "1": "0", + "2": "0", + "3": "3", + "4": "4", + "5": "0", + "6": "0", + "7": "7" + } + }, + "MAP_PFC_PRIORITY_TO_QUEUE": { + "AZURE": { + "0": "0", + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7" + } + }, + "TC_TO_QUEUE_MAP": { + "AZURE": { + "0": "0", + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7" + } + }, + "DSCP_TO_TC_MAP": { + "AZURE": { + "0" : "1", + "1" : "1", + "2" : "1", + "3" : "3", + "4" : "4", + "5" : "2", + "6" : "1", + "7" : "1", + "8" : "0", + "9" : "1", + "10": "1", + "11": "1", + "12": "1", + "13": "1", + "14": "1", + "15": "1", + "16": "1", + "17": "1", + "18": "1", + "19": "1", + "20": "1", + "21": "1", + "22": "1", + "23": "1", + "24": "1", + "25": "1", + "26": "1", + "27": "1", + "28": "1", + "29": "1", + "30": "1", + "31": "1", + "32": "1", + "33": "1", + "34": "1", + "35": "1", + "36": "1", + "37": "1", + "38": "1", + "39": "1", + "40": "1", + "41": "1", + "42": "1", + "43": "1", + "44": "1", + "45": "1", + "46": "5", + "47": "1", + "48": "6", + "49": "1", + "50": "1", + "51": "1", + "52": "1", + "53": "1", + "54": "1", + "55": "1", + "56": "1", + "57": "1", + "58": "1", + "59": "1", + "60": "1", + "61": "1", + "62": "1", + "63": "1" + } + }, + "SCHEDULER": { + "scheduler.0": { + "type" : "DWRR", + "weight": "14" + }, + "scheduler.1": { + "type" : "DWRR", + "weight": "15" + } + }, + "PORT_QOS_MAP": { + }, + "WRED_PROFILE": { + "AZURE_LOSSLESS" : { + "wred_green_enable" : "true", + "wred_yellow_enable" : "true", + "wred_red_enable" : "true", + "ecn" : "ecn_all", + "green_max_threshold" : "2097152", + "green_min_threshold" : "1048576", + "yellow_max_threshold" : "2097152", + "yellow_min_threshold" : "1048576", + "red_max_threshold" : "2097152", + "red_min_threshold" : "1048576", + "green_drop_probability" : "5", + "yellow_drop_probability": "5", + "red_drop_probability" : "5" + } + }, + "QUEUE": { + } +} diff --git a/tests/qos_config_input/1/qos.json.j2 b/tests/qos_config_input/1/qos.json.j2 new file mode 100644 index 0000000000..3e548325ea --- /dev/null +++ b/tests/qos_config_input/1/qos.json.j2 @@ -0,0 +1 @@ +{%- include 'qos_config.j2' %} diff --git a/tests/qos_config_input/1/qos_config.j2 b/tests/qos_config_input/1/qos_config.j2 new file mode 100644 index 0000000000..a7c361d69f --- /dev/null +++ b/tests/qos_config_input/1/qos_config.j2 @@ -0,0 +1,257 @@ +{%- set PORT_ALL = [] %} +{%- for port in PORT %} + {%- if PORT_ALL.append(port) %}{% endif %} +{%- endfor %} +{%- if PORT_ALL | sort_by_port_index %}{% endif %} + +{%- set port_names_list_all = [] %} +{%- for port in PORT_ALL %} + {%- if port_names_list_all.append(port) %}{% endif %} +{%- endfor %} +{%- set port_names_all = port_names_list_all | join(',') -%} + + +{%- set PORT_ACTIVE = [] %} +{%- if DEVICE_NEIGHBOR is not defined %} + {%- set PORT_ACTIVE = PORT_ALL %} +{%- else %} + {%- for port in DEVICE_NEIGHBOR.keys() %} + {%- if PORT_ACTIVE.append(port) %}{%- endif %} + {%- endfor %} +{%- endif %} +{%- if PORT_ACTIVE | sort_by_port_index %}{% endif %} + +{%- set port_names_list_active = [] %} +{%- for port in PORT_ACTIVE %} + {%- if port_names_list_active.append(port) %}{%- endif %} +{%- endfor %} +{%- set port_names_active = port_names_list_active | join(',') -%} + + +{%- set pfc_to_pg_map_supported_asics = ['mellanox', 'barefoot', 'marvell'] -%} +{%- set backend_device_types = ['BackEndToRRouter', 'BackEndLeafRouter'] -%} + + +{ +{% if generate_tc_to_pg_map is defined %} + {{- generate_tc_to_pg_map() }} +{% else %} + "TC_TO_PRIORITY_GROUP_MAP": { + "AZURE": { + "0": "0", + "1": "0", + "2": "0", + "3": "3", + "4": "4", + "5": "0", + "6": "0", + "7": "7" + } + }, +{% endif %} + "MAP_PFC_PRIORITY_TO_QUEUE": { + "AZURE": { + "0": "0", + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7" + } + }, + "TC_TO_QUEUE_MAP": { + "AZURE": { + "0": "0", + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7" + } + }, +{% if 'type' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['type'] in backend_device_types and 'storage_device' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['storage_device'] == 'true' %} + "DOT1P_TO_TC_MAP": { + "AZURE": { + "0": "0", + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7" + } + }, +{% else %} + "DSCP_TO_TC_MAP": { + "AZURE": { + "0" : "1", + "1" : "1", + "2" : "1", + "3" : "3", + "4" : "4", + "5" : "2", + "6" : "1", + "7" : "1", + "8" : "0", + "9" : "1", + "10": "1", + "11": "1", + "12": "1", + "13": "1", + "14": "1", + "15": "1", + "16": "1", + "17": "1", + "18": "1", + "19": "1", + "20": "1", + "21": "1", + "22": "1", + "23": "1", + "24": "1", + "25": "1", + "26": "1", + "27": "1", + "28": "1", + "29": "1", + "30": "1", + "31": "1", + "32": "1", + "33": "1", + "34": "1", + "35": "1", + "36": "1", + "37": "1", + "38": "1", + "39": "1", + "40": "1", + "41": "1", + "42": "1", + "43": "1", + "44": "1", + "45": "1", + "46": "5", + "47": "1", + "48": "6", + "49": "1", + "50": "1", + "51": "1", + "52": "1", + "53": "1", + "54": "1", + "55": "1", + "56": "1", + "57": "1", + "58": "1", + "59": "1", + "60": "1", + "61": "1", + "62": "1", + "63": "1" + } + }, +{% endif %} + "SCHEDULER": { + "scheduler.0": { + "type" : "DWRR", + "weight": "14" + }, + "scheduler.1": { + "type" : "DWRR", + "weight": "15" + } + }, +{% if asic_type in pfc_to_pg_map_supported_asics %} + "PFC_PRIORITY_TO_PRIORITY_GROUP_MAP": { + "AZURE": { + "3": "3", + "4": "4" + } + }, +{% endif %} + "PORT_QOS_MAP": { +{% for port in PORT_ACTIVE %} + "{{ port }}": { +{% if 'type' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['type'] in backend_device_types and 'storage_device' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['storage_device'] == 'true' %} + "dot1p_to_tc_map" : "[DOT1P_TO_TC_MAP|AZURE]", +{% else %} + "dscp_to_tc_map" : "[DSCP_TO_TC_MAP|AZURE]", +{% endif %} + "tc_to_queue_map" : "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map" : "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", +{% if asic_type in pfc_to_pg_map_supported_asics %} + "pfc_to_pg_map" : "[PFC_PRIORITY_TO_PRIORITY_GROUP_MAP|AZURE]", +{% endif %} + "pfc_enable" : "3,4" + }{% if not loop.last %},{% endif %} + +{% endfor %} + }, +{% if generate_wred_profiles is defined %} + {{- generate_wred_profiles() }} +{% else %} + "WRED_PROFILE": { + "AZURE_LOSSLESS" : { + "wred_green_enable" : "true", + "wred_yellow_enable" : "true", + "wred_red_enable" : "true", + "ecn" : "ecn_all", + "green_max_threshold" : "2097152", + "green_min_threshold" : "1048576", + "yellow_max_threshold" : "2097152", + "yellow_min_threshold" : "1048576", + "red_max_threshold" : "2097152", + "red_min_threshold" : "1048576", + "green_drop_probability" : "5", + "yellow_drop_probability": "5", + "red_drop_probability" : "5" + } + }, +{% endif %} + "QUEUE": { +{% for port in PORT_ACTIVE %} + "{{ port }}|3": { + "scheduler" : "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, +{% endfor %} +{% for port in PORT_ACTIVE %} + "{{ port }}|4": { + "scheduler" : "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, +{% endfor %} +{% for port in PORT_ACTIVE %} + "{{ port }}|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, +{% endfor %} +{% for port in PORT_ACTIVE %} + "{{ port }}|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, +{% endfor %} +{% for port in PORT_ACTIVE %} + "{{ port }}|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, +{% endfor %} +{% for port in PORT_ACTIVE %} + "{{ port }}|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, +{% endfor %} +{% for port in PORT_ACTIVE %} + "{{ port }}|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }{% if not loop.last %},{% endif %} + +{% endfor %} + } +} diff --git a/tests/qos_config_input/buffers.json.j2 b/tests/qos_config_input/buffers.json.j2 new file mode 100644 index 0000000000..b67cf577ab --- /dev/null +++ b/tests/qos_config_input/buffers.json.j2 @@ -0,0 +1,3 @@ +{%- set default_topo = 't1' %} +{%- include 'buffers_config.j2' %} + diff --git a/tests/qos_config_input/buffers_config.j2 b/tests/qos_config_input/buffers_config.j2 new file mode 100644 index 0000000000..f5dbb9784f --- /dev/null +++ b/tests/qos_config_input/buffers_config.j2 @@ -0,0 +1,172 @@ +{%- macro set_default_topology() %} +{%- if default_topo is defined %} +{{ default_topo }} +{%- else %} +def +{%- endif %} +{%- endmacro -%} + +{# Determine device topology and filename postfix #} +{%- if DEVICE_METADATA is defined and DEVICE_METADATA['localhost']['type'] is defined %} +{%- set switch_role = DEVICE_METADATA['localhost']['type'] %} +{%- if 'torrouter' in switch_role.lower() and 'mgmt' not in switch_role.lower()%} +{%- set filename_postfix = 't0' %} +{%- elif 'leafrouter' in switch_role.lower() and 'mgmt' not in switch_role.lower()%} +{%- set filename_postfix = 't1' %} +{%- else %} +{%- set filename_postfix = set_default_topology() %} +{%- endif %} +{%- else %} +{%- set filename_postfix = set_default_topology() %} +{%- set switch_role = '' %} +{%- endif -%} + +{# Import default values from device HWSKU folder #} +{%- import 'buffers_defaults_%s.j2' % filename_postfix as defs %} + +{%- set default_cable = defs.default_cable -%} + +{# Port configuration to cable length look-up table #} +{# Each record describes mapping of DUT (DUT port) role and neighbor role to cable length #} +{# Roles described in the minigraph #} +{%- if defs.ports2cable is defined %} + {%- set ports2cable = defs.ports2cable %} +{%- else %} + {%- set ports2cable = { + 'torrouter_server' : '5m', + 'leafrouter_torrouter' : '40m', + 'spinerouter_leafrouter' : '300m' + } + -%} +{%- endif %} + +{%- macro cable_length(port_name) %} + {%- set cable_len = [] %} + {%- for local_port in DEVICE_NEIGHBOR %} + {%- if local_port == port_name %} + {%- if DEVICE_NEIGHBOR_METADATA is defined and DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %} + {%- set neighbor = DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %} + {%- set neighbor_role = neighbor.type %} + {%- if 'asic' == neighbor_role | lower %} + {%- set roles1 = 'internal' %} + {%- if 'internal' not in ports2cable %} + {%- set _ = ports2cable.update({'internal': '5m'}) %} + {%- endif -%} + {%- else %} + {%- set roles1 = switch_role + '_' + neighbor_role %} + {%- set roles2 = neighbor_role + '_' + switch_role %} + {%- set roles1 = roles1 | lower %} + {%- set roles2 = roles2 | lower %} + {%- endif %} + {%- if roles1 in ports2cable %} + {%- if cable_len.append(ports2cable[roles1]) %}{% endif %} + {%- elif roles2 in ports2cable %} + {%- if cable_len.append(ports2cable[roles2]) %}{% endif %} + {%- endif %} + {%- endif %} + {%- endif %} + {%- endfor %} + {%- if cable_len -%} + {{ cable_len.0 }} + {%- else %} + {%- if 'torrouter' in switch_role.lower() and 'mgmt' not in switch_role.lower()%} + {%- for local_port in VLAN_MEMBER %} + {%- if local_port[1] == port_name %} + {%- set roles3 = switch_role + '_' + 'server' %} + {%- set roles3 = roles3 | lower %} + {%- if roles3 in ports2cable %} + {%- if cable_len.append(ports2cable[roles3]) %}{% endif %} + {%- endif %} + {%- endif %} + {%- endfor %} + {%- if cable_len -%} + {{ cable_len.0 }} + {%- else -%} + {{ default_cable }} + {%- endif %} + {%- else -%} + {{ default_cable }} + {%- endif %} + {%- endif %} +{%- endmacro %} + +{%- set PORT_ALL = [] %} + +{%- if PORT is not defined %} + {%- if defs.generate_port_lists(PORT_ALL) %} {% endif %} +{%- else %} + {%- for port in PORT %} + {%- if PORT_ALL.append(port) %}{%- endif %} + {%- endfor %} +{%- endif %} + +{%- set PORT_ACTIVE = [] %} +{%- if DEVICE_NEIGHBOR is not defined %} + {%- set PORT_ACTIVE = PORT_ALL %} +{%- else %} + {%- for port in DEVICE_NEIGHBOR.keys() %} + {%- if PORT_ACTIVE.append(port) %}{%- endif %} + {%- endfor %} +{%- endif %} + +{%- set port_names_list_active = [] %} +{%- for port in PORT_ACTIVE %} + {%- if port_names_list_active.append(port) %}{%- endif %} +{%- endfor %} +{%- set port_names_active = port_names_list_active | join(',') %} + +{ + "CABLE_LENGTH": { + "AZURE": { + {% for port in PORT_ALL %} + {%- set cable = cable_length(port) %} + "{{ port }}": "{{ cable }}"{%- if not loop.last %},{% endif %} + + {% endfor %} + } + }, + +{% if defs.generate_buffer_pool_and_profiles is defined %} +{{ defs.generate_buffer_pool_and_profiles() }} +{% endif %} + +{%- if defs.generate_profile_lists is defined %} +{{ defs.generate_profile_lists(port_names_active) }}, +{% endif %} + +{%- if defs.generate_pg_profils is defined %} +{{ defs.generate_pg_profils(port_names_active) }} +{% else %} + "BUFFER_PG": { +{% for port in PORT_ACTIVE %} + "{{ port }}|0": { + "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]" + }{% if not loop.last %},{% endif %} + +{% endfor %} + }, +{% endif %} + +{% if defs.generate_queue_buffers is defined %} +{{ defs.generate_queue_buffers(port_names_active) }} +{% else %} + "BUFFER_QUEUE": { +{% for port in PORT_ACTIVE %} + "{{ port }}|3-4": { + "profile" : "[BUFFER_PROFILE|egress_lossless_profile]" + }, +{% endfor %} +{% for port in PORT_ACTIVE %} + "{{ port }}|0-2": { + "profile" : "[BUFFER_PROFILE|egress_lossy_profile]" + }, +{% endfor %} +{% for port in PORT_ACTIVE %} + "{{ port }}|5-6": { + "profile" : "[BUFFER_PROFILE|egress_lossy_profile]" + }{% if not loop.last %},{% endif %} + +{% endfor %} + } +{% endif %} +} diff --git a/tests/qos_config_input/buffers_defaults_t1.j2 b/tests/qos_config_input/buffers_defaults_t1.j2 new file mode 100644 index 0000000000..38e34eb571 --- /dev/null +++ b/tests/qos_config_input/buffers_defaults_t1.j2 @@ -0,0 +1,45 @@ +{%- set default_cable = '300m' %} + +{%- macro generate_port_lists(PORT_ALL) %} + {# Generate list of ports #} + {% for port_idx in range(0,32) %} + {% if PORT_ALL.append("Ethernet%d" % (port_idx * 4)) %}{% endif %} + {% endfor %} +{%- endmacro %} + +{%- macro generate_buffer_pool_and_profiles() %} + "BUFFER_POOL": { + "ingress_lossless_pool": { + "size": "12766208", + "type": "ingress", + "mode": "dynamic" + }, + "egress_lossless_pool": { + "size": "12766208", + "type": "egress", + "mode": "static" + }, + "egress_lossy_pool": { + "size": "7326924", + "type": "egress", + "mode": "dynamic" + } + }, + "BUFFER_PROFILE": { + "ingress_lossy_profile": { + "pool":"[BUFFER_POOL|ingress_lossless_pool]", + "size":"0", + "dynamic_th":"3" + }, + "egress_lossless_profile": { + "pool":"[BUFFER_POOL|egress_lossless_pool]", + "size":"0", + "static_th":"12766208" + }, + "egress_lossy_profile": { + "pool":"[BUFFER_POOL|egress_lossy_pool]", + "size":"1518", + "dynamic_th":"3" + } + }, +{%- endmacro %} diff --git a/tests/qos_config_input/config_qos.json b/tests/qos_config_input/config_qos.json new file mode 100644 index 0000000000..40c1903a06 --- /dev/null +++ b/tests/qos_config_input/config_qos.json @@ -0,0 +1,137 @@ +{ + "TC_TO_PRIORITY_GROUP_MAP": { + "AZURE": { + "0": "0", + "1": "0", + "2": "0", + "3": "3", + "4": "4", + "5": "0", + "6": "0", + "7": "7" + } + }, + "MAP_PFC_PRIORITY_TO_QUEUE": { + "AZURE": { + "0": "0", + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7" + } + }, + "TC_TO_QUEUE_MAP": { + "AZURE": { + "0": "0", + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7" + } + }, + "DSCP_TO_TC_MAP": { + "AZURE": { + "0" : "1", + "1" : "1", + "2" : "1", + "3" : "3", + "4" : "4", + "5" : "2", + "6" : "1", + "7" : "1", + "8" : "0", + "9" : "1", + "10": "1", + "11": "1", + "12": "1", + "13": "1", + "14": "1", + "15": "1", + "16": "1", + "17": "1", + "18": "1", + "19": "1", + "20": "1", + "21": "1", + "22": "1", + "23": "1", + "24": "1", + "25": "1", + "26": "1", + "27": "1", + "28": "1", + "29": "1", + "30": "1", + "31": "1", + "32": "1", + "33": "1", + "34": "1", + "35": "1", + "36": "1", + "37": "1", + "38": "1", + "39": "1", + "40": "1", + "41": "1", + "42": "1", + "43": "1", + "44": "1", + "45": "1", + "46": "5", + "47": "1", + "48": "6", + "49": "1", + "50": "1", + "51": "1", + "52": "1", + "53": "1", + "54": "1", + "55": "1", + "56": "1", + "57": "1", + "58": "1", + "59": "1", + "60": "1", + "61": "1", + "62": "1", + "63": "1" + } + }, + "SCHEDULER": { + "scheduler.0": { + "type" : "DWRR", + "weight": "14" + }, + "scheduler.1": { + "type" : "DWRR", + "weight": "15" + } + }, + "PORT_QOS_MAP": { + }, + "WRED_PROFILE": { + "AZURE_LOSSLESS" : { + "wred_green_enable" : "true", + "wred_yellow_enable" : "true", + "wred_red_enable" : "true", + "ecn" : "ecn_all", + "green_max_threshold" : "2097152", + "green_min_threshold" : "1048576", + "yellow_max_threshold" : "2097152", + "yellow_min_threshold" : "1048576", + "red_max_threshold" : "2097152", + "red_min_threshold" : "1048576", + "green_drop_probability" : "5", + "yellow_drop_probability": "5", + "red_drop_probability" : "5" + } + }, + "QUEUE": { + } +} diff --git a/tests/qos_config_input/qos.json.j2 b/tests/qos_config_input/qos.json.j2 new file mode 100644 index 0000000000..3e548325ea --- /dev/null +++ b/tests/qos_config_input/qos.json.j2 @@ -0,0 +1 @@ +{%- include 'qos_config.j2' %} diff --git a/tests/qos_config_input/qos_config.j2 b/tests/qos_config_input/qos_config.j2 new file mode 100644 index 0000000000..a7c361d69f --- /dev/null +++ b/tests/qos_config_input/qos_config.j2 @@ -0,0 +1,257 @@ +{%- set PORT_ALL = [] %} +{%- for port in PORT %} + {%- if PORT_ALL.append(port) %}{% endif %} +{%- endfor %} +{%- if PORT_ALL | sort_by_port_index %}{% endif %} + +{%- set port_names_list_all = [] %} +{%- for port in PORT_ALL %} + {%- if port_names_list_all.append(port) %}{% endif %} +{%- endfor %} +{%- set port_names_all = port_names_list_all | join(',') -%} + + +{%- set PORT_ACTIVE = [] %} +{%- if DEVICE_NEIGHBOR is not defined %} + {%- set PORT_ACTIVE = PORT_ALL %} +{%- else %} + {%- for port in DEVICE_NEIGHBOR.keys() %} + {%- if PORT_ACTIVE.append(port) %}{%- endif %} + {%- endfor %} +{%- endif %} +{%- if PORT_ACTIVE | sort_by_port_index %}{% endif %} + +{%- set port_names_list_active = [] %} +{%- for port in PORT_ACTIVE %} + {%- if port_names_list_active.append(port) %}{%- endif %} +{%- endfor %} +{%- set port_names_active = port_names_list_active | join(',') -%} + + +{%- set pfc_to_pg_map_supported_asics = ['mellanox', 'barefoot', 'marvell'] -%} +{%- set backend_device_types = ['BackEndToRRouter', 'BackEndLeafRouter'] -%} + + +{ +{% if generate_tc_to_pg_map is defined %} + {{- generate_tc_to_pg_map() }} +{% else %} + "TC_TO_PRIORITY_GROUP_MAP": { + "AZURE": { + "0": "0", + "1": "0", + "2": "0", + "3": "3", + "4": "4", + "5": "0", + "6": "0", + "7": "7" + } + }, +{% endif %} + "MAP_PFC_PRIORITY_TO_QUEUE": { + "AZURE": { + "0": "0", + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7" + } + }, + "TC_TO_QUEUE_MAP": { + "AZURE": { + "0": "0", + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7" + } + }, +{% if 'type' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['type'] in backend_device_types and 'storage_device' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['storage_device'] == 'true' %} + "DOT1P_TO_TC_MAP": { + "AZURE": { + "0": "0", + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7" + } + }, +{% else %} + "DSCP_TO_TC_MAP": { + "AZURE": { + "0" : "1", + "1" : "1", + "2" : "1", + "3" : "3", + "4" : "4", + "5" : "2", + "6" : "1", + "7" : "1", + "8" : "0", + "9" : "1", + "10": "1", + "11": "1", + "12": "1", + "13": "1", + "14": "1", + "15": "1", + "16": "1", + "17": "1", + "18": "1", + "19": "1", + "20": "1", + "21": "1", + "22": "1", + "23": "1", + "24": "1", + "25": "1", + "26": "1", + "27": "1", + "28": "1", + "29": "1", + "30": "1", + "31": "1", + "32": "1", + "33": "1", + "34": "1", + "35": "1", + "36": "1", + "37": "1", + "38": "1", + "39": "1", + "40": "1", + "41": "1", + "42": "1", + "43": "1", + "44": "1", + "45": "1", + "46": "5", + "47": "1", + "48": "6", + "49": "1", + "50": "1", + "51": "1", + "52": "1", + "53": "1", + "54": "1", + "55": "1", + "56": "1", + "57": "1", + "58": "1", + "59": "1", + "60": "1", + "61": "1", + "62": "1", + "63": "1" + } + }, +{% endif %} + "SCHEDULER": { + "scheduler.0": { + "type" : "DWRR", + "weight": "14" + }, + "scheduler.1": { + "type" : "DWRR", + "weight": "15" + } + }, +{% if asic_type in pfc_to_pg_map_supported_asics %} + "PFC_PRIORITY_TO_PRIORITY_GROUP_MAP": { + "AZURE": { + "3": "3", + "4": "4" + } + }, +{% endif %} + "PORT_QOS_MAP": { +{% for port in PORT_ACTIVE %} + "{{ port }}": { +{% if 'type' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['type'] in backend_device_types and 'storage_device' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['storage_device'] == 'true' %} + "dot1p_to_tc_map" : "[DOT1P_TO_TC_MAP|AZURE]", +{% else %} + "dscp_to_tc_map" : "[DSCP_TO_TC_MAP|AZURE]", +{% endif %} + "tc_to_queue_map" : "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map" : "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", +{% if asic_type in pfc_to_pg_map_supported_asics %} + "pfc_to_pg_map" : "[PFC_PRIORITY_TO_PRIORITY_GROUP_MAP|AZURE]", +{% endif %} + "pfc_enable" : "3,4" + }{% if not loop.last %},{% endif %} + +{% endfor %} + }, +{% if generate_wred_profiles is defined %} + {{- generate_wred_profiles() }} +{% else %} + "WRED_PROFILE": { + "AZURE_LOSSLESS" : { + "wred_green_enable" : "true", + "wred_yellow_enable" : "true", + "wred_red_enable" : "true", + "ecn" : "ecn_all", + "green_max_threshold" : "2097152", + "green_min_threshold" : "1048576", + "yellow_max_threshold" : "2097152", + "yellow_min_threshold" : "1048576", + "red_max_threshold" : "2097152", + "red_min_threshold" : "1048576", + "green_drop_probability" : "5", + "yellow_drop_probability": "5", + "red_drop_probability" : "5" + } + }, +{% endif %} + "QUEUE": { +{% for port in PORT_ACTIVE %} + "{{ port }}|3": { + "scheduler" : "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, +{% endfor %} +{% for port in PORT_ACTIVE %} + "{{ port }}|4": { + "scheduler" : "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, +{% endfor %} +{% for port in PORT_ACTIVE %} + "{{ port }}|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, +{% endfor %} +{% for port in PORT_ACTIVE %} + "{{ port }}|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, +{% endfor %} +{% for port in PORT_ACTIVE %} + "{{ port }}|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, +{% endfor %} +{% for port in PORT_ACTIVE %} + "{{ port }}|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, +{% endfor %} +{% for port in PORT_ACTIVE %} + "{{ port }}|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }{% if not loop.last %},{% endif %} + +{% endfor %} + } +} diff --git a/tests/qos_config_input/sonic_version.yml b/tests/qos_config_input/sonic_version.yml new file mode 100644 index 0000000000..4791f627e7 --- /dev/null +++ b/tests/qos_config_input/sonic_version.yml @@ -0,0 +1,8 @@ +build_version: 'master.487-a98cf221' +debian_version: '10.6' +kernel_version: '4.19.0-9-2-amd64' +asic_type: broadcom +commit_id: 'a98cf221' +build_date: Thu Nov 12 12:21:45 UTC 2020 +build_number: 487 +built_by: johnar@jenkins-worker-8 From d63d11da1b455c6c340c53b0a4364b09b0d0d9be Mon Sep 17 00:00:00 2001 From: gechiang <62408185+gechiang@users.noreply.github.com> Date: Wed, 23 Dec 2020 09:55:01 -0800 Subject: [PATCH 021/342] Added show ip/v6 route summary support for multi-asic platform (#1320) * Added show ip/v6 route summary support for multi-asic platform by making any additional parameter handling other than specific route cases or json format to be handled by the corresponding namespace FRR directly. --- show/bgp_common.py | 25 ++++++++++------- tests/conftest.py | 4 ++- tests/ip_show_routes_multi_asic_test.py | 28 ++++++++++---------- tests/mock_tables/asic0/ip_route_summary.txt | 8 ++++++ tests/mock_tables/asic1/ip_route_summary.txt | 8 ++++++ tests/mock_tables/asic2/ip_route_summary.txt | 8 ++++++ tests/show_ip_route_common.py | 26 +++++++++++++++--- 7 files changed, 78 insertions(+), 29 deletions(-) create mode 100644 tests/mock_tables/asic0/ip_route_summary.txt create mode 100644 tests/mock_tables/asic1/ip_route_summary.txt create mode 100644 tests/mock_tables/asic2/ip_route_summary.txt diff --git a/show/bgp_common.py b/show/bgp_common.py index 7ff859e067..f439c97e65 100644 --- a/show/bgp_common.py +++ b/show/bgp_common.py @@ -330,7 +330,7 @@ def show_routes(args, namespace, display, verbose, ipver): device = multi_asic_util.MultiAsic(display, namespace) arg_strg = "" found_json = 0 - found_tables = 0 + found_other_parms = 0 ns_l = [] print_ns_str = False filter_by_ip = False @@ -353,26 +353,24 @@ def show_routes(args, namespace, display, verbose, ipver): else: back_end_intf_set = None # get all the other arguments except json that needs to be the last argument of the cmd if present + # For Multi-ASIC platform the support for combining routes will be supported for "show ip/v6 route" + # and optionally with specific IP address as parameter and the json option. If any other option is + # specified, the handling will always be handled by the specific namespace FRR. for arg in args: arg_strg += str(arg) + " " if str(arg) == "json": found_json = 1 - elif str(arg) == "tables": - found_tables = 1 else: try: filter_by_ip = ipaddress.ip_network(arg) except ValueError: # Not ip address just ignore it - pass - # Due to options such as "summary" and "tables" are not yet supported in multi-asic platform - # we will let FRR handle all the processing instead of handling it here for non multi-asic platform + found_other_parms = 1 + if multi_asic.is_multi_asic(): - if found_tables: - print("% Unknown command: show {} route {}".format(ipver, arg_strg)) - return - if not found_json: + if not found_json and not found_other_parms: arg_strg += "json" + combined_route = {} for ns in ns_l: # Need to add "ns" to form bgpX so it is sent to the correct bgpX docker to handle the request @@ -398,6 +396,13 @@ def show_routes(args, namespace, display, verbose, ipver): error_msg = output print(error_msg) return + + # Multi-asic show ip route with additional parms are handled by going to FRR directly and get those outputs from each namespace + if found_other_parms: + print("{}:".format(ns)) + print(output) + continue + route_info = json.loads(output) if filter_back_end or print_ns_str: # clean up the dictionary to remove all the nexthops that are back-end interface diff --git a/tests/conftest.py b/tests/conftest.py index f57ec4263b..309e65f055 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -170,8 +170,10 @@ def setup_multi_asic_bgp_instance(request): m_asic_json_file = 'ip_empty_route.json' elif request.param == 'ip_specific_route_on_1_asic': m_asic_json_file = 'ip_special_route_asic0_only.json' + elif request.param == 'ip_route_summary': + m_asic_json_file = 'ip_route_summary.txt' else: - bgp_mocked_json = os.path.join( + m_asic_json_file = os.path.join( test_path, 'mock_tables', 'dummy.json') def mock_run_bgp_command(vtysh_cmd, bgp_namespace): diff --git a/tests/ip_show_routes_multi_asic_test.py b/tests/ip_show_routes_multi_asic_test.py index 384cda4f6b..19e9137df0 100644 --- a/tests/ip_show_routes_multi_asic_test.py +++ b/tests/ip_show_routes_multi_asic_test.py @@ -91,20 +91,6 @@ def test_show_multi_asic_ipv6_route_specific( assert result.exit_code == 0 assert result.output == show_ip_route_common.show_ipv6_route_multi_asic_specific_route_output - @pytest.mark.parametrize('setup_multi_asic_bgp_instance', - ['ip_route'], indirect=['setup_multi_asic_bgp_instance']) - def test_show_multi_asic_ip_route_tables_option_err( - self, - setup_ip_route_commands, - setup_multi_asic_bgp_instance): - show = setup_ip_route_commands - runner = CliRunner() - result = runner.invoke( - show.cli.commands["ip"].commands["route"], ["tables"]) - print("{}".format(result.output)) - assert result.exit_code == 0 - assert result.output == show_ip_route_common.show_ip_route_multi_asic_invalid_tables_cmd_err_output - # note that we purposely use the single bgp instance setup to cause trigger a param error bad # just bail out while executing in multi-asic show ipv6 route handling. # This is to test out the error parm handling code path @@ -220,6 +206,20 @@ def test_show_multi_asic_ip_route_empty_route( assert result.exit_code == 0 assert result.output == "" + @pytest.mark.parametrize('setup_multi_asic_bgp_instance', + ['ip_route_summary'], indirect=['setup_multi_asic_bgp_instance']) + def test_show_multi_asic_ip_route_summay( + self, + setup_ip_route_commands, + setup_multi_asic_bgp_instance): + show = setup_ip_route_commands + runner = CliRunner() + result = runner.invoke( + show.cli.commands["ip"].commands["route"], ["summary"]) + print("{}".format(result.output)) + assert result.exit_code == 0 + assert result.output == show_ip_route_common.show_ip_route_summary_expected_output + @classmethod def teardown_class(cls): print("TEARDOWN") diff --git a/tests/mock_tables/asic0/ip_route_summary.txt b/tests/mock_tables/asic0/ip_route_summary.txt new file mode 100644 index 0000000000..36ca93368f --- /dev/null +++ b/tests/mock_tables/asic0/ip_route_summary.txt @@ -0,0 +1,8 @@ +Route Source Routes FIB (vrf default) +kernel 1 1 +connected 6 6 +static 1 0 +ebgp 6371 6371 +ibgp 88 88 +------ +Totals 6467 6466 diff --git a/tests/mock_tables/asic1/ip_route_summary.txt b/tests/mock_tables/asic1/ip_route_summary.txt new file mode 100644 index 0000000000..36ca93368f --- /dev/null +++ b/tests/mock_tables/asic1/ip_route_summary.txt @@ -0,0 +1,8 @@ +Route Source Routes FIB (vrf default) +kernel 1 1 +connected 6 6 +static 1 0 +ebgp 6371 6371 +ibgp 88 88 +------ +Totals 6467 6466 diff --git a/tests/mock_tables/asic2/ip_route_summary.txt b/tests/mock_tables/asic2/ip_route_summary.txt new file mode 100644 index 0000000000..1b81f29e93 --- /dev/null +++ b/tests/mock_tables/asic2/ip_route_summary.txt @@ -0,0 +1,8 @@ +Route Source Routes FIB (vrf default) +kernel 1 1 +connected 14 14 +static 1 0 +ebgp 42 42 +ibgp 6409 6409 +------ +Totals 6467 6466 diff --git a/tests/show_ip_route_common.py b/tests/show_ip_route_common.py index d6d82acb9c..e18e8b0a5a 100644 --- a/tests/show_ip_route_common.py +++ b/tests/show_ip_route_common.py @@ -584,10 +584,6 @@ dislay option 'everything' is not a valid option. """ -show_ip_route_multi_asic_invalid_tables_cmd_err_output = """\ -% Unknown command: show ip route tables -""" - show_ip_route_multi_asic_specific_route_output = """\ Routing entry for 10.0.0.4/31 Known via "connected", distance 0, metric 0, best @@ -644,3 +640,25 @@ } """ +show_ip_route_summary_expected_output = """\ +asic0: +Route Source Routes FIB (vrf default) +kernel 1 1 +connected 6 6 +static 1 0 +ebgp 6371 6371 +ibgp 88 88 +------ +Totals 6467 6466 + +asic2: +Route Source Routes FIB (vrf default) +kernel 1 1 +connected 14 14 +static 1 0 +ebgp 42 42 +ibgp 6409 6409 +------ +Totals 6467 6466 + +""" From ff1db4db76c48ffcad91a901f444595c69e97165 Mon Sep 17 00:00:00 2001 From: jangidrk Date: Thu, 24 Dec 2020 03:34:57 +0530 Subject: [PATCH 022/342] [fast-reboot]: Update fast-reboot-dump.py to handle invalid parsing of genetlink type hostif object id attribute (#1318) Fix fast reboot failure due to invalid parsing of genetlink type hostif object id attribute. Genetlink type hostif does NOT have object ID attribute. SAI_HOSTIF_ATTR_OBJ_ID (SAI_HOSTIF_ATTR_TYPE == SAI_HOSTIF_TYPE_GENETLINK) --- scripts/fast-reboot-dump.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/fast-reboot-dump.py b/scripts/fast-reboot-dump.py index 2744f05a0d..3c655381f4 100644 --- a/scripts/fast-reboot-dump.py +++ b/scripts/fast-reboot-dump.py @@ -86,6 +86,8 @@ def get_map_port_id_2_iface_name(db): keys = [] if keys is None else keys for key in keys: value = db.get_all(db.ASIC_DB, key) + if value['SAI_HOSTIF_ATTR_TYPE'] != 'SAI_HOSTIF_TYPE_NETDEV': + continue port_id = value['SAI_HOSTIF_ATTR_OBJ_ID'] iface_name = value['SAI_HOSTIF_ATTR_NAME'] port_id_2_iface[port_id] = iface_name From ef3370dd075e74bfa0db45be01fa10221f69aad1 Mon Sep 17 00:00:00 2001 From: jangidrk Date: Thu, 24 Dec 2020 04:09:04 +0530 Subject: [PATCH 023/342] [fast-reboot]: Stop sflow during fast-reboot (#1296) Sflow docker is newly added and this needs to be stopped during fast-reboot. Otherwise sflowmgrd in sflow docker is accessing database service after is stopped. --- scripts/fast-reboot | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/scripts/fast-reboot b/scripts/fast-reboot index e9519612de..e0450f802b 100755 --- a/scripts/fast-reboot +++ b/scripts/fast-reboot @@ -558,7 +558,13 @@ debug "Stopping bgp ..." systemctl stop bgp debug "Stopped bgp ..." -# Kill lldp, otherwise it sends information about reboot. +# Kill sflow docker +debug "Stopping sflow ..." +container kill sflow &> /dev/null || debug "Docker sflow is not running ($?) ..." +systemctl stop sflow +debug "Stopped sflow ..." + +# Kill lldp, otherwise it sends informotion about reboot. # We call `docker kill lldp` to ensure the container stops as quickly as possible, # then immediately call `systemctl stop lldp` to prevent the service from # restarting the container automatically. From de149398db512c7df914ae05081441a0f133fc5a Mon Sep 17 00:00:00 2001 From: Guohan Lu Date: Sun, 27 Dec 2020 12:03:07 -0800 Subject: [PATCH 024/342] Revert "[pytest][qos][config] Added pytests for "config qos reload" commands (#1266)" This reverts commit 6202a81d9b504c42d992ea33f361c35688f5fbbb. --- config/main.py | 45 +-- pfcwd/main.py | 2 - scripts/intfutil | 4 +- tests/config_test.py | 105 +------ tests/conftest.py | 35 +-- tests/crm_test.py | 5 +- tests/mock_tables/mock_multi_asic.py | 2 - tests/qos_config_input/0/buffers.json.j2 | 3 - tests/qos_config_input/0/buffers_config.j2 | 172 ------------ .../qos_config_input/0/buffers_defaults_t0.j2 | 45 --- .../qos_config_input/0/buffers_defaults_t1.j2 | 45 --- tests/qos_config_input/0/config_qos.json | 137 ---------- tests/qos_config_input/0/qos.json.j2 | 1 - tests/qos_config_input/0/qos_config.j2 | 257 ------------------ tests/qos_config_input/1/buffers.json.j2 | 3 - tests/qos_config_input/1/buffers_config.j2 | 172 ------------ .../qos_config_input/1/buffers_defaults_t0.j2 | 45 --- .../qos_config_input/1/buffers_defaults_t1.j2 | 45 --- tests/qos_config_input/1/config_qos.json | 137 ---------- tests/qos_config_input/1/qos.json.j2 | 1 - tests/qos_config_input/1/qos_config.j2 | 257 ------------------ tests/qos_config_input/buffers.json.j2 | 3 - tests/qos_config_input/buffers_config.j2 | 172 ------------ tests/qos_config_input/buffers_defaults_t1.j2 | 45 --- tests/qos_config_input/config_qos.json | 137 ---------- tests/qos_config_input/qos.json.j2 | 1 - tests/qos_config_input/qos_config.j2 | 257 ------------------ tests/qos_config_input/sonic_version.yml | 8 - 28 files changed, 17 insertions(+), 2124 deletions(-) delete mode 100644 tests/qos_config_input/0/buffers.json.j2 delete mode 100644 tests/qos_config_input/0/buffers_config.j2 delete mode 100644 tests/qos_config_input/0/buffers_defaults_t0.j2 delete mode 100644 tests/qos_config_input/0/buffers_defaults_t1.j2 delete mode 100644 tests/qos_config_input/0/config_qos.json delete mode 100644 tests/qos_config_input/0/qos.json.j2 delete mode 100644 tests/qos_config_input/0/qos_config.j2 delete mode 100644 tests/qos_config_input/1/buffers.json.j2 delete mode 100644 tests/qos_config_input/1/buffers_config.j2 delete mode 100644 tests/qos_config_input/1/buffers_defaults_t0.j2 delete mode 100644 tests/qos_config_input/1/buffers_defaults_t1.j2 delete mode 100644 tests/qos_config_input/1/config_qos.json delete mode 100644 tests/qos_config_input/1/qos.json.j2 delete mode 100644 tests/qos_config_input/1/qos_config.j2 delete mode 100644 tests/qos_config_input/buffers.json.j2 delete mode 100644 tests/qos_config_input/buffers_config.j2 delete mode 100644 tests/qos_config_input/buffers_defaults_t1.j2 delete mode 100644 tests/qos_config_input/config_qos.json delete mode 100644 tests/qos_config_input/qos.json.j2 delete mode 100644 tests/qos_config_input/qos_config.j2 delete mode 100644 tests/qos_config_input/sonic_version.yml diff --git a/config/main.py b/config/main.py index 8710481e47..7f82deec8c 100644 --- a/config/main.py +++ b/config/main.py @@ -37,21 +37,6 @@ from . import vxlan from .config_mgmt import ConfigMgmtDPB -# mock masic APIs for unit test -try: - if os.environ["UTILITIES_UNIT_TESTING"] == "1" or os.environ["UTILITIES_UNIT_TESTING"] == "2": - modules_path = os.path.join(os.path.dirname(__file__), "..") - tests_path = os.path.join(modules_path, "tests") - sys.path.insert(0, modules_path) - sys.path.insert(0, tests_path) - import mock_tables.dbconnector - if os.environ["UTILITIES_UNIT_TESTING_TOPOLOGY"] == "multi_asic": - import mock_tables.mock_multi_asic - mock_tables.dbconnector.load_namespace_config() -except KeyError: - pass - - CONTEXT_SETTINGS = dict(help_option_names=['-h', '--help', '-?']) SONIC_GENERATED_SERVICE_PATH = '/etc/sonic/generated_services.conf' @@ -1656,24 +1641,12 @@ def _update_buffer_calculation_model(config_db, model): @qos.command('reload') @click.pass_context @click.option('--no-dynamic-buffer', is_flag=True, help="Disable dynamic buffer calculation") -@click.option( - '--json-data', type=click.STRING, - help="json string with additional data, valid with --dry-run option" -) -@click.option( - '--dry_run', type=click.STRING, - help="Dry run, writes config to the given file" -) -def reload(ctx, no_dynamic_buffer, dry_run, json_data): +def reload(ctx, no_dynamic_buffer): """Reload QoS configuration""" log.log_info("'qos reload' executing...") _clear_qos() _, hwsku_path = device_info.get_paths_to_platform_and_hwsku_dirs() - sonic_version_file = device_info.get_sonic_version_file() - from_db = "-d --write-to-db" - if dry_run: - from_db = "--additional-data \'{}\'".format(json_data) if json_data else "" namespace_list = [DEFAULT_NAMESPACE] if multi_asic.get_num_asics() > 1: @@ -1710,17 +1683,17 @@ def reload(ctx, no_dynamic_buffer, dry_run, json_data): buffer_template_file = os.path.join(hwsku_path, asic_id_suffix, "buffers.json.j2") if asic_type in vendors_supporting_dynamic_buffer: buffer_model_updated |= _update_buffer_calculation_model(config_db, "traditional") - if os.path.isfile(buffer_template_file): - qos_template_file = os.path.join( - hwsku_path, asic_id_suffix, "qos.json.j2" - ) + qos_template_file = os.path.join(hwsku_path, asic_id_suffix, "qos.json.j2") if os.path.isfile(qos_template_file): cmd_ns = "" if ns is DEFAULT_NAMESPACE else "-n {}".format(ns) - fname = "{}{}".format(dry_run, asic_id_suffix) if dry_run else "config-db" - command = "{} {} {} -t {},{} -t {},{} -y {}".format( - SONIC_CFGGEN_PATH, cmd_ns, from_db, buffer_template_file, - fname, qos_template_file, fname, sonic_version_file + sonic_version_file = os.path.join('/', "etc", "sonic", "sonic_version.yml") + command = "{} {} -d -t {},config-db -t {},config-db -y {} --write-to-db".format( + SONIC_CFGGEN_PATH, + cmd_ns, + buffer_template_file, + qos_template_file, + sonic_version_file ) # Apply the configurations only when both buffer and qos # configuration files are present diff --git a/pfcwd/main.py b/pfcwd/main.py index bc5211191b..c55038b9b2 100644 --- a/pfcwd/main.py +++ b/pfcwd/main.py @@ -1,5 +1,4 @@ import os -import imp import sys import click @@ -22,7 +21,6 @@ import mock_tables.dbconnector if os.environ["UTILITIES_UNIT_TESTING_TOPOLOGY"] == "multi_asic": import mock_tables.mock_multi_asic - imp.reload(mock_tables.mock_multi_asic) mock_tables.dbconnector.load_namespace_config() except KeyError: diff --git a/scripts/intfutil b/scripts/intfutil index b943b7c543..2f4baa71ab 100755 --- a/scripts/intfutil +++ b/scripts/intfutil @@ -22,7 +22,7 @@ try: if os.environ["UTILITIES_UNIT_TESTING_TOPOLOGY"] == "multi_asic": import mock_tables.mock_multi_asic mock_tables.dbconnector.load_namespace_config() - + except KeyError: pass @@ -461,7 +461,7 @@ class IntfDescription(object): self.intf_name = intf_name def display_intf_description(self): - + self.get_intf_description() # Sorting and tabulating the result table. diff --git a/tests/config_test.py b/tests/config_test.py index 30a1f10ec8..1ca37fb7a9 100644 --- a/tests/config_test.py +++ b/tests/config_test.py @@ -1,14 +1,10 @@ -import filecmp -import imp import os import traceback -import json from unittest import mock import click from click.testing import CliRunner -from sonic_py_common import device_info from utilities_common.db import Db load_minigraph_command_output="""\ @@ -65,10 +61,8 @@ class TestLoadMinigraph(object): def setup_class(cls): os.environ['UTILITIES_UNIT_TESTING'] = "1" print("SETUP") - import config.main - imp.reload(config.main) - def test_load_minigraph(self, get_cmd_module, setup_single_broadcom_asic): + def test_load_minigraph(self, get_cmd_module, setup_single_broacom_asic): with mock.patch("utilities_common.cli.run_command", mock.MagicMock(side_effect=mock_run_command_side_effect)) as mock_run_command: (config, show) = get_cmd_module runner = CliRunner() @@ -80,7 +74,7 @@ def test_load_minigraph(self, get_cmd_module, setup_single_broadcom_asic): assert "\n".join([l.rstrip() for l in result.output.split('\n')]) == load_minigraph_command_output assert mock_run_command.call_count == 38 - def test_load_minigraph_with_disabled_telemetry(self, get_cmd_module, setup_single_broadcom_asic): + def test_load_minigraph_with_disabled_telemetry(self, get_cmd_module, setup_single_broacom_asic): with mock.patch("utilities_common.cli.run_command", mock.MagicMock(side_effect=mock_run_command_side_effect)) as mock_run_command: (config, show) = get_cmd_module db = Db() @@ -101,98 +95,3 @@ def test_load_minigraph_with_disabled_telemetry(self, get_cmd_module, setup_sing def teardown_class(cls): os.environ['UTILITIES_UNIT_TESTING'] = "0" print("TEARDOWN") - - -class TestConfigQos(object): - @classmethod - def setup_class(cls): - print("SETUP") - os.environ['UTILITIES_UNIT_TESTING'] = "2" - import config.main - imp.reload(config.main) - - def test_qos_reload_single( - self, get_cmd_module, setup_qos_mock_apis, - setup_single_broadcom_asic - ): - (config, show) = get_cmd_module - runner = CliRunner() - output_file = os.path.join(os.sep, "tmp", "qos_config_output.json") - print("Saving output in {}".format(output_file)) - try: - os.remove(output_file) - except OSError: - pass - json_data = '{"DEVICE_METADATA": {"localhost": {}}}' - result = runner.invoke( - config.config.commands["qos"], - ["reload", "--dry_run", output_file, "--json-data", json_data] - ) - print(result.exit_code) - print(result.output) - assert result.exit_code == 0 - - cwd = os.path.dirname(os.path.realpath(__file__)) - expected_result = os.path.join( - cwd, "qos_config_input", "config_qos.json" - ) - assert filecmp.cmp(output_file, expected_result, shallow=False) - - @classmethod - def teardown_class(cls): - print("TEARDOWN") - os.environ['UTILITIES_UNIT_TESTING'] = "0" - - -class TestConfigQosMasic(object): - @classmethod - def setup_class(cls): - print("SETUP") - os.environ['UTILITIES_UNIT_TESTING'] = "2" - os.environ["UTILITIES_UNIT_TESTING_TOPOLOGY"] = "multi_asic" - import config.main - imp.reload(config.main) - - def test_qos_reload_masic( - self, get_cmd_module, setup_qos_mock_apis, - setup_multi_broadcom_masic - ): - (config, show) = get_cmd_module - runner = CliRunner() - output_file = os.path.join(os.sep, "tmp", "qos_config_output.json") - print("Saving output in {}<0,1,2..>".format(output_file)) - num_asic = device_info.get_num_npus() - for asic in range(num_asic): - try: - file = "{}{}".format(output_file, asic) - os.remove(file) - except OSError: - pass - json_data = '{"DEVICE_METADATA": {"localhost": {}}}' - result = runner.invoke( - config.config.commands["qos"], - ["reload", "--dry_run", output_file, "--json-data", json_data] - ) - print(result.exit_code) - print(result.output) - assert result.exit_code == 0 - - cwd = os.path.dirname(os.path.realpath(__file__)) - - for asic in range(num_asic): - expected_result = os.path.join( - cwd, "qos_config_input", str(asic), "config_qos.json" - ) - file = "{}{}".format(output_file, asic) - assert filecmp.cmp(file, expected_result, shallow=False) - - @classmethod - def teardown_class(cls): - print("TEARDOWN") - os.environ['UTILITIES_UNIT_TESTING'] = "0" - os.environ["UTILITIES_UNIT_TESTING_TOPOLOGY"] = "" - # change back to single asic config - from .mock_tables import dbconnector - from .mock_tables import mock_single_asic - imp.reload(mock_single_asic) - dbconnector.load_namespace_config() diff --git a/tests/conftest.py b/tests/conftest.py index 309e65f055..c4ec7bb61d 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -56,47 +56,18 @@ def get_cmd_module(): return (config, show) -def set_mock_apis(): - import config.main as config - cwd = os.path.dirname(os.path.realpath(__file__)) - config.asic_type = mock.MagicMock(return_value="broadcom") - config._get_device_type = mock.MagicMock(return_value="ToRRouter") - -@pytest.fixture -def setup_qos_mock_apis(): - cwd = os.path.dirname(os.path.realpath(__file__)) - device_info.get_paths_to_platform_and_hwsku_dirs = mock.MagicMock( - return_value=( - os.path.join(cwd, "."), os.path.join(cwd, "qos_config_input") - ) - ) - device_info.get_sonic_version_file = mock.MagicMock( - return_value=os.path.join(cwd, "qos_config_input/sonic_version.yml") - ) @pytest.fixture -def setup_single_broadcom_asic(): +def setup_single_broacom_asic(): import config.main as config import show.main as show - set_mock_apis() device_info.get_num_npus = mock.MagicMock(return_value=1) config._get_sonic_generated_services = \ mock.MagicMock(return_value=(generated_services_list, [])) - -@pytest.fixture -def setup_multi_broadcom_masic(): - import config.main as config - import show.main as show - - set_mock_apis() - device_info.get_num_npus = mock.MagicMock(return_value=2) - - yield - - device_info.get_num_npus = mock.MagicMock(return_value=1) - + config.asic_type = mock.MagicMock(return_value="broadcom") + config._get_device_type = mock.MagicMock(return_value="ToRRouter") @pytest.fixture def setup_t1_topo(): diff --git a/tests/crm_test.py b/tests/crm_test.py index 0c42bf17fc..f4fdcece10 100644 --- a/tests/crm_test.py +++ b/tests/crm_test.py @@ -1,4 +1,3 @@ -import imp import os import sys from importlib import reload @@ -1575,7 +1574,5 @@ def teardown_class(cls): print("TEARDOWN") os.environ["UTILITIES_UNIT_TESTING"] = "0" os.environ["UTILITIES_UNIT_TESTING_TOPOLOGY"] = "" - from .mock_tables import dbconnector from .mock_tables import mock_single_asic - imp.reload(mock_single_asic) - dbconnector.load_namespace_config() + reload(mock_single_asic) diff --git a/tests/mock_tables/mock_multi_asic.py b/tests/mock_tables/mock_multi_asic.py index 3e875af36a..ad694003f7 100644 --- a/tests/mock_tables/mock_multi_asic.py +++ b/tests/mock_tables/mock_multi_asic.py @@ -14,8 +14,6 @@ def mock_is_multi_asic(): def mock_get_namespace_list(namespace=None): return ['asic0', 'asic1'] - multi_asic.get_num_asics = mock_get_num_asics multi_asic.is_multi_asic = mock_is_multi_asic multi_asic.get_namespace_list = mock_get_namespace_list -multi_asic.get_namespaces_from_linux = mock_get_namespace_list diff --git a/tests/qos_config_input/0/buffers.json.j2 b/tests/qos_config_input/0/buffers.json.j2 deleted file mode 100644 index b67cf577ab..0000000000 --- a/tests/qos_config_input/0/buffers.json.j2 +++ /dev/null @@ -1,3 +0,0 @@ -{%- set default_topo = 't1' %} -{%- include 'buffers_config.j2' %} - diff --git a/tests/qos_config_input/0/buffers_config.j2 b/tests/qos_config_input/0/buffers_config.j2 deleted file mode 100644 index f5dbb9784f..0000000000 --- a/tests/qos_config_input/0/buffers_config.j2 +++ /dev/null @@ -1,172 +0,0 @@ -{%- macro set_default_topology() %} -{%- if default_topo is defined %} -{{ default_topo }} -{%- else %} -def -{%- endif %} -{%- endmacro -%} - -{# Determine device topology and filename postfix #} -{%- if DEVICE_METADATA is defined and DEVICE_METADATA['localhost']['type'] is defined %} -{%- set switch_role = DEVICE_METADATA['localhost']['type'] %} -{%- if 'torrouter' in switch_role.lower() and 'mgmt' not in switch_role.lower()%} -{%- set filename_postfix = 't0' %} -{%- elif 'leafrouter' in switch_role.lower() and 'mgmt' not in switch_role.lower()%} -{%- set filename_postfix = 't1' %} -{%- else %} -{%- set filename_postfix = set_default_topology() %} -{%- endif %} -{%- else %} -{%- set filename_postfix = set_default_topology() %} -{%- set switch_role = '' %} -{%- endif -%} - -{# Import default values from device HWSKU folder #} -{%- import 'buffers_defaults_%s.j2' % filename_postfix as defs %} - -{%- set default_cable = defs.default_cable -%} - -{# Port configuration to cable length look-up table #} -{# Each record describes mapping of DUT (DUT port) role and neighbor role to cable length #} -{# Roles described in the minigraph #} -{%- if defs.ports2cable is defined %} - {%- set ports2cable = defs.ports2cable %} -{%- else %} - {%- set ports2cable = { - 'torrouter_server' : '5m', - 'leafrouter_torrouter' : '40m', - 'spinerouter_leafrouter' : '300m' - } - -%} -{%- endif %} - -{%- macro cable_length(port_name) %} - {%- set cable_len = [] %} - {%- for local_port in DEVICE_NEIGHBOR %} - {%- if local_port == port_name %} - {%- if DEVICE_NEIGHBOR_METADATA is defined and DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %} - {%- set neighbor = DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %} - {%- set neighbor_role = neighbor.type %} - {%- if 'asic' == neighbor_role | lower %} - {%- set roles1 = 'internal' %} - {%- if 'internal' not in ports2cable %} - {%- set _ = ports2cable.update({'internal': '5m'}) %} - {%- endif -%} - {%- else %} - {%- set roles1 = switch_role + '_' + neighbor_role %} - {%- set roles2 = neighbor_role + '_' + switch_role %} - {%- set roles1 = roles1 | lower %} - {%- set roles2 = roles2 | lower %} - {%- endif %} - {%- if roles1 in ports2cable %} - {%- if cable_len.append(ports2cable[roles1]) %}{% endif %} - {%- elif roles2 in ports2cable %} - {%- if cable_len.append(ports2cable[roles2]) %}{% endif %} - {%- endif %} - {%- endif %} - {%- endif %} - {%- endfor %} - {%- if cable_len -%} - {{ cable_len.0 }} - {%- else %} - {%- if 'torrouter' in switch_role.lower() and 'mgmt' not in switch_role.lower()%} - {%- for local_port in VLAN_MEMBER %} - {%- if local_port[1] == port_name %} - {%- set roles3 = switch_role + '_' + 'server' %} - {%- set roles3 = roles3 | lower %} - {%- if roles3 in ports2cable %} - {%- if cable_len.append(ports2cable[roles3]) %}{% endif %} - {%- endif %} - {%- endif %} - {%- endfor %} - {%- if cable_len -%} - {{ cable_len.0 }} - {%- else -%} - {{ default_cable }} - {%- endif %} - {%- else -%} - {{ default_cable }} - {%- endif %} - {%- endif %} -{%- endmacro %} - -{%- set PORT_ALL = [] %} - -{%- if PORT is not defined %} - {%- if defs.generate_port_lists(PORT_ALL) %} {% endif %} -{%- else %} - {%- for port in PORT %} - {%- if PORT_ALL.append(port) %}{%- endif %} - {%- endfor %} -{%- endif %} - -{%- set PORT_ACTIVE = [] %} -{%- if DEVICE_NEIGHBOR is not defined %} - {%- set PORT_ACTIVE = PORT_ALL %} -{%- else %} - {%- for port in DEVICE_NEIGHBOR.keys() %} - {%- if PORT_ACTIVE.append(port) %}{%- endif %} - {%- endfor %} -{%- endif %} - -{%- set port_names_list_active = [] %} -{%- for port in PORT_ACTIVE %} - {%- if port_names_list_active.append(port) %}{%- endif %} -{%- endfor %} -{%- set port_names_active = port_names_list_active | join(',') %} - -{ - "CABLE_LENGTH": { - "AZURE": { - {% for port in PORT_ALL %} - {%- set cable = cable_length(port) %} - "{{ port }}": "{{ cable }}"{%- if not loop.last %},{% endif %} - - {% endfor %} - } - }, - -{% if defs.generate_buffer_pool_and_profiles is defined %} -{{ defs.generate_buffer_pool_and_profiles() }} -{% endif %} - -{%- if defs.generate_profile_lists is defined %} -{{ defs.generate_profile_lists(port_names_active) }}, -{% endif %} - -{%- if defs.generate_pg_profils is defined %} -{{ defs.generate_pg_profils(port_names_active) }} -{% else %} - "BUFFER_PG": { -{% for port in PORT_ACTIVE %} - "{{ port }}|0": { - "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]" - }{% if not loop.last %},{% endif %} - -{% endfor %} - }, -{% endif %} - -{% if defs.generate_queue_buffers is defined %} -{{ defs.generate_queue_buffers(port_names_active) }} -{% else %} - "BUFFER_QUEUE": { -{% for port in PORT_ACTIVE %} - "{{ port }}|3-4": { - "profile" : "[BUFFER_PROFILE|egress_lossless_profile]" - }, -{% endfor %} -{% for port in PORT_ACTIVE %} - "{{ port }}|0-2": { - "profile" : "[BUFFER_PROFILE|egress_lossy_profile]" - }, -{% endfor %} -{% for port in PORT_ACTIVE %} - "{{ port }}|5-6": { - "profile" : "[BUFFER_PROFILE|egress_lossy_profile]" - }{% if not loop.last %},{% endif %} - -{% endfor %} - } -{% endif %} -} diff --git a/tests/qos_config_input/0/buffers_defaults_t0.j2 b/tests/qos_config_input/0/buffers_defaults_t0.j2 deleted file mode 100644 index 38e34eb571..0000000000 --- a/tests/qos_config_input/0/buffers_defaults_t0.j2 +++ /dev/null @@ -1,45 +0,0 @@ -{%- set default_cable = '300m' %} - -{%- macro generate_port_lists(PORT_ALL) %} - {# Generate list of ports #} - {% for port_idx in range(0,32) %} - {% if PORT_ALL.append("Ethernet%d" % (port_idx * 4)) %}{% endif %} - {% endfor %} -{%- endmacro %} - -{%- macro generate_buffer_pool_and_profiles() %} - "BUFFER_POOL": { - "ingress_lossless_pool": { - "size": "12766208", - "type": "ingress", - "mode": "dynamic" - }, - "egress_lossless_pool": { - "size": "12766208", - "type": "egress", - "mode": "static" - }, - "egress_lossy_pool": { - "size": "7326924", - "type": "egress", - "mode": "dynamic" - } - }, - "BUFFER_PROFILE": { - "ingress_lossy_profile": { - "pool":"[BUFFER_POOL|ingress_lossless_pool]", - "size":"0", - "dynamic_th":"3" - }, - "egress_lossless_profile": { - "pool":"[BUFFER_POOL|egress_lossless_pool]", - "size":"0", - "static_th":"12766208" - }, - "egress_lossy_profile": { - "pool":"[BUFFER_POOL|egress_lossy_pool]", - "size":"1518", - "dynamic_th":"3" - } - }, -{%- endmacro %} diff --git a/tests/qos_config_input/0/buffers_defaults_t1.j2 b/tests/qos_config_input/0/buffers_defaults_t1.j2 deleted file mode 100644 index 38e34eb571..0000000000 --- a/tests/qos_config_input/0/buffers_defaults_t1.j2 +++ /dev/null @@ -1,45 +0,0 @@ -{%- set default_cable = '300m' %} - -{%- macro generate_port_lists(PORT_ALL) %} - {# Generate list of ports #} - {% for port_idx in range(0,32) %} - {% if PORT_ALL.append("Ethernet%d" % (port_idx * 4)) %}{% endif %} - {% endfor %} -{%- endmacro %} - -{%- macro generate_buffer_pool_and_profiles() %} - "BUFFER_POOL": { - "ingress_lossless_pool": { - "size": "12766208", - "type": "ingress", - "mode": "dynamic" - }, - "egress_lossless_pool": { - "size": "12766208", - "type": "egress", - "mode": "static" - }, - "egress_lossy_pool": { - "size": "7326924", - "type": "egress", - "mode": "dynamic" - } - }, - "BUFFER_PROFILE": { - "ingress_lossy_profile": { - "pool":"[BUFFER_POOL|ingress_lossless_pool]", - "size":"0", - "dynamic_th":"3" - }, - "egress_lossless_profile": { - "pool":"[BUFFER_POOL|egress_lossless_pool]", - "size":"0", - "static_th":"12766208" - }, - "egress_lossy_profile": { - "pool":"[BUFFER_POOL|egress_lossy_pool]", - "size":"1518", - "dynamic_th":"3" - } - }, -{%- endmacro %} diff --git a/tests/qos_config_input/0/config_qos.json b/tests/qos_config_input/0/config_qos.json deleted file mode 100644 index 40c1903a06..0000000000 --- a/tests/qos_config_input/0/config_qos.json +++ /dev/null @@ -1,137 +0,0 @@ -{ - "TC_TO_PRIORITY_GROUP_MAP": { - "AZURE": { - "0": "0", - "1": "0", - "2": "0", - "3": "3", - "4": "4", - "5": "0", - "6": "0", - "7": "7" - } - }, - "MAP_PFC_PRIORITY_TO_QUEUE": { - "AZURE": { - "0": "0", - "1": "1", - "2": "2", - "3": "3", - "4": "4", - "5": "5", - "6": "6", - "7": "7" - } - }, - "TC_TO_QUEUE_MAP": { - "AZURE": { - "0": "0", - "1": "1", - "2": "2", - "3": "3", - "4": "4", - "5": "5", - "6": "6", - "7": "7" - } - }, - "DSCP_TO_TC_MAP": { - "AZURE": { - "0" : "1", - "1" : "1", - "2" : "1", - "3" : "3", - "4" : "4", - "5" : "2", - "6" : "1", - "7" : "1", - "8" : "0", - "9" : "1", - "10": "1", - "11": "1", - "12": "1", - "13": "1", - "14": "1", - "15": "1", - "16": "1", - "17": "1", - "18": "1", - "19": "1", - "20": "1", - "21": "1", - "22": "1", - "23": "1", - "24": "1", - "25": "1", - "26": "1", - "27": "1", - "28": "1", - "29": "1", - "30": "1", - "31": "1", - "32": "1", - "33": "1", - "34": "1", - "35": "1", - "36": "1", - "37": "1", - "38": "1", - "39": "1", - "40": "1", - "41": "1", - "42": "1", - "43": "1", - "44": "1", - "45": "1", - "46": "5", - "47": "1", - "48": "6", - "49": "1", - "50": "1", - "51": "1", - "52": "1", - "53": "1", - "54": "1", - "55": "1", - "56": "1", - "57": "1", - "58": "1", - "59": "1", - "60": "1", - "61": "1", - "62": "1", - "63": "1" - } - }, - "SCHEDULER": { - "scheduler.0": { - "type" : "DWRR", - "weight": "14" - }, - "scheduler.1": { - "type" : "DWRR", - "weight": "15" - } - }, - "PORT_QOS_MAP": { - }, - "WRED_PROFILE": { - "AZURE_LOSSLESS" : { - "wred_green_enable" : "true", - "wred_yellow_enable" : "true", - "wred_red_enable" : "true", - "ecn" : "ecn_all", - "green_max_threshold" : "2097152", - "green_min_threshold" : "1048576", - "yellow_max_threshold" : "2097152", - "yellow_min_threshold" : "1048576", - "red_max_threshold" : "2097152", - "red_min_threshold" : "1048576", - "green_drop_probability" : "5", - "yellow_drop_probability": "5", - "red_drop_probability" : "5" - } - }, - "QUEUE": { - } -} diff --git a/tests/qos_config_input/0/qos.json.j2 b/tests/qos_config_input/0/qos.json.j2 deleted file mode 100644 index 3e548325ea..0000000000 --- a/tests/qos_config_input/0/qos.json.j2 +++ /dev/null @@ -1 +0,0 @@ -{%- include 'qos_config.j2' %} diff --git a/tests/qos_config_input/0/qos_config.j2 b/tests/qos_config_input/0/qos_config.j2 deleted file mode 100644 index a7c361d69f..0000000000 --- a/tests/qos_config_input/0/qos_config.j2 +++ /dev/null @@ -1,257 +0,0 @@ -{%- set PORT_ALL = [] %} -{%- for port in PORT %} - {%- if PORT_ALL.append(port) %}{% endif %} -{%- endfor %} -{%- if PORT_ALL | sort_by_port_index %}{% endif %} - -{%- set port_names_list_all = [] %} -{%- for port in PORT_ALL %} - {%- if port_names_list_all.append(port) %}{% endif %} -{%- endfor %} -{%- set port_names_all = port_names_list_all | join(',') -%} - - -{%- set PORT_ACTIVE = [] %} -{%- if DEVICE_NEIGHBOR is not defined %} - {%- set PORT_ACTIVE = PORT_ALL %} -{%- else %} - {%- for port in DEVICE_NEIGHBOR.keys() %} - {%- if PORT_ACTIVE.append(port) %}{%- endif %} - {%- endfor %} -{%- endif %} -{%- if PORT_ACTIVE | sort_by_port_index %}{% endif %} - -{%- set port_names_list_active = [] %} -{%- for port in PORT_ACTIVE %} - {%- if port_names_list_active.append(port) %}{%- endif %} -{%- endfor %} -{%- set port_names_active = port_names_list_active | join(',') -%} - - -{%- set pfc_to_pg_map_supported_asics = ['mellanox', 'barefoot', 'marvell'] -%} -{%- set backend_device_types = ['BackEndToRRouter', 'BackEndLeafRouter'] -%} - - -{ -{% if generate_tc_to_pg_map is defined %} - {{- generate_tc_to_pg_map() }} -{% else %} - "TC_TO_PRIORITY_GROUP_MAP": { - "AZURE": { - "0": "0", - "1": "0", - "2": "0", - "3": "3", - "4": "4", - "5": "0", - "6": "0", - "7": "7" - } - }, -{% endif %} - "MAP_PFC_PRIORITY_TO_QUEUE": { - "AZURE": { - "0": "0", - "1": "1", - "2": "2", - "3": "3", - "4": "4", - "5": "5", - "6": "6", - "7": "7" - } - }, - "TC_TO_QUEUE_MAP": { - "AZURE": { - "0": "0", - "1": "1", - "2": "2", - "3": "3", - "4": "4", - "5": "5", - "6": "6", - "7": "7" - } - }, -{% if 'type' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['type'] in backend_device_types and 'storage_device' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['storage_device'] == 'true' %} - "DOT1P_TO_TC_MAP": { - "AZURE": { - "0": "0", - "1": "1", - "2": "2", - "3": "3", - "4": "4", - "5": "5", - "6": "6", - "7": "7" - } - }, -{% else %} - "DSCP_TO_TC_MAP": { - "AZURE": { - "0" : "1", - "1" : "1", - "2" : "1", - "3" : "3", - "4" : "4", - "5" : "2", - "6" : "1", - "7" : "1", - "8" : "0", - "9" : "1", - "10": "1", - "11": "1", - "12": "1", - "13": "1", - "14": "1", - "15": "1", - "16": "1", - "17": "1", - "18": "1", - "19": "1", - "20": "1", - "21": "1", - "22": "1", - "23": "1", - "24": "1", - "25": "1", - "26": "1", - "27": "1", - "28": "1", - "29": "1", - "30": "1", - "31": "1", - "32": "1", - "33": "1", - "34": "1", - "35": "1", - "36": "1", - "37": "1", - "38": "1", - "39": "1", - "40": "1", - "41": "1", - "42": "1", - "43": "1", - "44": "1", - "45": "1", - "46": "5", - "47": "1", - "48": "6", - "49": "1", - "50": "1", - "51": "1", - "52": "1", - "53": "1", - "54": "1", - "55": "1", - "56": "1", - "57": "1", - "58": "1", - "59": "1", - "60": "1", - "61": "1", - "62": "1", - "63": "1" - } - }, -{% endif %} - "SCHEDULER": { - "scheduler.0": { - "type" : "DWRR", - "weight": "14" - }, - "scheduler.1": { - "type" : "DWRR", - "weight": "15" - } - }, -{% if asic_type in pfc_to_pg_map_supported_asics %} - "PFC_PRIORITY_TO_PRIORITY_GROUP_MAP": { - "AZURE": { - "3": "3", - "4": "4" - } - }, -{% endif %} - "PORT_QOS_MAP": { -{% for port in PORT_ACTIVE %} - "{{ port }}": { -{% if 'type' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['type'] in backend_device_types and 'storage_device' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['storage_device'] == 'true' %} - "dot1p_to_tc_map" : "[DOT1P_TO_TC_MAP|AZURE]", -{% else %} - "dscp_to_tc_map" : "[DSCP_TO_TC_MAP|AZURE]", -{% endif %} - "tc_to_queue_map" : "[TC_TO_QUEUE_MAP|AZURE]", - "tc_to_pg_map" : "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", -{% if asic_type in pfc_to_pg_map_supported_asics %} - "pfc_to_pg_map" : "[PFC_PRIORITY_TO_PRIORITY_GROUP_MAP|AZURE]", -{% endif %} - "pfc_enable" : "3,4" - }{% if not loop.last %},{% endif %} - -{% endfor %} - }, -{% if generate_wred_profiles is defined %} - {{- generate_wred_profiles() }} -{% else %} - "WRED_PROFILE": { - "AZURE_LOSSLESS" : { - "wred_green_enable" : "true", - "wred_yellow_enable" : "true", - "wred_red_enable" : "true", - "ecn" : "ecn_all", - "green_max_threshold" : "2097152", - "green_min_threshold" : "1048576", - "yellow_max_threshold" : "2097152", - "yellow_min_threshold" : "1048576", - "red_max_threshold" : "2097152", - "red_min_threshold" : "1048576", - "green_drop_probability" : "5", - "yellow_drop_probability": "5", - "red_drop_probability" : "5" - } - }, -{% endif %} - "QUEUE": { -{% for port in PORT_ACTIVE %} - "{{ port }}|3": { - "scheduler" : "[SCHEDULER|scheduler.1]", - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" - }, -{% endfor %} -{% for port in PORT_ACTIVE %} - "{{ port }}|4": { - "scheduler" : "[SCHEDULER|scheduler.1]", - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" - }, -{% endfor %} -{% for port in PORT_ACTIVE %} - "{{ port }}|0": { - "scheduler": "[SCHEDULER|scheduler.0]" - }, -{% endfor %} -{% for port in PORT_ACTIVE %} - "{{ port }}|1": { - "scheduler": "[SCHEDULER|scheduler.0]" - }, -{% endfor %} -{% for port in PORT_ACTIVE %} - "{{ port }}|2": { - "scheduler": "[SCHEDULER|scheduler.0]" - }, -{% endfor %} -{% for port in PORT_ACTIVE %} - "{{ port }}|5": { - "scheduler": "[SCHEDULER|scheduler.0]" - }, -{% endfor %} -{% for port in PORT_ACTIVE %} - "{{ port }}|6": { - "scheduler": "[SCHEDULER|scheduler.0]" - }{% if not loop.last %},{% endif %} - -{% endfor %} - } -} diff --git a/tests/qos_config_input/1/buffers.json.j2 b/tests/qos_config_input/1/buffers.json.j2 deleted file mode 100644 index b67cf577ab..0000000000 --- a/tests/qos_config_input/1/buffers.json.j2 +++ /dev/null @@ -1,3 +0,0 @@ -{%- set default_topo = 't1' %} -{%- include 'buffers_config.j2' %} - diff --git a/tests/qos_config_input/1/buffers_config.j2 b/tests/qos_config_input/1/buffers_config.j2 deleted file mode 100644 index f5dbb9784f..0000000000 --- a/tests/qos_config_input/1/buffers_config.j2 +++ /dev/null @@ -1,172 +0,0 @@ -{%- macro set_default_topology() %} -{%- if default_topo is defined %} -{{ default_topo }} -{%- else %} -def -{%- endif %} -{%- endmacro -%} - -{# Determine device topology and filename postfix #} -{%- if DEVICE_METADATA is defined and DEVICE_METADATA['localhost']['type'] is defined %} -{%- set switch_role = DEVICE_METADATA['localhost']['type'] %} -{%- if 'torrouter' in switch_role.lower() and 'mgmt' not in switch_role.lower()%} -{%- set filename_postfix = 't0' %} -{%- elif 'leafrouter' in switch_role.lower() and 'mgmt' not in switch_role.lower()%} -{%- set filename_postfix = 't1' %} -{%- else %} -{%- set filename_postfix = set_default_topology() %} -{%- endif %} -{%- else %} -{%- set filename_postfix = set_default_topology() %} -{%- set switch_role = '' %} -{%- endif -%} - -{# Import default values from device HWSKU folder #} -{%- import 'buffers_defaults_%s.j2' % filename_postfix as defs %} - -{%- set default_cable = defs.default_cable -%} - -{# Port configuration to cable length look-up table #} -{# Each record describes mapping of DUT (DUT port) role and neighbor role to cable length #} -{# Roles described in the minigraph #} -{%- if defs.ports2cable is defined %} - {%- set ports2cable = defs.ports2cable %} -{%- else %} - {%- set ports2cable = { - 'torrouter_server' : '5m', - 'leafrouter_torrouter' : '40m', - 'spinerouter_leafrouter' : '300m' - } - -%} -{%- endif %} - -{%- macro cable_length(port_name) %} - {%- set cable_len = [] %} - {%- for local_port in DEVICE_NEIGHBOR %} - {%- if local_port == port_name %} - {%- if DEVICE_NEIGHBOR_METADATA is defined and DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %} - {%- set neighbor = DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %} - {%- set neighbor_role = neighbor.type %} - {%- if 'asic' == neighbor_role | lower %} - {%- set roles1 = 'internal' %} - {%- if 'internal' not in ports2cable %} - {%- set _ = ports2cable.update({'internal': '5m'}) %} - {%- endif -%} - {%- else %} - {%- set roles1 = switch_role + '_' + neighbor_role %} - {%- set roles2 = neighbor_role + '_' + switch_role %} - {%- set roles1 = roles1 | lower %} - {%- set roles2 = roles2 | lower %} - {%- endif %} - {%- if roles1 in ports2cable %} - {%- if cable_len.append(ports2cable[roles1]) %}{% endif %} - {%- elif roles2 in ports2cable %} - {%- if cable_len.append(ports2cable[roles2]) %}{% endif %} - {%- endif %} - {%- endif %} - {%- endif %} - {%- endfor %} - {%- if cable_len -%} - {{ cable_len.0 }} - {%- else %} - {%- if 'torrouter' in switch_role.lower() and 'mgmt' not in switch_role.lower()%} - {%- for local_port in VLAN_MEMBER %} - {%- if local_port[1] == port_name %} - {%- set roles3 = switch_role + '_' + 'server' %} - {%- set roles3 = roles3 | lower %} - {%- if roles3 in ports2cable %} - {%- if cable_len.append(ports2cable[roles3]) %}{% endif %} - {%- endif %} - {%- endif %} - {%- endfor %} - {%- if cable_len -%} - {{ cable_len.0 }} - {%- else -%} - {{ default_cable }} - {%- endif %} - {%- else -%} - {{ default_cable }} - {%- endif %} - {%- endif %} -{%- endmacro %} - -{%- set PORT_ALL = [] %} - -{%- if PORT is not defined %} - {%- if defs.generate_port_lists(PORT_ALL) %} {% endif %} -{%- else %} - {%- for port in PORT %} - {%- if PORT_ALL.append(port) %}{%- endif %} - {%- endfor %} -{%- endif %} - -{%- set PORT_ACTIVE = [] %} -{%- if DEVICE_NEIGHBOR is not defined %} - {%- set PORT_ACTIVE = PORT_ALL %} -{%- else %} - {%- for port in DEVICE_NEIGHBOR.keys() %} - {%- if PORT_ACTIVE.append(port) %}{%- endif %} - {%- endfor %} -{%- endif %} - -{%- set port_names_list_active = [] %} -{%- for port in PORT_ACTIVE %} - {%- if port_names_list_active.append(port) %}{%- endif %} -{%- endfor %} -{%- set port_names_active = port_names_list_active | join(',') %} - -{ - "CABLE_LENGTH": { - "AZURE": { - {% for port in PORT_ALL %} - {%- set cable = cable_length(port) %} - "{{ port }}": "{{ cable }}"{%- if not loop.last %},{% endif %} - - {% endfor %} - } - }, - -{% if defs.generate_buffer_pool_and_profiles is defined %} -{{ defs.generate_buffer_pool_and_profiles() }} -{% endif %} - -{%- if defs.generate_profile_lists is defined %} -{{ defs.generate_profile_lists(port_names_active) }}, -{% endif %} - -{%- if defs.generate_pg_profils is defined %} -{{ defs.generate_pg_profils(port_names_active) }} -{% else %} - "BUFFER_PG": { -{% for port in PORT_ACTIVE %} - "{{ port }}|0": { - "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]" - }{% if not loop.last %},{% endif %} - -{% endfor %} - }, -{% endif %} - -{% if defs.generate_queue_buffers is defined %} -{{ defs.generate_queue_buffers(port_names_active) }} -{% else %} - "BUFFER_QUEUE": { -{% for port in PORT_ACTIVE %} - "{{ port }}|3-4": { - "profile" : "[BUFFER_PROFILE|egress_lossless_profile]" - }, -{% endfor %} -{% for port in PORT_ACTIVE %} - "{{ port }}|0-2": { - "profile" : "[BUFFER_PROFILE|egress_lossy_profile]" - }, -{% endfor %} -{% for port in PORT_ACTIVE %} - "{{ port }}|5-6": { - "profile" : "[BUFFER_PROFILE|egress_lossy_profile]" - }{% if not loop.last %},{% endif %} - -{% endfor %} - } -{% endif %} -} diff --git a/tests/qos_config_input/1/buffers_defaults_t0.j2 b/tests/qos_config_input/1/buffers_defaults_t0.j2 deleted file mode 100644 index 38e34eb571..0000000000 --- a/tests/qos_config_input/1/buffers_defaults_t0.j2 +++ /dev/null @@ -1,45 +0,0 @@ -{%- set default_cable = '300m' %} - -{%- macro generate_port_lists(PORT_ALL) %} - {# Generate list of ports #} - {% for port_idx in range(0,32) %} - {% if PORT_ALL.append("Ethernet%d" % (port_idx * 4)) %}{% endif %} - {% endfor %} -{%- endmacro %} - -{%- macro generate_buffer_pool_and_profiles() %} - "BUFFER_POOL": { - "ingress_lossless_pool": { - "size": "12766208", - "type": "ingress", - "mode": "dynamic" - }, - "egress_lossless_pool": { - "size": "12766208", - "type": "egress", - "mode": "static" - }, - "egress_lossy_pool": { - "size": "7326924", - "type": "egress", - "mode": "dynamic" - } - }, - "BUFFER_PROFILE": { - "ingress_lossy_profile": { - "pool":"[BUFFER_POOL|ingress_lossless_pool]", - "size":"0", - "dynamic_th":"3" - }, - "egress_lossless_profile": { - "pool":"[BUFFER_POOL|egress_lossless_pool]", - "size":"0", - "static_th":"12766208" - }, - "egress_lossy_profile": { - "pool":"[BUFFER_POOL|egress_lossy_pool]", - "size":"1518", - "dynamic_th":"3" - } - }, -{%- endmacro %} diff --git a/tests/qos_config_input/1/buffers_defaults_t1.j2 b/tests/qos_config_input/1/buffers_defaults_t1.j2 deleted file mode 100644 index 38e34eb571..0000000000 --- a/tests/qos_config_input/1/buffers_defaults_t1.j2 +++ /dev/null @@ -1,45 +0,0 @@ -{%- set default_cable = '300m' %} - -{%- macro generate_port_lists(PORT_ALL) %} - {# Generate list of ports #} - {% for port_idx in range(0,32) %} - {% if PORT_ALL.append("Ethernet%d" % (port_idx * 4)) %}{% endif %} - {% endfor %} -{%- endmacro %} - -{%- macro generate_buffer_pool_and_profiles() %} - "BUFFER_POOL": { - "ingress_lossless_pool": { - "size": "12766208", - "type": "ingress", - "mode": "dynamic" - }, - "egress_lossless_pool": { - "size": "12766208", - "type": "egress", - "mode": "static" - }, - "egress_lossy_pool": { - "size": "7326924", - "type": "egress", - "mode": "dynamic" - } - }, - "BUFFER_PROFILE": { - "ingress_lossy_profile": { - "pool":"[BUFFER_POOL|ingress_lossless_pool]", - "size":"0", - "dynamic_th":"3" - }, - "egress_lossless_profile": { - "pool":"[BUFFER_POOL|egress_lossless_pool]", - "size":"0", - "static_th":"12766208" - }, - "egress_lossy_profile": { - "pool":"[BUFFER_POOL|egress_lossy_pool]", - "size":"1518", - "dynamic_th":"3" - } - }, -{%- endmacro %} diff --git a/tests/qos_config_input/1/config_qos.json b/tests/qos_config_input/1/config_qos.json deleted file mode 100644 index 40c1903a06..0000000000 --- a/tests/qos_config_input/1/config_qos.json +++ /dev/null @@ -1,137 +0,0 @@ -{ - "TC_TO_PRIORITY_GROUP_MAP": { - "AZURE": { - "0": "0", - "1": "0", - "2": "0", - "3": "3", - "4": "4", - "5": "0", - "6": "0", - "7": "7" - } - }, - "MAP_PFC_PRIORITY_TO_QUEUE": { - "AZURE": { - "0": "0", - "1": "1", - "2": "2", - "3": "3", - "4": "4", - "5": "5", - "6": "6", - "7": "7" - } - }, - "TC_TO_QUEUE_MAP": { - "AZURE": { - "0": "0", - "1": "1", - "2": "2", - "3": "3", - "4": "4", - "5": "5", - "6": "6", - "7": "7" - } - }, - "DSCP_TO_TC_MAP": { - "AZURE": { - "0" : "1", - "1" : "1", - "2" : "1", - "3" : "3", - "4" : "4", - "5" : "2", - "6" : "1", - "7" : "1", - "8" : "0", - "9" : "1", - "10": "1", - "11": "1", - "12": "1", - "13": "1", - "14": "1", - "15": "1", - "16": "1", - "17": "1", - "18": "1", - "19": "1", - "20": "1", - "21": "1", - "22": "1", - "23": "1", - "24": "1", - "25": "1", - "26": "1", - "27": "1", - "28": "1", - "29": "1", - "30": "1", - "31": "1", - "32": "1", - "33": "1", - "34": "1", - "35": "1", - "36": "1", - "37": "1", - "38": "1", - "39": "1", - "40": "1", - "41": "1", - "42": "1", - "43": "1", - "44": "1", - "45": "1", - "46": "5", - "47": "1", - "48": "6", - "49": "1", - "50": "1", - "51": "1", - "52": "1", - "53": "1", - "54": "1", - "55": "1", - "56": "1", - "57": "1", - "58": "1", - "59": "1", - "60": "1", - "61": "1", - "62": "1", - "63": "1" - } - }, - "SCHEDULER": { - "scheduler.0": { - "type" : "DWRR", - "weight": "14" - }, - "scheduler.1": { - "type" : "DWRR", - "weight": "15" - } - }, - "PORT_QOS_MAP": { - }, - "WRED_PROFILE": { - "AZURE_LOSSLESS" : { - "wred_green_enable" : "true", - "wred_yellow_enable" : "true", - "wred_red_enable" : "true", - "ecn" : "ecn_all", - "green_max_threshold" : "2097152", - "green_min_threshold" : "1048576", - "yellow_max_threshold" : "2097152", - "yellow_min_threshold" : "1048576", - "red_max_threshold" : "2097152", - "red_min_threshold" : "1048576", - "green_drop_probability" : "5", - "yellow_drop_probability": "5", - "red_drop_probability" : "5" - } - }, - "QUEUE": { - } -} diff --git a/tests/qos_config_input/1/qos.json.j2 b/tests/qos_config_input/1/qos.json.j2 deleted file mode 100644 index 3e548325ea..0000000000 --- a/tests/qos_config_input/1/qos.json.j2 +++ /dev/null @@ -1 +0,0 @@ -{%- include 'qos_config.j2' %} diff --git a/tests/qos_config_input/1/qos_config.j2 b/tests/qos_config_input/1/qos_config.j2 deleted file mode 100644 index a7c361d69f..0000000000 --- a/tests/qos_config_input/1/qos_config.j2 +++ /dev/null @@ -1,257 +0,0 @@ -{%- set PORT_ALL = [] %} -{%- for port in PORT %} - {%- if PORT_ALL.append(port) %}{% endif %} -{%- endfor %} -{%- if PORT_ALL | sort_by_port_index %}{% endif %} - -{%- set port_names_list_all = [] %} -{%- for port in PORT_ALL %} - {%- if port_names_list_all.append(port) %}{% endif %} -{%- endfor %} -{%- set port_names_all = port_names_list_all | join(',') -%} - - -{%- set PORT_ACTIVE = [] %} -{%- if DEVICE_NEIGHBOR is not defined %} - {%- set PORT_ACTIVE = PORT_ALL %} -{%- else %} - {%- for port in DEVICE_NEIGHBOR.keys() %} - {%- if PORT_ACTIVE.append(port) %}{%- endif %} - {%- endfor %} -{%- endif %} -{%- if PORT_ACTIVE | sort_by_port_index %}{% endif %} - -{%- set port_names_list_active = [] %} -{%- for port in PORT_ACTIVE %} - {%- if port_names_list_active.append(port) %}{%- endif %} -{%- endfor %} -{%- set port_names_active = port_names_list_active | join(',') -%} - - -{%- set pfc_to_pg_map_supported_asics = ['mellanox', 'barefoot', 'marvell'] -%} -{%- set backend_device_types = ['BackEndToRRouter', 'BackEndLeafRouter'] -%} - - -{ -{% if generate_tc_to_pg_map is defined %} - {{- generate_tc_to_pg_map() }} -{% else %} - "TC_TO_PRIORITY_GROUP_MAP": { - "AZURE": { - "0": "0", - "1": "0", - "2": "0", - "3": "3", - "4": "4", - "5": "0", - "6": "0", - "7": "7" - } - }, -{% endif %} - "MAP_PFC_PRIORITY_TO_QUEUE": { - "AZURE": { - "0": "0", - "1": "1", - "2": "2", - "3": "3", - "4": "4", - "5": "5", - "6": "6", - "7": "7" - } - }, - "TC_TO_QUEUE_MAP": { - "AZURE": { - "0": "0", - "1": "1", - "2": "2", - "3": "3", - "4": "4", - "5": "5", - "6": "6", - "7": "7" - } - }, -{% if 'type' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['type'] in backend_device_types and 'storage_device' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['storage_device'] == 'true' %} - "DOT1P_TO_TC_MAP": { - "AZURE": { - "0": "0", - "1": "1", - "2": "2", - "3": "3", - "4": "4", - "5": "5", - "6": "6", - "7": "7" - } - }, -{% else %} - "DSCP_TO_TC_MAP": { - "AZURE": { - "0" : "1", - "1" : "1", - "2" : "1", - "3" : "3", - "4" : "4", - "5" : "2", - "6" : "1", - "7" : "1", - "8" : "0", - "9" : "1", - "10": "1", - "11": "1", - "12": "1", - "13": "1", - "14": "1", - "15": "1", - "16": "1", - "17": "1", - "18": "1", - "19": "1", - "20": "1", - "21": "1", - "22": "1", - "23": "1", - "24": "1", - "25": "1", - "26": "1", - "27": "1", - "28": "1", - "29": "1", - "30": "1", - "31": "1", - "32": "1", - "33": "1", - "34": "1", - "35": "1", - "36": "1", - "37": "1", - "38": "1", - "39": "1", - "40": "1", - "41": "1", - "42": "1", - "43": "1", - "44": "1", - "45": "1", - "46": "5", - "47": "1", - "48": "6", - "49": "1", - "50": "1", - "51": "1", - "52": "1", - "53": "1", - "54": "1", - "55": "1", - "56": "1", - "57": "1", - "58": "1", - "59": "1", - "60": "1", - "61": "1", - "62": "1", - "63": "1" - } - }, -{% endif %} - "SCHEDULER": { - "scheduler.0": { - "type" : "DWRR", - "weight": "14" - }, - "scheduler.1": { - "type" : "DWRR", - "weight": "15" - } - }, -{% if asic_type in pfc_to_pg_map_supported_asics %} - "PFC_PRIORITY_TO_PRIORITY_GROUP_MAP": { - "AZURE": { - "3": "3", - "4": "4" - } - }, -{% endif %} - "PORT_QOS_MAP": { -{% for port in PORT_ACTIVE %} - "{{ port }}": { -{% if 'type' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['type'] in backend_device_types and 'storage_device' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['storage_device'] == 'true' %} - "dot1p_to_tc_map" : "[DOT1P_TO_TC_MAP|AZURE]", -{% else %} - "dscp_to_tc_map" : "[DSCP_TO_TC_MAP|AZURE]", -{% endif %} - "tc_to_queue_map" : "[TC_TO_QUEUE_MAP|AZURE]", - "tc_to_pg_map" : "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", -{% if asic_type in pfc_to_pg_map_supported_asics %} - "pfc_to_pg_map" : "[PFC_PRIORITY_TO_PRIORITY_GROUP_MAP|AZURE]", -{% endif %} - "pfc_enable" : "3,4" - }{% if not loop.last %},{% endif %} - -{% endfor %} - }, -{% if generate_wred_profiles is defined %} - {{- generate_wred_profiles() }} -{% else %} - "WRED_PROFILE": { - "AZURE_LOSSLESS" : { - "wred_green_enable" : "true", - "wred_yellow_enable" : "true", - "wred_red_enable" : "true", - "ecn" : "ecn_all", - "green_max_threshold" : "2097152", - "green_min_threshold" : "1048576", - "yellow_max_threshold" : "2097152", - "yellow_min_threshold" : "1048576", - "red_max_threshold" : "2097152", - "red_min_threshold" : "1048576", - "green_drop_probability" : "5", - "yellow_drop_probability": "5", - "red_drop_probability" : "5" - } - }, -{% endif %} - "QUEUE": { -{% for port in PORT_ACTIVE %} - "{{ port }}|3": { - "scheduler" : "[SCHEDULER|scheduler.1]", - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" - }, -{% endfor %} -{% for port in PORT_ACTIVE %} - "{{ port }}|4": { - "scheduler" : "[SCHEDULER|scheduler.1]", - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" - }, -{% endfor %} -{% for port in PORT_ACTIVE %} - "{{ port }}|0": { - "scheduler": "[SCHEDULER|scheduler.0]" - }, -{% endfor %} -{% for port in PORT_ACTIVE %} - "{{ port }}|1": { - "scheduler": "[SCHEDULER|scheduler.0]" - }, -{% endfor %} -{% for port in PORT_ACTIVE %} - "{{ port }}|2": { - "scheduler": "[SCHEDULER|scheduler.0]" - }, -{% endfor %} -{% for port in PORT_ACTIVE %} - "{{ port }}|5": { - "scheduler": "[SCHEDULER|scheduler.0]" - }, -{% endfor %} -{% for port in PORT_ACTIVE %} - "{{ port }}|6": { - "scheduler": "[SCHEDULER|scheduler.0]" - }{% if not loop.last %},{% endif %} - -{% endfor %} - } -} diff --git a/tests/qos_config_input/buffers.json.j2 b/tests/qos_config_input/buffers.json.j2 deleted file mode 100644 index b67cf577ab..0000000000 --- a/tests/qos_config_input/buffers.json.j2 +++ /dev/null @@ -1,3 +0,0 @@ -{%- set default_topo = 't1' %} -{%- include 'buffers_config.j2' %} - diff --git a/tests/qos_config_input/buffers_config.j2 b/tests/qos_config_input/buffers_config.j2 deleted file mode 100644 index f5dbb9784f..0000000000 --- a/tests/qos_config_input/buffers_config.j2 +++ /dev/null @@ -1,172 +0,0 @@ -{%- macro set_default_topology() %} -{%- if default_topo is defined %} -{{ default_topo }} -{%- else %} -def -{%- endif %} -{%- endmacro -%} - -{# Determine device topology and filename postfix #} -{%- if DEVICE_METADATA is defined and DEVICE_METADATA['localhost']['type'] is defined %} -{%- set switch_role = DEVICE_METADATA['localhost']['type'] %} -{%- if 'torrouter' in switch_role.lower() and 'mgmt' not in switch_role.lower()%} -{%- set filename_postfix = 't0' %} -{%- elif 'leafrouter' in switch_role.lower() and 'mgmt' not in switch_role.lower()%} -{%- set filename_postfix = 't1' %} -{%- else %} -{%- set filename_postfix = set_default_topology() %} -{%- endif %} -{%- else %} -{%- set filename_postfix = set_default_topology() %} -{%- set switch_role = '' %} -{%- endif -%} - -{# Import default values from device HWSKU folder #} -{%- import 'buffers_defaults_%s.j2' % filename_postfix as defs %} - -{%- set default_cable = defs.default_cable -%} - -{# Port configuration to cable length look-up table #} -{# Each record describes mapping of DUT (DUT port) role and neighbor role to cable length #} -{# Roles described in the minigraph #} -{%- if defs.ports2cable is defined %} - {%- set ports2cable = defs.ports2cable %} -{%- else %} - {%- set ports2cable = { - 'torrouter_server' : '5m', - 'leafrouter_torrouter' : '40m', - 'spinerouter_leafrouter' : '300m' - } - -%} -{%- endif %} - -{%- macro cable_length(port_name) %} - {%- set cable_len = [] %} - {%- for local_port in DEVICE_NEIGHBOR %} - {%- if local_port == port_name %} - {%- if DEVICE_NEIGHBOR_METADATA is defined and DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %} - {%- set neighbor = DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %} - {%- set neighbor_role = neighbor.type %} - {%- if 'asic' == neighbor_role | lower %} - {%- set roles1 = 'internal' %} - {%- if 'internal' not in ports2cable %} - {%- set _ = ports2cable.update({'internal': '5m'}) %} - {%- endif -%} - {%- else %} - {%- set roles1 = switch_role + '_' + neighbor_role %} - {%- set roles2 = neighbor_role + '_' + switch_role %} - {%- set roles1 = roles1 | lower %} - {%- set roles2 = roles2 | lower %} - {%- endif %} - {%- if roles1 in ports2cable %} - {%- if cable_len.append(ports2cable[roles1]) %}{% endif %} - {%- elif roles2 in ports2cable %} - {%- if cable_len.append(ports2cable[roles2]) %}{% endif %} - {%- endif %} - {%- endif %} - {%- endif %} - {%- endfor %} - {%- if cable_len -%} - {{ cable_len.0 }} - {%- else %} - {%- if 'torrouter' in switch_role.lower() and 'mgmt' not in switch_role.lower()%} - {%- for local_port in VLAN_MEMBER %} - {%- if local_port[1] == port_name %} - {%- set roles3 = switch_role + '_' + 'server' %} - {%- set roles3 = roles3 | lower %} - {%- if roles3 in ports2cable %} - {%- if cable_len.append(ports2cable[roles3]) %}{% endif %} - {%- endif %} - {%- endif %} - {%- endfor %} - {%- if cable_len -%} - {{ cable_len.0 }} - {%- else -%} - {{ default_cable }} - {%- endif %} - {%- else -%} - {{ default_cable }} - {%- endif %} - {%- endif %} -{%- endmacro %} - -{%- set PORT_ALL = [] %} - -{%- if PORT is not defined %} - {%- if defs.generate_port_lists(PORT_ALL) %} {% endif %} -{%- else %} - {%- for port in PORT %} - {%- if PORT_ALL.append(port) %}{%- endif %} - {%- endfor %} -{%- endif %} - -{%- set PORT_ACTIVE = [] %} -{%- if DEVICE_NEIGHBOR is not defined %} - {%- set PORT_ACTIVE = PORT_ALL %} -{%- else %} - {%- for port in DEVICE_NEIGHBOR.keys() %} - {%- if PORT_ACTIVE.append(port) %}{%- endif %} - {%- endfor %} -{%- endif %} - -{%- set port_names_list_active = [] %} -{%- for port in PORT_ACTIVE %} - {%- if port_names_list_active.append(port) %}{%- endif %} -{%- endfor %} -{%- set port_names_active = port_names_list_active | join(',') %} - -{ - "CABLE_LENGTH": { - "AZURE": { - {% for port in PORT_ALL %} - {%- set cable = cable_length(port) %} - "{{ port }}": "{{ cable }}"{%- if not loop.last %},{% endif %} - - {% endfor %} - } - }, - -{% if defs.generate_buffer_pool_and_profiles is defined %} -{{ defs.generate_buffer_pool_and_profiles() }} -{% endif %} - -{%- if defs.generate_profile_lists is defined %} -{{ defs.generate_profile_lists(port_names_active) }}, -{% endif %} - -{%- if defs.generate_pg_profils is defined %} -{{ defs.generate_pg_profils(port_names_active) }} -{% else %} - "BUFFER_PG": { -{% for port in PORT_ACTIVE %} - "{{ port }}|0": { - "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]" - }{% if not loop.last %},{% endif %} - -{% endfor %} - }, -{% endif %} - -{% if defs.generate_queue_buffers is defined %} -{{ defs.generate_queue_buffers(port_names_active) }} -{% else %} - "BUFFER_QUEUE": { -{% for port in PORT_ACTIVE %} - "{{ port }}|3-4": { - "profile" : "[BUFFER_PROFILE|egress_lossless_profile]" - }, -{% endfor %} -{% for port in PORT_ACTIVE %} - "{{ port }}|0-2": { - "profile" : "[BUFFER_PROFILE|egress_lossy_profile]" - }, -{% endfor %} -{% for port in PORT_ACTIVE %} - "{{ port }}|5-6": { - "profile" : "[BUFFER_PROFILE|egress_lossy_profile]" - }{% if not loop.last %},{% endif %} - -{% endfor %} - } -{% endif %} -} diff --git a/tests/qos_config_input/buffers_defaults_t1.j2 b/tests/qos_config_input/buffers_defaults_t1.j2 deleted file mode 100644 index 38e34eb571..0000000000 --- a/tests/qos_config_input/buffers_defaults_t1.j2 +++ /dev/null @@ -1,45 +0,0 @@ -{%- set default_cable = '300m' %} - -{%- macro generate_port_lists(PORT_ALL) %} - {# Generate list of ports #} - {% for port_idx in range(0,32) %} - {% if PORT_ALL.append("Ethernet%d" % (port_idx * 4)) %}{% endif %} - {% endfor %} -{%- endmacro %} - -{%- macro generate_buffer_pool_and_profiles() %} - "BUFFER_POOL": { - "ingress_lossless_pool": { - "size": "12766208", - "type": "ingress", - "mode": "dynamic" - }, - "egress_lossless_pool": { - "size": "12766208", - "type": "egress", - "mode": "static" - }, - "egress_lossy_pool": { - "size": "7326924", - "type": "egress", - "mode": "dynamic" - } - }, - "BUFFER_PROFILE": { - "ingress_lossy_profile": { - "pool":"[BUFFER_POOL|ingress_lossless_pool]", - "size":"0", - "dynamic_th":"3" - }, - "egress_lossless_profile": { - "pool":"[BUFFER_POOL|egress_lossless_pool]", - "size":"0", - "static_th":"12766208" - }, - "egress_lossy_profile": { - "pool":"[BUFFER_POOL|egress_lossy_pool]", - "size":"1518", - "dynamic_th":"3" - } - }, -{%- endmacro %} diff --git a/tests/qos_config_input/config_qos.json b/tests/qos_config_input/config_qos.json deleted file mode 100644 index 40c1903a06..0000000000 --- a/tests/qos_config_input/config_qos.json +++ /dev/null @@ -1,137 +0,0 @@ -{ - "TC_TO_PRIORITY_GROUP_MAP": { - "AZURE": { - "0": "0", - "1": "0", - "2": "0", - "3": "3", - "4": "4", - "5": "0", - "6": "0", - "7": "7" - } - }, - "MAP_PFC_PRIORITY_TO_QUEUE": { - "AZURE": { - "0": "0", - "1": "1", - "2": "2", - "3": "3", - "4": "4", - "5": "5", - "6": "6", - "7": "7" - } - }, - "TC_TO_QUEUE_MAP": { - "AZURE": { - "0": "0", - "1": "1", - "2": "2", - "3": "3", - "4": "4", - "5": "5", - "6": "6", - "7": "7" - } - }, - "DSCP_TO_TC_MAP": { - "AZURE": { - "0" : "1", - "1" : "1", - "2" : "1", - "3" : "3", - "4" : "4", - "5" : "2", - "6" : "1", - "7" : "1", - "8" : "0", - "9" : "1", - "10": "1", - "11": "1", - "12": "1", - "13": "1", - "14": "1", - "15": "1", - "16": "1", - "17": "1", - "18": "1", - "19": "1", - "20": "1", - "21": "1", - "22": "1", - "23": "1", - "24": "1", - "25": "1", - "26": "1", - "27": "1", - "28": "1", - "29": "1", - "30": "1", - "31": "1", - "32": "1", - "33": "1", - "34": "1", - "35": "1", - "36": "1", - "37": "1", - "38": "1", - "39": "1", - "40": "1", - "41": "1", - "42": "1", - "43": "1", - "44": "1", - "45": "1", - "46": "5", - "47": "1", - "48": "6", - "49": "1", - "50": "1", - "51": "1", - "52": "1", - "53": "1", - "54": "1", - "55": "1", - "56": "1", - "57": "1", - "58": "1", - "59": "1", - "60": "1", - "61": "1", - "62": "1", - "63": "1" - } - }, - "SCHEDULER": { - "scheduler.0": { - "type" : "DWRR", - "weight": "14" - }, - "scheduler.1": { - "type" : "DWRR", - "weight": "15" - } - }, - "PORT_QOS_MAP": { - }, - "WRED_PROFILE": { - "AZURE_LOSSLESS" : { - "wred_green_enable" : "true", - "wred_yellow_enable" : "true", - "wred_red_enable" : "true", - "ecn" : "ecn_all", - "green_max_threshold" : "2097152", - "green_min_threshold" : "1048576", - "yellow_max_threshold" : "2097152", - "yellow_min_threshold" : "1048576", - "red_max_threshold" : "2097152", - "red_min_threshold" : "1048576", - "green_drop_probability" : "5", - "yellow_drop_probability": "5", - "red_drop_probability" : "5" - } - }, - "QUEUE": { - } -} diff --git a/tests/qos_config_input/qos.json.j2 b/tests/qos_config_input/qos.json.j2 deleted file mode 100644 index 3e548325ea..0000000000 --- a/tests/qos_config_input/qos.json.j2 +++ /dev/null @@ -1 +0,0 @@ -{%- include 'qos_config.j2' %} diff --git a/tests/qos_config_input/qos_config.j2 b/tests/qos_config_input/qos_config.j2 deleted file mode 100644 index a7c361d69f..0000000000 --- a/tests/qos_config_input/qos_config.j2 +++ /dev/null @@ -1,257 +0,0 @@ -{%- set PORT_ALL = [] %} -{%- for port in PORT %} - {%- if PORT_ALL.append(port) %}{% endif %} -{%- endfor %} -{%- if PORT_ALL | sort_by_port_index %}{% endif %} - -{%- set port_names_list_all = [] %} -{%- for port in PORT_ALL %} - {%- if port_names_list_all.append(port) %}{% endif %} -{%- endfor %} -{%- set port_names_all = port_names_list_all | join(',') -%} - - -{%- set PORT_ACTIVE = [] %} -{%- if DEVICE_NEIGHBOR is not defined %} - {%- set PORT_ACTIVE = PORT_ALL %} -{%- else %} - {%- for port in DEVICE_NEIGHBOR.keys() %} - {%- if PORT_ACTIVE.append(port) %}{%- endif %} - {%- endfor %} -{%- endif %} -{%- if PORT_ACTIVE | sort_by_port_index %}{% endif %} - -{%- set port_names_list_active = [] %} -{%- for port in PORT_ACTIVE %} - {%- if port_names_list_active.append(port) %}{%- endif %} -{%- endfor %} -{%- set port_names_active = port_names_list_active | join(',') -%} - - -{%- set pfc_to_pg_map_supported_asics = ['mellanox', 'barefoot', 'marvell'] -%} -{%- set backend_device_types = ['BackEndToRRouter', 'BackEndLeafRouter'] -%} - - -{ -{% if generate_tc_to_pg_map is defined %} - {{- generate_tc_to_pg_map() }} -{% else %} - "TC_TO_PRIORITY_GROUP_MAP": { - "AZURE": { - "0": "0", - "1": "0", - "2": "0", - "3": "3", - "4": "4", - "5": "0", - "6": "0", - "7": "7" - } - }, -{% endif %} - "MAP_PFC_PRIORITY_TO_QUEUE": { - "AZURE": { - "0": "0", - "1": "1", - "2": "2", - "3": "3", - "4": "4", - "5": "5", - "6": "6", - "7": "7" - } - }, - "TC_TO_QUEUE_MAP": { - "AZURE": { - "0": "0", - "1": "1", - "2": "2", - "3": "3", - "4": "4", - "5": "5", - "6": "6", - "7": "7" - } - }, -{% if 'type' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['type'] in backend_device_types and 'storage_device' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['storage_device'] == 'true' %} - "DOT1P_TO_TC_MAP": { - "AZURE": { - "0": "0", - "1": "1", - "2": "2", - "3": "3", - "4": "4", - "5": "5", - "6": "6", - "7": "7" - } - }, -{% else %} - "DSCP_TO_TC_MAP": { - "AZURE": { - "0" : "1", - "1" : "1", - "2" : "1", - "3" : "3", - "4" : "4", - "5" : "2", - "6" : "1", - "7" : "1", - "8" : "0", - "9" : "1", - "10": "1", - "11": "1", - "12": "1", - "13": "1", - "14": "1", - "15": "1", - "16": "1", - "17": "1", - "18": "1", - "19": "1", - "20": "1", - "21": "1", - "22": "1", - "23": "1", - "24": "1", - "25": "1", - "26": "1", - "27": "1", - "28": "1", - "29": "1", - "30": "1", - "31": "1", - "32": "1", - "33": "1", - "34": "1", - "35": "1", - "36": "1", - "37": "1", - "38": "1", - "39": "1", - "40": "1", - "41": "1", - "42": "1", - "43": "1", - "44": "1", - "45": "1", - "46": "5", - "47": "1", - "48": "6", - "49": "1", - "50": "1", - "51": "1", - "52": "1", - "53": "1", - "54": "1", - "55": "1", - "56": "1", - "57": "1", - "58": "1", - "59": "1", - "60": "1", - "61": "1", - "62": "1", - "63": "1" - } - }, -{% endif %} - "SCHEDULER": { - "scheduler.0": { - "type" : "DWRR", - "weight": "14" - }, - "scheduler.1": { - "type" : "DWRR", - "weight": "15" - } - }, -{% if asic_type in pfc_to_pg_map_supported_asics %} - "PFC_PRIORITY_TO_PRIORITY_GROUP_MAP": { - "AZURE": { - "3": "3", - "4": "4" - } - }, -{% endif %} - "PORT_QOS_MAP": { -{% for port in PORT_ACTIVE %} - "{{ port }}": { -{% if 'type' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['type'] in backend_device_types and 'storage_device' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['storage_device'] == 'true' %} - "dot1p_to_tc_map" : "[DOT1P_TO_TC_MAP|AZURE]", -{% else %} - "dscp_to_tc_map" : "[DSCP_TO_TC_MAP|AZURE]", -{% endif %} - "tc_to_queue_map" : "[TC_TO_QUEUE_MAP|AZURE]", - "tc_to_pg_map" : "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", -{% if asic_type in pfc_to_pg_map_supported_asics %} - "pfc_to_pg_map" : "[PFC_PRIORITY_TO_PRIORITY_GROUP_MAP|AZURE]", -{% endif %} - "pfc_enable" : "3,4" - }{% if not loop.last %},{% endif %} - -{% endfor %} - }, -{% if generate_wred_profiles is defined %} - {{- generate_wred_profiles() }} -{% else %} - "WRED_PROFILE": { - "AZURE_LOSSLESS" : { - "wred_green_enable" : "true", - "wred_yellow_enable" : "true", - "wred_red_enable" : "true", - "ecn" : "ecn_all", - "green_max_threshold" : "2097152", - "green_min_threshold" : "1048576", - "yellow_max_threshold" : "2097152", - "yellow_min_threshold" : "1048576", - "red_max_threshold" : "2097152", - "red_min_threshold" : "1048576", - "green_drop_probability" : "5", - "yellow_drop_probability": "5", - "red_drop_probability" : "5" - } - }, -{% endif %} - "QUEUE": { -{% for port in PORT_ACTIVE %} - "{{ port }}|3": { - "scheduler" : "[SCHEDULER|scheduler.1]", - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" - }, -{% endfor %} -{% for port in PORT_ACTIVE %} - "{{ port }}|4": { - "scheduler" : "[SCHEDULER|scheduler.1]", - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" - }, -{% endfor %} -{% for port in PORT_ACTIVE %} - "{{ port }}|0": { - "scheduler": "[SCHEDULER|scheduler.0]" - }, -{% endfor %} -{% for port in PORT_ACTIVE %} - "{{ port }}|1": { - "scheduler": "[SCHEDULER|scheduler.0]" - }, -{% endfor %} -{% for port in PORT_ACTIVE %} - "{{ port }}|2": { - "scheduler": "[SCHEDULER|scheduler.0]" - }, -{% endfor %} -{% for port in PORT_ACTIVE %} - "{{ port }}|5": { - "scheduler": "[SCHEDULER|scheduler.0]" - }, -{% endfor %} -{% for port in PORT_ACTIVE %} - "{{ port }}|6": { - "scheduler": "[SCHEDULER|scheduler.0]" - }{% if not loop.last %},{% endif %} - -{% endfor %} - } -} diff --git a/tests/qos_config_input/sonic_version.yml b/tests/qos_config_input/sonic_version.yml deleted file mode 100644 index 4791f627e7..0000000000 --- a/tests/qos_config_input/sonic_version.yml +++ /dev/null @@ -1,8 +0,0 @@ -build_version: 'master.487-a98cf221' -debian_version: '10.6' -kernel_version: '4.19.0-9-2-amd64' -asic_type: broadcom -commit_id: 'a98cf221' -build_date: Thu Nov 12 12:21:45 UTC 2020 -build_number: 487 -built_by: johnar@jenkins-worker-8 From 7924bd18d45547d6c865a42315766bc2324f7eec Mon Sep 17 00:00:00 2001 From: lguohan Date: Mon, 28 Dec 2020 03:06:53 -0800 Subject: [PATCH 025/342] [route_check]: ignore routes pointing to Loopback interface (#1337) orchagent ignore all routes pointing to Loopback interfaces. add this skip logic in route check. https://github.com/Azure/sonic-swss/pull/1570 Signed-off-by: Guohan Lu --- scripts/route_check.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/route_check.py b/scripts/route_check.py index 09b9505d0a..3bb47a2643 100755 --- a/scripts/route_check.py +++ b/scripts/route_check.py @@ -166,7 +166,7 @@ def get_interfaces(): def filter_out_local_interfaces(keys): rt = [] - local_if = set(['eth0', 'lo', 'docker0']) + local_if_re = ['eth0', 'lo', 'docker0', 'Loopback\d+'] db = ConfigDBConnector() db.db_connect('APPL_DB') @@ -176,7 +176,7 @@ def filter_out_local_interfaces(keys): if not e: # Prefix might have been added. So try w/o it. e = db.get_entry('ROUTE_TABLE', k.split("/")[0]) - if not e or (e['ifname'] not in local_if): + if not e or all([not re.match(x, e['ifname']) for x in local_if_re]): rt.append(k) return rt From 3fa55a4c5f138bc236d460bd561f41b075fe9769 Mon Sep 17 00:00:00 2001 From: Mahesh Maddikayala <10645050+smaheshm@users.noreply.github.com> Date: Tue, 29 Dec 2020 09:20:31 -0800 Subject: [PATCH 026/342] [unit test][pfcwd] Fix tests that require sudo access (#1340) * mock os.geteuid * rearrange imports --- tests/pfcwd_test.py | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/tests/pfcwd_test.py b/tests/pfcwd_test.py index afbd1d0a74..b8d19edd57 100644 --- a/tests/pfcwd_test.py +++ b/tests/pfcwd_test.py @@ -1,8 +1,10 @@ import imp import os import sys +from unittest.mock import patch from click.testing import CliRunner + from utilities_common.db import Db from .pfcwd_input.pfcwd_test_vectors import * @@ -78,7 +80,8 @@ def executor(self, testcase): if 'rc_output' in input: assert result.output == input['rc_output'] - def test_pfcwd_start_ports_valid(self): + @patch('pfcwd.main.os') + def test_pfcwd_start_ports_valid(self, mock_os): # pfcwd start --action drop --restoration-time 200 Ethernet0 200 import pfcwd.main as pfcwd runner = CliRunner() @@ -92,6 +95,7 @@ def test_pfcwd_start_ports_valid(self): print(result.output) assert result.output == pfcwd_show_config_output + mock_os.geteuid.return_value = 0 result = runner.invoke( pfcwd.cli.commands["start"], [ @@ -112,7 +116,8 @@ def test_pfcwd_start_ports_valid(self): assert result.exit_code == 0 assert result.output == pfcwd_show_start_config_output_pass - def test_pfcwd_start_actions(self): + @patch('pfcwd.main.os') + def test_pfcwd_start_actions(self, mock_os): # pfcwd start --action fwd --restoration-time 200 Ethernet0 200 import pfcwd.main as pfcwd runner = CliRunner() @@ -126,6 +131,7 @@ def test_pfcwd_start_actions(self): print(result.output) assert result.output == pfcwd_show_config_output + mock_os.geteuid.return_value = 0 result = runner.invoke( pfcwd.cli.commands["start"], [ @@ -267,7 +273,8 @@ def test_pfcwd_config_with_ports(self): assert result.exit_code == 0 assert result.output == show_pfcwd_config_with_ports - def test_pfcwd_start_ports_masic_valid(self): + @patch('pfcwd.main.os') + def test_pfcwd_start_ports_masic_valid(self, mock_os): # pfcwd start --action forward --restoration-time 200 Ethernet0 200 import pfcwd.main as pfcwd runner = CliRunner() @@ -280,6 +287,7 @@ def test_pfcwd_start_ports_masic_valid(self): print(result.output) assert result.output == show_pfc_config_all + mock_os.geteuid.return_value = 0 result = runner.invoke( pfcwd.cli.commands["start"], [ @@ -300,7 +308,8 @@ def test_pfcwd_start_ports_masic_valid(self): assert result.exit_code == 0 assert result.output == show_pfc_config_start_pass - def test_pfcwd_start_actions_masic(self): + @patch('pfcwd.main.os') + def test_pfcwd_start_actions_masic(self, mock_os): # pfcwd start --action drop --restoration-time 200 Ethernet0 200 import pfcwd.main as pfcwd runner = CliRunner() @@ -313,6 +322,7 @@ def test_pfcwd_start_actions_masic(self): print(result.output) assert result.output == show_pfc_config_all + mock_os.geteuid.return_value = 0 result = runner.invoke( pfcwd.cli.commands["start"], [ From b10622e08fd0a92dd22688b023f7dbbef498aceb Mon Sep 17 00:00:00 2001 From: shlomibitton <60430976+shlomibitton@users.noreply.github.com> Date: Sun, 3 Jan 2021 10:33:30 +0200 Subject: [PATCH 027/342] Add FW dump with new SAI implementation (#1338) Remove mst dump Signed-off-by: Shlomi Bitton --- scripts/generate_dump | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/scripts/generate_dump b/scripts/generate_dump index 07a43f0e22..c1056e5101 100755 --- a/scripts/generate_dump +++ b/scripts/generate_dump @@ -519,11 +519,12 @@ collect_mellanox() { ${CMD_PREFIX}docker exec syncd tar Ccf $(dirname $sai_dump_filename) - $(basename $sai_dump_filename) | tar Cxf /tmp/ - save_file $sai_dump_filename sai_sdk_dump true - local mst_dump_filename="/tmp/mstdump" - local max_dump_count="3" - for i in $(seq 1 $max_dump_count); do - ${CMD_PREFIX}/usr/bin/mstdump /dev/mst/mt*conf0 > "${mst_dump_filename}${i}" - save_file "${mst_dump_filename}${i}" mstdump true + file_list_string=$(${CMD_PREFIX}docker exec -it syncd ls -l /tmp | grep sdkdump | awk '{print $9}' | tr -d '\r') + file_list_array=( $file_list_string ) + for element in "${file_list_array[@]}" + do + docker cp syncd:/tmp/$element /tmp + save_file /tmp/$element sai_sdk_dump true done } From 22d79f387728f40e9994d8dcd3397f42dda8a578 Mon Sep 17 00:00:00 2001 From: fk410167 <51665572+fk410167@users.noreply.github.com> Date: Mon, 4 Jan 2021 22:14:29 +0530 Subject: [PATCH 028/342] Adding global-timeout, individual command timeout, log files collection (#1249) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit and some other enhancements to techsupport **- What I did** Following is the brief description of the changes, - Adding a ‘--silent’ option to ‘show techsupport’ command. Various tar/untar, addition and removal logs appear on the console by default. This option would disable above logs. - Adding global and per-command timeouts. This would provide more user control on ‘show techsupport’ CLI. - Adding time profiling information for the commands in techsupport. Time profiling information would be part of the tarball and helps to analyse the time consumption per command. - Sometimes ‘syncd’ docker is down and bcmshell is unavailable. In such cases all the bcmcmd commands would timeout and result in tremendous increase in the total techsupport collection time. We provided an option to skip rest of the bcmcmd commands once one command times out. - Added ‘show services’, ‘show reboot-cause’ and various BGP, BFD, bcm shell and other commands - Optimised the /var/log files collection. If the number of files are large in /var/log folder, it takes a long time to add each individually to the tarball. If the folder is tar'ed at once, the time taken reduces significantly. - Following error was observed while tar'ing softlinks inside .etc folder. ** Tar append operation failed. Aborting for safety. ** This issue was due to softlinks present at /etc folder where the destination file is absent. Fixed this issue by deleting such softlinks before adding them to the tarball. **- How I did it** - Added new options to the CLICK command 'show techsupport' - Modified the 'generate_dump' script to accomodate other changes **- How to verify it** Here are some outputs, root@sonic:/home/admin# show techsupport --silent Techsupport is running with silent option. This command might take a long time. HW Mgmt dump script /usr/bin/hw-management-generate-dump.sh does not exist /var/dump/sonic_dump_sonic_20201117_161246.tar.gz root@sonic:/home/admin# root@sonic:~# show techsupport -h Usage: show techsupport [OPTIONS] Gather information for troubleshooting Options: --since TEXT Collect logs and core files since given date -g, --global-timeout INTEGER Global timeout for techsupport in minutes. Default 30 mins -c, --cmd-timeout INTEGER Command timeout for techsupport in minutes. Default 5 mins --verbose Enable verbose output --silent Run techsupport in silent mode -?, -h, --help Show this message and exit. root@sonic:~# **- Previous command output (if the output of a command-line utility has changed)** - Previous command "show techsupport" works as is **- New command output (if the output of a command-line utility has changed)** --- scripts/generate_dump | 450 +++++++++++++++++++++++++++++++++++++++--- show/main.py | 18 +- 2 files changed, 434 insertions(+), 34 deletions(-) diff --git a/scripts/generate_dump b/scripts/generate_dump index c1056e5101..4cb192647c 100755 --- a/scripts/generate_dump +++ b/scripts/generate_dump @@ -26,15 +26,104 @@ DO_COMPRESS=true CMD_PREFIX= SINCE_DATE="@0" # default is set to January 1, 1970 at 00:00:00 GMT REFERENCE_FILE=/tmp/reference +TECHSUPPORT_TIME_INFO=`mktemp "/tmp/techsupport_time_info.XXXXXXXXXX"` BASE=sonic_dump_`hostname`_`date +%Y%m%d_%H%M%S` DUMPDIR=/var/dump TARDIR=$DUMPDIR/$BASE TARFILE=$DUMPDIR/$BASE.tar LOGDIR=$DUMPDIR/$BASE/dump NUM_ASICS=1 +HOME=${HOME:-/root} +USER=${USER:-root} +TIMEOUT_MIN="5" +SKIP_BCMCMD=0 + +handle_signal() +{ + echo "Generate Dump received interrupt" >&2 + $RM $V -rf $TARDIR + exit 1 +} +trap 'handle_signal' SIGINT + +save_bcmcmd() { + local start_t=$(date +%s%3N) + local end_t=0 + local cmd="$1" + local filename=$2 + local filepath="${LOGDIR}/$filename" + local do_gzip=${3:-false} + local tarpath="${BASE}/dump/$filename" + local timeout_cmd="timeout --foreground ${TIMEOUT_MIN}m" + [ ! -d $LOGDIR ] && $MKDIR $V -p $LOGDIR + + if [ $SKIP_BCMCMD -eq 1 ]; then + echo "Skip $cmd" + return 0 + fi + # eval required here to re-evaluate the $cmd properly at runtime + # This is required if $cmd has quoted strings that should be bunched + # as one argument, e.g. vtysh -c "COMMAND HERE" needs to have + # "COMMAND HERE" bunched together as 1 arg to vtysh -c + if $NOOP; then + echo "${timeout_cmd} $cmd &> '${filepath}'" + else + eval "${timeout_cmd} $cmd" &> "${filepath}" + ret=$? + if [ $ret -ne 0 ]; then + if [ $ret -eq 124 ]; then + echo "Command: $cmd timedout after ${TIMEOUT_MIN} minutes." + else + grep "polling socket timeout: Success" ${filepath} &>/dev/null + if [ $? -eq 0 ]; then + echo "bcmcmd command timeout. Setting SKIP_BCMCMD to true ..." + SKIP_BCMCMD=1 + fi + fi + fi + fi + if $do_gzip + gzip ${filepath} 2>/dev/null + tarpath="${tarpath}.gz" + filepath="${filepath}.gz" + fi + ($TAR $V -rhf $TARFILE -C $DUMPDIR "$tarpath" \ + || abort "${ERROR_TAR_FAILED}" "tar append operation failed. Aborting to prevent data loss.") \ + && $RM $V -rf "$filepath" + end_t=$(date +%s%3N) + echo "[ save_bcmcmd:$cmd ] : $(($end_t-$start_t)) msec" >> $TECHSUPPORT_TIME_INFO +} + +############################################################################### +# Runs a given bcmcmd command in all namesapces in case of multi ASIC platform +# Globals: +# NUM_ASICS +# Arguments: +# cmd: The command to run. Make sure that arguments with spaces have quotes +# filename: the filename to save the output as in $BASE/dump +# do_gzip: (OPTIONAL) true or false. Should the output be gzipped +# Returns: +# None +############################################################################### +save_bcmcmd_all_ns() { + local do_gzip=${3:-false} + + if [[ ( "$NUM_ASICS" > 1 ) ]]; then + for (( i=0; i<$NUM_ASICS; i++ )) + do + local cmd="bcmcmd -n $i $1" + local file="$2.$i" + save_bcmcmd "$cmd" "$file" "$do_gzip" + done + else + local cmd="bcmcmd $1" + save_bcmcmd "$cmd" "$2" "$do_gzip" + fi +} ############################################################################### # Runs a comamnd and saves its output to the incrementally built tar. +# Command gets timedout if it runs for more than TIMEOUT_MIN minutes. # Globals: # LOGDIR # BASE @@ -53,11 +142,14 @@ NUM_ASICS=1 # None ############################################################################### save_cmd() { + local start_t=$(date +%s%3N) + local end_t=0 local cmd="$1" local filename=$2 local filepath="${LOGDIR}/$filename" local do_gzip=${3:-false} local tarpath="${BASE}/dump/$filename" + local timeout_cmd="timeout --foreground ${TIMEOUT_MIN}m" [ ! -d $LOGDIR ] && $MKDIR $V -p $LOGDIR # eval required here to re-evaluate the $cmd properly at runtime @@ -68,24 +160,32 @@ save_cmd() { then tarpath="${tarpath}.gz" filepath="${filepath}.gz" + local cmds="$cmd 2>&1 | gzip -c > '${filepath}'" if $NOOP; then - echo "eval $cmd 2>&1 | gzip -c > '${filepath}'" + echo "${timeout_cmd} bash -c \"${cmds}\"" else - eval "$cmd" 2>&1 | gzip -c > "${filepath}" + eval "${timeout_cmd} bash -c \"${cmds}\"" + if [ $? -ne 0 ]; then + echo "Command: $cmds timedout after ${TIMEOUT_MIN} minutes." + fi fi else if $NOOP; then - echo "eval $cmd &> '$filepath'" + echo "${timeout_cmd} $cmd &> '$filepath'" else - eval "$cmd" &> "$filepath" + eval "${timeout_cmd} $cmd" &> "$filepath" + if [ $? -ne 0 ]; then + echo "Command: $cmd timedout after ${TIMEOUT_MIN} minutes." + fi fi fi ($TAR $V -rhf $TARFILE -C $DUMPDIR "$tarpath" \ || abort "${ERROR_TAR_FAILED}" "tar append operation failed. Aborting to prevent data loss.") \ && $RM $V -rf "$filepath" + end_t=$(date +%s%3N) + echo "[ save_cmd:$cmd ] : $(($end_t-$start_t)) msec" >> $TECHSUPPORT_TIME_INFO } - ############################################################################### # Runs a given command in all namesapces in case of multi ASIC platform, in # default (host) namespace in single ASIC platform @@ -99,10 +199,7 @@ save_cmd() { # None ############################################################################### save_cmd_all_ns() { - echo $1 - echo $2 local do_zip=${3:-false} - echo ${do_zip} # host or default namespace save_cmd "$1" "$2" "$do_zip" @@ -135,7 +232,6 @@ get_vtysh_namespace() { else ns=" -n ${asic_id}" fi - echo "$ns" } ############################################################################### @@ -187,6 +283,38 @@ save_ip() { save_cmd_all_ns "ip $ip_args" "$filename" "$do_gzip" } +############################################################################### +# Runs a bridge command and saves its output to the incrementally built tar. +# Globals: +# None +# Arguments: +# cmd: the bridge command to run sans 'bridge' +# filename: Files will be named 'bridge.' +# do_gzip: (OPTIONAL) true or false. Should the output be gzipped +# Returns: +# None +############################################################################### +save_bridge() { + local br_args=$1 + local filename="bridge.$2" + local do_gzip=${3:-false} + save_cmd_all_ns "bridge $br_args" "$filename" $do_gzip +} + +############################################################################### +# Dump the bridge L2 information +# Globals: +# None +# Arguments: +# None +# Returns: +# None +############################################################################### +save_bridge_info() { + save_bridge "fdb show" "fdb" + save_bridge "vlan show" "vlan" +} + ############################################################################### # Iterates all neighbors and runs save_vtysh to save each neighbor's # advertised-routes and received-routes @@ -199,10 +327,11 @@ save_ip() { # None ############################################################################### save_bgp_neighbor() { + local timeout_cmd="timeout --foreground ${TIMEOUT_MIN}m" local asic_id=${1:-""} local ns=$(get_vtysh_namespace $asic_id) - neighbor_list_v4=$(vtysh $ns -c "show ip bgp neighbors" | grep "BGP neighbor is" | awk -F '[, ]' '{print $4}') + neighbor_list_v4=$(${timeout_cmd} vtysh $ns -c "show ip bgp neighbors" | grep "BGP neighbor is" | awk -F '[, ]' '{print $4}') for word in $neighbor_list_v4; do save_cmd "vtysh $ns -c \"show ip bgp neighbors $word advertised-routes\"" "ip.bgp.neighbor.$word.adv$asic_id" save_cmd "vtysh $ns -c \"show ip bgp neighbors $word routes\"" "ip.bgp.neighbor.$word.rcv$asic_id" @@ -212,6 +341,15 @@ save_bgp_neighbor() { save_cmd "vtysh $ns -c \"show bgp ipv6 neighbors $word advertised-routes\"" "ipv6.bgp.neighbor.$word.adv$asic_id" save_cmd "vtysh $ns -c \"show bgp ipv6 neighbors $word routes\"" "ipv6.bgp.neighbor.$word.rcv$asic_id" done + + vrf_list=`${timeout_cmd} vtysh $ns -c "show vrf" | awk -F" " '{print $2}'` + for vrf in $vrf_list; do + neighbor_list=`${timeout_cmd} vtysh $ns -c "show ip bgp vrf $vrf neighbors" | grep "BGP neighbor is" | awk -F '[, ]' '{print $4}'` + for word in $neighbor_list; do + save_cmd "vtysh $ns -c \"show ip bgp vrf $vrf neighbors $word advertised-routes\"" "ip.bgp.neighbor.$vrf.$word.adv$asic_id" + save_cmd "vtysh $ns -c \"show ip bgp vrf $vrf neighbors $word routes\"" "ip.bgp.neighbor.$vrf.$word.rcv$asic_id" + done + done } ############################################################################### @@ -253,6 +391,22 @@ save_nat_info() { save_cmd_all_ns "show nat config" "nat.config" } +############################################################################### +# Dump the BFD information from vtysh +# Globals: +# None +# Arguments: +# None +# Returns: +# None +############################################################################### +save_bfd_info() { + save_vtysh "show bfd peers" "frr.bfd.peers" + save_vtysh "show bfd peers counters" "frr.bfd.peers.counters" + save_vtysh "show bfd peers json" "frr.bfd.peers.json" + save_vtysh "show bfd peers counters json" "frr.bfd.peers.counters.json" +} + ############################################################################### # Save IP related info # Globals: @@ -268,6 +422,7 @@ save_ip_info() { save_ip "rule" "rule" save_ip "route show table all" "route" save_ip "neigh" "neigh" + save_ip "-s neigh show nud noarp" "neigh.noarp" } ############################################################################### @@ -289,6 +444,25 @@ save_bgp_info() { save_bgp_neighbor_all_ns } +############################################################################### +# Save FRR related info +# Globals: +# None +# Arguments: +# None +# Returns: +# None +############################################################################### +save_frr_info() { + save_vtysh "show running-config" "frr.running_config" + save_vtysh "show ip route vrf all" "frr.ip_route" + save_vtysh "show ipv6 route vrf all" "frr.ip6_route" + save_vtysh "show zebra fpm stats" "frr.fpm.stats" + save_vtysh "show zebra dplane detailed" "frr.dplane" + save_vtysh "show interface vrf all" "frr.interfaces" + save_vtysh "show zebra client summary" "frr.client" +} + ############################################################################### # Save Redis DB contents # Globals: @@ -335,13 +509,19 @@ save_proc() { ############################################################################### # Dumps all fields and values from given Redis DB. # Arguments: -# DB name: filename to which output will be saved +# DB name: DB name +# Filename: Destination filename, if not given then filename would be DB name # Returns: # None ############################################################################### save_redis() { local db_name=$1 - save_cmd_all_ns "sonic-db-dump -n '$db_name' -y" "$db_name.json" + if [ $# -ge 2 ] && [ -n "$2" ]; then + local dest_file_name=$2 + else + local dest_file_name="$db_name" + fi + save_cmd_all_ns "sonic-db-dump -n '$db_name' -y" "$dest_file_name.json" } ############################################################################### @@ -382,6 +562,8 @@ save_saidump() { # None ############################################################################### save_platform() { + local start_t=$(date +%s%3N) + local end_t=0 local type="$1" local filename=$2 local filepath="${LOGDIR}/$filename" @@ -393,6 +575,8 @@ save_platform() { ($TAR $V -uhf $TARFILE -C $DUMPDIR "$tarpath" \ || abort "${ERROR_TAR_FAILED}" "tar append operation failed. Aborting to prevent data loss.") + end_t=$(date +%s%3N) + echo "[ save_platform:$type ] : $(($end_t-$start_t)) msec" >> $TECHSUPPORT_TIME_INFO } ############################################################################### @@ -432,11 +616,14 @@ save_platform_info() { # None ############################################################################### save_file() { + local start_t=$(date +%s%3N) + local end_t=0 local orig_path=$1 local supp_dir=$2 local gz_path="$TARDIR/$supp_dir/$(basename $orig_path)" local tar_path="${BASE}/$supp_dir/$(basename $orig_path)" local do_gzip=${3:-true} + local do_tar_append=${4:-true} [ ! -d "$TARDIR/$supp_dir" ] && $MKDIR $V -p "$TARDIR/$supp_dir" if $do_gzip; then @@ -454,9 +641,14 @@ save_file() { cp $orig_path $gz_path fi fi - ($TAR $V -rhf $TARFILE -C $DUMPDIR "$tar_path" \ - || abort "${ERROR_PROCFS_SAVE_FAILED}" "tar append operation failed. Aborting to prevent data loss.") \ - && $RM $V -f "$gz_path" + + if $do_tar_append; then + ($TAR $V -rhf $TARFILE -C $DUMPDIR "$tar_path" \ + || abort "${ERROR_PROCFS_SAVE_FAILED}" "tar append operation failed. Aborting to prevent data loss.") \ + && $RM $V -f "$gz_path" + fi + end_t=$(date +%s%3N) + echo "[ save_file:$orig_path] : $(($end_t-$start_t)) msec" >> $TECHSUPPORT_TIME_INFO } ############################################################################### @@ -538,17 +730,77 @@ collect_mellanox() { # None ############################################################################### collect_broadcom() { - save_cmd "bcmcmd -t5 version" "broadcom.version" - save_cmd "bcmcmd -t5 soc" "broadcom.soc" - save_cmd "bcmcmd -t5 ps" "broadcom.ps" + local platform=$(show platform summary --json | python -c 'import sys, json; \ + print(json.load(sys.stdin)["platform"])') + local hwsku=$(show platform summary --json | python -c 'import sys, json; \ + print(json.load(sys.stdin)["hwsku"])') + + # save SAI configuration files (config.bcm, port_config.ini, sai.profile) + if [ -d /usr/share/sonic/device/${platform}/${hwsku} ]; then + # copy all the files in the HWSKU directory + pushd /usr/share/sonic/device/${platform}/${hwsku} > /dev/null + for file in $(find . -maxdepth 2 -type f); do + save_file ${file} sai false + done + popd > /dev/null + + if [[ ("$NUM_ASICS" > 1) ]]; then + for (( i=0; i<$NUM_ASICS; i++ )) + do + # config.bcm - copy the one with chip common properties merged + for file in $(find /var/run/docker-syncd$i -type f -name "*.bcm"); do + save_file ${file} sai$i false + done + # sai.profile - copy the final sai.profile generated in docker-syncd + if [ -f /var/run/docker-syncd$i/sai.profile ]; then + save_file /var/run/docker-syncd$i/sai.profile sai$i false + fi + done + else + # config.bcm - copy the one with chip common properties merged + for file in $(find /var/run/docker-syncd -type f -name "*.bcm"); do + save_file ${file} sai false + done + # sai.profile - copy the final sai.profile generated in docker-syncd + if [ -f /var/run/docker-syncd/sai.profile ]; then + save_file /var/run/docker-syncd/sai.profile sai false + fi + fi + else + echo "'/usr/share/sonic/device/${platform}/${hwsku}' does not exist" > /tmp/error + save_file /tmp/error sai false + fi + save_cmd "cat /proc/bcm/knet/debug" "broadcom.knet.debug" save_cmd "cat /proc/bcm/knet/dma" "broadcom.knet.dma" - save_cmd "cat /proc/bcm/knet/dstats" "broadcom.knet.dstats" save_cmd "cat /proc/bcm/knet/link" "broadcom.knet.link" save_cmd "cat /proc/bcm/knet/rate" "broadcom.knet.rate" - save_cmd "cat /proc/bcm/knet/stats" "broadcom.knet.stats" - save_cmd "bcmcmd \"l3 nat_ingress show\"" "broadcom.nat.ingress" - save_cmd "bcmcmd \"l3 nat_egress show\"" "broadcom.nat.egress" + + save_bcmcmd_all_ns "-t5 version" "broadcom.version" + save_bcmcmd_all_ns "-t5 soc" "broadcom.soc" + save_bcmcmd_all_ns "-t5 ps" "broadcom.ps" + save_bcmcmd_all_ns "\"l3 nat_ingress show\"" "broadcom.nat.ingress" + save_bcmcmd_all_ns "\"l3 nat_egress show\"" "broadcom.nat.egress" + save_bcmcmd_all_ns "\"ipmc table show\"" "broadcom.ipmc" + save_bcmcmd_all_ns "\"multicast show\"" "broadcom.multicast" + save_bcmcmd_all_ns "\"conf show\"" "conf.summary" + save_bcmcmd_all_ns "\"fp show\"" "fp.summary" + save_bcmcmd_all_ns "\"pvlan show\"" "pvlan.summary" + save_bcmcmd_all_ns "\"l2 show\"" "l2.summary" + save_bcmcmd_all_ns "\"l3 intf show\"" "l3.intf.summary" + save_bcmcmd_all_ns "\"l3 defip show\"" "l3.defip.summary" + save_bcmcmd_all_ns "\"l3 l3table show\"" "l3.l3table.summary" + save_bcmcmd_all_ns "\"l3 egress show\"" "l3.egress.summary" + save_bcmcmd_all_ns "\"l3 ecmp egress show\"" "l3.ecmp.egress.summary" + save_bcmcmd_all_ns "\"l3 multipath show\"" "l3.multipath.summary" + save_bcmcmd_all_ns "\"l3 ip6host show\"" "l3.ip6host.summary" + save_bcmcmd_all_ns "\"l3 ip6route show\"" "l3.ip6route.summary" + save_bcmcmd_all_ns "\"mc show\"" "multicast.summary" + save_bcmcmd_all_ns "\"cstat *\"" "cstat.summary" + save_bcmcmd_all_ns "\"mirror show\"" "mirror.summary" + save_bcmcmd_all_ns "\"mirror dest show\"" "mirror.dest.summary" + save_bcmcmd_all_ns "\"port *\"" "port.summary" + save_bcmcmd_all_ns "\"d chg my_station_tcam\"" "mystation.tcam.summary" } ############################################################################### @@ -569,7 +821,7 @@ collect_arista() { ############################################################################### # Save log file # Globals: -# None +# TAR, TARFILE, DUMPDIR, BASE, TARDIR, TECHSUPPORT_TIME_INFO # Arguments: # None # Returns: @@ -579,6 +831,7 @@ save_log_files() { disable_logrotate trap enable_logrotate HUP INT QUIT TERM KILL ABRT ALRM + start_t=$(date +%s%3N) # gzip up all log files individually before placing them in the incremental tarball for file in $(find_files "/var/log/"); do # ignore the sparse file lastlog @@ -586,16 +839,47 @@ save_log_files() { continue fi # don't gzip already-gzipped log files :) + # do not append the individual files to the main tarball if [ -z "${file##*.gz}" ]; then - save_file $file log false + save_file $file log false false else - save_file $file log true + save_file $file log true false fi done + # Append the log folder to the main tarball + ($TAR $V -rhf $TARFILE -C $DUMPDIR ${BASE}/log \ + || abort "${ERROR_TAR_FAILED}" "tar append operation failed. Aborting for safety") \ + && $RM $V -rf $TARDIR/log + end_t=$(date +%s%3N) + echo "[ TAR /var/log Files ] : $(($end_t-$start_t)) msec" >> $TECHSUPPORT_TIME_INFO + enable_logrotate } +############################################################################### +# Save warmboot files +# Globals: +# TARDIR, TARFILE, TAR, DUMPDIR, TECHSUPPORT_TIME_INFO +# Arguments: +# None +# Returns: +# None +############################################################################### +save_warmboot_files() { + # Copy the warmboot files + mkdir -p $TARDIR + $CP $V -rf /host/warmboot $TARDIR + + start_t=$(date +%s%3N) + ($TAR $V --warning=no-file-removed -rhf $TARFILE -C $DUMPDIR --mode=+rw \ + $BASE/warmboot \ + || abort "${ERROR_TAR_FAILED}" "Tar append operation failed. Aborting for safety.") \ + && $RM $V -rf $TARDIR + end_t=$(date +%s%3N) + echo "[ Warm-boot Files ] : $(($end_t-$start_t)) msec" >> $TECHSUPPORT_TIME_INFO +} + ############################################################################### # Save crash files # Globals: @@ -644,6 +928,39 @@ get_asic_count() { echo `eval ${cmd} 2>&1` } +############################################################################### +# Get counter snapshot +# Globals: +# None +# Arguments: +# asic_name: Name of the asic vendor +# index: Index of counter snapshot +# Returns: +# None +############################################################################### +save_counter_snapshot() { + local asic_name="$1" + local idx=$2 + counter_t=$(date +'%d/%m/%Y %H:%M:%S:%6N') + + save_cmd "echo $counter_t" "date.counter_$idx" + save_cmd "show interface counters" "interface.counters_$idx" + save_cmd_all_ns "show queue counters" "queue.counters_$idx" + save_redis "COUNTERS_DB" "COUNTERS_DB_$idx" + + if [ "$asic_name" = "broadcom" ]; then + save_cmd "cat /proc/bcm/knet/dstats" "broadcom.knet_drop.counters_$idx" + save_cmd "cat /proc/bcm/knet/stats" "broadcom.knet_filter.counters_$idx" + if [ -e /usr/local/bin/softnet_stat.sh ]; then + save_cmd "softnet_stat.sh" "softnet_queue.counters_$idx" + fi + if [ -e /proc/bcm/knet/rx_drop ]; then + save_cmd "cat /proc/bcm/knet/rx_drop" "broadcom.knet_queue.counters_$idx" + fi + fi + save_cmd_all_ns "netstat -i" "netstat.counters_$idx" + save_cmd_all_ns "ifconfig -a" "ifconfig.counters_$idx" +} ############################################################################### # Main generate_dump routine @@ -655,6 +972,8 @@ get_asic_count() { # None ############################################################################### main() { + local start_t=0 + local end_t=0 if [ `whoami` != root ] && ! $NOOP; then echo "$0: must be run as root (or in sudo)" >&2 @@ -671,6 +990,10 @@ main() { $TAR $V -chf $TARFILE -C $DUMPDIR $BASE $RM $V -f $TARDIR/sonic_dump + # Start populating timing data + echo $BASE > $TECHSUPPORT_TIME_INFO + start_t=$(date +%s%3N) + # Capture /proc state early save_proc /proc/buddyinfo /proc/cmdline /proc/consoles \ /proc/cpuinfo /proc/devices /proc/diskstats /proc/dma \ @@ -682,6 +1005,18 @@ main() { /proc/uptime /proc/version /proc/vmallocinfo /proc/vmstat \ /proc/zoneinfo \ || abort "${ERROR_PROCFS_SAVE_FAILED}" "Proc saving operation failed. Aborting for safety." + end_t=$(date +%s%3N) + echo "[ Capture Proc State ] : $(($end_t-$start_t)) msec" >> $TECHSUPPORT_TIME_INFO + + # Save all the processes within each docker + save_cmd "show services" services.summary + + # Save reboot cause information + save_cmd "show reboot-cause" reboot.cause + + local asic="$(/usr/local/bin/sonic-cfggen -y /etc/sonic/sonic_version.yml -v asic_type)" + # 1st counter snapshot early. Need 2 snapshots to make sense of counters trend. + save_counter_snapshot $asic 1 save_cmd "systemd-analyze blame" "systemd.analyze.blame" save_cmd "systemd-analyze dump" "systemd.analyze.dump" @@ -689,6 +1024,7 @@ main() { save_platform_info + save_cmd "show vlan brief" "vlan.summary" save_cmd "show version" "version" save_cmd "show platform summary" "platform.summary" save_cmd "cat /host/machine.conf" "machine.conf" @@ -700,16 +1036,32 @@ main() { save_cmd "sysctl -a" "sysctl" save_ip_info + save_bridge_info + + save_frr_info save_bgp_info save_cmd "show interface status -d all" "interface.status" - save_cmd "show interface counters -d all" "interface.counters" save_cmd "show interface transceiver presence" "interface.xcvrs.presence" save_cmd "show interface transceiver eeprom --dom" "interface.xcvrs.eeprom" + save_cmd_all_ns "show ip interface" "ip.interface" save_cmd "lldpctl" "lldpctl" + if [[ ( "$NUM_ASICS" > 1 ) ]]; then + for (( i=0; i<$NUM_ASICS; i++ )) + do + save_cmd "docker exec -it lldp$i lldpcli show statistics" "lldp$i.statistics" + save_cmd "docker logs bgp$i" "docker.bgp$i.log" + save_cmd "docker logs swss$i" "docker.swss$i.log" + done + else + save_cmd "docker exec -it lldp lldpcli show statistics" "lldp.statistics" + save_cmd "docker logs bgp" "docker.bgp.log" + save_cmd "docker logs swss" "docker.swss.log" + fi save_cmd "ps aux" "ps.aux" + save_cmd "top -b -n 1" "top" save_cmd "free" "free" save_cmd "vmstat 1 5" "vmstat" save_cmd "vmstat -m" "vmstat.m" @@ -719,6 +1071,7 @@ main() { save_cmd "dmesg" "dmesg" save_nat_info + save_bfd_info save_redis_info save_cmd "docker ps -a" "docker.ps" @@ -726,7 +1079,6 @@ main() { save_saidump - local asic="$(/usr/local/bin/sonic-cfggen -y /etc/sonic/sonic_version.yml -v asic_type)" if [[ "$asic" = "mellanox" ]]; then collect_mellanox fi @@ -739,12 +1091,22 @@ main() { collect_arista fi + # 2nd counter snapshot late. Need 2 snapshots to make sense of counters trend. + save_counter_snapshot $asic 2 + $RM $V -rf $TARDIR $MKDIR $V -p $TARDIR $MKDIR $V -p $LOGDIR - $LN $V -s /etc $TARDIR/etc + # Copying the /etc files to a directory and then tar it + $CP -r /etc $TARDIR/etc + rm_list=$(find -L $TARDIR/etc -maxdepth 5 -type l) + if [ ! -z "$rm_list" ] + then + rm $rm_list + fi - ($TAR $V -rhf $TARFILE -C $DUMPDIR --mode=+rw \ + start_t=$(date +%s%3N) + ($TAR $V --warning=no-file-removed -rhf $TARFILE -C $DUMPDIR --mode=+rw \ --exclude="etc/alternatives" \ --exclude="*/etc/passwd*" \ --exclude="*/etc/shadow*" \ @@ -758,8 +1120,29 @@ main() { $BASE/etc \ || abort "${ERROR_TAR_FAILED}" "Tar append operation failed. Aborting for safety.") \ && $RM $V -rf $TARDIR + end_t=$(date +%s%3N) + echo "[ TAR /etc Files ] : $(($end_t-$start_t)) msec" >> $TECHSUPPORT_TIME_INFO + if [ "$asic" = "broadcom" ]; then + if [[ ("$NUM_ASICS" > 1) ]]; then + for (( i=0; i<$NUM_ASICS; i++ )) + do + sudo docker exec -i syncd$i touch /var/log/diagrun.log + sudo docker exec -i syncd$i touch /var/log/bcm_diag_post + + sudo docker cp syncd$i:/var/log/diagrun.log /var/log/diagrun.log.$i + sudo docker cp syncd$i:/var/log/bcm_diag_post /var/log/bcm_diag_post.$i + done + else + sudo docker exec -i syncd touch /var/log/diagrun.log + sudo docker exec -i syncd touch /var/log/bcm_diag_post + + sudo docker cp syncd:/var/log/diagrun.log /var/log/diagrun.log + sudo docker cp syncd:/var/log/bcm_diag_post /var/log/bcm_diag_post + fi + fi save_log_files + save_warmboot_files save_crash_files # run 'hw-management-generate-dump.sh' script and save the result file @@ -771,6 +1154,8 @@ main() { else echo "HW Mgmt dump script $HW_DUMP_FILE does not exist" fi + # Save techsupport timing profile info + save_file $TECHSUPPORT_TIME_INFO log false # clean up working tar dir before compressing $RM $V -rf $TARDIR @@ -838,11 +1223,13 @@ OPTIONS Collect logs since DATE; The argument is a mostly free format human readable string such as "24 March", "yesterday", etc. + -t TIMEOUT_MINS + Command level timeout in minutes EOF } -while getopts ":xnvhzsa:" opt; do +while getopts ":xnvhzas:t:" opt; do case $opt in x) # enable bash debugging @@ -881,6 +1268,9 @@ while getopts ":xnvhzsa:" opt; do # validate date expression date --date="${SINCE_DATE}" &> /dev/null || abort "${ERROR_INVALID_ARGUMENT}" "Invalid date expression passed: '${SINCE_DATE}'" ;; + t) + TIMEOUT_MIN="${OPTARG}" + ;; /?) echo "Invalid option: -$OPTARG" >&2 exit 1 diff --git a/show/main.py b/show/main.py index 71df38fa32..bd4ed3837c 100644 --- a/show/main.py +++ b/show/main.py @@ -1127,17 +1127,27 @@ def users(verbose): @cli.command() @click.option('--since', required=False, help="Collect logs and core files since given date") +@click.option('-g', '--global-timeout', default=30, type=int, help="Global timeout in minutes. Default 30 mins") +@click.option('-c', '--cmd-timeout', default=5, type=int, help="Individual command timeout in minutes. Default 5 mins") @click.option('--verbose', is_flag=True, help="Enable verbose output") @click.option('--allow-process-stop', is_flag=True, help="Dump additional data which may require system interruption") -def techsupport(since, verbose, allow_process_stop): +@click.option('--silent', is_flag=True, help="Run techsupport in silent mode") +def techsupport(since, global_timeout, cmd_timeout, verbose, allow_process_stop, silent): """Gather information for troubleshooting""" - cmd = "sudo generate_dump -v" + cmd = "sudo timeout -s SIGTERM --foreground {}m".format(global_timeout) + if allow_process_stop: cmd += " -a" - if since: - cmd += " -s {}".format(since) + if silent: + cmd += " generate_dump" + click.echo("Techsupport is running with silent option. This command might take a long time.") + else: + cmd += " generate_dump -v" + if since: + cmd += " -s '{}'".format(since) + cmd += " -t {}".format(cmd_timeout) run_command(cmd, display_cmd=verbose) From 0a4365aaa0adadcb4c3fa448e05f6d2e217bda5f Mon Sep 17 00:00:00 2001 From: Ying Xie Date: Thu, 7 Jan 2021 19:35:20 -0800 Subject: [PATCH 029/342] [storyteller] adding a grep wrapper with predefined scenarios (#1349) * [storyteller] adding a grep wrapper with predefined scenarios Introduce storyteller tool to grep syslog (or any other logs) for a story line of a certain scenario. Defined scenarios are: - reboot : device reboot related events. - service : service start/stop events. - link : link up/down events. - lag : LAG up/down events. - bgp : BGP config change events. - crash : process/service crash events. Unmatched cateory is used as grepping regex directly. Signed-off-by: Ying Xie --- scripts/storyteller | 85 +++++++++++++++++++++++++++++++++++++++++++++ setup.py | 1 + 2 files changed, 86 insertions(+) create mode 100755 scripts/storyteller diff --git a/scripts/storyteller b/scripts/storyteller new file mode 100755 index 0000000000..01e18174a3 --- /dev/null +++ b/scripts/storyteller @@ -0,0 +1,85 @@ +#!/usr/bin/env python3 + +''' +Story Teller: + Utility to help analyze log for certain sequence of events. + e.g.: reboot (including warm/fast reboot), interface flapping, etc. +''' + +import argparse +import subprocess + +regex_dict = { + 'bgp' : 'bgpcfgd', + 'crash' : 'what\|unexpected exception\|notify_OA_about_syncd_exception\|SIG\|not expected', + 'interface' : 'updatePortOperStatus\|Configure .* to', + 'lag' : 'link becomes\|addLag', + 'reboot' : 'BOOT\|rc.local\|old_config\|minigraph.xml\|Rebooting\|reboot\|executeOperationsOnAsic\|getAsicView\|dumpVidToAsicOperatioId', + 'service' : 'Starting\|Stopping\|Started\|Stopped', + } + + +def exec_cmd(cmd): + out = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, shell=True, text=True) + stdout, stderr = out.communicate() + return out.returncode, stdout, stderr + + +def build_options(after=0, before=0, context=0): + options = [] + if after: + options.append('-A {}'.format(after)) + if before: + options.append('-B {}'.format(before)) + if context: + options.append('-C {}'.format(context)) + + return ' '.join(x for x in options) + + +def find_log(log, regex, after=0, before=0, context=0): + options = build_options(after, before, context) + cmd = 'ls -rt /var/log/{}* | xargs zgrep -a {} "{}"'.format(log, options, regex) + _, out, _ = exec_cmd(cmd) + ''' + Opportunity to improve: + output (out) can be split to lines and send to a filter to + decide if a line should be printed out or not. + e.g. limited to a certain time span. + ''' + print(out) + + +def build_regex(category): + regex = [] + for c in category.split(','): + # if c is not found, add c to grep list directly + regex.append(regex_dict[c] if c in regex_dict else c) + + return '\|'.join(x for x in regex) + + +def main(): + parser = argparse.ArgumentParser(description='Story Teller') + + parser.add_argument('-l', '--log', help='log file prefix, e.g. syslog; default: syslog', + type=str, required=False, default='syslog') + parser.add_argument('-c', '--category', help='Categories: bgp, crash, interface, lag, reboot, service Specify multiple categories as c1,c2,c3; default: reboot', + type=str, required=False, default='reboot') + parser.add_argument('-A', '--after', help='Show N lines after match', + type=int, required=False, default=0) + parser.add_argument('-B', '--before', help='Show N lines before match', + type=int, required=False, default=0) + parser.add_argument('-C', '--context', help='Show N lines before and after match', + type=int, required=False, default=0) + + args = parser.parse_args() + + log = args.log + reg = build_regex(args.category) + + find_log(log, reg, args.after, args.before, args.context) + + +if __name__ == '__main__': + main() diff --git a/setup.py b/setup.py index a6cdaf8f59..adb725727b 100644 --- a/setup.py +++ b/setup.py @@ -106,6 +106,7 @@ 'scripts/route_check.py', 'scripts/route_check_test.sh', 'scripts/sfpshow', + 'scripts/storyteller', 'scripts/syseeprom-to-json', 'scripts/tempershow', 'scripts/update_json.py', From b18ef5a73f17f8e7a80c1cd5547f37cea4eb1615 Mon Sep 17 00:00:00 2001 From: Renuka Manavalan <47282725+renukamanavalan@users.noreply.github.com> Date: Mon, 11 Jan 2021 09:18:10 -0800 Subject: [PATCH 030/342] [route_check.py] - update includes checks on subscriptions (#1344) Summary: Improve the tool to handle the possible latency between APPL-DB & ASIC-DB by looking at subscription messages. - What I did The routes flow from APPL-DB to ASIC-DB, via orchagent. This tool's job is to verify that all routes added to APPL-DB do get into ASIC-DB and all routes removed from APPL-DB are deleted from ASIC-DB. - How I did it NOTE: The flow from APPL-DB to ASIC-DB takes non zero milliseconds. 1) Initiate subscribe for ASIC-DB updates. 2) Read APPL-DB & ASIC-DB 3) Get the diff. 4) If any diff, 4.1) Collect subscribe messages for a second 4.2) check diff against the subscribe messages 5) Rule out local interfaces & default routes 6) If still outstanding diffs, report failure. - How to verify it Run this tool in SONiC switch and watch the result. In case of failure checkout the result to validate the failure. To simulate failure: Stop Orchagent. Run this tool, and likely you would see some failures. You could potentially remove / add routes in APPL / ASIC DBs with orchagent down to ensure failure. Analyze the reported failures to match expected. You may use the exit code to verify the result as success or not. --- scripts/route_check.py | 282 +++++++++++++++++++++---- tests/route_check_test.py | 431 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 669 insertions(+), 44 deletions(-) create mode 100644 tests/route_check_test.py diff --git a/scripts/route_check.py b/scripts/route_check.py index 3bb47a2643..3970964ab0 100755 --- a/scripts/route_check.py +++ b/scripts/route_check.py @@ -1,16 +1,59 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- +""" +What it is: + The routes flow from APPL-DB to ASIC-DB, via orchagent. + This tool's job is to verify that all routes added to APPL-DB do + get into ASIC-DB. + + +How: + NOTE: The flow from APPL-DB to ASIC-DB takes non zero milliseconds. + 1) Initiate subscribe for ASIC-DB updates. + 2) Read APPL-DB & ASIC-DB + 3) Get the diff. + 4) If any diff, + 4.1) Collect subscribe messages for a second + 4.2) check diff against the subscribe messages + 5) Rule out local interfaces & default routes + 6) If still outstanding diffs, report failure. + +To verify: + Run this tool in SONiC switch and watch the result. In case of failure + checkout the result to validate the failure. + To simulate failure: + Stop Orchagent. + Run this tool, and likely you would see some failures. + You could potentially remove / add routes in APPL / ASIC DBs with orchagent + down to ensure failure. + Analyze the reported failures to match expected. + You may use the exit code to verify the result as success or not. + + + +""" + +import argparse +from enum import Enum +import ipaddress +import json import os import re import sys -import argparse -import ipaddress import syslog -import json import time -from enum import Enum -from swsssdk import ConfigDBConnector + +from swsscommon import swsscommon + +APPL_DB_NAME = 'APPL_DB' +ASIC_DB_NAME = 'ASIC_DB' +ASIC_TABLE_NAME = 'ASIC_STATE' +ASIC_KEY_PREFIX = 'SAI_OBJECT_TYPE_ROUTE_ENTRY:' + +SUBSCRIBE_WAIT_SECS = 1 + +UNIT_TESTING = 0 os.environ['PYTHONUNBUFFERED']='True' @@ -33,6 +76,12 @@ def __str__(self): write_to_syslog = False def set_level(lvl, log_to_syslog): + """ + Sets the log level + :param lvl: Log level as ERR/INFO/DEBUG; default: syslog.LOG_ERR + :param log_to_syslog; True - write into syslog. False: skip + :return None + """ global report_level global write_to_syslog @@ -45,6 +94,12 @@ def set_level(lvl, log_to_syslog): def print_message(lvl, *args): + """ + print and log the message for given level. + :param lvl: Log level for this message as ERR/INFO/DEBUG + :param args: message as list of strings or convertible to string + :return None + """ if (lvl <= report_level): msg = "" for arg in args: @@ -55,6 +110,11 @@ def print_message(lvl, *args): def add_prefix(ip): + """ + helper add static prefix based on IP type + :param ip: IP to add prefix as string. + :return ip + "/32 or /128" + """ if ip.find(IPV6_SEPARATOR) == -1: ip = ip + PREFIX_SEPARATOR + "32" else: @@ -63,20 +123,41 @@ def add_prefix(ip): def add_prefix_ifnot(ip): + """ + helper add static prefix if absent + :param ip: IP to add prefix as string. + :return ip with prefix + """ return ip if ip.find(PREFIX_SEPARATOR) != -1 else add_prefix(ip) def is_local(ip): + """ + helper to check if this IP qualify as link local + :param ip: IP to check as string + :return True if link local, else False + """ t = ipaddress.ip_address(ip.split("/")[0]) return t.is_link_local def is_default_route(ip): + """ + helper to check if this IP is default route + :param ip: IP to check as string + :return True if default, else False + """ t = ipaddress.ip_address(ip.split("/")[0]) return t.is_unspecified and ip.split("/")[1] == "0" def cmps(s1, s2): + """ + helper to compare two strings + :param s1: left string + :param s2: right string + :return comparison result as -1/0/1 + """ if (s1 == s2): return 0 if (s1 < s2): @@ -84,7 +165,13 @@ def cmps(s1, s2): return 1 -def do_diff(t1, t2): +def diff_sorted_lists(t1, t2): + """ + helper to compare two sorted lists. + :param t1: list 1 + :param t2: list 2 + :return (, ) + """ t1_x = t2_x = 0 t1_miss = [] t2_miss = [] @@ -112,11 +199,59 @@ def do_diff(t1, t2): return t1_miss, t2_miss +def checkout_rt_entry(k): + """ + helper to filter out correct keys and strip out IP alone. + :param ip: key to check as string + :return (True, ip) or (False, None) + """ + if k.startswith(ASIC_KEY_PREFIX): + e = k.lower().split("\"", -1)[3] + if not is_local(e): + return True, e + return False, None + + +def get_subscribe_updates(selector, subs): + """ + helper to collect subscribe messages for a period + :param selector: Selector object to wait + :param subs: Subscription object to pop messages + :return (add, del) messages as sorted + """ + adds = [] + deletes = [] + t_end = time.time() + SUBSCRIBE_WAIT_SECS + t_wait = SUBSCRIBE_WAIT_SECS + + while t_wait > 0: + selector.select(t_wait) + t_wait = int(t_end - time.time()) + while True: + key, op, val = subs.pop() + if not key: + break + res, e = checkout_rt_entry(key) + if res: + if op == "SET": + adds.append(e) + elif op == "DEL": + deletes.append(e) + + print_message(syslog.LOG_DEBUG, "adds={}".format(adds)) + print_message(syslog.LOG_DEBUG, "dels={}".format(deletes)) + return (sorted(adds), sorted(deletes)) + + def get_routes(): - db = ConfigDBConnector() - db.db_connect('APPL_DB') + """ + helper to read route table from APPL-DB. + :return list of sorted routes with prefix ensured + """ + db = swsscommon.DBConnector(APPL_DB_NAME, 0) print_message(syslog.LOG_DEBUG, "APPL DB connected for routes") - keys = db.get_keys('ROUTE_TABLE') + tbl = swsscommon.Table(db, 'ROUTE_TABLE') + keys = tbl.getKeys() valid_rt = [] for k in keys: @@ -128,28 +263,42 @@ def get_routes(): def get_route_entries(): - db = ConfigDBConnector() - db.db_connect('ASIC_DB') + """ + helper to read present route entries from ASIC-DB and + as well initiate selector for ASIC-DB:ASIC-state updates. + :return (selector, subscriber, ) + """ + db = swsscommon.DBConnector(ASIC_DB_NAME, 0) + subs = swsscommon.SubscriberStateTable(db, ASIC_TABLE_NAME) print_message(syslog.LOG_DEBUG, "ASIC DB connected") - keys = db.get_keys('ASIC_STATE:SAI_OBJECT_TYPE_ROUTE_ENTRY', False) rt = [] - for k in keys: - e = k.lower().split("\"", -1)[3] - if not is_local(e): + while True: + k, _, _ = subs.pop() + if not k: + break + res, e = checkout_rt_entry(k) + if res: rt.append(e) + print_message(syslog.LOG_DEBUG, json.dumps({"ASIC_ROUTE_ENTRY": sorted(rt)}, indent=4)) - return sorted(rt) + + selector = swsscommon.Select() + selector.addSelectable(subs) + return (selector, subs, sorted(rt)) def get_interfaces(): - db = ConfigDBConnector() - db.db_connect('APPL_DB') + """ + helper to read interface table from APPL-DB. + :return sorted list of IP addresses with added prefix + """ + db = swsscommon.DBConnector(APPL_DB_NAME, 0) print_message(syslog.LOG_DEBUG, "APPL DB connected for interfaces") + tbl = swsscommon.Table(db, 'INTF_TABLE') + keys = tbl.getKeys() intf = [] - keys = db.get_keys('INTF_TABLE') - for k in keys: lst = re.split(':', k.lower(), maxsplit=1) if len(lst) == 1: @@ -165,17 +314,22 @@ def get_interfaces(): def filter_out_local_interfaces(keys): + """ + helper to filter out local interfaces + :param keys: APPL-DB:ROUTE_TABLE Routes to check. + :return keys filtered out of local + """ rt = [] local_if_re = ['eth0', 'lo', 'docker0', 'Loopback\d+'] - db = ConfigDBConnector() - db.db_connect('APPL_DB') + db = swsscommon.DBConnector(APPL_DB_NAME, 0) + tbl = swsscommon.Table(db, 'ROUTE_TABLE') for k in keys: - e = db.get_entry('ROUTE_TABLE', k) + e = dict(tbl.get(k)[1]) if not e: # Prefix might have been added. So try w/o it. - e = db.get_entry('ROUTE_TABLE', k.split("/")[0]) + e = dict(tbl.get(k.split("/"))[1]) if not e or all([not re.match(x, e['ifname']) for x in local_if_re]): rt.append(k) @@ -183,6 +337,11 @@ def filter_out_local_interfaces(keys): def filter_out_default_routes(lst): + """ + helper to filter out default routes + :param lst: list to filter + :return filtered list. + """ upd = [] for rt in lst: @@ -193,52 +352,82 @@ def filter_out_default_routes(lst): def check_routes(): + """ + The heart of this script which runs the checks. + Read APPL-DB & ASIC-DB, the relevant tables for route checking. + Checkout routes in ASIC-DB to match APPL-DB, discounting local & + default routes. In case of missed / unexpected entries in ASIC, + it might be due to update latency between APPL & ASIC DBs. So collect + ASIC-DB subscribe updates for a second, and checkout if you see SET + command for missing ones & DEL command for unexpectes ones in ASIC. + + If there are still some unjustifiable diffs, between APPL & ASIC DB, + related to routes report failure, else all good. + + :return (0, None) on sucess, else (-1, results) where results holds + the unjustifiable entries. + """ intf_appl_miss = [] rt_appl_miss = [] rt_asic_miss = [] results = {} - err_present = False + + selector, subs, rt_asic = get_route_entries() rt_appl = get_routes() - rt_asic = get_route_entries() intf_appl = get_interfaces() # Diff APPL-DB routes & ASIC-DB routes - rt_appl_miss, rt_asic_miss = do_diff(rt_appl, rt_asic) + rt_appl_miss, rt_asic_miss = diff_sorted_lists(rt_appl, rt_asic) # Check missed ASIC routes against APPL-DB INTF_TABLE - _, rt_asic_miss = do_diff(intf_appl, rt_asic_miss) + _, rt_asic_miss = diff_sorted_lists(intf_appl, rt_asic_miss) rt_asic_miss = filter_out_default_routes(rt_asic_miss) # Check APPL-DB INTF_TABLE with ASIC table route entries - intf_appl_miss, _ = do_diff(intf_appl, rt_asic) + intf_appl_miss, _ = diff_sorted_lists(intf_appl, rt_asic) - if (len(rt_appl_miss) != 0): + if rt_appl_miss: rt_appl_miss = filter_out_local_interfaces(rt_appl_miss) - if (len(rt_appl_miss) != 0): + if rt_appl_miss or rt_asic_miss: + # Look for subscribe updates for a second + adds, deletes = get_subscribe_updates(selector, subs) + + # Drop all those for which SET received + rt_appl_miss, _ = diff_sorted_lists(rt_appl_miss, adds) + + # Drop all those for which DEL received + rt_asic_miss, _ = diff_sorted_lists(rt_asic_miss, deletes) + + if rt_appl_miss: results["missed_ROUTE_TABLE_routes"] = rt_appl_miss - err_present = True - if (len(intf_appl_miss) != 0): + if intf_appl_miss: results["missed_INTF_TABLE_entries"] = intf_appl_miss - err_present = True - if (len(rt_asic_miss) != 0): + if rt_asic_miss: results["Unaccounted_ROUTE_ENTRY_TABLE_entries"] = rt_asic_miss - err_present = True - if err_present: - print_message(syslog.LOG_ERR, "results: {", json.dumps(results, indent=4), "}") + if results: + print_message(syslog.LOG_ERR, "Failure results: {", json.dumps(results, indent=4), "}") print_message(syslog.LOG_ERR, "Failed. Look at reported mismatches above") - return -1 + print_message(syslog.LOG_ERR, "add: {", json.dumps(adds, indent=4), "}") + print_message(syslog.LOG_ERR, "del: {", json.dumps(deletes, indent=4), "}") + return -1, results else: print_message(syslog.LOG_INFO, "All good!") - return 0 + return 0, None -def main(argv): +def main(): + """ + main entry point, which mainly parses the args and call check_routes + In case of single run, it returns on one call or stays in forever loop + with given interval in-between calls to check_route + :return Same return value as returned by check_route. + """ interval = 0 parser=argparse.ArgumentParser(description="Verify routes between APPL-DB & ASIC-DB are in sync") parser.add_argument('-m', "--mode", type=Level, choices=list(Level), default='ERR') @@ -255,15 +444,20 @@ def main(argv): interval = MAX_SCAN_INTERVAL else: interval = args.interval + if UNIT_TESTING: + interval = 1 while True: - ret = check_routes() + ret, res= check_routes() if interval: time.sleep(interval) + if UNIT_TESTING: + return ret, res else: - sys.exit(ret) + return ret, res + if __name__ == "__main__": - main(sys.argv[1:]) + sys.exit(main()[0]) diff --git a/tests/route_check_test.py b/tests/route_check_test.py new file mode 100644 index 0000000000..c7c0d47b88 --- /dev/null +++ b/tests/route_check_test.py @@ -0,0 +1,431 @@ +import copy +import json +import os +import sys +from unittest.mock import MagicMock, patch + +import pytest + +sys.path.append("scripts") +import route_check + +DESCR = "Description" +ARGS = "args" +RET = "return" +APPL_DB = 0 +ASIC_DB = 1 +PRE = "pre-value" +UPD = "update" +RESULT = "res" + +OP_SET = "SET" +OP_DEL = "DEL" + +ROUTE_TABLE = 'ROUTE_TABLE' +INTF_TABLE = 'INTF_TABLE' +RT_ENTRY_TABLE = 'ASIC_STATE' +SEPARATOR = ":" + +RT_ENTRY_KEY_PREFIX = 'SAI_OBJECT_TYPE_ROUTE_ENTRY:{\"dest":\"' +RT_ENTRY_KEY_SUFFIX = '\",\"switch_id\":\"oid:0x21000000000000\",\"vr\":\"oid:0x3000000000023\"}' + +current_test_name = None +current_test_no = None +current_test_data = None + +tables_returned = {} + +selector_returned = None +subscribers_returned = {} + +test_data = { + "0": { + DESCR: "basic good one", + ARGS: "route_check -m INFO -i 1000", + PRE: { + APPL_DB: { + ROUTE_TABLE: { + "0.0.0.0/0" : { "ifname": "portchannel0" }, + "10.10.196.12/31" : { "ifname": "portchannel0" }, + "10.10.196.20/31" : { "ifname": "portchannel0" }, + "10.10.196.30/31" : { "ifname": "lo" } + }, + INTF_TABLE: { + "PortChannel1013:10.10.196.24/31": {}, + "PortChannel1023:2603:10b0:503:df4::5d/126": {}, + "PortChannel1024": {} + } + }, + ASIC_DB: { + RT_ENTRY_TABLE: { + RT_ENTRY_KEY_PREFIX + "10.10.196.12/31" + RT_ENTRY_KEY_SUFFIX: {}, + RT_ENTRY_KEY_PREFIX + "10.10.196.20/31" + RT_ENTRY_KEY_SUFFIX: {}, + RT_ENTRY_KEY_PREFIX + "10.10.196.24/32" + RT_ENTRY_KEY_SUFFIX: {}, + RT_ENTRY_KEY_PREFIX + "2603:10b0:503:df4::5d/128" + RT_ENTRY_KEY_SUFFIX: {}, + RT_ENTRY_KEY_PREFIX + "0.0.0.0/0" + RT_ENTRY_KEY_SUFFIX: {} + } + } + } + }, + "1": { + DESCR: "With updates", + ARGS: "route_check -m DEBUG -i 1", + PRE: { + APPL_DB: { + ROUTE_TABLE: { + "0.0.0.0/0" : { "ifname": "portchannel0" }, + "10.10.196.12/31" : { "ifname": "portchannel0" }, + "10.10.196.20/31" : { "ifname": "portchannel0" }, + "10.10.196.30/31" : { "ifname": "lo" } + }, + INTF_TABLE: { + "PortChannel1013:10.10.196.24/31": {}, + "PortChannel1023:2603:10b0:503:df4::5d/126": {} + } + }, + ASIC_DB: { + RT_ENTRY_TABLE: { + RT_ENTRY_KEY_PREFIX + "10.10.196.20/31" + RT_ENTRY_KEY_SUFFIX: {}, + RT_ENTRY_KEY_PREFIX + "10.10.196.24/32" + RT_ENTRY_KEY_SUFFIX: {}, + RT_ENTRY_KEY_PREFIX + "2603:10b0:503:df4::5d/128" + RT_ENTRY_KEY_SUFFIX: {}, + RT_ENTRY_KEY_PREFIX + "0.0.0.0/0" + RT_ENTRY_KEY_SUFFIX: {}, + RT_ENTRY_KEY_PREFIX + "10.10.10.10/32" + RT_ENTRY_KEY_SUFFIX: {} + } + } + }, + UPD: { + ASIC_DB: { + RT_ENTRY_TABLE: { + OP_SET: { + RT_ENTRY_KEY_PREFIX + "10.10.196.12/31" + RT_ENTRY_KEY_SUFFIX: {}, + }, + OP_DEL: { + RT_ENTRY_KEY_PREFIX + "10.10.10.10/32" + RT_ENTRY_KEY_SUFFIX: {} + } + } + } + } + }, + "2": { + DESCR: "basic failure one", + ARGS: "route_check -i 15", + RET: -1, + PRE: { + APPL_DB: { + ROUTE_TABLE: { + "0.0.0.0/0" : { "ifname": "portchannel0" }, + "10.10.196.12/31" : { "ifname": "portchannel0" }, + "10.10.196.20/31" : { "ifname": "portchannel0" }, + "10.10.196.30/31" : { "ifname": "lo" } + }, + INTF_TABLE: { + "PortChannel1013:90.10.196.24/31": {}, + "PortChannel1023:9603:10b0:503:df4::5d/126": {}, + "PortChannel1024": {} + } + }, + ASIC_DB: { + RT_ENTRY_TABLE: { + RT_ENTRY_KEY_PREFIX + "20.10.196.12/31" + RT_ENTRY_KEY_SUFFIX: {}, + RT_ENTRY_KEY_PREFIX + "20.10.196.20/31" + RT_ENTRY_KEY_SUFFIX: {}, + RT_ENTRY_KEY_PREFIX + "20.10.196.24/32" + RT_ENTRY_KEY_SUFFIX: {}, + RT_ENTRY_KEY_PREFIX + "3603:10b0:503:df4::5d/128" + RT_ENTRY_KEY_SUFFIX: {}, + RT_ENTRY_KEY_PREFIX + "0.0.0.0/0" + RT_ENTRY_KEY_SUFFIX: {} + } + } + }, + RESULT: { + "missed_ROUTE_TABLE_routes": [ + "10.10.196.12/31", + "10.10.196.20/31" + ], + "missed_INTF_TABLE_entries": [ + "90.10.196.24/32", + "9603:10b0:503:df4::5d/128" + ], + "Unaccounted_ROUTE_ENTRY_TABLE_entries": [ + "20.10.196.12/31", + "20.10.196.20/31", + "20.10.196.24/32", + "3603:10b0:503:df4::5d/128" + ] + } + }, + "3": { + DESCR: "basic good one with no args", + ARGS: "route_check", + PRE: { + APPL_DB: { + ROUTE_TABLE: { + "0.0.0.0/0" : { "ifname": "portchannel0" }, + "10.10.196.12/31" : { "ifname": "portchannel0" }, + "10.10.196.20/31" : { "ifname": "portchannel0" }, + "10.10.196.30/31" : { "ifname": "lo" } + }, + INTF_TABLE: { + "PortChannel1013:10.10.196.24/31": {}, + "PortChannel1023:2603:10b0:503:df4::5d/126": {}, + "PortChannel1024": {} + } + }, + ASIC_DB: { + RT_ENTRY_TABLE: { + RT_ENTRY_KEY_PREFIX + "10.10.196.12/31" + RT_ENTRY_KEY_SUFFIX: {}, + RT_ENTRY_KEY_PREFIX + "10.10.196.20/31" + RT_ENTRY_KEY_SUFFIX: {}, + RT_ENTRY_KEY_PREFIX + "10.10.196.24/32" + RT_ENTRY_KEY_SUFFIX: {}, + RT_ENTRY_KEY_PREFIX + "2603:10b0:503:df4::5d/128" + RT_ENTRY_KEY_SUFFIX: {}, + RT_ENTRY_KEY_PREFIX + "0.0.0.0/0" + RT_ENTRY_KEY_SUFFIX: {} + } + } + } + } +} + +def do_start_test(tname, tno, ctdata): + global current_test_name, current_test_no, current_test_data + global tables_returned, selector_returned, subscribers_returned + + current_test_name = tname + current_test_no = tno + current_test_data = ctdata + tables_returned = {} + + selector_returned = None + subscribers_returned = {} + + print("Starting test case {} number={}".format(tname, tno)) + + +def check_subset(d_sub, d_all): + if type(d_sub) != type(d_all): + return -1 + if not type(d_sub) is dict: + ret = 0 if d_sub == d_all else -2 + return ret + + for (k, v) in d_sub.items(): + if not k in d_all: + return -3 + ret = check_subset(v, d_all[k]) + if ret != 0: + return ret + return 0 + + +def recursive_update(d, t): + assert (type(t) is dict) + for k in t.keys(): + if type(t[k]) is not dict: + d.update(t) + return + + if k not in d: + d[k] = {} + recursive_update(d[k], t[k]) + + +class Table: + + def __init__(self, db, tbl): + self.db = db + self.tbl = tbl + self.data = copy.deepcopy(self.get_val(current_test_data[PRE], [db, tbl])) + # print("Table:init: db={} tbl={} data={}".format(db, tbl, json.dumps(self.data, indent=4))) + + + def update(self): + t = copy.deepcopy(self.get_val(current_test_data.get(UPD, {}), + [self.db, self.tbl, OP_SET])) + drop = copy.deepcopy(self.get_val(current_test_data.get(UPD, {}), + [self.db, self.tbl, OP_DEL])) + if t: + recursive_update(self.data, t) + + for k in drop: + self.data.pop(k, None) + return (list(t.keys()), list(drop.keys())) + + + def get_val(self, d, keys): + for k in keys: + d = d[k] if k in d else {} + return d + + + def getKeys(self): + return list(self.data.keys()) + + + def get(self, key): + ret = copy.deepcopy(self.data.get(key, {})) + return (True, ret) + + +db_conns = {"APPL_DB": APPL_DB, "ASIC_DB": ASIC_DB} +def conn_side_effect(arg, _): + return db_conns[arg] + + +def table_side_effect(db, tbl): + if not db in tables_returned: + tables_returned[db] = {} + if not tbl in tables_returned[db]: + tables_returned[db][tbl] = Table(db, tbl) + return tables_returned[db][tbl] + + +class mock_selector: + TIMEOUT = 1 + + def __init__(self): + self.select_state = 0 + self.select_cnt = 0 + self.subs = None + # print("Mock Selector constructed") + + + def addSelectable(self, subs): + self.subs = subs + return 0 + + + def select(self, timeout): + # Toggle between good & timeout + # + state = self.select_state + self.subs.update() + + if self.select_state == 0: + self.select_state = self.TIMEOUT + else: + time.sleep(timeout) + + return (state, None) + + +class mock_db_conn: + def __init__(self, db): + self.db_name = None + for (k, v) in db_conns.items(): + if v == db: + self.db_name = k + assert self.db_name != None + + def getDbName(self): + return self.db_name + + +class mock_subscriber: + def __init__(self, db, tbl): + self.state = PRE + self.db = db + self.tbl = tbl + self.dbconn = mock_db_conn(db) + self.mock_tbl = table_side_effect(self.db, self.tbl) + self.set_keys = list(self.mock_tbl.data.keys()) + self.del_keys = [] + + + def update(self): + if self.state == PRE: + s_keys, d_keys = self.mock_tbl.update() + self.set_keys += s_keys + self.del_keys += d_keys + self.state = UPD + + + def pop(self): + v = None + if self.set_keys: + op = OP_SET + k = self.set_keys.pop(0) + v = self.mock_tbl.get(k)[1] + elif self.del_keys: + op = OP_DEL + k = self.del_keys.pop(0) + else: + k = "" + op = "" + + print("state={} k={} op={} v={}".format(self.state, k, op, str(v))) + return (k, op, v) + + + def getDbConnector(self): + return self.dbconn + + + def getTableName(self): + return self.tbl + + +def subscriber_side_effect(db, tbl): + global subscribers_returned + + key = "db_{}_tbl_{}".format(db, tbl) + if not key in subscribers_returned: + subscribers_returned[key] = mock_subscriber(db, tbl) + return subscribers_returned[key] + + +def select_side_effect(): + global selector_returned + + if not selector_returned: + selector_returned = mock_selector() + return selector_returned + + +def table_side_effect(db, tbl): + if not db in tables_returned: + tables_returned[db] = {} + if not tbl in tables_returned[db]: + tables_returned[db][tbl] = Table(db, tbl) + return tables_returned[db][tbl] + + +def set_mock(mock_table, mock_conn, mock_sel, mock_subs): + mock_conn.side_effect = conn_side_effect + mock_table.side_effect = table_side_effect + mock_sel.side_effect = select_side_effect + mock_subs.side_effect = subscriber_side_effect + + +class TestRouteCheck(object): + def setup(self): + pass + + def init(self): + route_check.UNIT_TESTING = 1 + + + @patch("route_check.swsscommon.DBConnector") + @patch("route_check.swsscommon.Table") + @patch("route_check.swsscommon.Select") + @patch("route_check.swsscommon.SubscriberStateTable") + def test_server(self, mock_subs, mock_sel, mock_table, mock_conn): + self.init() + ret = 0 + + set_mock(mock_table, mock_conn, mock_sel, mock_subs) + for (i, ct_data) in test_data.items(): + do_start_test("route_test", i, ct_data) + + with patch('sys.argv', ct_data[ARGS].split()): + ret, res = route_check.main() + expect_ret = ct_data[RET] if RET in ct_data else 0 + expect_res = ct_data[RESULT] if RESULT in ct_data else None + if res: + print("res={}".format(json.dumps(res, indent=4))) + if expect_res: + print("expect_res={}".format(json.dumps(expect_res, indent=4))) + assert ret == expect_ret + assert res == expect_res + + + + + + + + From dba8fcb54b88d36c63e2e481e370c942fc0781fe Mon Sep 17 00:00:00 2001 From: Akhilesh Samineni <47657796+AkhileshSamineni@users.noreply.github.com> Date: Tue, 12 Jan 2021 20:46:01 +0530 Subject: [PATCH 031/342] Validations checks while adding a member to PortChannel and removing a member from a Portchannel (#1328) * Validations checks while adding a member to PortChannel and removing a member from a Portchannel Added below validation checks when user the configures a port as member a portchannel: 1. Check if the given portchannel name is valid or not 2. Check if the given portchannel name exists in CONFIG_DB 3. Check if the given port is configured with an IP address or not 4. Check if the given port is configured with with VLAN membership or not 5. Check if the given port is already member of a portchannel 6. Check if the given port speed matches the speed of existing members 7. Check if the given port MTU matches the speed of existing members Added below validation checks when user the removes member port from a portchannel: 1. Check if the given portchannel name is valid or not 2. Check if the given portchannel name exists in exists in CONFIG_DB or not 3. Check if the given port is member of the given portchannel or not Signed-off-by: Akhilesh Samineni --- config/main.py | 121 ++++++++++++++++++++++++++++++- tests/mock_tables/config_db.json | 6 ++ tests/portchannel_test.py | 115 +++++++++++++++++++++++++++++ 3 files changed, 241 insertions(+), 1 deletion(-) create mode 100644 tests/portchannel_test.py diff --git a/config/main.py b/config/main.py index 7f82deec8c..f07d7a7b4b 100644 --- a/config/main.py +++ b/config/main.py @@ -60,6 +60,14 @@ CFG_LOOPBACK_ID_MAX_VAL = 999 CFG_LOOPBACK_NO="<0-999>" +CFG_PORTCHANNEL_PREFIX = "PortChannel" +CFG_PORTCHANNEL_PREFIX_LEN = 11 +CFG_PORTCHANNEL_NAME_TOTAL_LEN_MAX = 15 +CFG_PORTCHANNEL_MAX_VAL = 9999 +CFG_PORTCHANNEL_NO="<0-9999>" + +PORT_MTU = "mtu" +PORT_SPEED = "speed" asic_type = None @@ -390,6 +398,45 @@ def is_interface_bind_to_vrf(config_db, interface_name): return True return False +def is_portchannel_name_valid(portchannel_name): + """Port channel name validation + """ + + # Return True if Portchannel name is PortChannelXXXX (XXXX can be 0-9999) + if portchannel_name[:CFG_PORTCHANNEL_PREFIX_LEN] != CFG_PORTCHANNEL_PREFIX : + return False + if (portchannel_name[CFG_PORTCHANNEL_PREFIX_LEN:].isdigit() is False or + int(portchannel_name[CFG_PORTCHANNEL_PREFIX_LEN:]) > CFG_PORTCHANNEL_MAX_VAL) : + return False + if len(portchannel_name) > CFG_PORTCHANNEL_NAME_TOTAL_LEN_MAX: + return False + return True + +def is_portchannel_present_in_db(db, portchannel_name): + """Check if Portchannel is present in Config DB + """ + + # Return True if Portchannel name exists in the CONFIG_DB + portchannel_list = db.get_table(CFG_PORTCHANNEL_PREFIX) + if portchannel_list is None: + return False + if portchannel_name in portchannel_list: + return True + return False + +def is_port_member_of_this_portchannel(db, port_name, portchannel_name): + """Check if a port is member of given portchannel + """ + portchannel_list = db.get_table(CFG_PORTCHANNEL_PREFIX) + if portchannel_list is None: + return False + + for k,v in db.get_table('PORTCHANNEL_MEMBER'): + if (k == portchannel_name) and (v == port_name): + return True + + return False + # Return the namespace where an interface belongs # The port name input could be in default mode or in alias mode. def get_port_namespace(port): @@ -1330,9 +1377,64 @@ def add_portchannel_member(ctx, portchannel_name, port_name): ctx.fail("{} is configured as mirror destination port".format(port_name)) # Check if the member interface given by user is valid in the namespace. - if interface_name_is_valid(db, port_name) is False: + if port_name.startswith("Ethernet") is False or interface_name_is_valid(db, port_name) is False: ctx.fail("Interface name is invalid. Please enter a valid interface name!!") + # Dont proceed if the port channel name is not valid + if is_portchannel_name_valid(portchannel_name) is False: + ctx.fail("{} is invalid!, name should have prefix '{}' and suffix '{}'" + .format(portchannel_name, CFG_PORTCHANNEL_PREFIX, CFG_PORTCHANNEL_NO)) + + # Dont proceed if the port channel does not exist + if is_portchannel_present_in_db(db, portchannel_name) is False: + ctx.fail("{} is not present.".format(portchannel_name)) + + # Dont allow a port to be member of port channel if it is configured with an IP address + for key in db.get_table('INTERFACE').keys(): + if type(key) != tuple: + continue + if key[0] == port_name: + ctx.fail(" {} has ip address {} configured".format(port_name, key[1])) + return + + # Dont allow a port to be member of port channel if it is configured as a VLAN member + for k,v in db.get_table('VLAN_MEMBER'): + if v == port_name: + ctx.fail("%s Interface configured as VLAN_MEMBER under vlan : %s" %(port_name,str(k))) + return + + # Dont allow a port to be member of port channel if it is already member of a port channel + for k,v in db.get_table('PORTCHANNEL_MEMBER'): + if v == port_name: + ctx.fail("{} Interface is already member of {} ".format(v,k)) + + # Dont allow a port to be member of port channel if its speed does not match with existing members + for k,v in db.get_table('PORTCHANNEL_MEMBER'): + if k == portchannel_name: + member_port_entry = db.get_entry('PORT', v) + port_entry = db.get_entry('PORT', port_name) + + if member_port_entry is not None and port_entry is not None: + member_port_speed = member_port_entry.get(PORT_SPEED) + + port_speed = port_entry.get(PORT_SPEED) + if member_port_speed != port_speed: + ctx.fail("Port speed of {} is different than the other members of the portchannel {}" + .format(port_name, portchannel_name)) + + # Dont allow a port to be member of port channel if its MTU does not match with portchannel + portchannel_entry = db.get_entry('PORTCHANNEL', portchannel_name) + if portchannel_entry and portchannel_entry.get(PORT_MTU) is not None : + port_entry = db.get_entry('PORT', port_name) + + if port_entry and port_entry.get(PORT_MTU) is not None: + port_mtu = port_entry.get(PORT_MTU) + + portchannel_mtu = portchannel_entry.get(PORT_MTU) + if portchannel_mtu != port_mtu: + ctx.fail("Port MTU of {} is different than the {} MTU size" + .format(port_name, portchannel_name)) + db.set_entry('PORTCHANNEL_MEMBER', (portchannel_name, port_name), {'NULL': 'NULL'}) @@ -1342,12 +1444,25 @@ def add_portchannel_member(ctx, portchannel_name, port_name): @click.pass_context def del_portchannel_member(ctx, portchannel_name, port_name): """Remove member from portchannel""" + # Dont proceed if the port channel name is not valid + if is_portchannel_name_valid(portchannel_name) is False: + ctx.fail("{} is invalid!, name should have prefix '{}' and suffix '{}'" + .format(portchannel_name, CFG_PORTCHANNEL_PREFIX, CFG_PORTCHANNEL_NO)) + db = ctx.obj['db'] # Check if the member interface given by user is valid in the namespace. if interface_name_is_valid(db, port_name) is False: ctx.fail("Interface name is invalid. Please enter a valid interface name!!") + # Dont proceed if the port channel does not exist + if is_portchannel_present_in_db(db, portchannel_name) is False: + ctx.fail("{} is not present.".format(portchannel_name)) + + # Dont proceed if the the port is not an existing member of the port channel + if not is_port_member_of_this_portchannel(db, port_name, portchannel_name): + ctx.fail("{} is not a member of portchannel {}".format(port_name, portchannel_name)) + db.set_entry('PORTCHANNEL_MEMBER', (portchannel_name, port_name), None) db.set_entry('PORTCHANNEL_MEMBER', portchannel_name + '|' + port_name, None) @@ -2410,6 +2525,10 @@ def mtu(ctx, interface_name, interface_mtu, verbose): if interface_name is None: ctx.fail("'interface_name' is None!") + portchannel_member_table = config_db.get_table('PORTCHANNEL_MEMBER') + if interface_is_in_portchannel(portchannel_member_table, interface_name): + ctx.fail("'interface_name' is in portchannel!") + if ctx.obj['namespace'] is DEFAULT_NAMESPACE: command = "portconfig -p {} -m {}".format(interface_name, interface_mtu) else: diff --git a/tests/mock_tables/config_db.json b/tests/mock_tables/config_db.json index fde2f7dc47..21676feb57 100644 --- a/tests/mock_tables/config_db.json +++ b/tests/mock_tables/config_db.json @@ -546,6 +546,12 @@ "PORTCHANNEL_INTERFACE|PortChannel0004|FC00::7D/126": { "NULL": "NULL" }, + "INTERFACE|Ethernet0": { + "NULL": "NULL" + }, + "INTERFACE|Ethernet0|14.14.0.1/24": { + "NULL": "NULL" + }, "DEBUG_COUNTER|DEBUG_0": { "type": "PORT_INGRESS_DROPS" }, diff --git a/tests/portchannel_test.py b/tests/portchannel_test.py new file mode 100644 index 0000000000..a07e205392 --- /dev/null +++ b/tests/portchannel_test.py @@ -0,0 +1,115 @@ +import os +import traceback + +from click.testing import CliRunner + +import config.main as config +import show.main as show +from utilities_common.db import Db + +class TestPortChannel(object): + @classmethod + def setup_class(cls): + os.environ['UTILITIES_UNIT_TESTING'] = "1" + print("SETUP") + + def test_add_portchannel_member_with_invalid_name(self): + runner = CliRunner() + db = Db() + obj = {'db':db.cfgdb} + + # add a portchannel member with invalid portchannel name + result = runner.invoke(config.config.commands["portchannel"].commands["member"].commands["add"], ["PortChan005", "Ethernet0"], obj=obj) + print(result.exit_code) + print(result.output) + assert result.exit_code != 0 + assert "Error: PortChan005 is invalid!, name should have prefix 'PortChannel' and suffix '<0-9999>'" in result.output + + def test_delete_portchannel_member_with_invalid_name(self): + runner = CliRunner() + db = Db() + obj = {'db':db.cfgdb} + + # delete a portchannel member with invalid portchannel name + result = runner.invoke(config.config.commands["portchannel"].commands["member"].commands["del"], ["PortChan005", "Ethernet0"], obj=obj) + print(result.exit_code) + print(result.output) + assert result.exit_code != 0 + assert "Error: PortChan005 is invalid!, name should have prefix 'PortChannel' and suffix '<0-9999>'" in result.output + + def test_add_non_existing_portchannel_member(self): + runner = CliRunner() + db = Db() + obj = {'db':db.cfgdb} + + # add a portchannel member with portchannel is not yet created + result = runner.invoke(config.config.commands["portchannel"].commands["member"].commands["add"], ["PortChannel0005", "Ethernet0"], obj=obj) + print(result.exit_code) + print(result.output) + assert result.exit_code != 0 + assert "Error: PortChannel0005 is not present." in result.output + + def test_delete_non_existing_portchannel_member(self): + runner = CliRunner() + db = Db() + obj = {'db':db.cfgdb} + + # delete a portchannel member with portchannel is not yet created + result = runner.invoke(config.config.commands["portchannel"].commands["member"].commands["del"], ["PortChannel0005", "Ethernet0"], obj=obj) + print(result.exit_code) + print(result.output) + assert result.exit_code != 0 + assert "Error: PortChannel0005 is not present." in result.output + + def test_add_portchannel_member_which_has_ipaddress(self): + runner = CliRunner() + db = Db() + obj = {'db':db.cfgdb} + + # add a portchannel member with port which has ip-address + result = runner.invoke(config.config.commands["portchannel"].commands["member"].commands["add"], ["PortChannel1001", "Ethernet0"], obj=obj) + print(result.exit_code) + print(result.output) + assert result.exit_code != 0 + assert "Error: Ethernet0 has ip address 14.14.0.1/24 configured" in result.output + + def test_add_portchannel_member_which_is_member_of_vlan(self): + runner = CliRunner() + db = Db() + obj = {'db':db.cfgdb} + + # add a portchannel member with port which is member of Vlan + result = runner.invoke(config.config.commands["portchannel"].commands["member"].commands["add"], ["PortChannel1001", "Ethernet24"], obj=obj) + print(result.exit_code) + print(result.output) + assert result.exit_code != 0 + assert "Error: Ethernet24 Interface configured as VLAN_MEMBER under vlan : Vlan2000" in result.output + + def test_add_portchannel_member_which_is_member_of_another_po(self): + runner = CliRunner() + db = Db() + obj = {'db':db.cfgdb} + + # add a portchannel member with port which is member of another PO + result = runner.invoke(config.config.commands["portchannel"].commands["member"].commands["add"], ["PortChannel1001", "Ethernet116"], obj=obj) + print(result.exit_code) + print(result.output) + assert result.exit_code != 0 + assert "Error: Ethernet116 Interface is already member of PortChannel0002 " in result.output + + def test_delete_portchannel_member_which_is_member_of_another_po(self): + runner = CliRunner() + db = Db() + obj = {'db':db.cfgdb} + + # delete a portchannel member with port which is member of another PO + result = runner.invoke(config.config.commands["portchannel"].commands["member"].commands["del"], ["PortChannel1001", "Ethernet116"], obj=obj) + print(result.exit_code) + print(result.output) + assert result.exit_code != 0 + assert "Error: Ethernet116 is not a member of portchannel PortChannel1001" in result.output + + @classmethod + def teardown_class(cls): + os.environ['UTILITIES_UNIT_TESTING'] = "0" + print("TEARDOWN") From be7cac59f4f928e7da3a9df7376b8ade16478f53 Mon Sep 17 00:00:00 2001 From: mprabhu-nokia <66807480+mprabhu-nokia@users.noreply.github.com> Date: Tue, 12 Jan 2021 12:23:57 -0500 Subject: [PATCH 032/342] [show] Add subcommand to show midplane status for modular chassis (#1267) Add subcommand to show midplane status for modular chassis and related unit tests --- show/chassis_modules.py | 47 +++++++++++++++++++++-- tests/chassis_modules_test.py | 67 +++++++++++++++++++++++++++++++++ tests/mock_tables/state_db.json | 12 ++++++ 3 files changed, 123 insertions(+), 3 deletions(-) diff --git a/show/chassis_modules.py b/show/chassis_modules.py index 5a13a32419..8a9d22ae35 100644 --- a/show/chassis_modules.py +++ b/show/chassis_modules.py @@ -1,7 +1,7 @@ import click from natsort import natsorted from tabulate import tabulate -from swsssdk import SonicV2Connector +from swsscommon.swsscommon import SonicV2Connector import utilities_common.cli as clicommon @@ -12,6 +12,10 @@ CHASSIS_MODULE_INFO_OPERSTATUS_FIELD = 'oper_status' CHASSIS_MODULE_INFO_ADMINSTATUS_FIELD = 'admin_status' +CHASSIS_MIDPLANE_INFO_TABLE = 'CHASSIS_MIDPLANE_TABLE' +CHASSIS_MIDPLANE_INFO_IP_FIELD = 'ip_address' +CHASSIS_MIDPLANE_INFO_ACCESS_FIELD = 'access' + @click.group(cls=clicommon.AliasedGroup) def chassis_modules(): """Show chassis-modules information""" @@ -31,7 +35,7 @@ def status(db, chassis_module_name): key_pattern = '*' if chassis_module_name: - key_pattern = '|'+chassis_module_name + key_pattern = '|' + chassis_module_name keys = state_db.keys(state_db.STATE_DB, CHASSIS_MODULE_INFO_TABLE + key_pattern) if not keys: @@ -41,7 +45,7 @@ def status(db, chassis_module_name): table = [] for key in natsorted(keys): key_list = key.split('|') - if len(key_list) != 2: # error data in DB, log it and ignore + if len(key_list) != 2: # error data in DB, log it and ignore print('Warn: Invalid Key {} in {} table'.format(key, CHASSIS_MODULE_INFO_TABLE)) continue @@ -61,3 +65,40 @@ def status(db, chassis_module_name): click.echo(tabulate(table, header, tablefmt='simple', stralign='right')) else: click.echo('No data available in CHASSIS_MODULE_TABLE\n') + +@chassis_modules.command() +@click.argument('chassis_module_name', metavar='', required=False) +def midplane_status(chassis_module_name): + """Show chassis-modules midplane-status""" + + header = ['Name', 'IP-Address', 'Reachability'] + + state_db = SonicV2Connector(host="127.0.0.1") + state_db.connect(state_db.STATE_DB) + + key_pattern = '*' + if chassis_module_name: + key_pattern = '|' + chassis_module_name + + keys = state_db.keys(state_db.STATE_DB, CHASSIS_MIDPLANE_INFO_TABLE + key_pattern) + if not keys: + print('Key {} not found in {} table'.format(key_pattern, CHASSIS_MIDPLANE_INFO_TABLE)) + return + + table = [] + for key in natsorted(keys): + key_list = key.split('|') + if len(key_list) != 2: # error data in DB, log it and ignore + print('Warn: Invalid Key {} in {} table'.format(key, CHASSIS_MIDPLANE_INFO_TABLE)) + continue + + data_dict = state_db.get_all(state_db.STATE_DB, key) + ip = data_dict[CHASSIS_MIDPLANE_INFO_IP_FIELD] + access = data_dict[CHASSIS_MIDPLANE_INFO_ACCESS_FIELD] + + table.append((key_list[1], ip, access)) + + if table: + click.echo(tabulate(table, header, tablefmt='simple', stralign='right')) + else: + click.echo('No data available in CHASSIS_MIDPLANE_TABLE\n') diff --git a/tests/chassis_modules_test.py b/tests/chassis_modules_test.py index 754845eba2..fb63488ecd 100644 --- a/tests/chassis_modules_test.py +++ b/tests/chassis_modules_test.py @@ -21,12 +21,36 @@ header_lines = 2 warning_lines = 0 +show_chassis_modules_output="""\ + Name Description Physical-Slot Oper-Status Admin-Status +------------ --------------- --------------- ------------- -------------- +FABRIC-CARD0 fabric-card 17 Online up +FABRIC-CARD1 fabric-card 18 Offline up + LINE-CARD0 line-card 1 Empty up + LINE-CARD1 line-card 2 Online down + SUPERVISOR0 supervisor-card 16 Online up +""" + +show_chassis_midplane_output="""\ + Name IP-Address Reachability +----------- ------------- -------------- + LINE-CARD0 192.168.1.1 True + LINE-CARD1 192.168.1.2 False +SUPERVISOR0 192.168.1.100 True +""" + class TestChassisModules(object): @classmethod def setup_class(cls): print("SETUP") os.environ["UTILITIES_UNIT_TESTING"] = "1" + def test_show_and_verify_output(self): + runner = CliRunner() + result = runner.invoke(show.cli.commands["chassis-modules"].commands["status"], []) + print(result.output) + assert(result.output == show_chassis_modules_output) + def test_show_all_count_lines(self): runner = CliRunner() result = runner.invoke(show.cli.commands["chassis-modules"].commands["status"], []) @@ -112,6 +136,49 @@ def test_config_incorrect_module(self): print(result.output) assert result.exit_code != 0 + def test_show_and_verify_midplane_output(self): + runner = CliRunner() + result = runner.invoke(show.cli.commands["chassis-modules"].commands["midplane-status"], []) + print(result.output) + assert(result.output == show_chassis_midplane_output) + + def test_midplane_show_all_count_lines(self): + runner = CliRunner() + result = runner.invoke(show.cli.commands["chassis-modules"].commands["midplane-status"], []) + print(result.output) + result_lines = result.output.strip('\n').split('\n') + modules = ["LINE-CARD0", "LINE-CARD1", "SUPERVISOR0"] + for i, module in enumerate(modules): + assert module in result_lines[i + warning_lines + header_lines] + assert len(result_lines) == warning_lines + header_lines + len(modules) + + def test_midplane_show_single_count_lines(self): + runner = CliRunner() + result = runner.invoke(show.cli.commands["chassis-modules"].commands["midplane-status"], ["LINE-CARD0"]) + print(result.output) + result_lines = result.output.strip('\n').split('\n') + modules = ["LINE-CARD0"] + for i, module in enumerate(modules): + assert module in result_lines[i+header_lines] + assert len(result_lines) == header_lines + len(modules) + + def test_midplane_show_module_down(self): + runner = CliRunner() + result = runner.invoke(show.cli.commands["chassis-modules"].commands["midplane-status"], ["LINE-CARD1"]) + print(result.output) + result_lines = result.output.strip('\n').split('\n') + assert result.exit_code == 0 + result_out = (result_lines[header_lines]).split() + print(result_out) + assert result_out[2] == 'False' + + def test_midplane_show_incorrect_module(self): + runner = CliRunner() + result = runner.invoke(show.cli.commands["chassis-modules"].commands["midplane-status"], ["TEST-CARD1"]) + print(result.output) + print(result.exit_code) + assert result.exit_code == 0 + @classmethod def teardown_class(cls): print("TEARDOWN") diff --git a/tests/mock_tables/state_db.json b/tests/mock_tables/state_db.json index 7f563d8842..c7d56da133 100644 --- a/tests/mock_tables/state_db.json +++ b/tests/mock_tables/state_db.json @@ -377,5 +377,17 @@ "xon": "18432", "xoff": "32768", "size": "51200" + }, + "CHASSIS_MIDPLANE_TABLE|SUPERVISOR0": { + "ip_address": "192.168.1.100", + "access": "True" + }, + "CHASSIS_MIDPLANE_TABLE|LINE-CARD0": { + "ip_address": "192.168.1.1", + "access": "True" + }, + "CHASSIS_MIDPLANE_TABLE|LINE-CARD1": { + "ip_address": "192.168.1.2", + "access": "False" } } From aa4b2d59ff2f99648aaca175363f52b40105c40c Mon Sep 17 00:00:00 2001 From: Mahesh Maddikayala <10645050+smaheshm@users.noreply.github.com> Date: Thu, 14 Jan 2021 15:48:22 -0800 Subject: [PATCH 033/342] [pytest][qos][config] Added pytests for "config qos reload" commands" (#1346) Added pytest to verify QoS config generation on multi ASIC platform. --- config/main.py | 45 ++- pfcwd/main.py | 2 + scripts/intfutil | 4 +- tests/config_test.py | 105 ++++++- tests/conftest.py | 35 ++- tests/crm_test.py | 5 +- tests/mock_tables/mock_multi_asic.py | 2 + tests/qos_config_input/0/buffers.json.j2 | 3 + tests/qos_config_input/0/buffers_config.j2 | 172 ++++++++++++ .../qos_config_input/0/buffers_defaults_t0.j2 | 45 +++ .../qos_config_input/0/buffers_defaults_t1.j2 | 45 +++ tests/qos_config_input/0/config_qos.json | 137 ++++++++++ tests/qos_config_input/0/qos.json.j2 | 1 + tests/qos_config_input/0/qos_config.j2 | 257 ++++++++++++++++++ tests/qos_config_input/1/buffers.json.j2 | 3 + tests/qos_config_input/1/buffers_config.j2 | 172 ++++++++++++ .../qos_config_input/1/buffers_defaults_t0.j2 | 45 +++ .../qos_config_input/1/buffers_defaults_t1.j2 | 45 +++ tests/qos_config_input/1/config_qos.json | 137 ++++++++++ tests/qos_config_input/1/qos.json.j2 | 1 + tests/qos_config_input/1/qos_config.j2 | 257 ++++++++++++++++++ tests/qos_config_input/buffers.json.j2 | 3 + tests/qos_config_input/buffers_config.j2 | 172 ++++++++++++ tests/qos_config_input/buffers_defaults_t1.j2 | 45 +++ tests/qos_config_input/config_qos.json | 137 ++++++++++ tests/qos_config_input/qos.json.j2 | 1 + tests/qos_config_input/qos_config.j2 | 257 ++++++++++++++++++ tests/qos_config_input/sonic_version.yml | 8 + 28 files changed, 2124 insertions(+), 17 deletions(-) create mode 100644 tests/qos_config_input/0/buffers.json.j2 create mode 100644 tests/qos_config_input/0/buffers_config.j2 create mode 100644 tests/qos_config_input/0/buffers_defaults_t0.j2 create mode 100644 tests/qos_config_input/0/buffers_defaults_t1.j2 create mode 100644 tests/qos_config_input/0/config_qos.json create mode 100644 tests/qos_config_input/0/qos.json.j2 create mode 100644 tests/qos_config_input/0/qos_config.j2 create mode 100644 tests/qos_config_input/1/buffers.json.j2 create mode 100644 tests/qos_config_input/1/buffers_config.j2 create mode 100644 tests/qos_config_input/1/buffers_defaults_t0.j2 create mode 100644 tests/qos_config_input/1/buffers_defaults_t1.j2 create mode 100644 tests/qos_config_input/1/config_qos.json create mode 100644 tests/qos_config_input/1/qos.json.j2 create mode 100644 tests/qos_config_input/1/qos_config.j2 create mode 100644 tests/qos_config_input/buffers.json.j2 create mode 100644 tests/qos_config_input/buffers_config.j2 create mode 100644 tests/qos_config_input/buffers_defaults_t1.j2 create mode 100644 tests/qos_config_input/config_qos.json create mode 100644 tests/qos_config_input/qos.json.j2 create mode 100644 tests/qos_config_input/qos_config.j2 create mode 100644 tests/qos_config_input/sonic_version.yml diff --git a/config/main.py b/config/main.py index f07d7a7b4b..a4d3e2b107 100644 --- a/config/main.py +++ b/config/main.py @@ -37,6 +37,21 @@ from . import vxlan from .config_mgmt import ConfigMgmtDPB +# mock masic APIs for unit test +try: + if os.environ["UTILITIES_UNIT_TESTING"] == "1" or os.environ["UTILITIES_UNIT_TESTING"] == "2": + modules_path = os.path.join(os.path.dirname(__file__), "..") + tests_path = os.path.join(modules_path, "tests") + sys.path.insert(0, modules_path) + sys.path.insert(0, tests_path) + import mock_tables.dbconnector + if os.environ["UTILITIES_UNIT_TESTING_TOPOLOGY"] == "multi_asic": + import mock_tables.mock_multi_asic + mock_tables.dbconnector.load_namespace_config() +except KeyError: + pass + + CONTEXT_SETTINGS = dict(help_option_names=['-h', '--help', '-?']) SONIC_GENERATED_SERVICE_PATH = '/etc/sonic/generated_services.conf' @@ -1756,12 +1771,24 @@ def _update_buffer_calculation_model(config_db, model): @qos.command('reload') @click.pass_context @click.option('--no-dynamic-buffer', is_flag=True, help="Disable dynamic buffer calculation") -def reload(ctx, no_dynamic_buffer): +@click.option( + '--json-data', type=click.STRING, + help="json string with additional data, valid with --dry-run option" +) +@click.option( + '--dry_run', type=click.STRING, + help="Dry run, writes config to the given file" +) +def reload(ctx, no_dynamic_buffer, dry_run, json_data): """Reload QoS configuration""" log.log_info("'qos reload' executing...") _clear_qos() _, hwsku_path = device_info.get_paths_to_platform_and_hwsku_dirs() + sonic_version_file = device_info.get_sonic_version_file() + from_db = "-d --write-to-db" + if dry_run: + from_db = "--additional-data \'{}\'".format(json_data) if json_data else "" namespace_list = [DEFAULT_NAMESPACE] if multi_asic.get_num_asics() > 1: @@ -1798,17 +1825,17 @@ def reload(ctx, no_dynamic_buffer): buffer_template_file = os.path.join(hwsku_path, asic_id_suffix, "buffers.json.j2") if asic_type in vendors_supporting_dynamic_buffer: buffer_model_updated |= _update_buffer_calculation_model(config_db, "traditional") + if os.path.isfile(buffer_template_file): - qos_template_file = os.path.join(hwsku_path, asic_id_suffix, "qos.json.j2") + qos_template_file = os.path.join( + hwsku_path, asic_id_suffix, "qos.json.j2" + ) if os.path.isfile(qos_template_file): cmd_ns = "" if ns is DEFAULT_NAMESPACE else "-n {}".format(ns) - sonic_version_file = os.path.join('/', "etc", "sonic", "sonic_version.yml") - command = "{} {} -d -t {},config-db -t {},config-db -y {} --write-to-db".format( - SONIC_CFGGEN_PATH, - cmd_ns, - buffer_template_file, - qos_template_file, - sonic_version_file + fname = "{}{}".format(dry_run, asic_id_suffix) if dry_run else "config-db" + command = "{} {} {} -t {},{} -t {},{} -y {}".format( + SONIC_CFGGEN_PATH, cmd_ns, from_db, buffer_template_file, + fname, qos_template_file, fname, sonic_version_file ) # Apply the configurations only when both buffer and qos # configuration files are present diff --git a/pfcwd/main.py b/pfcwd/main.py index c55038b9b2..bc5211191b 100644 --- a/pfcwd/main.py +++ b/pfcwd/main.py @@ -1,4 +1,5 @@ import os +import imp import sys import click @@ -21,6 +22,7 @@ import mock_tables.dbconnector if os.environ["UTILITIES_UNIT_TESTING_TOPOLOGY"] == "multi_asic": import mock_tables.mock_multi_asic + imp.reload(mock_tables.mock_multi_asic) mock_tables.dbconnector.load_namespace_config() except KeyError: diff --git a/scripts/intfutil b/scripts/intfutil index 2f4baa71ab..b943b7c543 100755 --- a/scripts/intfutil +++ b/scripts/intfutil @@ -22,7 +22,7 @@ try: if os.environ["UTILITIES_UNIT_TESTING_TOPOLOGY"] == "multi_asic": import mock_tables.mock_multi_asic mock_tables.dbconnector.load_namespace_config() - + except KeyError: pass @@ -461,7 +461,7 @@ class IntfDescription(object): self.intf_name = intf_name def display_intf_description(self): - + self.get_intf_description() # Sorting and tabulating the result table. diff --git a/tests/config_test.py b/tests/config_test.py index 1ca37fb7a9..30a1f10ec8 100644 --- a/tests/config_test.py +++ b/tests/config_test.py @@ -1,10 +1,14 @@ +import filecmp +import imp import os import traceback +import json from unittest import mock import click from click.testing import CliRunner +from sonic_py_common import device_info from utilities_common.db import Db load_minigraph_command_output="""\ @@ -61,8 +65,10 @@ class TestLoadMinigraph(object): def setup_class(cls): os.environ['UTILITIES_UNIT_TESTING'] = "1" print("SETUP") + import config.main + imp.reload(config.main) - def test_load_minigraph(self, get_cmd_module, setup_single_broacom_asic): + def test_load_minigraph(self, get_cmd_module, setup_single_broadcom_asic): with mock.patch("utilities_common.cli.run_command", mock.MagicMock(side_effect=mock_run_command_side_effect)) as mock_run_command: (config, show) = get_cmd_module runner = CliRunner() @@ -74,7 +80,7 @@ def test_load_minigraph(self, get_cmd_module, setup_single_broacom_asic): assert "\n".join([l.rstrip() for l in result.output.split('\n')]) == load_minigraph_command_output assert mock_run_command.call_count == 38 - def test_load_minigraph_with_disabled_telemetry(self, get_cmd_module, setup_single_broacom_asic): + def test_load_minigraph_with_disabled_telemetry(self, get_cmd_module, setup_single_broadcom_asic): with mock.patch("utilities_common.cli.run_command", mock.MagicMock(side_effect=mock_run_command_side_effect)) as mock_run_command: (config, show) = get_cmd_module db = Db() @@ -95,3 +101,98 @@ def test_load_minigraph_with_disabled_telemetry(self, get_cmd_module, setup_sing def teardown_class(cls): os.environ['UTILITIES_UNIT_TESTING'] = "0" print("TEARDOWN") + + +class TestConfigQos(object): + @classmethod + def setup_class(cls): + print("SETUP") + os.environ['UTILITIES_UNIT_TESTING'] = "2" + import config.main + imp.reload(config.main) + + def test_qos_reload_single( + self, get_cmd_module, setup_qos_mock_apis, + setup_single_broadcom_asic + ): + (config, show) = get_cmd_module + runner = CliRunner() + output_file = os.path.join(os.sep, "tmp", "qos_config_output.json") + print("Saving output in {}".format(output_file)) + try: + os.remove(output_file) + except OSError: + pass + json_data = '{"DEVICE_METADATA": {"localhost": {}}}' + result = runner.invoke( + config.config.commands["qos"], + ["reload", "--dry_run", output_file, "--json-data", json_data] + ) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + + cwd = os.path.dirname(os.path.realpath(__file__)) + expected_result = os.path.join( + cwd, "qos_config_input", "config_qos.json" + ) + assert filecmp.cmp(output_file, expected_result, shallow=False) + + @classmethod + def teardown_class(cls): + print("TEARDOWN") + os.environ['UTILITIES_UNIT_TESTING'] = "0" + + +class TestConfigQosMasic(object): + @classmethod + def setup_class(cls): + print("SETUP") + os.environ['UTILITIES_UNIT_TESTING'] = "2" + os.environ["UTILITIES_UNIT_TESTING_TOPOLOGY"] = "multi_asic" + import config.main + imp.reload(config.main) + + def test_qos_reload_masic( + self, get_cmd_module, setup_qos_mock_apis, + setup_multi_broadcom_masic + ): + (config, show) = get_cmd_module + runner = CliRunner() + output_file = os.path.join(os.sep, "tmp", "qos_config_output.json") + print("Saving output in {}<0,1,2..>".format(output_file)) + num_asic = device_info.get_num_npus() + for asic in range(num_asic): + try: + file = "{}{}".format(output_file, asic) + os.remove(file) + except OSError: + pass + json_data = '{"DEVICE_METADATA": {"localhost": {}}}' + result = runner.invoke( + config.config.commands["qos"], + ["reload", "--dry_run", output_file, "--json-data", json_data] + ) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + + cwd = os.path.dirname(os.path.realpath(__file__)) + + for asic in range(num_asic): + expected_result = os.path.join( + cwd, "qos_config_input", str(asic), "config_qos.json" + ) + file = "{}{}".format(output_file, asic) + assert filecmp.cmp(file, expected_result, shallow=False) + + @classmethod + def teardown_class(cls): + print("TEARDOWN") + os.environ['UTILITIES_UNIT_TESTING'] = "0" + os.environ["UTILITIES_UNIT_TESTING_TOPOLOGY"] = "" + # change back to single asic config + from .mock_tables import dbconnector + from .mock_tables import mock_single_asic + imp.reload(mock_single_asic) + dbconnector.load_namespace_config() diff --git a/tests/conftest.py b/tests/conftest.py index c4ec7bb61d..309e65f055 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -56,18 +56,47 @@ def get_cmd_module(): return (config, show) +def set_mock_apis(): + import config.main as config + cwd = os.path.dirname(os.path.realpath(__file__)) + config.asic_type = mock.MagicMock(return_value="broadcom") + config._get_device_type = mock.MagicMock(return_value="ToRRouter") + +@pytest.fixture +def setup_qos_mock_apis(): + cwd = os.path.dirname(os.path.realpath(__file__)) + device_info.get_paths_to_platform_and_hwsku_dirs = mock.MagicMock( + return_value=( + os.path.join(cwd, "."), os.path.join(cwd, "qos_config_input") + ) + ) + device_info.get_sonic_version_file = mock.MagicMock( + return_value=os.path.join(cwd, "qos_config_input/sonic_version.yml") + ) @pytest.fixture -def setup_single_broacom_asic(): +def setup_single_broadcom_asic(): import config.main as config import show.main as show + set_mock_apis() device_info.get_num_npus = mock.MagicMock(return_value=1) config._get_sonic_generated_services = \ mock.MagicMock(return_value=(generated_services_list, [])) - config.asic_type = mock.MagicMock(return_value="broadcom") - config._get_device_type = mock.MagicMock(return_value="ToRRouter") + +@pytest.fixture +def setup_multi_broadcom_masic(): + import config.main as config + import show.main as show + + set_mock_apis() + device_info.get_num_npus = mock.MagicMock(return_value=2) + + yield + + device_info.get_num_npus = mock.MagicMock(return_value=1) + @pytest.fixture def setup_t1_topo(): diff --git a/tests/crm_test.py b/tests/crm_test.py index f4fdcece10..0c42bf17fc 100644 --- a/tests/crm_test.py +++ b/tests/crm_test.py @@ -1,3 +1,4 @@ +import imp import os import sys from importlib import reload @@ -1574,5 +1575,7 @@ def teardown_class(cls): print("TEARDOWN") os.environ["UTILITIES_UNIT_TESTING"] = "0" os.environ["UTILITIES_UNIT_TESTING_TOPOLOGY"] = "" + from .mock_tables import dbconnector from .mock_tables import mock_single_asic - reload(mock_single_asic) + imp.reload(mock_single_asic) + dbconnector.load_namespace_config() diff --git a/tests/mock_tables/mock_multi_asic.py b/tests/mock_tables/mock_multi_asic.py index ad694003f7..3e875af36a 100644 --- a/tests/mock_tables/mock_multi_asic.py +++ b/tests/mock_tables/mock_multi_asic.py @@ -14,6 +14,8 @@ def mock_is_multi_asic(): def mock_get_namespace_list(namespace=None): return ['asic0', 'asic1'] + multi_asic.get_num_asics = mock_get_num_asics multi_asic.is_multi_asic = mock_is_multi_asic multi_asic.get_namespace_list = mock_get_namespace_list +multi_asic.get_namespaces_from_linux = mock_get_namespace_list diff --git a/tests/qos_config_input/0/buffers.json.j2 b/tests/qos_config_input/0/buffers.json.j2 new file mode 100644 index 0000000000..b67cf577ab --- /dev/null +++ b/tests/qos_config_input/0/buffers.json.j2 @@ -0,0 +1,3 @@ +{%- set default_topo = 't1' %} +{%- include 'buffers_config.j2' %} + diff --git a/tests/qos_config_input/0/buffers_config.j2 b/tests/qos_config_input/0/buffers_config.j2 new file mode 100644 index 0000000000..f5dbb9784f --- /dev/null +++ b/tests/qos_config_input/0/buffers_config.j2 @@ -0,0 +1,172 @@ +{%- macro set_default_topology() %} +{%- if default_topo is defined %} +{{ default_topo }} +{%- else %} +def +{%- endif %} +{%- endmacro -%} + +{# Determine device topology and filename postfix #} +{%- if DEVICE_METADATA is defined and DEVICE_METADATA['localhost']['type'] is defined %} +{%- set switch_role = DEVICE_METADATA['localhost']['type'] %} +{%- if 'torrouter' in switch_role.lower() and 'mgmt' not in switch_role.lower()%} +{%- set filename_postfix = 't0' %} +{%- elif 'leafrouter' in switch_role.lower() and 'mgmt' not in switch_role.lower()%} +{%- set filename_postfix = 't1' %} +{%- else %} +{%- set filename_postfix = set_default_topology() %} +{%- endif %} +{%- else %} +{%- set filename_postfix = set_default_topology() %} +{%- set switch_role = '' %} +{%- endif -%} + +{# Import default values from device HWSKU folder #} +{%- import 'buffers_defaults_%s.j2' % filename_postfix as defs %} + +{%- set default_cable = defs.default_cable -%} + +{# Port configuration to cable length look-up table #} +{# Each record describes mapping of DUT (DUT port) role and neighbor role to cable length #} +{# Roles described in the minigraph #} +{%- if defs.ports2cable is defined %} + {%- set ports2cable = defs.ports2cable %} +{%- else %} + {%- set ports2cable = { + 'torrouter_server' : '5m', + 'leafrouter_torrouter' : '40m', + 'spinerouter_leafrouter' : '300m' + } + -%} +{%- endif %} + +{%- macro cable_length(port_name) %} + {%- set cable_len = [] %} + {%- for local_port in DEVICE_NEIGHBOR %} + {%- if local_port == port_name %} + {%- if DEVICE_NEIGHBOR_METADATA is defined and DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %} + {%- set neighbor = DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %} + {%- set neighbor_role = neighbor.type %} + {%- if 'asic' == neighbor_role | lower %} + {%- set roles1 = 'internal' %} + {%- if 'internal' not in ports2cable %} + {%- set _ = ports2cable.update({'internal': '5m'}) %} + {%- endif -%} + {%- else %} + {%- set roles1 = switch_role + '_' + neighbor_role %} + {%- set roles2 = neighbor_role + '_' + switch_role %} + {%- set roles1 = roles1 | lower %} + {%- set roles2 = roles2 | lower %} + {%- endif %} + {%- if roles1 in ports2cable %} + {%- if cable_len.append(ports2cable[roles1]) %}{% endif %} + {%- elif roles2 in ports2cable %} + {%- if cable_len.append(ports2cable[roles2]) %}{% endif %} + {%- endif %} + {%- endif %} + {%- endif %} + {%- endfor %} + {%- if cable_len -%} + {{ cable_len.0 }} + {%- else %} + {%- if 'torrouter' in switch_role.lower() and 'mgmt' not in switch_role.lower()%} + {%- for local_port in VLAN_MEMBER %} + {%- if local_port[1] == port_name %} + {%- set roles3 = switch_role + '_' + 'server' %} + {%- set roles3 = roles3 | lower %} + {%- if roles3 in ports2cable %} + {%- if cable_len.append(ports2cable[roles3]) %}{% endif %} + {%- endif %} + {%- endif %} + {%- endfor %} + {%- if cable_len -%} + {{ cable_len.0 }} + {%- else -%} + {{ default_cable }} + {%- endif %} + {%- else -%} + {{ default_cable }} + {%- endif %} + {%- endif %} +{%- endmacro %} + +{%- set PORT_ALL = [] %} + +{%- if PORT is not defined %} + {%- if defs.generate_port_lists(PORT_ALL) %} {% endif %} +{%- else %} + {%- for port in PORT %} + {%- if PORT_ALL.append(port) %}{%- endif %} + {%- endfor %} +{%- endif %} + +{%- set PORT_ACTIVE = [] %} +{%- if DEVICE_NEIGHBOR is not defined %} + {%- set PORT_ACTIVE = PORT_ALL %} +{%- else %} + {%- for port in DEVICE_NEIGHBOR.keys() %} + {%- if PORT_ACTIVE.append(port) %}{%- endif %} + {%- endfor %} +{%- endif %} + +{%- set port_names_list_active = [] %} +{%- for port in PORT_ACTIVE %} + {%- if port_names_list_active.append(port) %}{%- endif %} +{%- endfor %} +{%- set port_names_active = port_names_list_active | join(',') %} + +{ + "CABLE_LENGTH": { + "AZURE": { + {% for port in PORT_ALL %} + {%- set cable = cable_length(port) %} + "{{ port }}": "{{ cable }}"{%- if not loop.last %},{% endif %} + + {% endfor %} + } + }, + +{% if defs.generate_buffer_pool_and_profiles is defined %} +{{ defs.generate_buffer_pool_and_profiles() }} +{% endif %} + +{%- if defs.generate_profile_lists is defined %} +{{ defs.generate_profile_lists(port_names_active) }}, +{% endif %} + +{%- if defs.generate_pg_profils is defined %} +{{ defs.generate_pg_profils(port_names_active) }} +{% else %} + "BUFFER_PG": { +{% for port in PORT_ACTIVE %} + "{{ port }}|0": { + "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]" + }{% if not loop.last %},{% endif %} + +{% endfor %} + }, +{% endif %} + +{% if defs.generate_queue_buffers is defined %} +{{ defs.generate_queue_buffers(port_names_active) }} +{% else %} + "BUFFER_QUEUE": { +{% for port in PORT_ACTIVE %} + "{{ port }}|3-4": { + "profile" : "[BUFFER_PROFILE|egress_lossless_profile]" + }, +{% endfor %} +{% for port in PORT_ACTIVE %} + "{{ port }}|0-2": { + "profile" : "[BUFFER_PROFILE|egress_lossy_profile]" + }, +{% endfor %} +{% for port in PORT_ACTIVE %} + "{{ port }}|5-6": { + "profile" : "[BUFFER_PROFILE|egress_lossy_profile]" + }{% if not loop.last %},{% endif %} + +{% endfor %} + } +{% endif %} +} diff --git a/tests/qos_config_input/0/buffers_defaults_t0.j2 b/tests/qos_config_input/0/buffers_defaults_t0.j2 new file mode 100644 index 0000000000..38e34eb571 --- /dev/null +++ b/tests/qos_config_input/0/buffers_defaults_t0.j2 @@ -0,0 +1,45 @@ +{%- set default_cable = '300m' %} + +{%- macro generate_port_lists(PORT_ALL) %} + {# Generate list of ports #} + {% for port_idx in range(0,32) %} + {% if PORT_ALL.append("Ethernet%d" % (port_idx * 4)) %}{% endif %} + {% endfor %} +{%- endmacro %} + +{%- macro generate_buffer_pool_and_profiles() %} + "BUFFER_POOL": { + "ingress_lossless_pool": { + "size": "12766208", + "type": "ingress", + "mode": "dynamic" + }, + "egress_lossless_pool": { + "size": "12766208", + "type": "egress", + "mode": "static" + }, + "egress_lossy_pool": { + "size": "7326924", + "type": "egress", + "mode": "dynamic" + } + }, + "BUFFER_PROFILE": { + "ingress_lossy_profile": { + "pool":"[BUFFER_POOL|ingress_lossless_pool]", + "size":"0", + "dynamic_th":"3" + }, + "egress_lossless_profile": { + "pool":"[BUFFER_POOL|egress_lossless_pool]", + "size":"0", + "static_th":"12766208" + }, + "egress_lossy_profile": { + "pool":"[BUFFER_POOL|egress_lossy_pool]", + "size":"1518", + "dynamic_th":"3" + } + }, +{%- endmacro %} diff --git a/tests/qos_config_input/0/buffers_defaults_t1.j2 b/tests/qos_config_input/0/buffers_defaults_t1.j2 new file mode 100644 index 0000000000..38e34eb571 --- /dev/null +++ b/tests/qos_config_input/0/buffers_defaults_t1.j2 @@ -0,0 +1,45 @@ +{%- set default_cable = '300m' %} + +{%- macro generate_port_lists(PORT_ALL) %} + {# Generate list of ports #} + {% for port_idx in range(0,32) %} + {% if PORT_ALL.append("Ethernet%d" % (port_idx * 4)) %}{% endif %} + {% endfor %} +{%- endmacro %} + +{%- macro generate_buffer_pool_and_profiles() %} + "BUFFER_POOL": { + "ingress_lossless_pool": { + "size": "12766208", + "type": "ingress", + "mode": "dynamic" + }, + "egress_lossless_pool": { + "size": "12766208", + "type": "egress", + "mode": "static" + }, + "egress_lossy_pool": { + "size": "7326924", + "type": "egress", + "mode": "dynamic" + } + }, + "BUFFER_PROFILE": { + "ingress_lossy_profile": { + "pool":"[BUFFER_POOL|ingress_lossless_pool]", + "size":"0", + "dynamic_th":"3" + }, + "egress_lossless_profile": { + "pool":"[BUFFER_POOL|egress_lossless_pool]", + "size":"0", + "static_th":"12766208" + }, + "egress_lossy_profile": { + "pool":"[BUFFER_POOL|egress_lossy_pool]", + "size":"1518", + "dynamic_th":"3" + } + }, +{%- endmacro %} diff --git a/tests/qos_config_input/0/config_qos.json b/tests/qos_config_input/0/config_qos.json new file mode 100644 index 0000000000..40c1903a06 --- /dev/null +++ b/tests/qos_config_input/0/config_qos.json @@ -0,0 +1,137 @@ +{ + "TC_TO_PRIORITY_GROUP_MAP": { + "AZURE": { + "0": "0", + "1": "0", + "2": "0", + "3": "3", + "4": "4", + "5": "0", + "6": "0", + "7": "7" + } + }, + "MAP_PFC_PRIORITY_TO_QUEUE": { + "AZURE": { + "0": "0", + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7" + } + }, + "TC_TO_QUEUE_MAP": { + "AZURE": { + "0": "0", + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7" + } + }, + "DSCP_TO_TC_MAP": { + "AZURE": { + "0" : "1", + "1" : "1", + "2" : "1", + "3" : "3", + "4" : "4", + "5" : "2", + "6" : "1", + "7" : "1", + "8" : "0", + "9" : "1", + "10": "1", + "11": "1", + "12": "1", + "13": "1", + "14": "1", + "15": "1", + "16": "1", + "17": "1", + "18": "1", + "19": "1", + "20": "1", + "21": "1", + "22": "1", + "23": "1", + "24": "1", + "25": "1", + "26": "1", + "27": "1", + "28": "1", + "29": "1", + "30": "1", + "31": "1", + "32": "1", + "33": "1", + "34": "1", + "35": "1", + "36": "1", + "37": "1", + "38": "1", + "39": "1", + "40": "1", + "41": "1", + "42": "1", + "43": "1", + "44": "1", + "45": "1", + "46": "5", + "47": "1", + "48": "6", + "49": "1", + "50": "1", + "51": "1", + "52": "1", + "53": "1", + "54": "1", + "55": "1", + "56": "1", + "57": "1", + "58": "1", + "59": "1", + "60": "1", + "61": "1", + "62": "1", + "63": "1" + } + }, + "SCHEDULER": { + "scheduler.0": { + "type" : "DWRR", + "weight": "14" + }, + "scheduler.1": { + "type" : "DWRR", + "weight": "15" + } + }, + "PORT_QOS_MAP": { + }, + "WRED_PROFILE": { + "AZURE_LOSSLESS" : { + "wred_green_enable" : "true", + "wred_yellow_enable" : "true", + "wred_red_enable" : "true", + "ecn" : "ecn_all", + "green_max_threshold" : "2097152", + "green_min_threshold" : "1048576", + "yellow_max_threshold" : "2097152", + "yellow_min_threshold" : "1048576", + "red_max_threshold" : "2097152", + "red_min_threshold" : "1048576", + "green_drop_probability" : "5", + "yellow_drop_probability": "5", + "red_drop_probability" : "5" + } + }, + "QUEUE": { + } +} diff --git a/tests/qos_config_input/0/qos.json.j2 b/tests/qos_config_input/0/qos.json.j2 new file mode 100644 index 0000000000..3e548325ea --- /dev/null +++ b/tests/qos_config_input/0/qos.json.j2 @@ -0,0 +1 @@ +{%- include 'qos_config.j2' %} diff --git a/tests/qos_config_input/0/qos_config.j2 b/tests/qos_config_input/0/qos_config.j2 new file mode 100644 index 0000000000..a7c361d69f --- /dev/null +++ b/tests/qos_config_input/0/qos_config.j2 @@ -0,0 +1,257 @@ +{%- set PORT_ALL = [] %} +{%- for port in PORT %} + {%- if PORT_ALL.append(port) %}{% endif %} +{%- endfor %} +{%- if PORT_ALL | sort_by_port_index %}{% endif %} + +{%- set port_names_list_all = [] %} +{%- for port in PORT_ALL %} + {%- if port_names_list_all.append(port) %}{% endif %} +{%- endfor %} +{%- set port_names_all = port_names_list_all | join(',') -%} + + +{%- set PORT_ACTIVE = [] %} +{%- if DEVICE_NEIGHBOR is not defined %} + {%- set PORT_ACTIVE = PORT_ALL %} +{%- else %} + {%- for port in DEVICE_NEIGHBOR.keys() %} + {%- if PORT_ACTIVE.append(port) %}{%- endif %} + {%- endfor %} +{%- endif %} +{%- if PORT_ACTIVE | sort_by_port_index %}{% endif %} + +{%- set port_names_list_active = [] %} +{%- for port in PORT_ACTIVE %} + {%- if port_names_list_active.append(port) %}{%- endif %} +{%- endfor %} +{%- set port_names_active = port_names_list_active | join(',') -%} + + +{%- set pfc_to_pg_map_supported_asics = ['mellanox', 'barefoot', 'marvell'] -%} +{%- set backend_device_types = ['BackEndToRRouter', 'BackEndLeafRouter'] -%} + + +{ +{% if generate_tc_to_pg_map is defined %} + {{- generate_tc_to_pg_map() }} +{% else %} + "TC_TO_PRIORITY_GROUP_MAP": { + "AZURE": { + "0": "0", + "1": "0", + "2": "0", + "3": "3", + "4": "4", + "5": "0", + "6": "0", + "7": "7" + } + }, +{% endif %} + "MAP_PFC_PRIORITY_TO_QUEUE": { + "AZURE": { + "0": "0", + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7" + } + }, + "TC_TO_QUEUE_MAP": { + "AZURE": { + "0": "0", + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7" + } + }, +{% if 'type' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['type'] in backend_device_types and 'storage_device' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['storage_device'] == 'true' %} + "DOT1P_TO_TC_MAP": { + "AZURE": { + "0": "0", + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7" + } + }, +{% else %} + "DSCP_TO_TC_MAP": { + "AZURE": { + "0" : "1", + "1" : "1", + "2" : "1", + "3" : "3", + "4" : "4", + "5" : "2", + "6" : "1", + "7" : "1", + "8" : "0", + "9" : "1", + "10": "1", + "11": "1", + "12": "1", + "13": "1", + "14": "1", + "15": "1", + "16": "1", + "17": "1", + "18": "1", + "19": "1", + "20": "1", + "21": "1", + "22": "1", + "23": "1", + "24": "1", + "25": "1", + "26": "1", + "27": "1", + "28": "1", + "29": "1", + "30": "1", + "31": "1", + "32": "1", + "33": "1", + "34": "1", + "35": "1", + "36": "1", + "37": "1", + "38": "1", + "39": "1", + "40": "1", + "41": "1", + "42": "1", + "43": "1", + "44": "1", + "45": "1", + "46": "5", + "47": "1", + "48": "6", + "49": "1", + "50": "1", + "51": "1", + "52": "1", + "53": "1", + "54": "1", + "55": "1", + "56": "1", + "57": "1", + "58": "1", + "59": "1", + "60": "1", + "61": "1", + "62": "1", + "63": "1" + } + }, +{% endif %} + "SCHEDULER": { + "scheduler.0": { + "type" : "DWRR", + "weight": "14" + }, + "scheduler.1": { + "type" : "DWRR", + "weight": "15" + } + }, +{% if asic_type in pfc_to_pg_map_supported_asics %} + "PFC_PRIORITY_TO_PRIORITY_GROUP_MAP": { + "AZURE": { + "3": "3", + "4": "4" + } + }, +{% endif %} + "PORT_QOS_MAP": { +{% for port in PORT_ACTIVE %} + "{{ port }}": { +{% if 'type' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['type'] in backend_device_types and 'storage_device' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['storage_device'] == 'true' %} + "dot1p_to_tc_map" : "[DOT1P_TO_TC_MAP|AZURE]", +{% else %} + "dscp_to_tc_map" : "[DSCP_TO_TC_MAP|AZURE]", +{% endif %} + "tc_to_queue_map" : "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map" : "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", +{% if asic_type in pfc_to_pg_map_supported_asics %} + "pfc_to_pg_map" : "[PFC_PRIORITY_TO_PRIORITY_GROUP_MAP|AZURE]", +{% endif %} + "pfc_enable" : "3,4" + }{% if not loop.last %},{% endif %} + +{% endfor %} + }, +{% if generate_wred_profiles is defined %} + {{- generate_wred_profiles() }} +{% else %} + "WRED_PROFILE": { + "AZURE_LOSSLESS" : { + "wred_green_enable" : "true", + "wred_yellow_enable" : "true", + "wred_red_enable" : "true", + "ecn" : "ecn_all", + "green_max_threshold" : "2097152", + "green_min_threshold" : "1048576", + "yellow_max_threshold" : "2097152", + "yellow_min_threshold" : "1048576", + "red_max_threshold" : "2097152", + "red_min_threshold" : "1048576", + "green_drop_probability" : "5", + "yellow_drop_probability": "5", + "red_drop_probability" : "5" + } + }, +{% endif %} + "QUEUE": { +{% for port in PORT_ACTIVE %} + "{{ port }}|3": { + "scheduler" : "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, +{% endfor %} +{% for port in PORT_ACTIVE %} + "{{ port }}|4": { + "scheduler" : "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, +{% endfor %} +{% for port in PORT_ACTIVE %} + "{{ port }}|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, +{% endfor %} +{% for port in PORT_ACTIVE %} + "{{ port }}|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, +{% endfor %} +{% for port in PORT_ACTIVE %} + "{{ port }}|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, +{% endfor %} +{% for port in PORT_ACTIVE %} + "{{ port }}|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, +{% endfor %} +{% for port in PORT_ACTIVE %} + "{{ port }}|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }{% if not loop.last %},{% endif %} + +{% endfor %} + } +} diff --git a/tests/qos_config_input/1/buffers.json.j2 b/tests/qos_config_input/1/buffers.json.j2 new file mode 100644 index 0000000000..b67cf577ab --- /dev/null +++ b/tests/qos_config_input/1/buffers.json.j2 @@ -0,0 +1,3 @@ +{%- set default_topo = 't1' %} +{%- include 'buffers_config.j2' %} + diff --git a/tests/qos_config_input/1/buffers_config.j2 b/tests/qos_config_input/1/buffers_config.j2 new file mode 100644 index 0000000000..f5dbb9784f --- /dev/null +++ b/tests/qos_config_input/1/buffers_config.j2 @@ -0,0 +1,172 @@ +{%- macro set_default_topology() %} +{%- if default_topo is defined %} +{{ default_topo }} +{%- else %} +def +{%- endif %} +{%- endmacro -%} + +{# Determine device topology and filename postfix #} +{%- if DEVICE_METADATA is defined and DEVICE_METADATA['localhost']['type'] is defined %} +{%- set switch_role = DEVICE_METADATA['localhost']['type'] %} +{%- if 'torrouter' in switch_role.lower() and 'mgmt' not in switch_role.lower()%} +{%- set filename_postfix = 't0' %} +{%- elif 'leafrouter' in switch_role.lower() and 'mgmt' not in switch_role.lower()%} +{%- set filename_postfix = 't1' %} +{%- else %} +{%- set filename_postfix = set_default_topology() %} +{%- endif %} +{%- else %} +{%- set filename_postfix = set_default_topology() %} +{%- set switch_role = '' %} +{%- endif -%} + +{# Import default values from device HWSKU folder #} +{%- import 'buffers_defaults_%s.j2' % filename_postfix as defs %} + +{%- set default_cable = defs.default_cable -%} + +{# Port configuration to cable length look-up table #} +{# Each record describes mapping of DUT (DUT port) role and neighbor role to cable length #} +{# Roles described in the minigraph #} +{%- if defs.ports2cable is defined %} + {%- set ports2cable = defs.ports2cable %} +{%- else %} + {%- set ports2cable = { + 'torrouter_server' : '5m', + 'leafrouter_torrouter' : '40m', + 'spinerouter_leafrouter' : '300m' + } + -%} +{%- endif %} + +{%- macro cable_length(port_name) %} + {%- set cable_len = [] %} + {%- for local_port in DEVICE_NEIGHBOR %} + {%- if local_port == port_name %} + {%- if DEVICE_NEIGHBOR_METADATA is defined and DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %} + {%- set neighbor = DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %} + {%- set neighbor_role = neighbor.type %} + {%- if 'asic' == neighbor_role | lower %} + {%- set roles1 = 'internal' %} + {%- if 'internal' not in ports2cable %} + {%- set _ = ports2cable.update({'internal': '5m'}) %} + {%- endif -%} + {%- else %} + {%- set roles1 = switch_role + '_' + neighbor_role %} + {%- set roles2 = neighbor_role + '_' + switch_role %} + {%- set roles1 = roles1 | lower %} + {%- set roles2 = roles2 | lower %} + {%- endif %} + {%- if roles1 in ports2cable %} + {%- if cable_len.append(ports2cable[roles1]) %}{% endif %} + {%- elif roles2 in ports2cable %} + {%- if cable_len.append(ports2cable[roles2]) %}{% endif %} + {%- endif %} + {%- endif %} + {%- endif %} + {%- endfor %} + {%- if cable_len -%} + {{ cable_len.0 }} + {%- else %} + {%- if 'torrouter' in switch_role.lower() and 'mgmt' not in switch_role.lower()%} + {%- for local_port in VLAN_MEMBER %} + {%- if local_port[1] == port_name %} + {%- set roles3 = switch_role + '_' + 'server' %} + {%- set roles3 = roles3 | lower %} + {%- if roles3 in ports2cable %} + {%- if cable_len.append(ports2cable[roles3]) %}{% endif %} + {%- endif %} + {%- endif %} + {%- endfor %} + {%- if cable_len -%} + {{ cable_len.0 }} + {%- else -%} + {{ default_cable }} + {%- endif %} + {%- else -%} + {{ default_cable }} + {%- endif %} + {%- endif %} +{%- endmacro %} + +{%- set PORT_ALL = [] %} + +{%- if PORT is not defined %} + {%- if defs.generate_port_lists(PORT_ALL) %} {% endif %} +{%- else %} + {%- for port in PORT %} + {%- if PORT_ALL.append(port) %}{%- endif %} + {%- endfor %} +{%- endif %} + +{%- set PORT_ACTIVE = [] %} +{%- if DEVICE_NEIGHBOR is not defined %} + {%- set PORT_ACTIVE = PORT_ALL %} +{%- else %} + {%- for port in DEVICE_NEIGHBOR.keys() %} + {%- if PORT_ACTIVE.append(port) %}{%- endif %} + {%- endfor %} +{%- endif %} + +{%- set port_names_list_active = [] %} +{%- for port in PORT_ACTIVE %} + {%- if port_names_list_active.append(port) %}{%- endif %} +{%- endfor %} +{%- set port_names_active = port_names_list_active | join(',') %} + +{ + "CABLE_LENGTH": { + "AZURE": { + {% for port in PORT_ALL %} + {%- set cable = cable_length(port) %} + "{{ port }}": "{{ cable }}"{%- if not loop.last %},{% endif %} + + {% endfor %} + } + }, + +{% if defs.generate_buffer_pool_and_profiles is defined %} +{{ defs.generate_buffer_pool_and_profiles() }} +{% endif %} + +{%- if defs.generate_profile_lists is defined %} +{{ defs.generate_profile_lists(port_names_active) }}, +{% endif %} + +{%- if defs.generate_pg_profils is defined %} +{{ defs.generate_pg_profils(port_names_active) }} +{% else %} + "BUFFER_PG": { +{% for port in PORT_ACTIVE %} + "{{ port }}|0": { + "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]" + }{% if not loop.last %},{% endif %} + +{% endfor %} + }, +{% endif %} + +{% if defs.generate_queue_buffers is defined %} +{{ defs.generate_queue_buffers(port_names_active) }} +{% else %} + "BUFFER_QUEUE": { +{% for port in PORT_ACTIVE %} + "{{ port }}|3-4": { + "profile" : "[BUFFER_PROFILE|egress_lossless_profile]" + }, +{% endfor %} +{% for port in PORT_ACTIVE %} + "{{ port }}|0-2": { + "profile" : "[BUFFER_PROFILE|egress_lossy_profile]" + }, +{% endfor %} +{% for port in PORT_ACTIVE %} + "{{ port }}|5-6": { + "profile" : "[BUFFER_PROFILE|egress_lossy_profile]" + }{% if not loop.last %},{% endif %} + +{% endfor %} + } +{% endif %} +} diff --git a/tests/qos_config_input/1/buffers_defaults_t0.j2 b/tests/qos_config_input/1/buffers_defaults_t0.j2 new file mode 100644 index 0000000000..38e34eb571 --- /dev/null +++ b/tests/qos_config_input/1/buffers_defaults_t0.j2 @@ -0,0 +1,45 @@ +{%- set default_cable = '300m' %} + +{%- macro generate_port_lists(PORT_ALL) %} + {# Generate list of ports #} + {% for port_idx in range(0,32) %} + {% if PORT_ALL.append("Ethernet%d" % (port_idx * 4)) %}{% endif %} + {% endfor %} +{%- endmacro %} + +{%- macro generate_buffer_pool_and_profiles() %} + "BUFFER_POOL": { + "ingress_lossless_pool": { + "size": "12766208", + "type": "ingress", + "mode": "dynamic" + }, + "egress_lossless_pool": { + "size": "12766208", + "type": "egress", + "mode": "static" + }, + "egress_lossy_pool": { + "size": "7326924", + "type": "egress", + "mode": "dynamic" + } + }, + "BUFFER_PROFILE": { + "ingress_lossy_profile": { + "pool":"[BUFFER_POOL|ingress_lossless_pool]", + "size":"0", + "dynamic_th":"3" + }, + "egress_lossless_profile": { + "pool":"[BUFFER_POOL|egress_lossless_pool]", + "size":"0", + "static_th":"12766208" + }, + "egress_lossy_profile": { + "pool":"[BUFFER_POOL|egress_lossy_pool]", + "size":"1518", + "dynamic_th":"3" + } + }, +{%- endmacro %} diff --git a/tests/qos_config_input/1/buffers_defaults_t1.j2 b/tests/qos_config_input/1/buffers_defaults_t1.j2 new file mode 100644 index 0000000000..38e34eb571 --- /dev/null +++ b/tests/qos_config_input/1/buffers_defaults_t1.j2 @@ -0,0 +1,45 @@ +{%- set default_cable = '300m' %} + +{%- macro generate_port_lists(PORT_ALL) %} + {# Generate list of ports #} + {% for port_idx in range(0,32) %} + {% if PORT_ALL.append("Ethernet%d" % (port_idx * 4)) %}{% endif %} + {% endfor %} +{%- endmacro %} + +{%- macro generate_buffer_pool_and_profiles() %} + "BUFFER_POOL": { + "ingress_lossless_pool": { + "size": "12766208", + "type": "ingress", + "mode": "dynamic" + }, + "egress_lossless_pool": { + "size": "12766208", + "type": "egress", + "mode": "static" + }, + "egress_lossy_pool": { + "size": "7326924", + "type": "egress", + "mode": "dynamic" + } + }, + "BUFFER_PROFILE": { + "ingress_lossy_profile": { + "pool":"[BUFFER_POOL|ingress_lossless_pool]", + "size":"0", + "dynamic_th":"3" + }, + "egress_lossless_profile": { + "pool":"[BUFFER_POOL|egress_lossless_pool]", + "size":"0", + "static_th":"12766208" + }, + "egress_lossy_profile": { + "pool":"[BUFFER_POOL|egress_lossy_pool]", + "size":"1518", + "dynamic_th":"3" + } + }, +{%- endmacro %} diff --git a/tests/qos_config_input/1/config_qos.json b/tests/qos_config_input/1/config_qos.json new file mode 100644 index 0000000000..40c1903a06 --- /dev/null +++ b/tests/qos_config_input/1/config_qos.json @@ -0,0 +1,137 @@ +{ + "TC_TO_PRIORITY_GROUP_MAP": { + "AZURE": { + "0": "0", + "1": "0", + "2": "0", + "3": "3", + "4": "4", + "5": "0", + "6": "0", + "7": "7" + } + }, + "MAP_PFC_PRIORITY_TO_QUEUE": { + "AZURE": { + "0": "0", + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7" + } + }, + "TC_TO_QUEUE_MAP": { + "AZURE": { + "0": "0", + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7" + } + }, + "DSCP_TO_TC_MAP": { + "AZURE": { + "0" : "1", + "1" : "1", + "2" : "1", + "3" : "3", + "4" : "4", + "5" : "2", + "6" : "1", + "7" : "1", + "8" : "0", + "9" : "1", + "10": "1", + "11": "1", + "12": "1", + "13": "1", + "14": "1", + "15": "1", + "16": "1", + "17": "1", + "18": "1", + "19": "1", + "20": "1", + "21": "1", + "22": "1", + "23": "1", + "24": "1", + "25": "1", + "26": "1", + "27": "1", + "28": "1", + "29": "1", + "30": "1", + "31": "1", + "32": "1", + "33": "1", + "34": "1", + "35": "1", + "36": "1", + "37": "1", + "38": "1", + "39": "1", + "40": "1", + "41": "1", + "42": "1", + "43": "1", + "44": "1", + "45": "1", + "46": "5", + "47": "1", + "48": "6", + "49": "1", + "50": "1", + "51": "1", + "52": "1", + "53": "1", + "54": "1", + "55": "1", + "56": "1", + "57": "1", + "58": "1", + "59": "1", + "60": "1", + "61": "1", + "62": "1", + "63": "1" + } + }, + "SCHEDULER": { + "scheduler.0": { + "type" : "DWRR", + "weight": "14" + }, + "scheduler.1": { + "type" : "DWRR", + "weight": "15" + } + }, + "PORT_QOS_MAP": { + }, + "WRED_PROFILE": { + "AZURE_LOSSLESS" : { + "wred_green_enable" : "true", + "wred_yellow_enable" : "true", + "wred_red_enable" : "true", + "ecn" : "ecn_all", + "green_max_threshold" : "2097152", + "green_min_threshold" : "1048576", + "yellow_max_threshold" : "2097152", + "yellow_min_threshold" : "1048576", + "red_max_threshold" : "2097152", + "red_min_threshold" : "1048576", + "green_drop_probability" : "5", + "yellow_drop_probability": "5", + "red_drop_probability" : "5" + } + }, + "QUEUE": { + } +} diff --git a/tests/qos_config_input/1/qos.json.j2 b/tests/qos_config_input/1/qos.json.j2 new file mode 100644 index 0000000000..3e548325ea --- /dev/null +++ b/tests/qos_config_input/1/qos.json.j2 @@ -0,0 +1 @@ +{%- include 'qos_config.j2' %} diff --git a/tests/qos_config_input/1/qos_config.j2 b/tests/qos_config_input/1/qos_config.j2 new file mode 100644 index 0000000000..a7c361d69f --- /dev/null +++ b/tests/qos_config_input/1/qos_config.j2 @@ -0,0 +1,257 @@ +{%- set PORT_ALL = [] %} +{%- for port in PORT %} + {%- if PORT_ALL.append(port) %}{% endif %} +{%- endfor %} +{%- if PORT_ALL | sort_by_port_index %}{% endif %} + +{%- set port_names_list_all = [] %} +{%- for port in PORT_ALL %} + {%- if port_names_list_all.append(port) %}{% endif %} +{%- endfor %} +{%- set port_names_all = port_names_list_all | join(',') -%} + + +{%- set PORT_ACTIVE = [] %} +{%- if DEVICE_NEIGHBOR is not defined %} + {%- set PORT_ACTIVE = PORT_ALL %} +{%- else %} + {%- for port in DEVICE_NEIGHBOR.keys() %} + {%- if PORT_ACTIVE.append(port) %}{%- endif %} + {%- endfor %} +{%- endif %} +{%- if PORT_ACTIVE | sort_by_port_index %}{% endif %} + +{%- set port_names_list_active = [] %} +{%- for port in PORT_ACTIVE %} + {%- if port_names_list_active.append(port) %}{%- endif %} +{%- endfor %} +{%- set port_names_active = port_names_list_active | join(',') -%} + + +{%- set pfc_to_pg_map_supported_asics = ['mellanox', 'barefoot', 'marvell'] -%} +{%- set backend_device_types = ['BackEndToRRouter', 'BackEndLeafRouter'] -%} + + +{ +{% if generate_tc_to_pg_map is defined %} + {{- generate_tc_to_pg_map() }} +{% else %} + "TC_TO_PRIORITY_GROUP_MAP": { + "AZURE": { + "0": "0", + "1": "0", + "2": "0", + "3": "3", + "4": "4", + "5": "0", + "6": "0", + "7": "7" + } + }, +{% endif %} + "MAP_PFC_PRIORITY_TO_QUEUE": { + "AZURE": { + "0": "0", + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7" + } + }, + "TC_TO_QUEUE_MAP": { + "AZURE": { + "0": "0", + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7" + } + }, +{% if 'type' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['type'] in backend_device_types and 'storage_device' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['storage_device'] == 'true' %} + "DOT1P_TO_TC_MAP": { + "AZURE": { + "0": "0", + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7" + } + }, +{% else %} + "DSCP_TO_TC_MAP": { + "AZURE": { + "0" : "1", + "1" : "1", + "2" : "1", + "3" : "3", + "4" : "4", + "5" : "2", + "6" : "1", + "7" : "1", + "8" : "0", + "9" : "1", + "10": "1", + "11": "1", + "12": "1", + "13": "1", + "14": "1", + "15": "1", + "16": "1", + "17": "1", + "18": "1", + "19": "1", + "20": "1", + "21": "1", + "22": "1", + "23": "1", + "24": "1", + "25": "1", + "26": "1", + "27": "1", + "28": "1", + "29": "1", + "30": "1", + "31": "1", + "32": "1", + "33": "1", + "34": "1", + "35": "1", + "36": "1", + "37": "1", + "38": "1", + "39": "1", + "40": "1", + "41": "1", + "42": "1", + "43": "1", + "44": "1", + "45": "1", + "46": "5", + "47": "1", + "48": "6", + "49": "1", + "50": "1", + "51": "1", + "52": "1", + "53": "1", + "54": "1", + "55": "1", + "56": "1", + "57": "1", + "58": "1", + "59": "1", + "60": "1", + "61": "1", + "62": "1", + "63": "1" + } + }, +{% endif %} + "SCHEDULER": { + "scheduler.0": { + "type" : "DWRR", + "weight": "14" + }, + "scheduler.1": { + "type" : "DWRR", + "weight": "15" + } + }, +{% if asic_type in pfc_to_pg_map_supported_asics %} + "PFC_PRIORITY_TO_PRIORITY_GROUP_MAP": { + "AZURE": { + "3": "3", + "4": "4" + } + }, +{% endif %} + "PORT_QOS_MAP": { +{% for port in PORT_ACTIVE %} + "{{ port }}": { +{% if 'type' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['type'] in backend_device_types and 'storage_device' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['storage_device'] == 'true' %} + "dot1p_to_tc_map" : "[DOT1P_TO_TC_MAP|AZURE]", +{% else %} + "dscp_to_tc_map" : "[DSCP_TO_TC_MAP|AZURE]", +{% endif %} + "tc_to_queue_map" : "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map" : "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", +{% if asic_type in pfc_to_pg_map_supported_asics %} + "pfc_to_pg_map" : "[PFC_PRIORITY_TO_PRIORITY_GROUP_MAP|AZURE]", +{% endif %} + "pfc_enable" : "3,4" + }{% if not loop.last %},{% endif %} + +{% endfor %} + }, +{% if generate_wred_profiles is defined %} + {{- generate_wred_profiles() }} +{% else %} + "WRED_PROFILE": { + "AZURE_LOSSLESS" : { + "wred_green_enable" : "true", + "wred_yellow_enable" : "true", + "wred_red_enable" : "true", + "ecn" : "ecn_all", + "green_max_threshold" : "2097152", + "green_min_threshold" : "1048576", + "yellow_max_threshold" : "2097152", + "yellow_min_threshold" : "1048576", + "red_max_threshold" : "2097152", + "red_min_threshold" : "1048576", + "green_drop_probability" : "5", + "yellow_drop_probability": "5", + "red_drop_probability" : "5" + } + }, +{% endif %} + "QUEUE": { +{% for port in PORT_ACTIVE %} + "{{ port }}|3": { + "scheduler" : "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, +{% endfor %} +{% for port in PORT_ACTIVE %} + "{{ port }}|4": { + "scheduler" : "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, +{% endfor %} +{% for port in PORT_ACTIVE %} + "{{ port }}|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, +{% endfor %} +{% for port in PORT_ACTIVE %} + "{{ port }}|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, +{% endfor %} +{% for port in PORT_ACTIVE %} + "{{ port }}|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, +{% endfor %} +{% for port in PORT_ACTIVE %} + "{{ port }}|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, +{% endfor %} +{% for port in PORT_ACTIVE %} + "{{ port }}|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }{% if not loop.last %},{% endif %} + +{% endfor %} + } +} diff --git a/tests/qos_config_input/buffers.json.j2 b/tests/qos_config_input/buffers.json.j2 new file mode 100644 index 0000000000..b67cf577ab --- /dev/null +++ b/tests/qos_config_input/buffers.json.j2 @@ -0,0 +1,3 @@ +{%- set default_topo = 't1' %} +{%- include 'buffers_config.j2' %} + diff --git a/tests/qos_config_input/buffers_config.j2 b/tests/qos_config_input/buffers_config.j2 new file mode 100644 index 0000000000..f5dbb9784f --- /dev/null +++ b/tests/qos_config_input/buffers_config.j2 @@ -0,0 +1,172 @@ +{%- macro set_default_topology() %} +{%- if default_topo is defined %} +{{ default_topo }} +{%- else %} +def +{%- endif %} +{%- endmacro -%} + +{# Determine device topology and filename postfix #} +{%- if DEVICE_METADATA is defined and DEVICE_METADATA['localhost']['type'] is defined %} +{%- set switch_role = DEVICE_METADATA['localhost']['type'] %} +{%- if 'torrouter' in switch_role.lower() and 'mgmt' not in switch_role.lower()%} +{%- set filename_postfix = 't0' %} +{%- elif 'leafrouter' in switch_role.lower() and 'mgmt' not in switch_role.lower()%} +{%- set filename_postfix = 't1' %} +{%- else %} +{%- set filename_postfix = set_default_topology() %} +{%- endif %} +{%- else %} +{%- set filename_postfix = set_default_topology() %} +{%- set switch_role = '' %} +{%- endif -%} + +{# Import default values from device HWSKU folder #} +{%- import 'buffers_defaults_%s.j2' % filename_postfix as defs %} + +{%- set default_cable = defs.default_cable -%} + +{# Port configuration to cable length look-up table #} +{# Each record describes mapping of DUT (DUT port) role and neighbor role to cable length #} +{# Roles described in the minigraph #} +{%- if defs.ports2cable is defined %} + {%- set ports2cable = defs.ports2cable %} +{%- else %} + {%- set ports2cable = { + 'torrouter_server' : '5m', + 'leafrouter_torrouter' : '40m', + 'spinerouter_leafrouter' : '300m' + } + -%} +{%- endif %} + +{%- macro cable_length(port_name) %} + {%- set cable_len = [] %} + {%- for local_port in DEVICE_NEIGHBOR %} + {%- if local_port == port_name %} + {%- if DEVICE_NEIGHBOR_METADATA is defined and DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %} + {%- set neighbor = DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %} + {%- set neighbor_role = neighbor.type %} + {%- if 'asic' == neighbor_role | lower %} + {%- set roles1 = 'internal' %} + {%- if 'internal' not in ports2cable %} + {%- set _ = ports2cable.update({'internal': '5m'}) %} + {%- endif -%} + {%- else %} + {%- set roles1 = switch_role + '_' + neighbor_role %} + {%- set roles2 = neighbor_role + '_' + switch_role %} + {%- set roles1 = roles1 | lower %} + {%- set roles2 = roles2 | lower %} + {%- endif %} + {%- if roles1 in ports2cable %} + {%- if cable_len.append(ports2cable[roles1]) %}{% endif %} + {%- elif roles2 in ports2cable %} + {%- if cable_len.append(ports2cable[roles2]) %}{% endif %} + {%- endif %} + {%- endif %} + {%- endif %} + {%- endfor %} + {%- if cable_len -%} + {{ cable_len.0 }} + {%- else %} + {%- if 'torrouter' in switch_role.lower() and 'mgmt' not in switch_role.lower()%} + {%- for local_port in VLAN_MEMBER %} + {%- if local_port[1] == port_name %} + {%- set roles3 = switch_role + '_' + 'server' %} + {%- set roles3 = roles3 | lower %} + {%- if roles3 in ports2cable %} + {%- if cable_len.append(ports2cable[roles3]) %}{% endif %} + {%- endif %} + {%- endif %} + {%- endfor %} + {%- if cable_len -%} + {{ cable_len.0 }} + {%- else -%} + {{ default_cable }} + {%- endif %} + {%- else -%} + {{ default_cable }} + {%- endif %} + {%- endif %} +{%- endmacro %} + +{%- set PORT_ALL = [] %} + +{%- if PORT is not defined %} + {%- if defs.generate_port_lists(PORT_ALL) %} {% endif %} +{%- else %} + {%- for port in PORT %} + {%- if PORT_ALL.append(port) %}{%- endif %} + {%- endfor %} +{%- endif %} + +{%- set PORT_ACTIVE = [] %} +{%- if DEVICE_NEIGHBOR is not defined %} + {%- set PORT_ACTIVE = PORT_ALL %} +{%- else %} + {%- for port in DEVICE_NEIGHBOR.keys() %} + {%- if PORT_ACTIVE.append(port) %}{%- endif %} + {%- endfor %} +{%- endif %} + +{%- set port_names_list_active = [] %} +{%- for port in PORT_ACTIVE %} + {%- if port_names_list_active.append(port) %}{%- endif %} +{%- endfor %} +{%- set port_names_active = port_names_list_active | join(',') %} + +{ + "CABLE_LENGTH": { + "AZURE": { + {% for port in PORT_ALL %} + {%- set cable = cable_length(port) %} + "{{ port }}": "{{ cable }}"{%- if not loop.last %},{% endif %} + + {% endfor %} + } + }, + +{% if defs.generate_buffer_pool_and_profiles is defined %} +{{ defs.generate_buffer_pool_and_profiles() }} +{% endif %} + +{%- if defs.generate_profile_lists is defined %} +{{ defs.generate_profile_lists(port_names_active) }}, +{% endif %} + +{%- if defs.generate_pg_profils is defined %} +{{ defs.generate_pg_profils(port_names_active) }} +{% else %} + "BUFFER_PG": { +{% for port in PORT_ACTIVE %} + "{{ port }}|0": { + "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]" + }{% if not loop.last %},{% endif %} + +{% endfor %} + }, +{% endif %} + +{% if defs.generate_queue_buffers is defined %} +{{ defs.generate_queue_buffers(port_names_active) }} +{% else %} + "BUFFER_QUEUE": { +{% for port in PORT_ACTIVE %} + "{{ port }}|3-4": { + "profile" : "[BUFFER_PROFILE|egress_lossless_profile]" + }, +{% endfor %} +{% for port in PORT_ACTIVE %} + "{{ port }}|0-2": { + "profile" : "[BUFFER_PROFILE|egress_lossy_profile]" + }, +{% endfor %} +{% for port in PORT_ACTIVE %} + "{{ port }}|5-6": { + "profile" : "[BUFFER_PROFILE|egress_lossy_profile]" + }{% if not loop.last %},{% endif %} + +{% endfor %} + } +{% endif %} +} diff --git a/tests/qos_config_input/buffers_defaults_t1.j2 b/tests/qos_config_input/buffers_defaults_t1.j2 new file mode 100644 index 0000000000..38e34eb571 --- /dev/null +++ b/tests/qos_config_input/buffers_defaults_t1.j2 @@ -0,0 +1,45 @@ +{%- set default_cable = '300m' %} + +{%- macro generate_port_lists(PORT_ALL) %} + {# Generate list of ports #} + {% for port_idx in range(0,32) %} + {% if PORT_ALL.append("Ethernet%d" % (port_idx * 4)) %}{% endif %} + {% endfor %} +{%- endmacro %} + +{%- macro generate_buffer_pool_and_profiles() %} + "BUFFER_POOL": { + "ingress_lossless_pool": { + "size": "12766208", + "type": "ingress", + "mode": "dynamic" + }, + "egress_lossless_pool": { + "size": "12766208", + "type": "egress", + "mode": "static" + }, + "egress_lossy_pool": { + "size": "7326924", + "type": "egress", + "mode": "dynamic" + } + }, + "BUFFER_PROFILE": { + "ingress_lossy_profile": { + "pool":"[BUFFER_POOL|ingress_lossless_pool]", + "size":"0", + "dynamic_th":"3" + }, + "egress_lossless_profile": { + "pool":"[BUFFER_POOL|egress_lossless_pool]", + "size":"0", + "static_th":"12766208" + }, + "egress_lossy_profile": { + "pool":"[BUFFER_POOL|egress_lossy_pool]", + "size":"1518", + "dynamic_th":"3" + } + }, +{%- endmacro %} diff --git a/tests/qos_config_input/config_qos.json b/tests/qos_config_input/config_qos.json new file mode 100644 index 0000000000..40c1903a06 --- /dev/null +++ b/tests/qos_config_input/config_qos.json @@ -0,0 +1,137 @@ +{ + "TC_TO_PRIORITY_GROUP_MAP": { + "AZURE": { + "0": "0", + "1": "0", + "2": "0", + "3": "3", + "4": "4", + "5": "0", + "6": "0", + "7": "7" + } + }, + "MAP_PFC_PRIORITY_TO_QUEUE": { + "AZURE": { + "0": "0", + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7" + } + }, + "TC_TO_QUEUE_MAP": { + "AZURE": { + "0": "0", + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7" + } + }, + "DSCP_TO_TC_MAP": { + "AZURE": { + "0" : "1", + "1" : "1", + "2" : "1", + "3" : "3", + "4" : "4", + "5" : "2", + "6" : "1", + "7" : "1", + "8" : "0", + "9" : "1", + "10": "1", + "11": "1", + "12": "1", + "13": "1", + "14": "1", + "15": "1", + "16": "1", + "17": "1", + "18": "1", + "19": "1", + "20": "1", + "21": "1", + "22": "1", + "23": "1", + "24": "1", + "25": "1", + "26": "1", + "27": "1", + "28": "1", + "29": "1", + "30": "1", + "31": "1", + "32": "1", + "33": "1", + "34": "1", + "35": "1", + "36": "1", + "37": "1", + "38": "1", + "39": "1", + "40": "1", + "41": "1", + "42": "1", + "43": "1", + "44": "1", + "45": "1", + "46": "5", + "47": "1", + "48": "6", + "49": "1", + "50": "1", + "51": "1", + "52": "1", + "53": "1", + "54": "1", + "55": "1", + "56": "1", + "57": "1", + "58": "1", + "59": "1", + "60": "1", + "61": "1", + "62": "1", + "63": "1" + } + }, + "SCHEDULER": { + "scheduler.0": { + "type" : "DWRR", + "weight": "14" + }, + "scheduler.1": { + "type" : "DWRR", + "weight": "15" + } + }, + "PORT_QOS_MAP": { + }, + "WRED_PROFILE": { + "AZURE_LOSSLESS" : { + "wred_green_enable" : "true", + "wred_yellow_enable" : "true", + "wred_red_enable" : "true", + "ecn" : "ecn_all", + "green_max_threshold" : "2097152", + "green_min_threshold" : "1048576", + "yellow_max_threshold" : "2097152", + "yellow_min_threshold" : "1048576", + "red_max_threshold" : "2097152", + "red_min_threshold" : "1048576", + "green_drop_probability" : "5", + "yellow_drop_probability": "5", + "red_drop_probability" : "5" + } + }, + "QUEUE": { + } +} diff --git a/tests/qos_config_input/qos.json.j2 b/tests/qos_config_input/qos.json.j2 new file mode 100644 index 0000000000..3e548325ea --- /dev/null +++ b/tests/qos_config_input/qos.json.j2 @@ -0,0 +1 @@ +{%- include 'qos_config.j2' %} diff --git a/tests/qos_config_input/qos_config.j2 b/tests/qos_config_input/qos_config.j2 new file mode 100644 index 0000000000..a7c361d69f --- /dev/null +++ b/tests/qos_config_input/qos_config.j2 @@ -0,0 +1,257 @@ +{%- set PORT_ALL = [] %} +{%- for port in PORT %} + {%- if PORT_ALL.append(port) %}{% endif %} +{%- endfor %} +{%- if PORT_ALL | sort_by_port_index %}{% endif %} + +{%- set port_names_list_all = [] %} +{%- for port in PORT_ALL %} + {%- if port_names_list_all.append(port) %}{% endif %} +{%- endfor %} +{%- set port_names_all = port_names_list_all | join(',') -%} + + +{%- set PORT_ACTIVE = [] %} +{%- if DEVICE_NEIGHBOR is not defined %} + {%- set PORT_ACTIVE = PORT_ALL %} +{%- else %} + {%- for port in DEVICE_NEIGHBOR.keys() %} + {%- if PORT_ACTIVE.append(port) %}{%- endif %} + {%- endfor %} +{%- endif %} +{%- if PORT_ACTIVE | sort_by_port_index %}{% endif %} + +{%- set port_names_list_active = [] %} +{%- for port in PORT_ACTIVE %} + {%- if port_names_list_active.append(port) %}{%- endif %} +{%- endfor %} +{%- set port_names_active = port_names_list_active | join(',') -%} + + +{%- set pfc_to_pg_map_supported_asics = ['mellanox', 'barefoot', 'marvell'] -%} +{%- set backend_device_types = ['BackEndToRRouter', 'BackEndLeafRouter'] -%} + + +{ +{% if generate_tc_to_pg_map is defined %} + {{- generate_tc_to_pg_map() }} +{% else %} + "TC_TO_PRIORITY_GROUP_MAP": { + "AZURE": { + "0": "0", + "1": "0", + "2": "0", + "3": "3", + "4": "4", + "5": "0", + "6": "0", + "7": "7" + } + }, +{% endif %} + "MAP_PFC_PRIORITY_TO_QUEUE": { + "AZURE": { + "0": "0", + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7" + } + }, + "TC_TO_QUEUE_MAP": { + "AZURE": { + "0": "0", + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7" + } + }, +{% if 'type' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['type'] in backend_device_types and 'storage_device' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['storage_device'] == 'true' %} + "DOT1P_TO_TC_MAP": { + "AZURE": { + "0": "0", + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7" + } + }, +{% else %} + "DSCP_TO_TC_MAP": { + "AZURE": { + "0" : "1", + "1" : "1", + "2" : "1", + "3" : "3", + "4" : "4", + "5" : "2", + "6" : "1", + "7" : "1", + "8" : "0", + "9" : "1", + "10": "1", + "11": "1", + "12": "1", + "13": "1", + "14": "1", + "15": "1", + "16": "1", + "17": "1", + "18": "1", + "19": "1", + "20": "1", + "21": "1", + "22": "1", + "23": "1", + "24": "1", + "25": "1", + "26": "1", + "27": "1", + "28": "1", + "29": "1", + "30": "1", + "31": "1", + "32": "1", + "33": "1", + "34": "1", + "35": "1", + "36": "1", + "37": "1", + "38": "1", + "39": "1", + "40": "1", + "41": "1", + "42": "1", + "43": "1", + "44": "1", + "45": "1", + "46": "5", + "47": "1", + "48": "6", + "49": "1", + "50": "1", + "51": "1", + "52": "1", + "53": "1", + "54": "1", + "55": "1", + "56": "1", + "57": "1", + "58": "1", + "59": "1", + "60": "1", + "61": "1", + "62": "1", + "63": "1" + } + }, +{% endif %} + "SCHEDULER": { + "scheduler.0": { + "type" : "DWRR", + "weight": "14" + }, + "scheduler.1": { + "type" : "DWRR", + "weight": "15" + } + }, +{% if asic_type in pfc_to_pg_map_supported_asics %} + "PFC_PRIORITY_TO_PRIORITY_GROUP_MAP": { + "AZURE": { + "3": "3", + "4": "4" + } + }, +{% endif %} + "PORT_QOS_MAP": { +{% for port in PORT_ACTIVE %} + "{{ port }}": { +{% if 'type' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['type'] in backend_device_types and 'storage_device' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['storage_device'] == 'true' %} + "dot1p_to_tc_map" : "[DOT1P_TO_TC_MAP|AZURE]", +{% else %} + "dscp_to_tc_map" : "[DSCP_TO_TC_MAP|AZURE]", +{% endif %} + "tc_to_queue_map" : "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map" : "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", +{% if asic_type in pfc_to_pg_map_supported_asics %} + "pfc_to_pg_map" : "[PFC_PRIORITY_TO_PRIORITY_GROUP_MAP|AZURE]", +{% endif %} + "pfc_enable" : "3,4" + }{% if not loop.last %},{% endif %} + +{% endfor %} + }, +{% if generate_wred_profiles is defined %} + {{- generate_wred_profiles() }} +{% else %} + "WRED_PROFILE": { + "AZURE_LOSSLESS" : { + "wred_green_enable" : "true", + "wred_yellow_enable" : "true", + "wred_red_enable" : "true", + "ecn" : "ecn_all", + "green_max_threshold" : "2097152", + "green_min_threshold" : "1048576", + "yellow_max_threshold" : "2097152", + "yellow_min_threshold" : "1048576", + "red_max_threshold" : "2097152", + "red_min_threshold" : "1048576", + "green_drop_probability" : "5", + "yellow_drop_probability": "5", + "red_drop_probability" : "5" + } + }, +{% endif %} + "QUEUE": { +{% for port in PORT_ACTIVE %} + "{{ port }}|3": { + "scheduler" : "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, +{% endfor %} +{% for port in PORT_ACTIVE %} + "{{ port }}|4": { + "scheduler" : "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, +{% endfor %} +{% for port in PORT_ACTIVE %} + "{{ port }}|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, +{% endfor %} +{% for port in PORT_ACTIVE %} + "{{ port }}|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, +{% endfor %} +{% for port in PORT_ACTIVE %} + "{{ port }}|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, +{% endfor %} +{% for port in PORT_ACTIVE %} + "{{ port }}|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, +{% endfor %} +{% for port in PORT_ACTIVE %} + "{{ port }}|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }{% if not loop.last %},{% endif %} + +{% endfor %} + } +} diff --git a/tests/qos_config_input/sonic_version.yml b/tests/qos_config_input/sonic_version.yml new file mode 100644 index 0000000000..4791f627e7 --- /dev/null +++ b/tests/qos_config_input/sonic_version.yml @@ -0,0 +1,8 @@ +build_version: 'master.487-a98cf221' +debian_version: '10.6' +kernel_version: '4.19.0-9-2-amd64' +asic_type: broadcom +commit_id: 'a98cf221' +build_date: Thu Nov 12 12:21:45 UTC 2020 +build_number: 487 +built_by: johnar@jenkins-worker-8 From 69e2cc33049a5d6f2095ee86c8f1a38fdd0857f7 Mon Sep 17 00:00:00 2001 From: Renuka Manavalan <47282725+renukamanavalan@users.noreply.github.com> Date: Fri, 15 Jan 2021 11:39:49 -0800 Subject: [PATCH 034/342] Drop explict 3 seconds pause between two object updates/deletes. (#1359) - What I did Drop explicitly introduced 3 seconds pause between object updates using configlet. - How I did it Remove the added time.sleep(3) - How to verify it Add 10 objects using old code and see it takes 30+ seconds. Repeat the same with this updated code which would complete in small fraction of a second. Verified ASIC-DB contents to the extent possible in both scenarios of applying objects using old code with 3 seconds pause and new code w/o any explicit pause, to be the same. --- scripts/configlet | 6 ------ 1 file changed, 6 deletions(-) diff --git a/scripts/configlet b/scripts/configlet index 44b0047a49..4d519d3943 100755 --- a/scripts/configlet +++ b/scripts/configlet @@ -77,7 +77,6 @@ A sample for update: import argparse import json -import time from swsssdk import ConfigDBConnector @@ -204,11 +203,6 @@ def main(): if parse_only == False: for i in data: process_entry (do_update, i) - # Artificial sleep to give a pause between two entries - # so as to ensure that all internal daemons have digested the - # previous update, before the next one arrives. - # - time.sleep(3) else: print("Parsed:") print(data) From d1e260a6d3e80c0c5df125cbadf4b51037eae7d0 Mon Sep 17 00:00:00 2001 From: vdahiya12 <67608553+vdahiya12@users.noreply.github.com> Date: Fri, 15 Jan 2021 14:45:39 -0800 Subject: [PATCH 035/342] [show]fix for show muxcable status by replacing "hostname" to "peer_switch" for deriving tor ipv4_address (#1360) This PR provides the support for fixing the show muxcable config. There was a change in the Config_DB schema where there was an addition of key-value pair "peer_switch:tor_name" in DEVICE_METADATA|localhost table which actually gives the other TOR's name (hostname). This TOR name is then utilized in PEER_SWITCH|switchname table which has "address_ipv4: IPv4 address" key-value pair, which correctly gives the ip address for displaying on the show mux config What is the motivation for this PR? To add the fix the working for show muxcable config Signed-off-by: vaibhav-dahiya --- show/muxcable.py | 2 +- tests/mock_tables/config_db.json | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/show/muxcable.py b/show/muxcable.py index 217ab23635..3b65e4b638 100644 --- a/show/muxcable.py +++ b/show/muxcable.py @@ -63,7 +63,7 @@ def get_switch_name(config_db): info_dict = config_db.get_entry("DEVICE_METADATA", "localhost") #click.echo("{} ".format(info_dict)) - switch_name = get_value_for_key_in_dict(info_dict, "localhost", "hostname", "DEVICE_METADATA") + switch_name = get_value_for_key_in_dict(info_dict, "localhost", "peer_switch", "DEVICE_METADATA") if switch_name is not None: return switch_name else: diff --git a/tests/mock_tables/config_db.json b/tests/mock_tables/config_db.json index 21676feb57..a8da97f3eb 100644 --- a/tests/mock_tables/config_db.json +++ b/tests/mock_tables/config_db.json @@ -666,6 +666,7 @@ "hwsku": "Mellanox-SN3800-D112C8", "mac": "1d:34:db:16:a6:00", "platform": "x86_64-mlnx_msn3800-r0", + "peer_switch": "sonic-switch", "type": "ToRRouter" }, "DEVICE_NEIGHBOR|Ethernet4": { From 2cbeccbc520b2e767ba8dab9a30657ebc3806002 Mon Sep 17 00:00:00 2001 From: shlomibitton <60430976+shlomibitton@users.noreply.github.com> Date: Sun, 17 Jan 2021 13:52:42 +0200 Subject: [PATCH 036/342] [PFCWD] Fix 'start' pfcwd command (#1345) - What I did The 'config' method is getting arguments from the user CLI and build a proper command for the pfcwd script in a wrong way, causing this issue. - How I did it Fix the command structure to align with pfcwd.main script. - How to verify it Run "config pfcwd start --action drop ports all detection-time 400 --restoration-time 400" - Previous command output (if the output of a command-line utility has changed) config pfcwd start --action drop ports all detection-time 400 --restoration-time 400 Failed to run command, invalid options: ports detection-time --- config/main.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/main.py b/config/main.py index a4d3e2b107..ea798a1a2e 100644 --- a/config/main.py +++ b/config/main.py @@ -1685,10 +1685,10 @@ def start(action, restoration_time, ports, detection_time, verbose): if ports: ports = set(ports) - set(['ports', 'detection-time']) - cmd += " ports {}".format(' '.join(ports)) + cmd += " {}".format(' '.join(ports)) if detection_time: - cmd += " detection-time {}".format(detection_time) + cmd += " {}".format(detection_time) if restoration_time: cmd += " --restoration-time {}".format(restoration_time) From bc2d27edc2923f5096b37a727200a8427f93463e Mon Sep 17 00:00:00 2001 From: Guohan Lu Date: Mon, 18 Jan 2021 18:39:18 -0800 Subject: [PATCH 037/342] [generate_dump]: fix syntax error syntax error introduced in commit 22d79f387728f40e9994d8dcd3397f42dda8a578 Signed-off-by: Guohan Lu --- scripts/generate_dump | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/generate_dump b/scripts/generate_dump index 4cb192647c..92d95dd246 100755 --- a/scripts/generate_dump +++ b/scripts/generate_dump @@ -82,7 +82,7 @@ save_bcmcmd() { fi fi fi - if $do_gzip + if $do_gzip; then gzip ${filepath} 2>/dev/null tarpath="${tarpath}.gz" filepath="${filepath}.gz" @@ -302,7 +302,7 @@ save_bridge() { } ############################################################################### -# Dump the bridge L2 information +# Dump the bridge L2 information # Globals: # None # Arguments: @@ -509,8 +509,8 @@ save_proc() { ############################################################################### # Dumps all fields and values from given Redis DB. # Arguments: -# DB name: DB name -# Filename: Destination filename, if not given then filename would be DB name +# DB name: DB name +# Filename: Destination filename, if not given then filename would be DB name # Returns: # None ############################################################################### From 9bd709b6564e3df1b04f0279c502efdc7524ca5a Mon Sep 17 00:00:00 2001 From: maksymbelei95 <75987222+maksymbelei95@users.noreply.github.com> Date: Tue, 19 Jan 2021 07:55:39 +0200 Subject: [PATCH 038/342] [show] Fix show arp in case with FDB entries, linked to default VLAN (#1357) * Adding condition to check result of getting of Vlan id, using bvid. If the vlan id is None, then skip the record to avoid exception raising on int(NoneType) Signed-off-by: Maksym Belei --- scripts/nbrshow | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/scripts/nbrshow b/scripts/nbrshow index 694e64242d..b59acf0287 100644 --- a/scripts/nbrshow +++ b/scripts/nbrshow @@ -95,6 +95,10 @@ class NbrBase(object): elif 'bvid' in fdb: try: vlan_id = port_util.get_vlan_id_from_bvid(self.db, fdb["bvid"]) + if vlan_id is None: + # the case could be happened if the FDB entry has created with linking to + # default VLAN 1, which is not present in the system + continue except Exception: vlan_id = fdb["bvid"] print("Failed to get Vlan id for bvid {}\n".format(fdb["bvid"])) From 3df267e252bfd669c52f3221b0a29412a129153d Mon Sep 17 00:00:00 2001 From: Sangita Maity Date: Tue, 19 Jan 2021 16:40:52 -0800 Subject: [PATCH 039/342] [config] Fix Breakout mode option and BREAKOUT_CFG table check method (#1270) Made a robust check for below cases: - when the interface is wrong and the mode is correct. - BREAKOUT_CFG table is NOT present in CONFIG DB Also, Fixed Breakout mode option when options are not available for easy readability. Signed-off-by: Sangita Maity --- config/main.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/config/main.py b/config/main.py index ea798a1a2e..5816f02f96 100644 --- a/config/main.py +++ b/config/main.py @@ -116,7 +116,7 @@ def _get_breakout_options(ctx, args, incomplete): for i in breakout_mode_list.split(','): breakout_mode_options.append(i) all_mode_options = [str(c) for c in breakout_mode_options if incomplete in c] - return all_mode_options + return all_mode_options def shutdown_interfaces(ctx, del_intf_dict): """ shut down all the interfaces before deletion """ @@ -2422,6 +2422,14 @@ def breakout(ctx, interface_name, mode, verbose, force_remove_dependencies, load # Get current breakout mode cur_brkout_dict = config_db.get_table('BREAKOUT_CFG') + if len(cur_brkout_dict) == 0: + click.secho("[ERROR] BREAKOUT_CFG table is NOT present in CONFIG DB", fg='red') + raise click.Abort() + + if interface_name not in cur_brkout_dict.keys(): + click.secho("[ERROR] {} interface is NOT present in BREAKOUT_CFG table of CONFIG DB".format(interface_name), fg='red') + raise click.Abort() + cur_brkout_mode = cur_brkout_dict[interface_name]["brkout_mode"] # Validate Interface and Breakout mode From 8119ba25b7453d685a475694142e293c2a3a5341 Mon Sep 17 00:00:00 2001 From: Akhilesh Samineni <47657796+AkhileshSamineni@users.noreply.github.com> Date: Wed, 20 Jan 2021 10:28:14 +0530 Subject: [PATCH 040/342] Validations checks while creating and deleting a Portchannel (#1326) Added below validation checks when a portchannel is created by the user: 1 if a given portchannel name is valid or not 2 if a given portchannel name is already created by user (exists in CONFIG_DB) Added below validation checks when a portchannel is attempted for deletion by the user: 1 if a given portchannel name is valid or not 2 if a given portchannel name exists in exists in CONFIG_DB or not (throw an error if it does not exist) Signed-off-by: Akhilesh Samineni --- config/main.py | 17 ++++++++++++++ tests/portchannel_test.py | 48 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 65 insertions(+) diff --git a/config/main.py b/config/main.py index 5816f02f96..57d15a75c7 100644 --- a/config/main.py +++ b/config/main.py @@ -1356,7 +1356,15 @@ def portchannel(ctx, namespace): @click.pass_context def add_portchannel(ctx, portchannel_name, min_links, fallback): """Add port channel""" + if is_portchannel_name_valid(portchannel_name) != True: + ctx.fail("{} is invalid!, name should have prefix '{}' and suffix '{}'" + .format(portchannel_name, CFG_PORTCHANNEL_PREFIX, CFG_PORTCHANNEL_NO)) + db = ctx.obj['db'] + + if is_portchannel_present_in_db(db, portchannel_name): + ctx.fail("{} already exists!".format(portchannel_name)) + fvs = {'admin_status': 'up', 'mtu': '9100'} if min_links != 0: @@ -1370,7 +1378,16 @@ def add_portchannel(ctx, portchannel_name, min_links, fallback): @click.pass_context def remove_portchannel(ctx, portchannel_name): """Remove port channel""" + if is_portchannel_name_valid(portchannel_name) != True: + ctx.fail("{} is invalid!, name should have prefix '{}' and suffix '{}'" + .format(portchannel_name, CFG_PORTCHANNEL_PREFIX, CFG_PORTCHANNEL_NO)) + db = ctx.obj['db'] + + # Dont proceed if the port channel does not exist + if is_portchannel_present_in_db(db, portchannel_name) is False: + ctx.fail("{} is not present.".format(portchannel_name)) + if len([(k, v) for k, v in db.get_table('PORTCHANNEL_MEMBER') if k == portchannel_name]) != 0: click.echo("Error: Portchannel {} contains members. Remove members before deleting Portchannel!".format(portchannel_name)) else: diff --git a/tests/portchannel_test.py b/tests/portchannel_test.py index a07e205392..1ccf19495f 100644 --- a/tests/portchannel_test.py +++ b/tests/portchannel_test.py @@ -13,6 +13,54 @@ def setup_class(cls): os.environ['UTILITIES_UNIT_TESTING'] = "1" print("SETUP") + def test_add_portchannel_with_invalid_name(self): + runner = CliRunner() + db = Db() + obj = {'db':db.cfgdb} + + # add a portchannel with invalid name + result = runner.invoke(config.config.commands["portchannel"].commands["add"], ["PortChan005"], obj=obj) + print(result.exit_code) + print(result.output) + assert result.exit_code != 0 + assert "Error: PortChan005 is invalid!, name should have prefix 'PortChannel' and suffix '<0-9999>'" in result.output + + def test_delete_portchannel_with_invalid_name(self): + runner = CliRunner() + db = Db() + obj = {'db':db.cfgdb} + + # delete a portchannel with invalid name + result = runner.invoke(config.config.commands["portchannel"].commands["del"], ["PortChan005"], obj=obj) + print(result.exit_code) + print(result.output) + assert result.exit_code != 0 + assert "Error: PortChan005 is invalid!, name should have prefix 'PortChannel' and suffix '<0-9999>'" in result.output + + def test_add_existing_portchannel_again(self): + runner = CliRunner() + db = Db() + obj = {'db':db.cfgdb} + + # add a portchannel which is already created + result = runner.invoke(config.config.commands["portchannel"].commands["add"], ["PortChannel0001"], obj=obj) + print(result.exit_code) + print(result.output) + assert result.exit_code != 0 + assert "Error: PortChannel0001 already exists!" in result.output + + def test_delete_non_existing_portchannel(self): + runner = CliRunner() + db = Db() + obj = {'db':db.cfgdb} + + # delete a portchannel which is not present + result = runner.invoke(config.config.commands["portchannel"].commands["del"], ["PortChannel0005"], obj=obj) + print(result.exit_code) + print(result.output) + assert result.exit_code != 0 + assert "Error: PortChannel0005 is not present." in result.output + def test_add_portchannel_member_with_invalid_name(self): runner = CliRunner() db = Db() From 37695c83cf86b7a163fcf2ffef949b116fe9d2b9 Mon Sep 17 00:00:00 2001 From: Tamer Ahmed Date: Wed, 20 Jan 2021 10:59:26 -0800 Subject: [PATCH 041/342] [show]: Use TCP Connection For Muxcable Commands (#1371) Unix domain sockets require privileged access while show command could be run by ro user. Switch muxcable show command to use TCP connection to work with ro user. signed-off-by: Tamer Ahmed --- show/muxcable.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/show/muxcable.py b/show/muxcable.py index 3b65e4b638..0a099105f8 100644 --- a/show/muxcable.py +++ b/show/muxcable.py @@ -131,7 +131,7 @@ def status(port, json_output): namespaces = multi_asic.get_front_end_namespaces() for namespace in namespaces: asic_id = multi_asic.get_asic_index_from_namespace(namespace) - per_npu_statedb[asic_id] = swsscommon.SonicV2Connector(use_unix_socket_path=True, namespace=namespace) + per_npu_statedb[asic_id] = swsscommon.SonicV2Connector(use_unix_socket_path=False, namespace=namespace) per_npu_statedb[asic_id].connect(per_npu_statedb[asic_id].STATE_DB) port_table_keys[asic_id] = per_npu_statedb[asic_id].keys( @@ -233,7 +233,7 @@ def config(port, json_output): # TO-DO replace the macros with correct swsscommon names #config_db[asic_id] = swsscommon.DBConnector("CONFIG_DB", REDIS_TIMEOUT_MSECS, True, namespace) #mux_tbl_cfg_db[asic_id] = swsscommon.Table(config_db[asic_id], swsscommon.CFG_MUX_CABLE_TABLE_NAME) - per_npu_configdb[asic_id] = ConfigDBConnector(use_unix_socket_path=True, namespace=namespace) + per_npu_configdb[asic_id] = ConfigDBConnector(use_unix_socket_path=False, namespace=namespace) per_npu_configdb[asic_id].connect() mux_tbl_cfg_db[asic_id] = per_npu_configdb[asic_id].get_table("MUX_CABLE") peer_switch_tbl_cfg_db[asic_id] = per_npu_configdb[asic_id].get_table("PEER_SWITCH") From f4edba16bb049c938ef3dfee1a4e46b19dcaeb54 Mon Sep 17 00:00:00 2001 From: Mahesh Maddikayala <10645050+smaheshm@users.noreply.github.com> Date: Wed, 20 Jan 2021 15:31:50 -0800 Subject: [PATCH 042/342] [ecnconfig] handle backend port names when extracting port I/F ID from the port name (#1361) --- scripts/ecnconfig | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/scripts/ecnconfig b/scripts/ecnconfig index 96061dc5d1..f2e05376ec 100755 --- a/scripts/ecnconfig +++ b/scripts/ecnconfig @@ -198,7 +198,11 @@ class EcnQ(object): port_table = self.config_db.get_table(DEVICE_NEIGHBOR_TABLE_NAME) self.ports_key = port_table.keys() - self.ports_key = sorted(self.ports_key, key = lambda k: int(k[8:])) + # In multi-ASIC platforms backend ethernet ports are identified as + # 'Ethernet-BPxy'. Add 1024 to sort backend ports to the end. + self.ports_key.sort( + key = lambda k: int(k[8:]) if "BP" not in k else int(k[11:]) + 1024 + ) def set(self, enable): if os.geteuid() != 0: From 23e092074f73e515e39cf3378138a9bf630ca829 Mon Sep 17 00:00:00 2001 From: shlomibitton <60430976+shlomibitton@users.noreply.github.com> Date: Thu, 21 Jan 2021 10:42:59 +0200 Subject: [PATCH 043/342] [sfpshow] Enhance QSFP-DD DOM information (#1207) New driver support fetching additional pages from the cable EEPROM. There are additional information to parse now: RX/TX power, TX bias, TX fault and RX LOS. Signed-off-by: Shlomi Bitton --- scripts/sfpshow | 62 ++++++++++++++++--- tests/mock_tables/state_db.json | 66 ++++++++++++++++++++ tests/sfp_test.py | 106 ++++++++++++++++++++++++++++++++ 3 files changed, 224 insertions(+), 10 deletions(-) diff --git a/scripts/sfpshow b/scripts/sfpshow index 5b6ee83033..64ec647078 100755 --- a/scripts/sfpshow +++ b/scripts/sfpshow @@ -97,6 +97,19 @@ qsfp_dom_channel_monitor_map = {'rx1power': 'RX1Power', 'rx2power': 'RX2Power', 'tx1power': 'TX1Power', 'tx2power': 'TX2Power', 'tx3power': 'TX3Power', 'tx4power': 'TX4Power'} +qsfp_dd_dom_channel_monitor_map = {'rx1power': 'RX1Power', 'rx2power': 'RX2Power', + 'rx3power': 'RX3Power', 'rx4power': 'RX4Power', + 'rx5power': 'RX5Power', 'rx6power': 'RX6Power', + 'rx7power': 'RX7Power', 'rx8power': 'RX8Power', + 'tx1bias': 'TX1Bias', 'tx2bias': 'TX2Bias', + 'tx3bias': 'TX3Bias', 'tx4bias': 'TX4Bias', + 'tx5bias': 'TX5Bias', 'tx6bias': 'TX6Bias', + 'tx7bias': 'TX7Bias', 'tx8bias': 'TX8Bias', + 'tx1power': 'TX1Power', 'tx2power': 'TX2Power', + 'tx3power': 'TX3Power', 'tx4power': 'TX4Power', + 'tx5power': 'TX5Power', 'tx6power': 'TX6Power', + 'tx7power': 'TX7Power', 'tx8power': 'TX8Power'} + dom_module_monitor_map = {'temperature': 'Temperature', 'voltage': 'Vcc'} dom_channel_threshold_unit_map = { @@ -133,6 +146,20 @@ dom_value_unit_map = {'rx1power': 'dBm', 'rx2power': 'dBm', 'tx3power': 'dBm', 'tx4power': 'dBm', 'temperature': 'C', 'voltage': 'Volts'} +qsfp_dd_dom_value_unit_map = {'rx1power': 'dBm', 'rx2power': 'dBm', + 'rx3power': 'dBm', 'rx4power': 'dBm', + 'rx5power': 'dBm', 'rx6power': 'dBm', + 'rx7power': 'dBm', 'rx8power': 'dBm', + 'tx1bias': 'mA', 'tx2bias': 'mA', + 'tx3bias': 'mA', 'tx4bias': 'mA', + 'tx5bias': 'mA', 'tx6bias': 'mA', + 'tx7bias': 'mA', 'tx8bias': 'mA', + 'tx1power': 'dBm', 'tx2power': 'dBm', + 'tx3power': 'dBm', 'tx4power': 'dBm', + 'tx5power': 'dBm', 'tx6power': 'dBm', + 'tx7power': 'dBm', 'tx8power': 'dBm', + 'temperature': 'C', 'voltage': 'Volts'} + def display_invalid_intf_eeprom(intf_name): output = intf_name + ': ' + 'SFP EEPROM Not detected' + '\n' click.echo(output) @@ -186,22 +213,37 @@ class SFPShow(object): if sfp_type.startswith('QSFP'): #Channel Monitor - out_put_dom = (out_put_dom + ident + 'ChannelMonitorValues' - + newline_ident) - sorted_key_table = natsorted(qsfp_dom_channel_monitor_map) - out_put_channel = self.format_dict_value_to_string( - sorted_key_table, dom_info_dict, - qsfp_dom_channel_monitor_map, - dom_value_unit_map) - out_put_dom = out_put_dom + out_put_channel + if sfp_type.startswith('QSFP-DD'): + out_put_dom = (out_put_dom + ident + 'ChannelMonitorValues' + + newline_ident) + sorted_key_table = natsorted(qsfp_dd_dom_channel_monitor_map) + out_put_channel = self.format_dict_value_to_string( + sorted_key_table, dom_info_dict, + qsfp_dd_dom_channel_monitor_map, + qsfp_dd_dom_value_unit_map) + out_put_dom = out_put_dom + out_put_channel + else: + out_put_dom = (out_put_dom + ident + 'ChannelMonitorValues' + + newline_ident) + sorted_key_table = natsorted(qsfp_dom_channel_monitor_map) + out_put_channel = self.format_dict_value_to_string( + sorted_key_table, dom_info_dict, + qsfp_dom_channel_monitor_map, + dom_value_unit_map) + out_put_dom = out_put_dom + out_put_channel #Channel Threshold + if sfp_type.startswith('QSFP-DD'): + dom_map = sfp_dom_channel_threshold_map + else: + dom_map = qsfp_dom_channel_threshold_map + out_put_dom = (out_put_dom + ident + 'ChannelThresholdValues' + newline_ident) - sorted_key_table = natsorted(qsfp_dom_channel_threshold_map) + sorted_key_table = natsorted(dom_map) out_put_channel_threshold = self.format_dict_value_to_string( sorted_key_table, dom_info_dict, - qsfp_dom_channel_threshold_map, + dom_map, dom_channel_threshold_unit_map, channel_threshold_align) out_put_dom = out_put_dom + out_put_channel_threshold diff --git a/tests/mock_tables/state_db.json b/tests/mock_tables/state_db.json index c7d56da133..cd92dda583 100644 --- a/tests/mock_tables/state_db.json +++ b/tests/mock_tables/state_db.json @@ -49,6 +49,72 @@ "vcclowalarm": "2.9700", "vcclowwarning": "3.1349" }, + "TRANSCEIVER_INFO|Ethernet8": { + "type": "QSFP-DD Double Density 8X Pluggable Transceiver", + "hardware_rev": "2A", + "serial": "INKAO2900002A", + "manufacturer": "INNOLIGHT", + "model": "C-DQ8FNM010-N00", + "vendor_oui": "44-7c-7f", + "vendor_date": "2020-05-22 ", + "connector": "No separable connector", + "encoding": "Not supported for CMIS cables", + "ext_identifier": "Power Class 1(10.0W Max)", + "ext_rateselect_compliance": "Not supported for CMIS cables", + "cable_type": "Length Cable Assembly(m)", + "cable_length": "10", + "specification_compliance": "Not supported for CMIS cables", + "nominal_bit_rate": "Not supported for CMIS cables", + "application_advertisement": "400GAUI-8 C2M (Annex 120E) - Active Cable assembly with BER < 2.6x10^-4\n\t\t\t\t IB EDR (Arch.Spec.Vol.2) - Active Cable assembly with BER < 5x10^-5\n\t\t\t\t IB QDR (Arch.Spec.Vol.2) - Active Cable assembly with BER < 10^-12\n\t\t\t\t " + }, + "TRANSCEIVER_DOM_SENSOR|Ethernet8": { + "temperature": "44.9883", + "voltage": "3.2999", + "rx1power": "-3.8595", + "rx2power": "8.1478", + "rx3power": "-22.9243", + "rx4power": "1.175", + "rx5power": "1.2421", + "rx6power": "8.1489", + "rx7power": "-3.5962", + "rx8power": "-3.6131", + "tx1bias": "17.4760", + "tx2bias": "17.4760", + "tx3bias": "0.0000", + "tx4bias": "0.0000", + "tx5bias": "0.0000", + "tx6bias": "8.2240", + "tx7bias": "8.2240", + "tx8bias": "8.2240", + "tx1power": "1.175", + "tx2power": "1.175", + "tx3power": "1.175", + "tx4power": "1.175", + "tx5power": "1.175", + "tx6power": "1.175", + "tx7power": "1.175", + "tx8power": "1.175", + "rxpowerhighalarm": "6.9999", + "rxpowerhighwarning": "4.9999", + "rxpowerlowalarm": "-11.9044", + "rxpowerlowwarning": "-8.9008", + "txbiashighalarm": "14.9960", + "txbiashighwarning": "12.9980", + "txbiaslowalarm": "4.4960", + "txbiaslowwarning": "5.0000", + "temphighalarm": "80.0000", + "temphighwarning": "75.0000", + "templowalarm": "-10.0000", + "templowwarning": "-5.0000", + "vcchighalarm": "3.6352", + "vcchighwarning": "3.4672", + "vcclowalarm": "2.9696", + "vcclowwarning": "3.1304", + "txpowerhighalarm": "6.9999", + "txpowerhighwarning": "4.9999", + "txpowerlowalarm": "-10.5012", + "txpowerlowwarning": "-7.5007" + }, "CHASSIS_INFO|chassis 1": { "psu_num": "2" }, diff --git a/tests/sfp_test.py b/tests/sfp_test.py index 168f8fcbd1..3cbd9ecda8 100644 --- a/tests/sfp_test.py +++ b/tests/sfp_test.py @@ -61,6 +61,78 @@ VccLowWarning : 3.1349Volts """ +test_qsfp_dd_eeprom_with_dom_output = """\ +Ethernet8: SFP EEPROM detected + Application Advertisement: 400GAUI-8 C2M (Annex 120E) - Active Cable assembly with BER < 2.6x10^-4 + IB EDR (Arch.Spec.Vol.2) - Active Cable assembly with BER < 5x10^-5 + IB QDR (Arch.Spec.Vol.2) - Active Cable assembly with BER < 10^-12 + + Connector: No separable connector + Encoding: Not supported for CMIS cables + Extended Identifier: Power Class 1(10.0W Max) + Extended RateSelect Compliance: Not supported for CMIS cables + Identifier: QSFP-DD Double Density 8X Pluggable Transceiver + Length Cable Assembly(m): 10 + Nominal Bit Rate(100Mbs): Not supported for CMIS cables + Specification compliance: Not supported for CMIS cables + Vendor Date Code(YYYY-MM-DD Lot): 2020-05-22 + Vendor Name: INNOLIGHT + Vendor OUI: 44-7c-7f + Vendor PN: C-DQ8FNM010-N00 + Vendor Rev: 2A + Vendor SN: INKAO2900002A + ChannelMonitorValues: + RX1Power: -3.8595dBm + RX2Power: 8.1478dBm + RX3Power: -22.9243dBm + RX4Power: 1.175dBm + RX5Power: 1.2421dBm + RX6Power: 8.1489dBm + RX7Power: -3.5962dBm + RX8Power: -3.6131dBm + TX1Bias: 17.4760mA + TX1Power: 1.175dBm + TX2Bias: 17.4760mA + TX2Power: 1.175dBm + TX3Bias: 0.0000mA + TX3Power: 1.175dBm + TX4Bias: 0.0000mA + TX4Power: 1.175dBm + TX5Bias: 0.0000mAmA + TX5Power: 1.175dBm + TX6Bias: 8.2240mAmA + TX6Power: 1.175dBm + TX7Bias: 8.2240mAmA + TX7Power: 1.175dBm + TX8Bias: 8.2240mAmA + TX8Power: 1.175dBm + ChannelThresholdValues: + RxPowerHighAlarm : 6.9999dBm + RxPowerHighWarning: 4.9999dBm + RxPowerLowAlarm : -11.9044dBm + RxPowerLowWarning : -8.9008dBm + TxBiasHighAlarm : 14.9960mA + TxBiasHighWarning : 12.9980mA + TxBiasLowAlarm : 4.4960mA + TxBiasLowWarning : 5.0000mA + TxPowerHighAlarm : 6.9999dBm + TxPowerHighWarning: 4.9999dBm + TxPowerLowAlarm : -10.5012dBm + TxPowerLowWarning : -7.5007dBm + ModuleMonitorValues: + Temperature: 44.9883C + Vcc: 3.2999Volts + ModuleThresholdValues: + TempHighAlarm : 80.0000C + TempHighWarning: 75.0000C + TempLowAlarm : -10.0000C + TempLowWarning : -5.0000C + VccHighAlarm : 3.6352Volts + VccHighWarning : 3.4672Volts + VccLowAlarm : 2.9696Volts + VccLowWarning : 3.1304Volts +""" + test_sfp_eeprom_output = """\ Ethernet0: SFP EEPROM detected Application Advertisement: N/A @@ -81,6 +153,28 @@ Vendor SN: MT1706FT02064 """ +test_qsfp_dd_eeprom_output = """\ +Ethernet8: SFP EEPROM detected + Application Advertisement: 400GAUI-8 C2M (Annex 120E) - Active Cable assembly with BER < 2.6x10^-4 + IB EDR (Arch.Spec.Vol.2) - Active Cable assembly with BER < 5x10^-5 + IB QDR (Arch.Spec.Vol.2) - Active Cable assembly with BER < 10^-12 + + Connector: No separable connector + Encoding: Not supported for CMIS cables + Extended Identifier: Power Class 1(10.0W Max) + Extended RateSelect Compliance: Not supported for CMIS cables + Identifier: QSFP-DD Double Density 8X Pluggable Transceiver + Length Cable Assembly(m): 10 + Nominal Bit Rate(100Mbs): Not supported for CMIS cables + Specification compliance: Not supported for CMIS cables + Vendor Date Code(YYYY-MM-DD Lot): 2020-05-22 + Vendor Name: INNOLIGHT + Vendor OUI: 44-7c-7f + Vendor PN: C-DQ8FNM010-N00 + Vendor Rev: 2A + Vendor SN: INKAO2900002A +""" + test_sfp_eeprom_dom_all_output = """\ Ethernet0: SFP EEPROM detected Application Advertisement: N/A @@ -260,6 +354,12 @@ def test_sfp_eeprom_with_dom(self): assert result.exit_code == 0 assert "\n".join([ l.rstrip() for l in result.output.split('\n')]) == test_sfp_eeprom_with_dom_output + def test_qsfp_dd_eeprom_with_dom(self): + runner = CliRunner() + result = runner.invoke(show.cli.commands["interfaces"].commands["transceiver"].commands["eeprom"], ["Ethernet8 -d"]) + assert result.exit_code == 0 + assert "result.output == test_qsfp_dd_eeprom_with_dom_output" + def test_sfp_eeprom(self): runner = CliRunner() result = runner.invoke(show.cli.commands["interfaces"].commands["transceiver"].commands["eeprom"], ["Ethernet0"]) @@ -271,6 +371,12 @@ def test_sfp_eeprom(self): expected = "Ethernet200: SFP EEPROM Not detected" assert result_lines == expected + def test_qsfp_dd_eeprom(self): + runner = CliRunner() + result = runner.invoke(show.cli.commands["interfaces"].commands["transceiver"].commands["eeprom"], ["Ethernet8"]) + assert result.exit_code == 0 + assert "result.output == test_qsfp_dd_eeprom_output" + @classmethod def teardown_class(cls): print("TEARDOWN") From b082684271b18288baff8f7f26141593ee041763 Mon Sep 17 00:00:00 2001 From: Neetha John Date: Thu, 21 Jan 2021 09:59:15 -0800 Subject: [PATCH 044/342] [ecn] Add tests for ecnconfig command (#1372) - What I did Added unit tests for ecnconfig command Updated 'show ecn' command to use run_command wrapper Updated 'config ecn' command to allow configuration of drop probabilities Cleanup trailing spaces in ecnconfig script and add hooks to support unit tests - How to verify it Ran the new ecn_test.py and it passed Signed-off-by: Neetha John --- config/main.py | 8 +- scripts/ecnconfig | 66 +++++++++++++---- setup.py | 3 +- show/main.py | 8 +- tests/ecn_input/__init__.py | 0 tests/ecn_input/ecn_test_vectors.py | 105 ++++++++++++++++++++++++++ tests/ecn_test.py | 111 ++++++++++++++++++++++++++++ tests/mock_tables/config_db.json | 15 ++++ 8 files changed, 295 insertions(+), 21 deletions(-) create mode 100644 tests/ecn_input/__init__.py create mode 100644 tests/ecn_input/ecn_test_vectors.py create mode 100644 tests/ecn_test.py diff --git a/config/main.py b/config/main.py index 57d15a75c7..34d01955f2 100644 --- a/config/main.py +++ b/config/main.py @@ -3533,8 +3533,11 @@ def remove_reasons(counter_name, reasons, verbose): @click.option('-ymin', metavar='', type=int, help="Set yellow min threshold") @click.option('-gmax', metavar='', type=int, help="Set green max threshold") @click.option('-gmin', metavar='', type=int, help="Set green min threshold") +@click.option('-rdrop', metavar='', type=click.IntRange(0, 100), help="Set red drop probability") +@click.option('-ydrop', metavar='', type=click.IntRange(0, 100), help="Set yellow drop probability") +@click.option('-gdrop', metavar='', type=click.IntRange(0, 100), help="Set green drop probability") @click.option('-v', '--verbose', is_flag=True, help="Enable verbose output") -def ecn(profile, rmax, rmin, ymax, ymin, gmax, gmin, verbose): +def ecn(profile, rmax, rmin, ymax, ymin, gmax, gmin, rdrop, ydrop, gdrop, verbose): """ECN-related configuration tasks""" log.log_info("'ecn -profile {}' executing...".format(profile)) command = "ecnconfig -p %s" % profile @@ -3544,6 +3547,9 @@ def ecn(profile, rmax, rmin, ymax, ymin, gmax, gmin, verbose): if ymin is not None: command += " -ymin %d" % ymin if gmax is not None: command += " -gmax %d" % gmax if gmin is not None: command += " -gmin %d" % gmin + if rdrop is not None: command += " -rdrop %d" % rdrop + if ydrop is not None: command += " -ydrop %d" % ydrop + if gdrop is not None: command += " -gdrop %d" % gdrop if verbose: command += " -vv" clicommon.run_command(command, display_cmd=verbose) diff --git a/scripts/ecnconfig b/scripts/ecnconfig index f2e05376ec..cdebf21e79 100755 --- a/scripts/ecnconfig +++ b/scripts/ecnconfig @@ -48,12 +48,25 @@ ECN status: queue 3: on """ import argparse +import json import os import sys import swsssdk from tabulate import tabulate +# mock the redis for unit test purposes # +try: + if os.environ["UTILITIES_UNIT_TESTING"] == "2": + modules_path = os.path.join(os.path.dirname(__file__), "..") + tests_path = os.path.join(modules_path, "tests") + sys.path.insert(0, modules_path) + sys.path.insert(0, tests_path) + import mock_tables.dbconnector + +except KeyError: + pass + WRED_PROFILE_TABLE_NAME = "WRED_PROFILE" WRED_CONFIG_FIELDS = { "gmax": "green_max_threshold", @@ -78,11 +91,12 @@ lossless_queues = ['3', '4'] class EcnConfig(object): """ - Process aclstat + Process ecnconfig """ - def __init__(self, verbose): + def __init__(self, filename, verbose): self.ports = [] self.queues = [] + self.filename = filename self.verbose = verbose # Set up db connections @@ -109,8 +123,8 @@ class EcnConfig(object): for profile_name, profile_data in wred_profiles.items(): if profile_name == profile: - return profile_data - + return profile_data + return None def validate_profile_data(self, profile_data): @@ -125,7 +139,7 @@ class EcnConfig(object): if 'threshold' in field: if value.isdigit() == False: print("Invalid %s (%s). %s should be an non-negative integer." % (key, value, key)) - result = False + result = False elif 'probability' in field: if value.isdigit() == False or int(value) < 0 or int(value) > 100: @@ -133,9 +147,9 @@ class EcnConfig(object): result = False if result == False: - return result + return result - # check if min threshold is no larger than max threshold + # check if min threshold is no larger than max threshold colors = ['g', 'y', 'r'] for color in colors: if (WRED_CONFIG_FIELDS[color + 'min'] in profile_data and @@ -145,11 +159,11 @@ class EcnConfig(object): max_thresh = int(profile_data[WRED_CONFIG_FIELDS[color + 'max']]) if min_thresh > max_thresh: - print("Invalid %s (%d) and %s (%d). %s should be no smaller than %s" % + print("Invalid %s (%d) and %s (%d). %s should be smaller than %s" % (color + 'min', min_thresh, color + 'max', max_thresh, color + 'min', color + 'max')) - result = False + result = False - return result + return result def set_wred_threshold(self, profile, threshold, value): if os.geteuid() != 0: @@ -159,15 +173,23 @@ class EcnConfig(object): if self.verbose: print("Setting %s value to %s" % (field, value)) self.db.mod_entry(WRED_PROFILE_TABLE_NAME, profile, {field: value}) + if self.filename is not None: + prof_table = self.db.get_table(WRED_PROFILE_TABLE_NAME) + with open(self.filename, "w") as fd: + json.dump(prof_table, fd) def set_wred_prob(self, profile, drop_color, value): if os.geteuid() != 0: sys.exit("Root privileges required for this operation") - + field = WRED_CONFIG_FIELDS[drop_color] if self.verbose: print("Setting %s value to %s%%" % (field, value)) self.db.mod_entry(WRED_PROFILE_TABLE_NAME, profile, {field: value}) + if self.filename is not None: + prof_table = self.db.get_table(WRED_PROFILE_TABLE_NAME) + with open(self.filename, "w") as fd: + json.dump(prof_table, fd) class EcnQ(object): """ @@ -253,21 +275,35 @@ def main(): parser.add_argument('command', nargs='?', choices=['on', 'off'], type=str, help='turn on/off ecn', default=None) parser.add_argument('-q', '--queue', type=str, help='specify queue index list: 3,4', default=None) + parser.add_argument('-f', '--filename', help='file used by mock tests', type=str, default=None) + + if os.environ.get("UTILITIES_UNIT_TESTING", "0") == "2": + sys.argv.extend(['-f', '/tmp/ecnconfig']) args = parser.parse_args() try: if args.list or args.profile: - prof_cfg = EcnConfig(args.verbose) + prof_cfg = EcnConfig(args.filename, args.verbose) if args.list: - if len(sys.argv) > (3 if args.verbose else 2): + arg_len_max = 2 + if args.verbose: + arg_len_max += 1 + if args.filename: + arg_len_max += 2 + if len(sys.argv) > arg_len_max: raise Exception("Input arguments error. No set options allowed when -l[ist] specified") prof_cfg.list() elif args.profile: - if len(sys.argv) < (5 if args.verbose else 4): + arg_len_min = 4 + if args.verbose: + arg_len_min += 1 + if args.filename: + arg_len_min += 2 + if len(sys.argv) < arg_len_min: raise Exception("Input arguments error. Specify at least one threshold parameter to set") - # get current configuration data + # get current configuration data wred_profile_data = prof_cfg.get_profile_data(args.profile) if wred_profile_data is None: raise Exception("Input arguments error. Invalid WRED profile %s" % (args.profile)) diff --git a/setup.py b/setup.py index adb725727b..2af6829029 100644 --- a/setup.py +++ b/setup.py @@ -61,7 +61,8 @@ 'mock_tables/asic2/*.json', 'filter_fdb_input/*', 'pfcwd_input/*', - 'wm_input/*'] + 'wm_input/*', + 'ecn_input/*'] }, scripts=[ 'scripts/aclshow', diff --git a/show/main.py b/show/main.py index bd4ed3837c..bce69063ed 100644 --- a/show/main.py +++ b/show/main.py @@ -15,7 +15,7 @@ from utilities_common.db import Db from . import acl -from . import bgp_common +from . import bgp_common from . import chassis_modules from . import dropcounters from . import feature @@ -1449,11 +1449,11 @@ def policer(policer_name, verbose): # 'ecn' command ("show ecn") # @cli.command('ecn') -def ecn(): +@click.option('--verbose', is_flag=True, help="Enable verbose output") +def ecn(verbose): """Show ECN configuration""" cmd = "ecnconfig -l" - proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True, text=True) - click.echo(proc.stdout.read()) + run_command(cmd, display_cmd=verbose) # diff --git a/tests/ecn_input/__init__.py b/tests/ecn_input/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/ecn_input/ecn_test_vectors.py b/tests/ecn_input/ecn_test_vectors.py new file mode 100644 index 0000000000..44bc9ad153 --- /dev/null +++ b/tests/ecn_input/ecn_test_vectors.py @@ -0,0 +1,105 @@ +ecn_show_config_output="""\ +Profile: AZURE_LOSSLESS +----------------------- ------- +red_max_threshold 2097152 +wred_green_enable true +ecn ecn_all +green_min_threshold 1048576 +red_min_threshold 1048576 +wred_yellow_enable true +yellow_min_threshold 1048576 +green_max_threshold 2097152 +green_drop_probability 5 +yellow_max_threshold 2097152 +wred_red_enable true +yellow_drop_probability 5 +red_drop_probability 5 +----------------------- ------- + +""" + +testData = { + 'ecn_show_config' : {'cmd' : ['show'], + 'args' : [], + 'rc' : 0, + 'rc_output': ecn_show_config_output + }, + 'ecn_cfg_gmin' : {'cmd' : ['config'], + 'args' : ['-profile', 'AZURE_LOSSLESS', '-gmin', '1048600'], + 'rc' : 0, + 'cmp_args' : ['AZURE_LOSSLESS,green_min_threshold,1048600'] + }, + 'ecn_cfg_gmax' : {'cmd' : ['config'], + 'args' : ['-profile', 'AZURE_LOSSLESS', '-gmax', '2097153'], + 'rc' : 0, + 'cmp_args' : ['AZURE_LOSSLESS,green_max_threshold,2097153'] + }, + 'ecn_cfg_ymin' : {'cmd' : ['config'], + 'args' : ['-profile', 'AZURE_LOSSLESS', '-ymin', '1048600'], + 'rc' : 0, + 'cmp_args' : ['AZURE_LOSSLESS,yellow_min_threshold,1048600'] + }, + 'ecn_cfg_ymax' : {'cmd' : ['config'], + 'args' : ['-profile', 'AZURE_LOSSLESS', '-ymax', '2097153'], + 'rc' : 0, + 'cmp_args' : ['AZURE_LOSSLESS,yellow_max_threshold,2097153'] + }, + 'ecn_cfg_rmin' : {'cmd' : ['config'], + 'args' : ['-profile', 'AZURE_LOSSLESS', '-rmin', '1048600'], + 'rc' : 0, + 'cmp_args' : ['AZURE_LOSSLESS,red_min_threshold,1048600'] + }, + 'ecn_cfg_rmax' : {'cmd' : ['config'], + 'args' : ['-profile', 'AZURE_LOSSLESS', '-rmax', '2097153'], + 'rc' : 0, + 'cmp_args' : ['AZURE_LOSSLESS,red_max_threshold,2097153'] + }, + 'ecn_cfg_rdrop' : {'cmd' : ['config'], + 'args' : ['-profile', 'AZURE_LOSSLESS', '-rdrop', '10'], + 'rc' : 0, + 'cmp_args' : ['AZURE_LOSSLESS,red_drop_probability,10'] + }, + 'ecn_cfg_ydrop' : {'cmd' : ['config'], + 'args' : ['-profile', 'AZURE_LOSSLESS', '-ydrop', '11'], + 'rc' : 0, + 'cmp_args' : ['AZURE_LOSSLESS,yellow_drop_probability,11'] + }, + 'ecn_cfg_gdrop' : {'cmd' : ['config'], + 'args' : ['-profile', 'AZURE_LOSSLESS', '-gdrop', '12'], + 'rc' : 0, + 'cmp_args' : ['AZURE_LOSSLESS,green_drop_probability,12'] + }, + 'ecn_cfg_multi_set' : {'cmd' : ['config'], + 'args' : ['-profile', 'AZURE_LOSSLESS', '-gdrop', '12', '-gmax', '2097153'], + 'rc' : 0, + 'cmp_args' : ['AZURE_LOSSLESS,green_drop_probability,12', + 'AZURE_LOSSLESS,green_max_threshold,2097153' + ] + }, + 'ecn_cfg_gmin_gmax_invalid' : {'cmd' : ['config'], + 'args' : ['-profile', 'AZURE_LOSSLESS', '-gmax', '2097153', '-gmin', '2097154'], + 'rc' : 1, + 'rc_msg' : 'Invalid gmin (2097154) and gmax (2097153). gmin should be smaller than gmax' + }, + 'ecn_cfg_ymin_ymax_invalid' : {'cmd' : ['config'], + 'args' : ['-profile', 'AZURE_LOSSLESS', '-ymax', '2097153', '-ymin', '2097154'], + 'rc' : 1, + 'rc_msg' : 'Invalid ymin (2097154) and ymax (2097153). ymin should be smaller than ymax' + }, + 'ecn_cfg_rmin_rmax_invalid' : {'cmd' : ['config'], + 'args' : ['-profile', 'AZURE_LOSSLESS', '-rmax', '2097153', '-rmin', '2097154'], + 'rc' : 1, + 'rc_msg' : 'Invalid rmin (2097154) and rmax (2097153). rmin should be smaller than rmax' + }, + 'ecn_cfg_rmax_invalid' : {'cmd' : ['config'], + 'args' : ['-profile', 'AZURE_LOSSLESS', '-rmax', '-2097153'], + 'rc' : 1, + 'rc_msg' : 'Invalid rmax (-2097153). rmax should be an non-negative integer' + }, + 'ecn_cfg_rdrop_invalid' : {'cmd' : ['config'], + 'args' : ['-profile', 'AZURE_LOSSLESS', '-rdrop', '105'], + 'rc' : 1, + 'rc_msg' : 'Invalid value for "-rdrop": 105 is not in the valid range of 0 to 100' + } + + } diff --git a/tests/ecn_test.py b/tests/ecn_test.py new file mode 100644 index 0000000000..1a0b54c32b --- /dev/null +++ b/tests/ecn_test.py @@ -0,0 +1,111 @@ +import json +import os +import sys + +from click.testing import CliRunner + +import config.main as config +from .ecn_input.ecn_test_vectors import * +import show.main as show + +test_path = os.path.dirname(os.path.abspath(__file__)) +modules_path = os.path.dirname(test_path) +scripts_path = os.path.join(modules_path, "scripts") +sys.path.insert(0, test_path) +sys.path.insert(0, modules_path) + + +class TestEcnConfig(object): + @classmethod + def setup_class(cls): + os.environ["PATH"] += os.pathsep + scripts_path + os.environ['UTILITIES_UNIT_TESTING'] = "2" + print("SETUP") + + def test_ecn_show_config(self): + self.executor(testData['ecn_show_config']) + + def test_ecn_config_gmin(self): + self.executor(testData['ecn_cfg_gmin']) + + def test_ecn_config_gmax(self): + self.executor(testData['ecn_cfg_gmax']) + + def test_ecn_config_ymin(self): + self.executor(testData['ecn_cfg_ymin']) + + def test_ecn_config_ymax(self): + self.executor(testData['ecn_cfg_ymax']) + + def test_ecn_config_rmin(self): + self.executor(testData['ecn_cfg_gmin']) + + def test_ecn_config_rmax(self): + self.executor(testData['ecn_cfg_gmax']) + + def test_ecn_config_gdrop(self): + self.executor(testData['ecn_cfg_gdrop']) + + def test_ecn_config_ydrop(self): + self.executor(testData['ecn_cfg_ydrop']) + + def test_ecn_config_rdrop(self): + self.executor(testData['ecn_cfg_rdrop']) + + def test_ecn_config_multi_set(self): + self.executor(testData['ecn_cfg_multi_set']) + + def test_ecn_config_gmin_gmax_invalid(self): + self.executor(testData['ecn_cfg_gmin_gmax_invalid']) + + def test_ecn_config_ymin_ymax_invalid(self): + self.executor(testData['ecn_cfg_ymin_ymax_invalid']) + + def test_ecn_config_rmin_rmax_invalid(self): + self.executor(testData['ecn_cfg_rmin_rmax_invalid']) + + def test_ecn_config_rmax_invalid(self): + self.executor(testData['ecn_cfg_rmax_invalid']) + + def test_ecn_config_rdrop_invalid(self): + self.executor(testData['ecn_cfg_rdrop_invalid']) + + def executor(self, input): + runner = CliRunner() + + if 'show' in input['cmd']: + exec_cmd = show.cli.commands["ecn"] + else: + exec_cmd = config.config.commands["ecn"] + + result = runner.invoke(exec_cmd, input['args']) + + print(result.exit_code) + print(result.output) + + if input['rc'] == 0: + assert result.exit_code == 0 + else: + assert result.exit_code != 0 + + if 'cmp_args' in input: + fd = open('/tmp/ecnconfig', 'r') + prof_data = json.load(fd) + for args in input['cmp_args']: + profile, name, value = args.split(',') + assert(prof_data[profile][name] == value) + fd.close() + + if 'rc_msg' in input: + assert input['rc_msg'] in result.output + + if 'rc_output' in input: + assert result.output == input['rc_output'] + + @classmethod + def teardown_class(cls): + os.environ['PATH'] = os.pathsep.join(os.environ['PATH'].split(os.pathsep)[:-1]) + os.environ['UTILITIES_UNIT_TESTING'] = "0" + if os.path.isfile('/tmp/ecnconfig'): + os.remove('/tmp/ecnconfig') + print("TEARDOWN") diff --git a/tests/mock_tables/config_db.json b/tests/mock_tables/config_db.json index a8da97f3eb..a535a93ec9 100644 --- a/tests/mock_tables/config_db.json +++ b/tests/mock_tables/config_db.json @@ -1440,5 +1440,20 @@ "insecure": "True", "disable": "False", "port": "6443" + }, + "WRED_PROFILE|AZURE_LOSSLESS": { + "red_max_threshold": "2097152", + "wred_green_enable": "true", + "ecn": "ecn_all", + "green_min_threshold": "1048576", + "red_min_threshold": "1048576", + "wred_yellow_enable": "true", + "yellow_min_threshold": "1048576", + "green_max_threshold": "2097152", + "green_drop_probability": "5", + "yellow_max_threshold": "2097152", + "wred_red_enable": "true", + "yellow_drop_probability": "5", + "red_drop_probability": "5" } } From 99c05d5146e4947d15c2b946028c4f6c52c8b850 Mon Sep 17 00:00:00 2001 From: Sumukha Tumkur Vani Date: Thu, 21 Jan 2021 14:45:31 -0800 Subject: [PATCH 045/342] add vlan_intf_object only if there are ipv4 or ipv6 mappings (#1377) --- scripts/neighbor_advertiser | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/scripts/neighbor_advertiser b/scripts/neighbor_advertiser index c7892407a4..62124c7400 100644 --- a/scripts/neighbor_advertiser +++ b/scripts/neighbor_advertiser @@ -302,17 +302,18 @@ def construct_neighbor_advertiser_slice(): ipv6_mappings.append(mapping) ctr += 1 - vlan_interface_obj = { - 'vlanId': vlan_id, - 'vxlanId': vxlan_id, - 'ipv4AddrMappings': ipv4_mappings, - 'ipv6AddrMappings': ipv6_mappings - } + if len(ipv4_mappings) > 0 or len(ipv6_mappings) > 0: + vlan_interface_obj = { + 'vlanId': vlan_id, + 'vxlanId': vxlan_id, + 'ipv4AddrMappings': ipv4_mappings, + 'ipv6AddrMappings': ipv6_mappings + } - if vxlanPort: - vlan_interface_obj['vxlanPort'] = vxlanPort + if vxlanPort: + vlan_interface_obj['vxlanPort'] = vxlanPort - vlan_interfaces_obj.append(vlan_interface_obj) + vlan_interfaces_obj.append(vlan_interface_obj) slice_obj = { 'switchInfo': switch_info_obj, From f1522b9fbde59e061849c3d8327cd875c2028472 Mon Sep 17 00:00:00 2001 From: Praveen Chaudhary Date: Thu, 21 Jan 2021 18:35:39 -0800 Subject: [PATCH 046/342] [config_mgmt.py]: Set leaf-list to empty list while port breakout. (#1268) -- Set leaf-list to empty list while port breakout, because deletions are not done to fields once set. -- Minor changes in test file. Signed-off-by: Praveen Chaudhary --- config/config_mgmt.py | 43 +++++++++++++++++++++++++++++++-------- tests/config_mgmt_test.py | 18 +++++++++++----- 2 files changed, 48 insertions(+), 13 deletions(-) diff --git a/config/config_mgmt.py b/config/config_mgmt.py index d6e25afc11..772ddd8ee8 100644 --- a/config/config_mgmt.py +++ b/config/config_mgmt.py @@ -126,7 +126,8 @@ def validateConfigData(self): try: self.sy.validate_data_tree() except Exception as e: - self.sysLog(msg='Data Validation Failed') + self.sysLog(doPrint=True, logLevel=syslog.LOG_ERR, + msg='Data Validation Failed') return False self.sysLog(msg='Data Validation successful', doPrint=True) @@ -146,7 +147,8 @@ def sysLog(self, logLevel=syslog.LOG_INFO, msg=None, doPrint=False): # log debug only if enabled if self.DEBUG == False and logLevel == syslog.LOG_DEBUG: return - if flags.interactive !=0 and doPrint == True: + # always print < Info level msg with doPrint flag + if doPrint == True and (logLevel < syslog.LOG_INFO or flags.interactive != 0): print("{}".format(msg)) syslog.openlog(self.SYSLOG_IDENTIFIER) syslog.syslog(logLevel, msg) @@ -712,18 +714,31 @@ def _deleteHandler(diff, inp, outp, config): ''' if isinstance(inp, dict): # Example Case: diff = PORT': {delete: {u'Ethernet1': {...}}}} + self.sysLog(logLevel=syslog.LOG_DEBUG, \ + msg="Delete Dict diff:{}".format(diff)) for key in diff: # make sure keys from diff are present in inp but not in outp if key in inp and key not in outp: - # assign key to None(null), redis will delete entire key - config[key] = None + if type(inp[key]) == list: + self.sysLog(logLevel=syslog.LOG_DEBUG, \ + msg="Delete List key:{}".format(key)) + # assign current lists as empty. + config[key] = [] + else: + self.sysLog(logLevel=syslog.LOG_DEBUG, \ + msg="Delete Dict key:{}".format(key)) + # assign key to None(null), redis will delete entire key + config[key] = None else: # should not happen raise Exception('Invalid deletion of {} in diff'.format(key)) elif isinstance(inp, list): - # Example case: {u'VLAN': {u'Vlan100': {'members': {delete: [(95, 'Ethernet1')]}} - # just take list from outputs + # Example case: diff: [(3, 'Ethernet10'), (2, 'Ethernet8')] + # inp:['Ethernet0', 'Ethernet4', 'Ethernet8', 'Ethernet10'] + # outp:['Ethernet0', 'Ethernet4'] + self.sysLog(logLevel=syslog.LOG_DEBUG, \ + msg="Delete List diff: {} inp:{} outp:{}".format(diff, inp, outp)) config.extend(outp) return @@ -733,9 +748,13 @@ def _insertHandler(diff, inp, outp, config): ''' if isinstance(outp, dict): # Example Case: diff = PORT': {insert: {u'Ethernet1': {...}}}} + self.sysLog(logLevel=syslog.LOG_DEBUG, \ + msg="Insert Dict diff:{}".format(diff)) for key in diff: # make sure keys are only in outp if key not in inp and key in outp: + self.sysLog(logLevel=syslog.LOG_DEBUG, \ + msg="Insert Dict key:{}".format(key)) # assign key in config same as outp config[key] = outp[key] else: @@ -743,9 +762,17 @@ def _insertHandler(diff, inp, outp, config): raise Exception('Invalid insertion of {} in diff'.format(key)) elif isinstance(outp, list): - # just take list from output - # Example case: {u'VLAN': {u'Vlan100': {'members': {insert: [(95, 'Ethernet1')]}} + # Example diff:[(2, 'Ethernet8'), (3, 'Ethernet10')] + # in:['Ethernet0', 'Ethernet4'] + # out:['Ethernet0', 'Ethernet4', 'Ethernet8', 'Ethernet10'] + self.sysLog(logLevel=syslog.LOG_DEBUG, \ + msg="Insert list diff:{} inp:{} outp:{}".format(diff, inp, outp)) config.extend(outp) + # configDb stores []->[""], i.e. empty list as list of empty + # string. While adding default config for newly created ports, + # inp can be [""], in that case remove it from delta config. + if inp == ['']: + config.remove(''); return def _recurCreateConfig(diff, inp, outp, config): diff --git a/tests/config_mgmt_test.py b/tests/config_mgmt_test.py index 24a2ad07ac..b1c794faf1 100644 --- a/tests/config_mgmt_test.py +++ b/tests/config_mgmt_test.py @@ -10,6 +10,7 @@ from unittest import TestCase from mock import MagicMock, call from json import dump +from copy import deepcopy class TestConfigMgmt(TestCase): ''' @@ -22,14 +23,14 @@ def setUp(self): return def test_config_validation(self): - curConfig = dict(configDbJson) + curConfig = deepcopy(configDbJson) self.writeJson(curConfig, config_mgmt.CONFIG_DB_JSON_FILE) cm = config_mgmt.ConfigMgmt(source=config_mgmt.CONFIG_DB_JSON_FILE) assert cm.validateConfigData() == True return def test_table_without_yang(self): - curConfig = dict(configDbJson) + curConfig = deepcopy(configDbJson) unknown = {"unknown_table": {"ukey": "uvalue"}} self.updateConfig(curConfig, unknown) self.writeJson(curConfig, config_mgmt.CONFIG_DB_JSON_FILE) @@ -38,7 +39,7 @@ def test_table_without_yang(self): return def test_search_keys(self): - curConfig = dict(configDbJson) + curConfig = deepcopy(configDbJson) self.writeJson(curConfig, config_mgmt.CONFIG_DB_JSON_FILE) cmdpb = config_mgmt.ConfigMgmtDPB(source=config_mgmt.CONFIG_DB_JSON_FILE) out = cmdpb.configWithKeys(portBreakOutConfigDbJson, \ @@ -61,7 +62,7 @@ def test_break_out(self): self.writeJson(portBreakOutConfigDbJson, \ config_mgmt.DEFAULT_CONFIG_DB_JSON_FILE) # prepare config dj json to start with - curConfig = dict(configDbJson) + curConfig = deepcopy(configDbJson) #Ethernet8: start from 4x25G-->2x50G with -f -l self.dpb_port8_4x25G_2x50G_f_l(curConfig) #Ethernet8: move from 2x50G-->1x100G without force, list deps @@ -182,6 +183,13 @@ def updateConfig(self, conf, uconf): else: if isinstance(conf[it], list) and isinstance(uconf[it], list): conf[it] = list(uconf[it]) + ''' + configDb stores []->[""], i.e. empty list as + list of empty string. So we need to replicate + same behaviour here. + ''' + if len(conf[it]) == 0: + conf[it] = [""] elif isinstance(conf[it], dict) and isinstance(uconf[it], dict): self.updateConfig(conf[it], uconf[it]) else: @@ -442,7 +450,7 @@ def dpb_port8_4x25G_2x50G_f_l(self, curConfig): 'ports': ['Ethernet0', 'Ethernet4'] }, 'NO-NSW-PACL-TEST': { - 'ports': None + 'ports': [] } }, 'INTERFACE': None, From ff226d0a9cd7829151b401573fb1e391cb10176b Mon Sep 17 00:00:00 2001 From: Eran Dahan Date: Mon, 25 Jan 2021 09:43:56 +0200 Subject: [PATCH 047/342] Prevent configuring IP interface on a port which is a member of VLAN (#1374) **- What I did** Fixed bug https://github.com/Azure/sonic-buildimage/issues/6426 Added a validation in config/main.py to prevent configuring IP interface on a port which is a member of VLAN **- How I did it** Change config/main.py **- How to verify it** Add interface as member in vlan Try to configure IP address on same interface **- Previous command output (if the output of a command-line utility has changed)** Success in the above scenario. **- New command output (if the output of a command-line utility has changed)** prevent configuration: "Interface Ethernet0 is a member of vlan Aborting!" --- config/main.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/config/main.py b/config/main.py index 34d01955f2..f7cf8e32fc 100644 --- a/config/main.py +++ b/config/main.py @@ -2645,6 +2645,13 @@ def add(ctx, interface_name, ip_addr, gw): if interface_name is None: ctx.fail("'interface_name' is None!") + # Add a validation to check this interface is not a member in vlan before + # changing it to a router port + vlan_member_table = config_db.get_table('VLAN_MEMBER') + if (interface_is_in_vlan(vlan_member_table, interface_name)): + click.echo("Interface {} is a member of vlan\nAborting!".format(interface_name)) + return + try: net = ipaddress.ip_network(ip_addr, strict=False) if '/' not in ip_addr: From 64aa1b839bedb48634433a5a01a3ab4411cc23ab Mon Sep 17 00:00:00 2001 From: maksymbelei95 <75987222+maksymbelei95@users.noreply.github.com> Date: Tue, 26 Jan 2021 04:06:45 +0200 Subject: [PATCH 048/342] [show] Fix warnings, related to gearbox, while show commands execution (#1343) * Performing getting from APPL_DB of all the keys while checking readiness status of the gearbox to prevent warnings sending to syslog if there no records of PHYs of a gearbox in APPL_DB. * Moving of the gearbox readiness status checking procedure to separated function. Signed-off-by: Maksym Belei --- show/main.py | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/show/main.py b/show/main.py index bce69063ed..d7b0fdaac3 100644 --- a/show/main.py +++ b/show/main.py @@ -2,6 +2,7 @@ import os import subprocess import sys +import re import click import netifaces @@ -45,6 +46,8 @@ VLAN_SUB_INTERFACE_SEPARATOR = '.' +GEARBOX_TABLE_PHY_PATTERN = r"_GEARBOX_TABLE:phy:*" + # To be enhanced. Routing-stack information should be collected from a global # location (configdb?), so that we prevent the continous execution of this # bash oneliner. To be revisited once routing-stack info is tracked somewhere. @@ -119,7 +122,20 @@ def connect_config_db(): config_db.connect() return config_db +def is_gearbox_configured(): + """ + Checks whether Gearbox is configured or not + """ + app_db = SonicV2Connector() + app_db.connect(app_db.APPL_DB) + keys = app_db.keys(app_db.APPL_DB, '*') + + # If any _GEARBOX_TABLE:phy:* records present in APPL_DB, then the gearbox is configured + if any(re.match(GEARBOX_TABLE_PHY_PATTERN, key) for key in keys): + return True + else: + return False CONTEXT_SETTINGS = dict(help_option_names=['-h', '--help', '-?']) @@ -160,10 +176,7 @@ def cli(ctx): cli.add_command(warm_restart.warm_restart) # Add greabox commands only if GEARBOX is configured -# TODO: Find a cleaner way to do this -app_db = SonicV2Connector(host='127.0.0.1') -app_db.connect(app_db.APPL_DB) -if app_db.keys(app_db.APPL_DB, '_GEARBOX_TABLE:phy:*'): +if is_gearbox_configured(): cli.add_command(gearbox.gearbox) From 47f412bf150f445c64e917d9d8ce259043013fa1 Mon Sep 17 00:00:00 2001 From: Samuel Angebault Date: Mon, 25 Jan 2021 22:09:32 -0800 Subject: [PATCH 049/342] Improve robustness of consutil plugin loading (#1353) The configuration file does not tolerate a new line. Enhance the plugin loading by allowing trailing chars. Signed-off-by: Jing Kan jika@microsoft.com --- consutil/lib.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/consutil/lib.py b/consutil/lib.py index 0172ac5644..d1aee008df 100644 --- a/consutil/lib.py +++ b/consutil/lib.py @@ -270,8 +270,8 @@ def init_device_prefix(): if os.path.exists(PLUGIN_PATH): fp = open(PLUGIN_PATH, 'r') - line = fp.readlines() - SysInfoProvider.DEVICE_PREFIX = "/dev/" + line[0] + lines = fp.readlines() + SysInfoProvider.DEVICE_PREFIX = "/dev/" + lines[0].rstrip() @staticmethod def list_console_ttys(): From 41e62c60636c1d1ebaca11253b7fb90c7792e396 Mon Sep 17 00:00:00 2001 From: Arun Saravanan Balachandran <52521751+ArunSaravananBalachandran@users.noreply.github.com> Date: Tue, 26 Jan 2021 21:13:16 +0000 Subject: [PATCH 050/342] [pcieutil] Add 'pcie-aer' sub-command to display AER stats (#1169) - What I did Add new "pcie-aer" sub-command in pcieutil to display the AER stats. "pcieutil pcie-aer" has four sub-commands - 'all', 'correctable', 'fatal' and 'non-fatal'. 'all' command displays the AER stats for all severities. 'correctable', 'fatal' and 'non-fatal' commands display the AER stats of respective severity. 'device', 'no-zero' options for pcie-aer sub commands ``` root@sonic:/home/admin# pcieutil pcie-aer Usage: pcieutil pcie-aer [OPTIONS] COMMAND [ARGS]... Display PCIe AER status Options: --help Show this message and exit. Commands: all Show all PCIe AER attributes correctable Show PCIe AER correctable attributes fatal Show PCIe AER fatal attributes non-fatal Show PCIe AER non-fatal attributes root@sonic:/home/admin# root@sonic:/home/admin# pcieutil pcie-aer all --help Usage: pcieutil pcie-aer all [OPTIONS] Show all PCIe AER attributes Options: -d, --device :. Display stats only for the specified device -nz, --no-zero Display non-zero AER stats --help Show this message and exit. root@sonic:/home/admin# ``` Depends on: Azure/sonic-platform-daemons#100 - How I did it Add new functions in pcieutil, to implement sub-commands for retrieving AER stats from STATE_DB and output it in tabular format. --- pcieutil/main.py | 167 ++++++++++++++++++++++++++ tests/mock_tables/state_db.json | 98 +++++++++++++++ tests/pcieutil_test.py | 205 ++++++++++++++++++++++++++++++++ 3 files changed, 470 insertions(+) create mode 100644 tests/pcieutil_test.py diff --git a/pcieutil/main.py b/pcieutil/main.py index de671b38a2..3a8ca57194 100644 --- a/pcieutil/main.py +++ b/pcieutil/main.py @@ -7,10 +7,15 @@ try: import os + import re import sys + from collections import OrderedDict import click from sonic_py_common import device_info, logger + from swsssdk import SonicV2Connector + from tabulate import tabulate + import utilities_common.cli as clicommon except ImportError as e: raise ImportError("%s - required module not found" % str(e)) @@ -105,6 +110,168 @@ def show(): click.echo("bus:dev.fn %s:%s.%s - dev_id=0x%s, %s" % (Bus, Dev, Fn, Id, Name)) +# PCIe AER stats helpers + +aer_fields = { + "correctable": ['RxErr', 'BadTLP', 'BadDLLP', 'Rollover', 'Timeout', 'NonFatalErr', 'CorrIntErr', 'HeaderOF', 'TOTAL_ERR_COR'], + "fatal": ['Undefined', 'DLP', 'SDES', 'TLP', 'FCP', 'CmpltTO', 'CmpltAbrt', 'UnxCmplt', 'RxOF', 'MalfTLP', 'ECRC', 'UnsupReq', + 'ACSViol', 'UncorrIntErr', 'BlockedTLP', 'AtomicOpBlocked', 'TLPBlockedErr', 'TOTAL_ERR_FATAL'], + "non_fatal": ['Undefined', 'DLP', 'SDES', 'TLP', 'FCP', 'CmpltTO', 'CmpltAbrt', 'UnxCmplt', 'RxOF', 'MalfTLP', 'ECRC', 'UnsupReq', + 'ACSViol', 'UncorrIntErr', 'BlockedTLP', 'AtomicOpBlocked', 'TLPBlockedErr', 'TOTAL_ERR_NONFATAL'] +} + + +class PcieDevice(click.ParamType): + name = ":." + + def convert(self, value, param, ctx): + match = re.match(r'([0-9A-Fa-f]{1,2}):([0-9A-Fa-f]{1,2})\.([0-9A-Fa-f])', value) + + if not match: + self.fail('{} is not in :. format'.format(value), param, ctx) + + Bus, Dev, Fn = [int(val, 16) for val in match.groups()] + if Bus > 255: + self.fail('Invalid Bus number', param, ctx) + + if Dev > 31: + self.fail('Invalid Dev number', param, ctx) + + if Fn > 7: + self.fail('Invalid Fn number', param, ctx) + + return "%02x:%02x.%d" % (Bus, Dev, Fn) + + +_pcie_aer_click_options = [ + click.Option(['-d', '--device', 'device_key'], + type=PcieDevice(), + help="Display stats only for the specified device"), + click.Option(['-v', '--verbose'], + is_flag=True, + help="Display all stats") +] + + +class PcieAerCommand(click.Command): + '''This subclass of click.Command provides common options, help + and short help text for PCIe AER commands''' + + def __init__(self, *args, **kwargs): + super(PcieAerCommand, self).__init__(*args, **kwargs) + self.params = _pcie_aer_click_options + + def format_help_text(self, ctx, formatter): + formatter.write_paragraph() + with formatter.indentation(): + formatter.write_text("Show {} PCIe AER attributes".format(self.name.replace("_", "-"))) + formatter.write_text("(Default: Display only non-zero attributes)") + + def get_short_help_str(self, limit): + return "Show {} PCIe AER attributes".format(self.name.replace("_", "-")) + + +def pcie_aer_display(ctx, severity): + device_key = ctx.params['device_key'] + no_zero = not ctx.params['verbose'] + header = ["AER - " + severity.upper().replace("_", "")] + fields = aer_fields[severity] + pcie_dev_list = list() + dev_found = False + + statedb = SonicV2Connector() + statedb.connect(statedb.STATE_DB) + + table = OrderedDict() + for field in fields: + table[field] = [field] + + if device_key: + pcie_dev_list = ["PCIE_DEVICE|%s" % device_key] + else: + keys = statedb.keys(statedb.STATE_DB, "PCIE_DEVICE|*") + if keys: + pcie_dev_list = sorted(keys) + + for pcie_dev_key in pcie_dev_list: + aer_attribute = statedb.get_all(statedb.STATE_DB, pcie_dev_key) + if not aer_attribute: + continue + + if device_key: + dev_found = True + + if no_zero and all(val == '0' for key, val in aer_attribute.items() if key.startswith(severity)): + continue + + pcie_dev = pcie_dev_key.split("|")[1] + Id = aer_attribute['id'] + + # Tabulate Header + device_name = "%s\n%s" % (pcie_dev, Id) + header.append(device_name) + + # Tabulate Row + for field in fields: + key = severity + "|" + field + table[field].append(aer_attribute.get(key, 'NA')) + + if device_key and not dev_found: + ctx.exit("Device not found in DB") + + # Strip fields with no non-zero value + if no_zero: + for field in fields: + if all(val == '0' for val in table[field][1:]): + del table[field] + + if not (no_zero and (len(header) == 1)): + if ctx.obj: + click.echo("") + + click.echo(tabulate(list(table.values()), header, tablefmt="grid")) + ctx.obj = True + + +# Show PCIe AER status +@cli.group(cls=clicommon.AliasedGroup) +@click.pass_context +def pcie_aer(ctx): + '''Display PCIe AER status''' + # Set True to insert a line between severities in 'all' context + ctx.obj = False + + +@pcie_aer.command(cls=PcieAerCommand) +@click.pass_context +def correctable(ctx, device_key, verbose): + '''Show correctable PCIe AER attributes''' + pcie_aer_display(ctx, "correctable") + + +@pcie_aer.command(cls=PcieAerCommand) +@click.pass_context +def fatal(ctx, device_key, verbose): + '''Show fatal PCIe AER attributes''' + pcie_aer_display(ctx, "fatal") + + +@pcie_aer.command(cls=PcieAerCommand) +@click.pass_context +def non_fatal(ctx, device_key, verbose): + '''Show non-fatal PCIe AER attributes''' + pcie_aer_display(ctx, "non_fatal") + + +@pcie_aer.command(name='all', cls=PcieAerCommand) +@click.pass_context +def all_errors(ctx, device_key, verbose): + '''Show all PCIe AER attributes''' + pcie_aer_display(ctx, "correctable") + pcie_aer_display(ctx, "fatal") + pcie_aer_display(ctx, "non_fatal") + + # Show PCIE Vender ID and Device ID @cli.command() def check(): diff --git a/tests/mock_tables/state_db.json b/tests/mock_tables/state_db.json index cd92dda583..c15a1b353d 100644 --- a/tests/mock_tables/state_db.json +++ b/tests/mock_tables/state_db.json @@ -455,5 +455,103 @@ "CHASSIS_MIDPLANE_TABLE|LINE-CARD1": { "ip_address": "192.168.1.2", "access": "False" + }, + "PCIE_DEVICE|00:01.0": { + "correctable|BadDLLP": "0", + "correctable|BadTLP": "0", + "correctable|BadTLP": "1", + "correctable|CorrIntErr": "0", + "correctable|HeaderOF": "0", + "correctable|NonFatalErr": "0", + "correctable|Rollover": "0", + "correctable|RxErr": "0", + "correctable|TOTAL_ERR_COR": "0", + "correctable|TOTAL_ERR_COR": "1", + "correctable|Timeout": "0", + "fatal|ACSViol": "0", + "fatal|AtomicOpBlocked": "0", + "fatal|BlockedTLP": "0", + "fatal|CmpltAbrt": "0", + "fatal|CmpltTO": "0", + "fatal|DLP": "0", + "fatal|ECRC": "0", + "fatal|FCP": "0", + "fatal|MalfTLP": "0", + "fatal|RxOF": "0", + "fatal|SDES": "0", + "fatal|TLP": "0", + "fatal|TLPBlockedErr": "0", + "fatal|TOTAL_ERR_FATAL": "0", + "fatal|UncorrIntErr": "0", + "fatal|Undefined": "0", + "fatal|UnsupReq": "0", + "fatal|UnxCmplt": "0", + "id": "0x0001", + "non_fatal|ACSViol": "0", + "non_fatal|AtomicOpBlocked": "0", + "non_fatal|BlockedTLP": "0", + "non_fatal|CmpltAbrt": "0", + "non_fatal|CmpltTO": "0", + "non_fatal|DLP": "0", + "non_fatal|ECRC": "0", + "non_fatal|FCP": "0", + "non_fatal|MalfTLP": "1", + "non_fatal|RxOF": "0", + "non_fatal|SDES": "0", + "non_fatal|TLP": "0", + "non_fatal|TLPBlockedErr": "0", + "non_fatal|TOTAL_ERR_NONFATAL": "1", + "non_fatal|UncorrIntErr": "0", + "non_fatal|Undefined": "0", + "non_fatal|UnsupReq": "0", + "non_fatal|UnxCmplt": "0" + }, + "PCIE_DEVICE|01:00.0": { + "correctable|BadDLLP": "0", + "correctable|BadTLP": "0", + "correctable|CorrIntErr": "0", + "correctable|HeaderOF": "0", + "correctable|NonFatalErr": "0", + "correctable|Rollover": "0", + "correctable|RxErr": "1", + "correctable|TOTAL_ERR_COR": "1", + "correctable|Timeout": "0", + "fatal|ACSViol": "0", + "fatal|AtomicOpBlocked": "0", + "fatal|BlockedTLP": "0", + "fatal|CmpltAbrt": "0", + "fatal|CmpltTO": "0", + "fatal|DLP": "0", + "fatal|ECRC": "0", + "fatal|FCP": "0", + "fatal|MalfTLP": "0", + "fatal|RxOF": "0", + "fatal|SDES": "0", + "fatal|TLP": "0", + "fatal|TLPBlockedErr": "0", + "fatal|TOTAL_ERR_FATAL": "0", + "fatal|UncorrIntErr": "0", + "fatal|Undefined": "0", + "fatal|UnsupReq": "0", + "fatal|UnxCmplt": "0", + "id": "0x0002", + "non_fatal|ACSViol": "0", + "non_fatal|AtomicOpBlocked": "0", + "non_fatal|BlockedTLP": "0", + "non_fatal|CmpltAbrt": "0", + "non_fatal|CmpltTO": "0", + "non_fatal|DLP": "0", + "non_fatal|ECRC": "0", + "non_fatal|FCP": "0", + "non_fatal|MalfTLP": "0", + "non_fatal|RxOF": "0", + "non_fatal|SDES": "0", + "non_fatal|TLP": "0", + "non_fatal|TLPBlockedErr": "0", + "non_fatal|TOTAL_ERR_NONFATAL": "0", + "non_fatal|UncorrIntErr": "0", + "non_fatal|Undefined": "0", + "non_fatal|UnsupReq": "0", + "non_fatal|UnxCmplt": "0" } } diff --git a/tests/pcieutil_test.py b/tests/pcieutil_test.py new file mode 100644 index 0000000000..cee1feec88 --- /dev/null +++ b/tests/pcieutil_test.py @@ -0,0 +1,205 @@ +import sys +import os +from unittest import mock + +from click.testing import CliRunner + +test_path = os.path.dirname(os.path.abspath(__file__)) +modules_path = os.path.dirname(test_path) +sys.path.insert(0, modules_path) + +import pcieutil.main as pcieutil + +pcieutil_pcie_aer_correctable_output = """\ ++---------------------+-----------+-----------+ +| AER - CORRECTABLE | 00:01.0 | 01:00.0 | +| | 0x0001 | 0x0002 | ++=====================+===========+===========+ +| RxErr | 0 | 1 | ++---------------------+-----------+-----------+ +| BadTLP | 1 | 0 | ++---------------------+-----------+-----------+ +| TOTAL_ERR_COR | 1 | 1 | ++---------------------+-----------+-----------+ +""" + +pcieutil_pcie_aer_nonfatal_output = """\ ++--------------------+-----------+ +| AER - NONFATAL | 00:01.0 | +| | 0x0001 | ++====================+===========+ +| MalfTLP | 1 | ++--------------------+-----------+ +| TOTAL_ERR_NONFATAL | 1 | ++--------------------+-----------+ +""" + +pcieutil_pcie_aer_correctable_verbose_output = """\ ++---------------------+-----------+-----------+ +| AER - CORRECTABLE | 00:01.0 | 01:00.0 | +| | 0x0001 | 0x0002 | ++=====================+===========+===========+ +| RxErr | 0 | 1 | ++---------------------+-----------+-----------+ +| BadTLP | 1 | 0 | ++---------------------+-----------+-----------+ +| BadDLLP | 0 | 0 | ++---------------------+-----------+-----------+ +| Rollover | 0 | 0 | ++---------------------+-----------+-----------+ +| Timeout | 0 | 0 | ++---------------------+-----------+-----------+ +| NonFatalErr | 0 | 0 | ++---------------------+-----------+-----------+ +| CorrIntErr | 0 | 0 | ++---------------------+-----------+-----------+ +| HeaderOF | 0 | 0 | ++---------------------+-----------+-----------+ +| TOTAL_ERR_COR | 1 | 1 | ++---------------------+-----------+-----------+ +""" + +pcieutil_pcie_aer_fatal_verbose_output = """\ ++-----------------+-----------+-----------+ +| AER - FATAL | 00:01.0 | 01:00.0 | +| | 0x0001 | 0x0002 | ++=================+===========+===========+ +| Undefined | 0 | 0 | ++-----------------+-----------+-----------+ +| DLP | 0 | 0 | ++-----------------+-----------+-----------+ +| SDES | 0 | 0 | ++-----------------+-----------+-----------+ +| TLP | 0 | 0 | ++-----------------+-----------+-----------+ +| FCP | 0 | 0 | ++-----------------+-----------+-----------+ +| CmpltTO | 0 | 0 | ++-----------------+-----------+-----------+ +| CmpltAbrt | 0 | 0 | ++-----------------+-----------+-----------+ +| UnxCmplt | 0 | 0 | ++-----------------+-----------+-----------+ +| RxOF | 0 | 0 | ++-----------------+-----------+-----------+ +| MalfTLP | 0 | 0 | ++-----------------+-----------+-----------+ +| ECRC | 0 | 0 | ++-----------------+-----------+-----------+ +| UnsupReq | 0 | 0 | ++-----------------+-----------+-----------+ +| ACSViol | 0 | 0 | ++-----------------+-----------+-----------+ +| UncorrIntErr | 0 | 0 | ++-----------------+-----------+-----------+ +| BlockedTLP | 0 | 0 | ++-----------------+-----------+-----------+ +| AtomicOpBlocked | 0 | 0 | ++-----------------+-----------+-----------+ +| TLPBlockedErr | 0 | 0 | ++-----------------+-----------+-----------+ +| TOTAL_ERR_FATAL | 0 | 0 | ++-----------------+-----------+-----------+ +""" + +pcieutil_pcie_aer_nonfatal_verbose_output = """\ ++--------------------+-----------+-----------+ +| AER - NONFATAL | 00:01.0 | 01:00.0 | +| | 0x0001 | 0x0002 | ++====================+===========+===========+ +| Undefined | 0 | 0 | ++--------------------+-----------+-----------+ +| DLP | 0 | 0 | ++--------------------+-----------+-----------+ +| SDES | 0 | 0 | ++--------------------+-----------+-----------+ +| TLP | 0 | 0 | ++--------------------+-----------+-----------+ +| FCP | 0 | 0 | ++--------------------+-----------+-----------+ +| CmpltTO | 0 | 0 | ++--------------------+-----------+-----------+ +| CmpltAbrt | 0 | 0 | ++--------------------+-----------+-----------+ +| UnxCmplt | 0 | 0 | ++--------------------+-----------+-----------+ +| RxOF | 0 | 0 | ++--------------------+-----------+-----------+ +| MalfTLP | 1 | 0 | ++--------------------+-----------+-----------+ +| ECRC | 0 | 0 | ++--------------------+-----------+-----------+ +| UnsupReq | 0 | 0 | ++--------------------+-----------+-----------+ +| ACSViol | 0 | 0 | ++--------------------+-----------+-----------+ +| UncorrIntErr | 0 | 0 | ++--------------------+-----------+-----------+ +| BlockedTLP | 0 | 0 | ++--------------------+-----------+-----------+ +| AtomicOpBlocked | 0 | 0 | ++--------------------+-----------+-----------+ +| TLPBlockedErr | 0 | 0 | ++--------------------+-----------+-----------+ +| TOTAL_ERR_NONFATAL | 1 | 0 | ++--------------------+-----------+-----------+ +""" + +pcieutil_pcie_aer_correctable_dev_output = """\ ++---------------------+-----------+ +| AER - CORRECTABLE | 00:01.0 | +| | 0x0001 | ++=====================+===========+ +| BadTLP | 1 | ++---------------------+-----------+ +| TOTAL_ERR_COR | 1 | ++---------------------+-----------+ +""" + +class TestPcieUtil(object): + @classmethod + def setup_class(cls): + print("SETUP") + os.environ["UTILITIES_UNIT_TESTING"] = "1" + + def test_aer_all(self): + runner = CliRunner() + result = runner.invoke(pcieutil.cli.commands["pcie-aer"].commands["all"], []) + assert result.output == (pcieutil_pcie_aer_correctable_output + "\n" + + pcieutil_pcie_aer_nonfatal_output) + + def test_aer_correctable(self): + runner = CliRunner() + result = runner.invoke(pcieutil.cli.commands["pcie-aer"].commands["correctable"], []) + assert result.output == pcieutil_pcie_aer_correctable_output + + def test_aer_fatal(self): + runner = CliRunner() + result = runner.invoke(pcieutil.cli.commands["pcie-aer"].commands["fatal"], []) + assert result.output == "" + + def test_aer_non_fatal(self): + runner = CliRunner() + result = runner.invoke(pcieutil.cli.commands["pcie-aer"].commands["non-fatal"], []) + assert result.output == pcieutil_pcie_aer_nonfatal_output + + def test_aer_option_verbose(self): + runner = CliRunner() + result = runner.invoke(pcieutil.cli.commands["pcie-aer"].commands["correctable"], ["-v"]) + assert result.output == pcieutil_pcie_aer_correctable_verbose_output + + result = runner.invoke(pcieutil.cli.commands["pcie-aer"].commands["fatal"], ["-v"]) + assert result.output == pcieutil_pcie_aer_fatal_verbose_output + + result = runner.invoke(pcieutil.cli.commands["pcie-aer"].commands["non-fatal"], ["-v"]) + assert result.output == pcieutil_pcie_aer_nonfatal_verbose_output + + def test_aer_option_device(self): + runner = CliRunner() + result = runner.invoke(pcieutil.cli.commands["pcie-aer"].commands["correctable"], ["-d", "0:1.0"]) + assert result.output == pcieutil_pcie_aer_correctable_dev_output + + @classmethod + def teardown_class(cls): + print("TEARDOWN") + os.environ["UTILITIES_UNIT_TESTING"] = "0" From 7a8024a585a18cfcbab0b0147257f123288c82dd Mon Sep 17 00:00:00 2001 From: Eran Dahan Date: Wed, 27 Jan 2021 16:54:23 +0200 Subject: [PATCH 051/342] Prevent user from adding more then a single untagged VLAN to an interface (#1382) Fix for https://github.com/Azure/sonic-buildimage/issues/6421 **- What I did** User was able to add an interface to multiple VLANs as untagged. Added a validation to a single untagged member. **- How I did it** Added a validation when adding a port as untagged to check in DB if is already member as untagged in a different vlan. **- How to verify it** Add vlan, add interface as untagged member in this vlan, add another vlan, try to add the same interface as untagged member in the new vlan. **- Previous command output (if the output of a command-line utility has changed)** Command was successful. **- New command output (if the output of a command-line utility has changed)** Fail in VLAN membership. Error: Ethernet8 is already untagged member! --- config/vlan.py | 3 +++ tests/vlan_test.py | 29 +++++++++++++++++++++++++++++ utilities_common/cli.py | 10 ++++++++++ 3 files changed, 42 insertions(+) diff --git a/config/vlan.py b/config/vlan.py index 75ec66264b..eabb2b7101 100644 --- a/config/vlan.py +++ b/config/vlan.py @@ -136,6 +136,9 @@ def add_vlan_member(db, vid, port, untagged): if (is_port and clicommon.is_port_router_interface(db.cfgdb, port)) or \ (not is_port and clicommon.is_pc_router_interface(db.cfgdb, port)): ctx.fail("{} is a router interface!".format(port)) + + if (clicommon.interface_is_untagged_member(db.cfgdb, port) and untagged): + ctx.fail("{} is already untagged member!".format(port)) db.cfgdb.set_entry('VLAN_MEMBER', (vlan, port), {'tagging_mode': "untagged" if untagged else "tagged" }) diff --git a/tests/vlan_test.py b/tests/vlan_test.py index dedcbc7e23..32ca0a06e7 100644 --- a/tests/vlan_test.py +++ b/tests/vlan_test.py @@ -597,6 +597,35 @@ def test_config_vlan_proxy_arp_disable(self): assert result.exit_code == 0 assert db.cfgdb.get_entry("VLAN_INTERFACE", "Vlan2000") == {"proxy_arp": "disabled"} + + def test_config_2_untagged_vlan_on_same_interface(self): + runner = CliRunner() + db = Db() + + # add Ethernet4 to vlan 2000 as untagged - should fail as ethrnet4 is already untagged member in 1000 + result = runner.invoke(config.config.commands["vlan"].commands["member"].commands["add"], + ["2000", "Ethernet4", "--untagged"], obj=db) + print(result.exit_code) + assert result.exit_code != 0 + + # add Ethernet4 to vlan 2000 as tagged - should succeed + result = runner.invoke(config.config.commands["vlan"].commands["member"].commands["add"], + ["2000", "Ethernet4" ], obj=db) + print(result.exit_code) + assert result.exit_code == 0 + + def test_config_set_router_port_on_member_interface(self): + db = Db() + runner = CliRunner() + obj = {'config_db':db.cfgdb} + + # intf enable + result = runner.invoke(config.config.commands["interface"].commands["ip"].commands["add"], + ["Ethernet4", "10.10.10.1/24"], obj=obj) + print(result.exit_code, result.output) + assert result.exit_code == 0 + assert 'Interface Ethernet4 is a member of vlan' in result.output + @classmethod def teardown_class(cls): diff --git a/utilities_common/cli.py b/utilities_common/cli.py index f521a576b8..495bf7d5e6 100644 --- a/utilities_common/cli.py +++ b/utilities_common/cli.py @@ -544,3 +544,13 @@ def json_dump(data): return json.dumps( data, sort_keys=True, indent=2, ensure_ascii=False ) + +def interface_is_untagged_member(db, interface_name): + """ Check if interface is already untagged member""" + vlan_member_table = db.get_table('VLAN_MEMBER') + + for key,val in vlan_member_table.items(): + if(key[1] == interface_name): + if (val['tagging_mode'] == 'untagged'): + return True + return False From c7c01e4d30ccb88dd88645cd9390ed340e5ad119 Mon Sep 17 00:00:00 2001 From: Dmytro Shevchuk <68949102+dmytroxshevchuk@users.noreply.github.com> Date: Wed, 27 Jan 2021 20:48:24 +0200 Subject: [PATCH 052/342] [show] fix "show interfaces breakout" command (#1198) **- What I did** Fixed `show interface breakout` command **- How I did it** **- How to verify it** From command line type `show interface breakout` **- Previous command output (if the output of a command-line utility has changed)** ``` Traceback (most recent call last): File "/usr/local/bin/show", line 10, in sys.exit(cli()) File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 764, in __call__ return self.main(*args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 717, in main rv = self.invoke(ctx) File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 1137, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 1137, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 1114, in invoke return Command.invoke(self, ctx) File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 956, in invoke return ctx.invoke(self.callback, **ctx.params) File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 555, in invoke return callback(*args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/click/decorators.py", line 17, in new_func return f(get_current_context(), *args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/show/interfaces/__init__.py", line 135, in breakout config_db = ConfigDBConnector() NameError: global name 'ConfigDBConnector' is not defined ``` **- New command output (if the output of a command-line utility has changed)** Related from DPB config. e.g. ``` { "Ethernet0": { "index": "0,0,0,0", "default_brkout_mode": "1x100G[40G]", "child ports": "Ethernet0", "breakout_modes": "1x100G[40G],2x50G,4x25G[10G],2x25G(2)+1x50G(2),1x50G(2)+2x25G(2)", "child port speeds": "100G", "Current Breakout Mode": "1x100G[40G]", "lanes": "25,26,27,28", "alias_at_lanes": "Ethernet0/0,Ethernet0/1,Ethernet0/2,Ethernet0/3" } } ``` --- show/interfaces/__init__.py | 36 ++++++++++++++++++++++++++++++------ 1 file changed, 30 insertions(+), 6 deletions(-) diff --git a/show/interfaces/__init__.py b/show/interfaces/__init__.py index 83e230acf1..a588a1e6c5 100644 --- a/show/interfaces/__init__.py +++ b/show/interfaces/__init__.py @@ -1,4 +1,5 @@ import json +import os import click import utilities_common.cli as clicommon @@ -6,8 +7,30 @@ from natsort import natsorted from tabulate import tabulate from sonic_py_common import multi_asic +from sonic_py_common import device_info +from swsssdk import ConfigDBConnector +from portconfig import get_child_ports from . import portchannel +from collections import OrderedDict + +HWSKU_JSON = 'hwsku.json' + +# Read given JSON file +def readJsonFile(fileName): + try: + with open(fileName) as f: + result = json.load(f) + except FileNotFoundError as e: + click.echo("{}".format(str(e)), err=True) + raise click.Abort() + except json.decoder.JSONDecodeError as e: + click.echo("Invalid JSON file format('{}')\n{}".format(fileName, str(e)), err=True) + raise click.Abort() + except Exception as e: + click.echo("{}\n{}".format(type(e), str(e)), err=True) + raise click.Abort() + return result def try_convert_interfacename_from_alias(ctx, interfacename): """try to convert interface name from alias""" @@ -144,13 +167,14 @@ def breakout(ctx): if ctx.invoked_subcommand is None: # Get port capability from platform and hwsku related files - platform_path, hwsku_path = device_info.get_paths_to_platform_and_hwsku_dirs() - platform_file = os.path.join(platform_path, PLATFORM_JSON) + hwsku_path = device_info.get_path_to_hwsku_dir() + platform_file = device_info.get_path_to_port_config_file() platform_dict = readJsonFile(platform_file)['interfaces'] - hwsku_dict = readJsonFile(os.path.join(hwsku_path, HWSKU_JSON))['interfaces'] + hwsku_file = os.path.join(hwsku_path, HWSKU_JSON) + hwsku_dict = readJsonFile(hwsku_file)['interfaces'] if not platform_dict or not hwsku_dict: - click.echo("Can not load port config from {} or {} file".format(PLATFORM_JSON, HWSKU_JSON)) + click.echo("Can not load port config from {} or {} file".format(platform_file, hwsku_file)) raise click.Abort() for port_name in platform_dict: @@ -161,9 +185,9 @@ def breakout(ctx): platform_dict[port_name]["Current Breakout Mode"] = cur_brkout_mode # List all the child ports if present - child_port_dict = get_child_ports(port_name, cur_brkout_mode, platformFile) + child_port_dict = get_child_ports(port_name, cur_brkout_mode, platform_file) if not child_port_dict: - click.echo("Cannot find ports from {} file ".format(PLATFORM_JSON)) + click.echo("Cannot find ports from {} file ".format(platform_file)) raise click.Abort() child_ports = natsorted(list(child_port_dict.keys())) From 8a1109ed30576f0287fcd98a4349617f7fb55700 Mon Sep 17 00:00:00 2001 From: Dmytro Date: Fri, 29 Jan 2021 01:12:37 +0200 Subject: [PATCH 053/342] [sonic-installer] Add information to syslog (#1369) **- What I did** Add information related to updating firmware image from sonic-installer. fix https://github.com/Azure/sonic-buildimage/issues/6264 **- How I did it** Replace click.echo with a function that combines echo and logger functions **- How to verify it** Start the sonic-installer process and then grep syslog $ sonic-installer install http://not_exist.com $ tail -n 100 /var/log/syslog | grep "sonic-installer" --- sonic_installer/main.py | 86 +++++++++++++++++++++++------------------ 1 file changed, 48 insertions(+), 38 deletions(-) diff --git a/sonic_installer/main.py b/sonic_installer/main.py index 6ffd7aaf92..24ad236fb7 100644 --- a/sonic_installer/main.py +++ b/sonic_installer/main.py @@ -15,6 +15,8 @@ from .exception import SonicRuntimeException SYSLOG_IDENTIFIER = "sonic-installer" +LOG_ERR = logger.Logger.LOG_PRIORITY_ERROR +LOG_NOTICE = logger.Logger.LOG_PRIORITY_NOTICE # Global Config object _config = None @@ -123,6 +125,15 @@ def get_docker_tag_name(image): return tag +def echo_and_log(msg, priority=LOG_NOTICE, fg=None): + if priority >= LOG_ERR: + # Print to stderr if priority is error + click.secho(msg, fg=fg, err=True) + else: + click.secho(msg, fg=fg) + log.log(priority, msg, False) + + # Function which validates whether a given URL specifies an existent file # on a reachable remote machine. Will abort the current operation if not def validate_url_or_abort(url): @@ -135,12 +146,12 @@ def validate_url_or_abort(url): response_code = None if not response_code: - click.echo("Did not receive a response from remote machine. Aborting...") + echo_and_log("Did not receive a response from remote machine. Aborting...", LOG_ERR) raise click.Abort() else: # Check for a 4xx response code which indicates a nonexistent URL if response_code / 100 == 4: - click.echo("Image file not found on remote machine. Aborting...") + echo_and_log("Image file not found on remote machine. Aborting...", LOG_ERR) raise click.Abort() @@ -207,6 +218,7 @@ def print_deprecation_warning(deprecated_cmd_or_subcmd, new_cmd_or_subcmd): fg="red", err=True) click.secho("Please use '{}' instead".format(new_cmd_or_subcmd), fg="red", err=True) + def update_sonic_environment(click, binary_image_version): """Prepare sonic environment variable using incoming image template file. If incoming image template does not exist use current image template file. @@ -248,8 +260,7 @@ def umount_next_image_fs(mount_point): print(sonic_env, file=ef) os.chmod(env_file, 0o644) except SonicRuntimeException as ex: - click.secho("Warning: SONiC environment variables are not supported for this image: {0}".format(str(ex)), - fg="red", err=True) + echo_and_log("Warning: SONiC environment variables are not supported for this image: {0}".format(str(ex)), LOG_ERR, fg="red") if os.path.exists(env_file): os.remove(env_file) os.rmdir(env_dir) @@ -282,13 +293,13 @@ def install(url, force, skip_migration=False): bootloader = get_bootloader() if url.startswith('http://') or url.startswith('https://'): - click.echo('Downloading image...') + echo_and_log('Downloading image...') validate_url_or_abort(url) try: urlretrieve(url, bootloader.DEFAULT_IMAGE_PATH, reporthook) click.echo('') except Exception as e: - click.echo("Download error", e) + echo_and_log("Download error", e) raise click.Abort() image_path = bootloader.DEFAULT_IMAGE_PATH else: @@ -296,28 +307,28 @@ def install(url, force, skip_migration=False): binary_image_version = bootloader.get_binary_image_version(image_path) if not binary_image_version: - click.echo("Image file does not exist or is not a valid SONiC image file") + echo_and_log("Image file does not exist or is not a valid SONiC image file", LOG_ERR) raise click.Abort() # Is this version already installed? if binary_image_version in bootloader.get_installed_images(): - click.echo("Image {} is already installed. Setting it as default...".format(binary_image_version)) + echo_and_log("Image {} is already installed. Setting it as default...".format(binary_image_version)) if not bootloader.set_default_image(binary_image_version): - click.echo('Error: Failed to set image as default') + echo_and_log('Error: Failed to set image as default', LOG_ERR) raise click.Abort() else: # Verify that the binary image is of the same type as the running image if not bootloader.verify_binary_image(image_path) and not force: - click.echo("Image file '{}' is of a different type than running image.\n".format(url) + + echo_and_log("Image file '{}' is of a different type than running image.\n".format(url) + "If you are sure you want to install this image, use -f|--force.\n" + - "Aborting...") + "Aborting...", LOG_ERR) raise click.Abort() - click.echo("Installing image {} and setting it as default...".format(binary_image_version)) + echo_and_log("Installing image {} and setting it as default...".format(binary_image_version)) bootloader.install_image(image_path) # Take a backup of current configuration if skip_migration: - click.echo("Skipping configuration migration as requested in the command option.") + echo_and_log("Skipping configuration migration as requested in the command option.") else: run_command('config-setup backup') @@ -326,7 +337,7 @@ def install(url, force, skip_migration=False): # Finally, sync filesystem run_command("sync;sync;sync") run_command("sleep 3") # wait 3 seconds after sync - click.echo('Done') + echo_and_log('Done') # List installed images @@ -355,7 +366,7 @@ def set_default(image): bootloader = get_bootloader() if image not in bootloader.get_installed_images(): - click.echo('Error: Image does not exist') + echo_and_log('Error: Image does not exist', LOG_ERR) raise click.Abort() bootloader.set_default_image(image) @@ -371,7 +382,7 @@ def set_next_boot(image): bootloader = get_bootloader() if image not in bootloader.get_installed_images(): - click.echo('Error: Image does not exist') + echo_and_log('Error: Image does not exist', LOG_ERR) sys.exit(1) bootloader.set_next_image(image) @@ -387,10 +398,10 @@ def remove(image): images = bootloader.get_installed_images() current = bootloader.get_current_image() if image not in images: - click.echo('Image does not exist') + echo_and_log('Image does not exist', LOG_ERR) sys.exit(1) if image == current: - click.echo('Cannot remove current image') + echo_and_log('Cannot remove current image', LOG_ERR) sys.exit(1) # TODO: check if image is next boot or default boot and fix these bootloader.remove_image(image) @@ -427,12 +438,12 @@ def cleanup(): image_removed = 0 for image in images: if image != curimage and image != nextimage: - click.echo("Removing image %s" % image) + echo_and_log("Removing image %s" % image) bootloader.remove_image(image) image_removed += 1 if image_removed == 0: - click.echo("No image(s) to remove") + echo_and_log("No image(s) to remove") DOCKER_CONTAINER_LIST = [ @@ -474,12 +485,12 @@ def upgrade_docker(container_name, url, cleanup_image, skip_check, tag, warm): DEFAULT_IMAGE_PATH = os.path.join("/tmp/", image_name) if url.startswith('http://') or url.startswith('https://'): - click.echo('Downloading image...') + echo_and_log('Downloading image...') validate_url_or_abort(url) try: urlretrieve(url, DEFAULT_IMAGE_PATH, reporthook) except Exception as e: - click.echo("Download error", e) + echo_and_log("Download error: {}".format(e), LOG_ERR) raise click.Abort() image_path = DEFAULT_IMAGE_PATH else: @@ -488,7 +499,7 @@ def upgrade_docker(container_name, url, cleanup_image, skip_check, tag, warm): # Verify that the local file exists and is a regular file # TODO: Verify the file is a *proper Docker image file* if not os.path.isfile(image_path): - click.echo("Image file '{}' does not exist or is not a regular file. Aborting...".format(image_path)) + echo_and_log("Image file '{}' does not exist or is not a regular file. Aborting...".format(image_path), LOG_ERR) raise click.Abort() warm_configured = False @@ -525,7 +536,7 @@ def upgrade_docker(container_name, url, cleanup_image, skip_check, tag, warm): (out, err) = proc.communicate() if proc.returncode != 0: if not skip_check: - click.echo("Orchagent is not in clean state, RESTARTCHECK failed") + echo_and_log("Orchagent is not in clean state, RESTARTCHECK failed", LOG_ERR) # Restore orignal config before exit if warm_configured is False and warm: run_command("config warm_restart disable %s" % container_name) @@ -537,27 +548,27 @@ def upgrade_docker(container_name, url, cleanup_image, skip_check, tag, warm): sys.exit(proc.returncode) else: - click.echo("Orchagent is not in clean state, upgrading it anyway") + echo_and_log("Orchagent is not in clean state, upgrading it anyway") else: - click.echo("Orchagent is in clean state and frozen for warm upgrade") + echo_and_log("Orchagent is in clean state and frozen for warm upgrade") warm_app_names = ["orchagent", "neighsyncd"] elif container_name == "bgp": # Kill bgpd to restart the bgp graceful restart procedure - click.echo("Stopping bgp ...") + echo_and_log("Stopping bgp ...") run_command("docker exec -i bgp pkill -9 zebra") run_command("docker exec -i bgp pkill -9 bgpd") warm_app_names = ["bgp"] - click.echo("Stopped bgp ...") + echo_and_log("Stopped bgp ...") elif container_name == "teamd": - click.echo("Stopping teamd ...") + echo_and_log("Stopping teamd ...") # Send USR1 signal to all teamd instances to stop them # It will prepare teamd for warm-reboot run_command("docker exec -i teamd pkill -USR1 teamd > /dev/null") warm_app_names = ["teamsyncd"] - click.echo("Stopped teamd ...") + echo_and_log("Stopped teamd ...") # clean app reconcilation state from last warm start if exists for warm_app_name in warm_app_names: @@ -602,8 +613,7 @@ def upgrade_docker(container_name, url, cleanup_image, skip_check, tag, warm): log.log_notice("%s reached %s state" % (warm_app_name, state)) sys.stdout.write("]\n\r") if state != exp_state: - click.echo("%s failed to reach %s state" % (warm_app_name, exp_state)) - log.log_error("%s failed to reach %s state" % (warm_app_name, exp_state)) + echo_and_log("%s failed to reach %s state" % (warm_app_name, exp_state), LOG_ERR) else: exp_state = "" # this is cold upgrade @@ -613,9 +623,9 @@ def upgrade_docker(container_name, url, cleanup_image, skip_check, tag, warm): run_command("config warm_restart disable %s" % container_name) if state == exp_state: - click.echo('Done') + echo_and_log('Done') else: - click.echo('Failed') + echo_and_log('Failed', LOG_ERR) sys.exit(1) @@ -635,7 +645,7 @@ def rollback_docker(container_name): # All images id under the image name image_id_all = get_container_image_id_all(image_name) if len(image_id_all) != 2: - click.echo("Two images required, but there are '{}' images for '{}'. Aborting...".format(len(image_id_all), image_name)) + echo_and_log("Two images required, but there are '{}' images for '{}'. Aborting...".format(len(image_id_all), image_name), LOG_ERR) raise click.Abort() image_latest = image_name + ":latest" @@ -649,11 +659,11 @@ def rollback_docker(container_name): # make previous image as latest run_command("docker tag %s:%s %s:latest" % (image_name, version_tag, image_name)) if container_name == "swss" or container_name == "bgp" or container_name == "teamd": - click.echo("Cold reboot is required to restore system state after '{}' rollback !!".format(container_name)) + echo_and_log("Cold reboot is required to restore system state after '{}' rollback !!".format(container_name), LOG_ERR) else: run_command("systemctl restart %s" % container_name) - click.echo('Done') + echo_and_log('Done') # verify the next image @sonic_installer.command('verify-next-image') @@ -661,7 +671,7 @@ def verify_next_image(): """ Verify the next image for reboot""" bootloader = get_bootloader() if not bootloader.verify_next_image(): - click.echo('Image verification failed') + echo_and_log('Image verification failed', LOG_ERR) sys.exit(1) click.echo('Image successfully verified') From a50b7a2f07dc0dfac945dc92bd3f4ee0f3a587ea Mon Sep 17 00:00:00 2001 From: Neetha John Date: Fri, 29 Jan 2021 14:52:02 -0800 Subject: [PATCH 054/342] [ecnconfig] Allow ecn unit test to run without sudo (#1390) Allow ecn unit tests to run without root privileges **- How I did it** Included the UTILITIES_UNIT_TESTING' env variable also as one of the conditions to determine if the command needs root privileges for execution **- How to verify it** Ran utilities test using the command "python3 setup.py test" and ecn_test.py passed. Prior to the fix, most of the testcases were failing with the error 'Root privileged required for this operation' --- scripts/ecnconfig | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/scripts/ecnconfig b/scripts/ecnconfig index cdebf21e79..62a14b9106 100755 --- a/scripts/ecnconfig +++ b/scripts/ecnconfig @@ -89,6 +89,10 @@ OFF = "[]" lossless_queues = ['3', '4'] +def chk_exec_privilege(): + if os.geteuid() != 0 and os.environ.get("UTILITIES_UNIT_TESTING", "0") != "2": + sys.exit("Root privileges required for this operation") + class EcnConfig(object): """ Process ecnconfig @@ -166,8 +170,7 @@ class EcnConfig(object): return result def set_wred_threshold(self, profile, threshold, value): - if os.geteuid() != 0: - sys.exit("Root privileges required for this operation") + chk_exec_privilege() field = WRED_CONFIG_FIELDS[threshold] if self.verbose: @@ -179,8 +182,7 @@ class EcnConfig(object): json.dump(prof_table, fd) def set_wred_prob(self, profile, drop_color, value): - if os.geteuid() != 0: - sys.exit("Root privileges required for this operation") + chk_exec_privilege() field = WRED_CONFIG_FIELDS[drop_color] if self.verbose: @@ -227,8 +229,8 @@ class EcnQ(object): ) def set(self, enable): - if os.geteuid() != 0: - sys.exit("Root privileges required for this operation") + chk_exec_privilege() + for queue in self.queues: if self.verbose: print("%s ECN on %s queue %s" % ("Enable" if enable else "Disable", ','.join(self.ports_key), queue)) From 28d358fc82c228fdbfa9f1715a5024c49f98c9b4 Mon Sep 17 00:00:00 2001 From: Volodymyr Boiko <66446128+vboykox@users.noreply.github.com> Date: Mon, 1 Feb 2021 18:39:03 +0200 Subject: [PATCH 055/342] [show] Run fwutil with sudo (#1364) **- What I did** Added ability to run `show platform firmware` commands without `sudo`, as described in the [design document](https://github.com/Azure/sonic-utilities/blob/master/doc/Command-Reference.md#platform-component-firmware-show-commands): **- How I did it** Made `show platform firmware` implementation run `fwutil` with `sudo` Signed-off-by: Volodymyr Boyko --- show/platform.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/show/platform.py b/show/platform.py index 7a4f99d7ac..b6f21df979 100644 --- a/show/platform.py +++ b/show/platform.py @@ -133,7 +133,7 @@ def temperature(): @click.argument('args', nargs=-1, type=click.UNPROCESSED) def firmware(args): """Show firmware information""" - cmd = "fwutil show {}".format(" ".join(args)) + cmd = "sudo fwutil show {}".format(" ".join(args)) try: subprocess.check_call(cmd, shell=True) From 2e1f354a2abb5d38eff4d418c89215c40f52e736 Mon Sep 17 00:00:00 2001 From: Qi Luo Date: Mon, 1 Feb 2021 19:21:50 -0800 Subject: [PATCH 056/342] Use SonicV2Connector/ConfigDBConnector/SonicDBConfig from swsscommon instread of swsssdk (#1392) - What I did Use SonicV2Connector/ConfigDBConnector/SonicDBConfig from swsscommon instread of swsssdk - How to verify it Unit test and test impacted command lines on DUT. --- acl_loader/main.py | 3 +-- config/aaa.py | 2 +- config/config_mgmt.py | 12 +++++------ config/kdump.py | 2 +- config/main.py | 13 ++++++------ config/muxcable.py | 5 ++--- config/nat.py | 3 +-- counterpoll/main.py | 34 +++++++++++++++---------------- crm/main.py | 8 ++++---- pcieutil/main.py | 2 +- pfc/main.py | 10 ++++----- scripts/aclshow | 6 +++--- scripts/centralize_database | 18 ++++++++-------- scripts/configlet | 2 +- scripts/db_migrator.py | 3 +-- scripts/dropconfig | 8 +++++--- scripts/dropstat | 8 +++++--- scripts/ecnconfig | 10 +++++---- scripts/fast-reboot-dump.py | 8 ++++---- scripts/gearboxutil | 8 +++++--- scripts/intfstat | 5 +++-- scripts/lldpshow | 2 +- scripts/mmuconfig | 27 +++++++++++++----------- scripts/natconfig | 2 +- scripts/neighbor_advertiser | 3 +-- scripts/pcmping | 6 +++--- scripts/portconfig | 8 ++++---- scripts/portstat | 13 ++++++------ scripts/queuestat | 4 ++-- scripts/sonic-kdump-config | 2 +- scripts/watermarkcfg | 6 +++--- scripts/watermarkstat | 8 +++++--- show/fgnhg.py | 3 +-- show/kdump.py | 2 +- show/main.py | 3 +-- show/muxcable.py | 5 ++--- show/reboot_cause.py | 2 +- show/vnet.py | 3 +-- show/vxlan.py | 3 +-- show/warm_restart.py | 3 +-- tests/buffer_test.py | 6 ++++-- tests/conftest.py | 2 +- tests/counterpoll_test.py | 1 - tests/mock_tables/dbconnector.py | 4 +++- tests/neighbor_advertiser_test.py | 2 +- tests/show_breakout_test.py | 2 +- utilities_common/db.py | 2 +- 47 files changed, 150 insertions(+), 144 deletions(-) diff --git a/acl_loader/main.py b/acl_loader/main.py index 4af41023f1..0d8386f5c7 100644 --- a/acl_loader/main.py +++ b/acl_loader/main.py @@ -10,8 +10,7 @@ import pyangbind.lib.pybindJSON as pybindJSON from natsort import natsorted from sonic_py_common import device_info -from swsssdk import ConfigDBConnector, SonicDBConfig -from swsscommon.swsscommon import SonicV2Connector +from swsscommon.swsscommon import SonicV2Connector, ConfigDBConnector, SonicDBConfig def info(msg): diff --git a/config/aaa.py b/config/aaa.py index 7102227dd5..fb2db721ae 100644 --- a/config/aaa.py +++ b/config/aaa.py @@ -1,5 +1,5 @@ import click -from swsssdk import ConfigDBConnector +from swsscommon.swsscommon import ConfigDBConnector import utilities_common.cli as clicommon def add_table_kv(table, entry, key, val): diff --git a/config/config_mgmt.py b/config/config_mgmt.py index 772ddd8ee8..a8f933b85a 100644 --- a/config/config_mgmt.py +++ b/config/config_mgmt.py @@ -14,8 +14,8 @@ # SONiC specific imports import sonic_yang - from swsssdk import ConfigDBConnector, port_util - from swsscommon.swsscommon import SonicV2Connector + from swsssdk import port_util + from swsscommon.swsscommon import SonicV2Connector, ConfigDBConnector # Using load_source to 'import /usr/local/bin/sonic-cfggen as sonic_cfggen' # since /usr/local/bin/sonic-cfggen does not have .py extension. @@ -190,8 +190,8 @@ def readConfigDB(self): ''' self.sysLog(doPrint=True, msg='Reading data from Redis configDb') # Read from config DB on sonic switch - db_kwargs = dict(); data = dict() - configdb = ConfigDBConnector(**db_kwargs) + data = dict() + configdb = ConfigDBConnector() configdb.connect() deep_update(data, FormatConverter.db_to_output(configdb.get_config())) self.configdbJsonIn = FormatConverter.to_serialized(data) @@ -211,8 +211,8 @@ def writeConfigDB(self, jDiff): void ''' self.sysLog(doPrint=True, msg='Writing in Config DB') - db_kwargs = dict(); data = dict() - configdb = ConfigDBConnector(**db_kwargs) + data = dict() + configdb = ConfigDBConnector() configdb.connect(False) deep_update(data, FormatConverter.to_deserialized(jDiff)) self.sysLog(msg="Write in DB: {}".format(data)) diff --git a/config/kdump.py b/config/kdump.py index c99a6485b6..61806428d1 100644 --- a/config/kdump.py +++ b/config/kdump.py @@ -1,7 +1,7 @@ import os import click import utilities_common.cli as clicommon -from swsssdk import ConfigDBConnector +from swsscommon.swsscommon import ConfigDBConnector @click.group(cls=clicommon.AbbreviationGroup, name="kdump") def kdump(): diff --git a/config/main.py b/config/main.py index f7cf8e32fc..0e067854d8 100644 --- a/config/main.py +++ b/config/main.py @@ -17,8 +17,7 @@ from portconfig import get_child_ports from sonic_py_common import device_info, multi_asic from sonic_py_common.interface import get_interface_table_name, get_port_table_name -from swsssdk import ConfigDBConnector, SonicDBConfig -from swsscommon.swsscommon import SonicV2Connector +from swsscommon.swsscommon import SonicV2Connector, ConfigDBConnector, SonicDBConfig from utilities_common.db import Db from utilities_common.intf_filter import parse_interface_in_filter import utilities_common.cli as clicommon @@ -1882,14 +1881,14 @@ def is_dynamic_buffer_enabled(config_db): @click.option('-s', '--redis-unix-socket-path', help='unix socket path for redis connection') def warm_restart(ctx, redis_unix_socket_path): """warm_restart-related configuration tasks""" - kwargs = {} - if redis_unix_socket_path: - kwargs['unix_socket_path'] = redis_unix_socket_path - config_db = ConfigDBConnector(**kwargs) + # Note: redis_unix_socket_path is a path string, and the ground truth is now from database_config.json. + # We only use it as a bool indicator on either unix_socket_path or tcp port + use_unix_socket_path = bool(redis_unix_socket_path) + config_db = ConfigDBConnector(use_unix_socket_path=use_unix_socket_path) config_db.connect(wait_for_init=False) # warm restart enable/disable config is put in stateDB, not persistent across cold reboot, not saved to config_DB.json file - state_db = SonicV2Connector(host='127.0.0.1') + state_db = SonicV2Connector(use_unix_socket_path=use_unix_socket_path) state_db.connect(state_db.STATE_DB, False) TABLE_NAME_SEPARATOR = '|' prefix = 'WARM_RESTART_ENABLE_TABLE' + TABLE_NAME_SEPARATOR diff --git a/config/muxcable.py b/config/muxcable.py index 2418284692..216da578d3 100644 --- a/config/muxcable.py +++ b/config/muxcable.py @@ -5,8 +5,7 @@ import click import utilities_common.cli as clicommon from sonic_py_common import multi_asic -from swsssdk import ConfigDBConnector -from swsscommon import swsscommon +from swsscommon.swsscommon import SonicV2Connector, ConfigDBConnector from tabulate import tabulate from utilities_common import platform_sfputil_helper @@ -123,7 +122,7 @@ def mode(state, port, json_output): # replace these with correct macros per_npu_configdb[asic_id] = ConfigDBConnector(use_unix_socket_path=True, namespace=namespace) per_npu_configdb[asic_id].connect() - per_npu_statedb[asic_id] = swsscommon.SonicV2Connector(use_unix_socket_path=True, namespace=namespace) + per_npu_statedb[asic_id] = SonicV2Connector(use_unix_socket_path=True, namespace=namespace) per_npu_statedb[asic_id].connect(per_npu_statedb[asic_id].STATE_DB) mux_tbl_cfg_db[asic_id] = per_npu_configdb[asic_id].get_table("MUX_CABLE") diff --git a/config/nat.py b/config/nat.py index d3b0b453ec..99e21b2750 100644 --- a/config/nat.py +++ b/config/nat.py @@ -1,8 +1,7 @@ import ipaddress import click -from swsssdk import ConfigDBConnector -from swsscommon.swsscommon import SonicV2Connector +from swsscommon.swsscommon import SonicV2Connector, ConfigDBConnector def is_valid_ipv4_address(address): diff --git a/counterpoll/main.py b/counterpoll/main.py index dbbbe7aac5..93daf4df9e 100644 --- a/counterpoll/main.py +++ b/counterpoll/main.py @@ -1,6 +1,6 @@ import click import json -import swsssdk +from swsscommon.swsscommon import ConfigDBConnector from tabulate import tabulate BUFFER_POOL_WATERMARK = "BUFFER_POOL_WATERMARK" @@ -24,7 +24,7 @@ def queue(): @click.argument('poll_interval', type=click.IntRange(100, 30000)) def interval(poll_interval): """ Set queue counter query interval """ - configdb = swsssdk.ConfigDBConnector() + configdb = ConfigDBConnector() configdb.connect() queue_info = {} if poll_interval is not None: @@ -34,7 +34,7 @@ def interval(poll_interval): @queue.command() def enable(): """ Enable queue counter query """ - configdb = swsssdk.ConfigDBConnector() + configdb = ConfigDBConnector() configdb.connect() queue_info = {} queue_info['FLEX_COUNTER_STATUS'] = 'enable' @@ -43,7 +43,7 @@ def enable(): @queue.command() def disable(): """ Disable queue counter query """ - configdb = swsssdk.ConfigDBConnector() + configdb = ConfigDBConnector() configdb.connect() queue_info = {} queue_info['FLEX_COUNTER_STATUS'] = 'disable' @@ -58,7 +58,7 @@ def port(): @click.argument('poll_interval', type=click.IntRange(100, 30000)) def interval(poll_interval): """ Set queue counter query interval """ - configdb = swsssdk.ConfigDBConnector() + configdb = ConfigDBConnector() configdb.connect() port_info = {} if poll_interval is not None: @@ -68,7 +68,7 @@ def interval(poll_interval): @port.command() def enable(): """ Enable port counter query """ - configdb = swsssdk.ConfigDBConnector() + configdb = ConfigDBConnector() configdb.connect() port_info = {} port_info['FLEX_COUNTER_STATUS'] = 'enable' @@ -77,7 +77,7 @@ def enable(): @port.command() def disable(): """ Disable port counter query """ - configdb = swsssdk.ConfigDBConnector() + configdb = ConfigDBConnector() configdb.connect() port_info = {} port_info['FLEX_COUNTER_STATUS'] = 'disable' @@ -98,7 +98,7 @@ def interval(poll_interval): This is a short term solution and should be changed once the performance is enhanced """ - configdb = swsssdk.ConfigDBConnector() + configdb = ConfigDBConnector() configdb.connect() port_info = {} if poll_interval: @@ -108,7 +108,7 @@ def interval(poll_interval): @port_buffer_drop.command() def enable(): """ Enable port counter query """ - configdb = swsssdk.ConfigDBConnector() + configdb = ConfigDBConnector() configdb.connect() port_info = {} port_info['FLEX_COUNTER_STATUS'] = ENABLE @@ -117,7 +117,7 @@ def enable(): @port_buffer_drop.command() def disable(): """ Disable port counter query """ - configdb = swsssdk.ConfigDBConnector() + configdb = ConfigDBConnector() configdb.connect() port_info = {} port_info['FLEX_COUNTER_STATUS'] = DISABLE @@ -132,7 +132,7 @@ def rif(): @click.argument('poll_interval') def interval(poll_interval): """ Set rif counter query interval """ - configdb = swsssdk.ConfigDBConnector() + configdb = ConfigDBConnector() configdb.connect() rif_info = {} if poll_interval is not None: @@ -142,7 +142,7 @@ def interval(poll_interval): @rif.command() def enable(): """ Enable rif counter query """ - configdb = swsssdk.ConfigDBConnector() + configdb = ConfigDBConnector() configdb.connect() rif_info = {} rif_info['FLEX_COUNTER_STATUS'] = 'enable' @@ -151,7 +151,7 @@ def enable(): @rif.command() def disable(): """ Disable rif counter query """ - configdb = swsssdk.ConfigDBConnector() + configdb = ConfigDBConnector() configdb.connect() rif_info = {} rif_info['FLEX_COUNTER_STATUS'] = 'disable' @@ -166,7 +166,7 @@ def watermark(): @click.argument('poll_interval', type=click.IntRange(1000, 30000)) def interval(poll_interval): """ Set watermark counter query interval for both queue and PG watermarks """ - configdb = swsssdk.ConfigDBConnector() + configdb = ConfigDBConnector() configdb.connect() queue_wm_info = {} pg_wm_info = {} @@ -182,7 +182,7 @@ def interval(poll_interval): @watermark.command() def enable(): """ Enable watermark counter query """ - configdb = swsssdk.ConfigDBConnector() + configdb = ConfigDBConnector() configdb.connect() fc_info = {} fc_info['FLEX_COUNTER_STATUS'] = 'enable' @@ -193,7 +193,7 @@ def enable(): @watermark.command() def disable(): """ Disable watermark counter query """ - configdb = swsssdk.ConfigDBConnector() + configdb = ConfigDBConnector() configdb.connect() fc_info = {} fc_info['FLEX_COUNTER_STATUS'] = 'disable' @@ -204,7 +204,7 @@ def disable(): @cli.command() def show(): """ Show the counter configuration """ - configdb = swsssdk.ConfigDBConnector() + configdb = ConfigDBConnector() configdb.connect() queue_info = configdb.get_entry('FLEX_COUNTER_TABLE', 'QUEUE') port_info = configdb.get_entry('FLEX_COUNTER_TABLE', 'PORT') diff --git a/crm/main.py b/crm/main.py index b419cc212f..caf0108b12 100644 --- a/crm/main.py +++ b/crm/main.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 import click -import swsssdk +from swsscommon.swsscommon import ConfigDBConnector, SonicDBConfig from tabulate import tabulate from utilities_common import multi_asic as multi_asic_util from sonic_py_common import multi_asic @@ -34,7 +34,7 @@ def show_summary(self): # Get the namespace list namespaces = multi_asic.get_namespace_list() - configdb = swsssdk.ConfigDBConnector(namespace=namespaces[0]) + configdb = ConfigDBConnector(namespace=namespaces[0]) configdb.connect() crm_info = configdb.get_entry('CRM', 'Config') @@ -58,7 +58,7 @@ def show_thresholds(self, resource): # Get the namespace list namespaces = multi_asic.get_namespace_list() - configdb = swsssdk.ConfigDBConnector(namespace=namespaces[0]) + configdb = ConfigDBConnector(namespace=namespaces[0]) configdb.connect() crm_info = configdb.get_entry('CRM', 'Config') @@ -218,7 +218,7 @@ def cli(ctx): ctx.obj = context # Load the global config file database_global.json once. - swsssdk.SonicDBConfig.load_sonic_global_db_config() + SonicDBConfig.load_sonic_global_db_config() @cli.group() @click.pass_context diff --git a/pcieutil/main.py b/pcieutil/main.py index 3a8ca57194..3c250e24a7 100644 --- a/pcieutil/main.py +++ b/pcieutil/main.py @@ -13,7 +13,7 @@ import click from sonic_py_common import device_info, logger - from swsssdk import SonicV2Connector + from swsscommon.swsscommon import SonicV2Connector from tabulate import tabulate import utilities_common.cli as clicommon except ImportError as e: diff --git a/pfc/main.py b/pfc/main.py index ffcc42a97a..b31d3c755e 100644 --- a/pfc/main.py +++ b/pfc/main.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 import click -import swsssdk +from swsscommon.swsscommon import ConfigDBConnector from tabulate import tabulate from natsort import natsorted @@ -12,7 +12,7 @@ def configPfcAsym(interface, pfc_asym): """ PFC handler to configure asymmentric PFC. """ - configdb = swsssdk.ConfigDBConnector() + configdb = ConfigDBConnector() configdb.connect() configdb.mod_entry("PORT", interface, {'pfc_asym': pfc_asym}) @@ -24,7 +24,7 @@ def showPfcAsym(interface): """ header = ('Interface', 'Asymmetric') - configdb = swsssdk.ConfigDBConnector() + configdb = ConfigDBConnector() configdb.connect() if interface: @@ -50,7 +50,7 @@ def showPfcAsym(interface): click.echo() def configPfcPrio(status, interface, priority): - configdb = swsssdk.ConfigDBConnector() + configdb = ConfigDBConnector() configdb.connect() if interface not in configdb.get_keys('PORT_QOS_MAP'): @@ -91,7 +91,7 @@ def showPfcPrio(interface): header = ('Interface', 'Lossless priorities') table = [] - configdb = swsssdk.ConfigDBConnector() + configdb = ConfigDBConnector() configdb.connect() """Get all the interfaces with QoS map information""" diff --git a/scripts/aclshow b/scripts/aclshow index a9ee169209..046cb72efe 100755 --- a/scripts/aclshow +++ b/scripts/aclshow @@ -20,7 +20,7 @@ optional arguments: import argparse import json import os -import swsssdk +from swsscommon.swsscommon import SonicV2Connector, ConfigDBConnector import sys from tabulate import tabulate @@ -60,10 +60,10 @@ class AclStat(object): self.table_list = tables.split(",") # Set up db connections - self.db = swsssdk.SonicV2Connector(host="127.0.0.1") + self.db = SonicV2Connector(use_unix_socket_path=False) self.db.connect(self.db.COUNTERS_DB) - self.configdb = swsssdk.ConfigDBConnector() + self.configdb = ConfigDBConnector() self.configdb.connect() def previous_counters(self): diff --git a/scripts/centralize_database b/scripts/centralize_database index 3ff958117a..c32b19b647 100755 --- a/scripts/centralize_database +++ b/scripts/centralize_database @@ -1,24 +1,24 @@ #!/usr/bin/python from __future__ import print_function import sys -import swsssdk +from swsscommon.swsscommon import SonicDBConfig import redis import argparse def centralize_to_target_db(target_dbname): - target_dbport = swsssdk.SonicDBConfig.get_port(target_dbname) - target_dbhost = swsssdk.SonicDBConfig.get_hostname(target_dbname) + target_dbport = SonicDBConfig.get_port(target_dbname) + target_dbhost = SonicDBConfig.get_hostname(target_dbname) - dblists = swsssdk.SonicDBConfig.get_dblist() + dblists = SonicDBConfig.get_dblist() for dbname in dblists: - dbport = swsssdk.SonicDBConfig.get_port(dbname) - dbhost = swsssdk.SonicDBConfig.get_hostname(dbname) + dbport = SonicDBConfig.get_port(dbname) + dbhost = SonicDBConfig.get_hostname(dbname) # if the db is on the same instance, no need to move if dbport == target_dbport and dbhost == target_dbhost: continue - dbsocket = swsssdk.SonicDBConfig.get_socket(dbname) - dbid = swsssdk.SonicDBConfig.get_dbid(dbname) + dbsocket = SonicDBConfig.get_socket(dbname) + dbid = SonicDBConfig.get_dbid(dbname) r = redis.Redis(host=dbhost, unix_socket_path=dbsocket, db=dbid) @@ -49,7 +49,7 @@ Example : centralize_database APPL_DB if args.target_db: try: centralize_to_target_db(args.target_db) - print(swsssdk.SonicDBConfig.get_instancename(args.target_db)) + print(SonicDBConfig.get_instancename(args.target_db)) except Exception as ex: template = "An exception of type {0} occurred. Arguments:\n{1!r}" message = template.format(type(ex).__name__, ex.args) diff --git a/scripts/configlet b/scripts/configlet index 4d519d3943..0e201be432 100755 --- a/scripts/configlet +++ b/scripts/configlet @@ -78,7 +78,7 @@ A sample for update: import argparse import json -from swsssdk import ConfigDBConnector +from swsscommon.swsscommon import ConfigDBConnector test_only = False diff --git a/scripts/db_migrator.py b/scripts/db_migrator.py index 5b571ce758..1a31404749 100755 --- a/scripts/db_migrator.py +++ b/scripts/db_migrator.py @@ -7,8 +7,7 @@ import re from sonic_py_common import device_info, logger -from swsssdk import ConfigDBConnector, SonicDBConfig -from swsscommon.swsscommon import SonicV2Connector +from swsscommon.swsscommon import SonicV2Connector, ConfigDBConnector, SonicDBConfig INIT_CFG_FILE = '/etc/sonic/init_cfg.json' SYSLOG_IDENTIFIER = 'db_migrator' diff --git a/scripts/dropconfig b/scripts/dropconfig index 066aadc232..b7a86043a5 100755 --- a/scripts/dropconfig +++ b/scripts/dropconfig @@ -10,7 +10,6 @@ # - Add more filters to the show commands (e.g. filter by name, alias, etc.) # - Add the ability to change readonly attributes like group, description, etc. -import swsssdk import argparse import os import sys @@ -28,6 +27,9 @@ try: except KeyError: pass +from swsscommon.swsscommon import SonicV2Connector, ConfigDBConnector + + # CONFIG_DB Tables DEBUG_COUNTER_CONFIG_TABLE = 'DEBUG_COUNTER' DROP_REASON_CONFIG_TABLE = 'DEBUG_COUNTER_DROP_REASON' @@ -52,10 +54,10 @@ class InvalidArgumentError(RuntimeError): class DropConfig(object): def __init__(self): - self.config_db = swsssdk.ConfigDBConnector() + self.config_db = ConfigDBConnector() self.config_db.connect() - self.state_db = swsssdk.SonicV2Connector(host='127.0.0.1') + self.state_db = SonicV2Connector(use_unix_socket_path=False) self.state_db.connect(self.state_db.STATE_DB) # -c show_config diff --git a/scripts/dropstat b/scripts/dropstat index a80269fa48..6766d2a2c1 100755 --- a/scripts/dropstat +++ b/scripts/dropstat @@ -17,7 +17,6 @@ import os import socket import sys -import swsssdk from collections import OrderedDict from natsort import natsorted from tabulate import tabulate @@ -35,6 +34,9 @@ try: except KeyError: pass +from swsscommon.swsscommon import SonicV2Connector, ConfigDBConnector + + # COUNTERS_DB Tables DEBUG_COUNTER_PORT_STAT_MAP = 'COUNTERS_DEBUG_NAME_PORT_STAT_MAP' DEBUG_COUNTER_SWITCH_STAT_MAP = 'COUNTERS_DEBUG_NAME_SWITCH_STAT_MAP' @@ -84,10 +86,10 @@ def get_dropstat_dir(): class DropStat(object): def __init__(self): - self.config_db = swsssdk.ConfigDBConnector() + self.config_db = ConfigDBConnector() self.config_db.connect() - self.db = swsssdk.SonicV2Connector(host='127.0.0.1') + self.db = SonicV2Connector(use_unix_socket_path=False) self.db.connect(self.db.COUNTERS_DB) self.db.connect(self.db.ASIC_DB) self.db.connect(self.db.APPL_DB) diff --git a/scripts/ecnconfig b/scripts/ecnconfig index 62a14b9106..5b21047a11 100755 --- a/scripts/ecnconfig +++ b/scripts/ecnconfig @@ -52,7 +52,6 @@ import json import os import sys -import swsssdk from tabulate import tabulate # mock the redis for unit test purposes # @@ -67,6 +66,9 @@ try: except KeyError: pass +from swsscommon.swsscommon import SonicV2Connector, ConfigDBConnector + + WRED_PROFILE_TABLE_NAME = "WRED_PROFILE" WRED_CONFIG_FIELDS = { "gmax": "green_max_threshold", @@ -104,7 +106,7 @@ class EcnConfig(object): self.verbose = verbose # Set up db connections - self.db = swsssdk.ConfigDBConnector() + self.db = ConfigDBConnector() self.db.connect() def list(self): @@ -204,10 +206,10 @@ class EcnQ(object): self.verbose = verbose # Set up db connections - self.config_db = swsssdk.ConfigDBConnector() + self.config_db = ConfigDBConnector() self.config_db.connect() - self.db = swsssdk.SonicV2Connector(host="127.0.0.1") + self.db = SonicV2Connector(use_unix_socket_path=False) self.db.connect(self.db.CONFIG_DB) self.gen_ports_key() diff --git a/scripts/fast-reboot-dump.py b/scripts/fast-reboot-dump.py index 3c655381f4..92b9227a69 100644 --- a/scripts/fast-reboot-dump.py +++ b/scripts/fast-reboot-dump.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 -import swsssdk +from swsscommon.swsscommon import SonicV2Connector import json import socket import struct @@ -19,7 +19,7 @@ ARP_PAD = binascii.unhexlify('00' * 18) def generate_neighbor_entries(filename, all_available_macs): - db = swsssdk.SonicV2Connector(host='127.0.0.1') + db = SonicV2Connector(use_unix_socket_path=False) db.connect(db.APPL_DB, False) # Make one attempt only arp_output = [] @@ -160,7 +160,7 @@ def get_fdb(db, vlan_name, vlan_id, bridge_id_2_iface): def generate_fdb_entries(filename): fdb_entries = [] - db = swsssdk.SonicV2Connector(host='127.0.0.1') + db = SonicV2Connector(use_unix_socket_path=False) db.connect(db.ASIC_DB, False) # Make one attempt only bridge_id_2_iface = get_map_bridge_port_id_2_iface_name(db) @@ -261,7 +261,7 @@ def get_default_entries(db, route): return obj def generate_default_route_entries(filename): - db = swsssdk.SonicV2Connector(host='127.0.0.1') + db = SonicV2Connector(unix_socket_path=False) db.connect(db.APPL_DB, False) # Make one attempt only default_routes_output = [] diff --git a/scripts/gearboxutil b/scripts/gearboxutil index 22d69853bb..70b33da857 100755 --- a/scripts/gearboxutil +++ b/scripts/gearboxutil @@ -1,6 +1,5 @@ #!/usr/bin/env python3 -import swsssdk import sys from tabulate import tabulate from natsort import natsorted @@ -21,6 +20,9 @@ try: except KeyError: pass +from swsscommon.swsscommon import SonicV2Connector + + # ========================== Common gearbox-utils logic ========================== GEARBOX_TABLE_PHY_PREFIX = "_GEARBOX_TABLE:phy:{}" @@ -69,7 +71,7 @@ def get_appl_key_attr(db, key, attr, lane_count=1): return val def db_connect_appl(): - appl_db = swsssdk.SonicV2Connector(host='127.0.0.1') + appl_db = SonicV2Connector(use_unix_socket_path=False) if appl_db is None: return None appl_db.connect(appl_db.APPL_DB) @@ -79,7 +81,7 @@ def db_connect_state(): """ Connect to REDIS STATE DB and get optics info """ - state_db = swsssdk.SonicV2Connector(host='127.0.0.1') + state_db = SonicV2Connector(use_unix_socket_path=False) if state_db is None: return None state_db.connect(state_db.STATE_DB, False) # Make one attempt only diff --git a/scripts/intfstat b/scripts/intfstat index f36cf949a8..a4858019c4 100755 --- a/scripts/intfstat +++ b/scripts/intfstat @@ -11,7 +11,6 @@ import argparse import datetime import sys import os -import swsssdk import sys import time @@ -30,6 +29,8 @@ from collections import namedtuple, OrderedDict from natsort import natsorted from tabulate import tabulate from utilities_common.netstat import ns_diff, ns_brate, ns_prate, table_as_json, STATUS_NA +from swsscommon.swsscommon import SonicV2Connector + NStats = namedtuple("NStats", "rx_b_ok, rx_p_ok, tx_b_ok, tx_p_ok,\ rx_b_err, rx_p_err, tx_b_err, tx_p_err,") @@ -63,7 +64,7 @@ INTF_STATE_DISABLED = 'X' class Intfstat(object): def __init__(self): - self.db = swsssdk.SonicV2Connector(host='127.0.0.1') + self.db = SonicV2Connector(use_unix_socket_path=False) self.db.connect(self.db.COUNTERS_DB) self.db.connect(self.db.APPL_DB) diff --git a/scripts/lldpshow b/scripts/lldpshow index 05ecb9c49e..b6682b8df1 100755 --- a/scripts/lldpshow +++ b/scripts/lldpshow @@ -26,7 +26,7 @@ import sys import xml.etree.ElementTree as ET from sonic_py_common import device_info -from swsssdk import ConfigDBConnector, SonicDBConfig +from swsscommon.swsscommon import ConfigDBConnector, SonicDBConfig from tabulate import tabulate BACKEND_ASIC_INTERFACE_NAME_PREFIX = 'Ethernet-BP' diff --git a/scripts/mmuconfig b/scripts/mmuconfig index 96f3af1064..7a1aaf0573 100755 --- a/scripts/mmuconfig +++ b/scripts/mmuconfig @@ -18,16 +18,8 @@ optional arguments: import os import sys import argparse -import swsssdk import tabulate - -BUFFER_POOL_TABLE_NAME = "BUFFER_POOL" -BUFFER_PROFILE_TABLE_NAME = "BUFFER_PROFILE" - -DYNAMIC_THRESHOLD = "dynamic_th" -BUFFER_PROFILE_FIELDS = { - "alpha": DYNAMIC_THRESHOLD -} +import traceback # mock the redis for unit test purposes # try: @@ -41,6 +33,16 @@ try: except KeyError: pass +from swsscommon.swsscommon import SonicV2Connector, ConfigDBConnector + +BUFFER_POOL_TABLE_NAME = "BUFFER_POOL" +BUFFER_PROFILE_TABLE_NAME = "BUFFER_PROFILE" + +DYNAMIC_THRESHOLD = "dynamic_th" +BUFFER_PROFILE_FIELDS = { + "alpha": DYNAMIC_THRESHOLD +} + class MmuConfig(object): def __init__(self, verbose, config): self.verbose = verbose @@ -48,10 +50,10 @@ class MmuConfig(object): # Set up db connections if self.config: - self.db = swsssdk.ConfigDBConnector() + self.db = ConfigDBConnector() self.db.connect() else: - self.db = swsssdk.SonicV2Connector(host='127.0.0.1') + self.db = SonicV2Connector(use_unix_socket_path=False) self.db.connect(self.db.STATE_DB, False) def get_table(self, tablename): @@ -151,7 +153,8 @@ def main(config): sys.exit(1) except Exception as e: - print("Exception caught:", str(e), file=sys.stderr) + print("Exception caught: ", str(e), file=sys.stderr) + traceback.print_exc() sys.exit(1) if __name__ == "__main__": diff --git a/scripts/natconfig b/scripts/natconfig index e4e88ad580..90d1acdf9a 100644 --- a/scripts/natconfig +++ b/scripts/natconfig @@ -42,7 +42,7 @@ import argparse import sys from tabulate import tabulate -from swsssdk import ConfigDBConnector +from swsscommon.swsscommon import ConfigDBConnector class NatConfig(object): diff --git a/scripts/neighbor_advertiser b/scripts/neighbor_advertiser index 62124c7400..c1545646dd 100644 --- a/scripts/neighbor_advertiser +++ b/scripts/neighbor_advertiser @@ -17,8 +17,7 @@ import traceback import warnings from sonic_py_common import logger -from swsssdk import ConfigDBConnector -from swsscommon.swsscommon import SonicV2Connector +from swsscommon.swsscommon import SonicV2Connector, ConfigDBConnector from netaddr import IPAddress, IPNetwork diff --git a/scripts/pcmping b/scripts/pcmping index 521583645a..2ffd3dd0e2 100755 --- a/scripts/pcmping +++ b/scripts/pcmping @@ -12,7 +12,7 @@ import socket import sys import time -import swsssdk +from swsscommon.swsscommon import ConfigDBConnector from scapy.all import * @@ -79,7 +79,7 @@ def find_probe_packet(interface, dst_out, dst_in, sockets, exp_socket, max_iter) sys.exit(0) def get_portchannel(interface): - configdb = swsssdk.ConfigDBConnector() + configdb = ConfigDBConnector() configdb.connect() portchannels = configdb.get_table("PORTCHANNEL") for key, value in portchannels.items(): @@ -97,7 +97,7 @@ def is_ip_prefix_in_key(key): return (isinstance(key, tuple)) def get_portchannel_ipv4(portchannel_name): - configdb = swsssdk.ConfigDBConnector() + configdb = ConfigDBConnector() configdb.connect() config = configdb.get_config() portchannel_interfaces = config["PORTCHANNEL_INTERFACE"] diff --git a/scripts/portconfig b/scripts/portconfig index c850cbe2fe..9a7cc545a3 100755 --- a/scripts/portconfig +++ b/scripts/portconfig @@ -19,7 +19,7 @@ optional arguments: """ import sys import argparse -import swsssdk +from swsscommon.swsscommon import ConfigDBConnector, SonicDBConfig PORT_TABLE_NAME = "PORT" PORT_SPEED_CONFIG_FIELD_NAME = "speed" @@ -35,9 +35,9 @@ class portconfig(object): # Set up db connections if namespace is None: - self.db = swsssdk.ConfigDBConnector() + self.db = ConfigDBConnector() else: - self.db = swsssdk.ConfigDBConnector(use_unix_socket_path=True, namespace=namespace) + self.db = ConfigDBConnector(use_unix_socket_path=True, namespace=namespace) self.db.connect() # check whether table for this port exists @@ -81,7 +81,7 @@ def main(): args = parser.parse_args() if args.namespace is not None: - swsssdk.SonicDBConfig.load_sonic_global_db_config(namespace=args.namespace) + SonicDBConfig.load_sonic_global_db_config(namespace=args.namespace) try: port = portconfig(args.verbose, args.port, args.namespace) diff --git a/scripts/portstat b/scripts/portstat index 674d0c5aea..7fa37108cf 100755 --- a/scripts/portstat +++ b/scripts/portstat @@ -19,12 +19,6 @@ from natsort import natsorted from tabulate import tabulate from sonic_py_common import multi_asic -from utilities_common import constants -from utilities_common.intf_filter import parse_interface_in_filter -import utilities_common.multi_asic as multi_asic_util -from utilities_common.netstat import (ns_brate, ns_diff, ns_prate, ns_util, - table_as_json) - # mock the redis for unit test purposes # try: if os.environ["UTILITIES_UNIT_TESTING"] == "2": @@ -40,6 +34,13 @@ try: except KeyError: pass +from utilities_common import constants +from utilities_common.intf_filter import parse_interface_in_filter +import utilities_common.multi_asic as multi_asic_util +from utilities_common.netstat import (ns_brate, ns_diff, ns_prate, ns_util, + table_as_json) + + PORT_RATE = 40 """ diff --git a/scripts/queuestat b/scripts/queuestat index 078e4a099e..24369c82a5 100755 --- a/scripts/queuestat +++ b/scripts/queuestat @@ -10,7 +10,7 @@ import _pickle as pickle import argparse import datetime import os.path -import swsssdk +from swsscommon.swsscommon import SonicV2Connector import sys from collections import namedtuple, OrderedDict @@ -49,7 +49,7 @@ cnstat_fqn_file = 'N/A' class Queuestat(object): def __init__(self): - self.db = swsssdk.SonicV2Connector(host='127.0.0.1') + self.db = SonicV2Connector(use_unix_socket_path=False) self.db.connect(self.db.COUNTERS_DB) def get_queue_port(table_id): diff --git a/scripts/sonic-kdump-config b/scripts/sonic-kdump-config index 7dbde1d708..8dc1a553b1 100755 --- a/scripts/sonic-kdump-config +++ b/scripts/sonic-kdump-config @@ -23,7 +23,7 @@ import shlex import os import subprocess import json -from swsssdk import ConfigDBConnector +from swsscommon.swsscommon import ConfigDBConnector aboot_cfg_template ="/host/image-%s/kernel-cmdline" grub_cfg = "/host/grub/grub.cfg" diff --git a/scripts/watermarkcfg b/scripts/watermarkcfg index 274727f70e..c3a8b0961c 100644 --- a/scripts/watermarkcfg +++ b/scripts/watermarkcfg @@ -8,7 +8,7 @@ import argparse import sys -import swsssdk +from swsscommon.swsscommon import ConfigDBConnector class Watermarkcfg(object): @@ -17,13 +17,13 @@ class Watermarkcfg(object): pass def set_interval(self, interval): - configdb = swsssdk.ConfigDBConnector() + configdb = ConfigDBConnector() configdb.connect() configdb.mod_entry('WATERMARK_TABLE', 'TELEMETRY_INTERVAL', {'interval': interval}) def show_interval(self): - configdb = swsssdk.ConfigDBConnector() + configdb = ConfigDBConnector() configdb.connect() wm_info = configdb.get_entry('WATERMARK_TABLE', 'TELEMETRY_INTERVAL') diff --git a/scripts/watermarkstat b/scripts/watermarkstat index b9df56ca89..bae72821c7 100755 --- a/scripts/watermarkstat +++ b/scripts/watermarkstat @@ -11,7 +11,6 @@ import json import os import sys -import swsssdk from natsort import natsorted from tabulate import tabulate @@ -27,6 +26,9 @@ try: except KeyError: pass +from swsscommon.swsscommon import SonicV2Connector + + headerBufferPool = ['Pool', 'Bytes'] @@ -59,11 +61,11 @@ COUNTERS_BUFFER_POOL_NAME_MAP = "COUNTERS_BUFFER_POOL_NAME_MAP" class Watermarkstat(object): def __init__(self): - self.counters_db = swsssdk.SonicV2Connector(host='127.0.0.1') + self.counters_db = SonicV2Connector(use_unix_socket_path=False) self.counters_db.connect(self.counters_db.COUNTERS_DB) # connect APP DB for clear notifications - self.app_db = swsssdk.SonicV2Connector(host='127.0.0.1') + self.app_db = SonicV2Connector(use_unix_socket_path=False) self.app_db.connect(self.counters_db.APPL_DB) def get_queue_type(table_id): diff --git a/show/fgnhg.py b/show/fgnhg.py index 6ed0b68939..a8b12787ce 100644 --- a/show/fgnhg.py +++ b/show/fgnhg.py @@ -3,8 +3,7 @@ import click import utilities_common.cli as clicommon -from swsssdk import ConfigDBConnector -from swsscommon.swsscommon import SonicV2Connector +from swsscommon.swsscommon import SonicV2Connector, ConfigDBConnector from tabulate import tabulate diff --git a/show/kdump.py b/show/kdump.py index 9039162836..d846792797 100644 --- a/show/kdump.py +++ b/show/kdump.py @@ -1,6 +1,6 @@ import click import utilities_common.cli as clicommon -from swsssdk import ConfigDBConnector +from swsscommon.swsscommon import ConfigDBConnector # # 'kdump command ("show kdump ...") diff --git a/show/main.py b/show/main.py index d7b0fdaac3..05e5deafad 100644 --- a/show/main.py +++ b/show/main.py @@ -10,8 +10,7 @@ import utilities_common.multi_asic as multi_asic_util from natsort import natsorted from sonic_py_common import device_info, multi_asic -from swsssdk import ConfigDBConnector -from swsscommon.swsscommon import SonicV2Connector +from swsscommon.swsscommon import SonicV2Connector, ConfigDBConnector from tabulate import tabulate from utilities_common.db import Db diff --git a/show/muxcable.py b/show/muxcable.py index 0a099105f8..0dff20b1d7 100644 --- a/show/muxcable.py +++ b/show/muxcable.py @@ -4,8 +4,7 @@ import click import utilities_common.cli as clicommon from sonic_py_common import multi_asic -from swsscommon import swsscommon -from swsssdk import ConfigDBConnector +from swsscommon.swsscommon import SonicV2Connector, ConfigDBConnector from tabulate import tabulate from utilities_common import platform_sfputil_helper @@ -131,7 +130,7 @@ def status(port, json_output): namespaces = multi_asic.get_front_end_namespaces() for namespace in namespaces: asic_id = multi_asic.get_asic_index_from_namespace(namespace) - per_npu_statedb[asic_id] = swsscommon.SonicV2Connector(use_unix_socket_path=False, namespace=namespace) + per_npu_statedb[asic_id] = SonicV2Connector(use_unix_socket_path=False, namespace=namespace) per_npu_statedb[asic_id].connect(per_npu_statedb[asic_id].STATE_DB) port_table_keys[asic_id] = per_npu_statedb[asic_id].keys( diff --git a/show/reboot_cause.py b/show/reboot_cause.py index fab98abb19..d1424d8676 100755 --- a/show/reboot_cause.py +++ b/show/reboot_cause.py @@ -4,7 +4,7 @@ import click from tabulate import tabulate -from swsssdk import SonicV2Connector +from swsscommon.swsscommon import SonicV2Connector import utilities_common.cli as clicommon diff --git a/show/vnet.py b/show/vnet.py index 4514a9afe4..21d46af7fa 100644 --- a/show/vnet.py +++ b/show/vnet.py @@ -1,8 +1,7 @@ import click import utilities_common.cli as clicommon from natsort import natsorted -from swsssdk import ConfigDBConnector -from swsscommon.swsscommon import SonicV2Connector +from swsscommon.swsscommon import SonicV2Connector, ConfigDBConnector from tabulate import tabulate diff --git a/show/vxlan.py b/show/vxlan.py index a9f18759e3..bb20580689 100644 --- a/show/vxlan.py +++ b/show/vxlan.py @@ -1,8 +1,7 @@ import click import utilities_common.cli as clicommon from natsort import natsorted -from swsssdk import ConfigDBConnector -from swsssdk import SonicV2Connector +from swsscommon.swsscommon import SonicV2Connector, ConfigDBConnector from tabulate import tabulate # diff --git a/show/warm_restart.py b/show/warm_restart.py index 7c2b443236..2d0ea4b69c 100644 --- a/show/warm_restart.py +++ b/show/warm_restart.py @@ -1,7 +1,6 @@ import click import utilities_common.cli as clicommon -from swsssdk import ConfigDBConnector -from swsscommon.swsscommon import SonicV2Connector +from swsscommon.swsscommon import SonicV2Connector, ConfigDBConnector from tabulate import tabulate diff --git a/tests/buffer_test.py b/tests/buffer_test.py index cf32f39d55..e82d9565c9 100644 --- a/tests/buffer_test.py +++ b/tests/buffer_test.py @@ -3,7 +3,7 @@ import sys from click.testing import CliRunner from unittest import TestCase -from swsssdk import ConfigDBConnector +from swsscommon.swsscommon import ConfigDBConnector from .mock_tables import dbconnector @@ -93,10 +93,12 @@ def executor(self, testcase): for input in testcase: exec_cmd = show.cli.commands[input['cmd'][0]].commands[input['cmd'][1]] - result = runner.invoke(exec_cmd, []) + result = runner.invoke(exec_cmd, [], catch_exceptions=True) print(result.exit_code) print(result.output) + if result.exception: + print(result.exception) assert result.exit_code == 0 assert result.output == input['rc_output'] diff --git a/tests/conftest.py b/tests/conftest.py index 309e65f055..9a2f30438e 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -5,7 +5,7 @@ import pytest from sonic_py_common import device_info -from swsssdk import ConfigDBConnector +from swsscommon.swsscommon import ConfigDBConnector from .mock_tables import dbconnector from . import show_ip_route_common diff --git a/tests/counterpoll_test.py b/tests/counterpoll_test.py index d179553abc..476fc96de5 100644 --- a/tests/counterpoll_test.py +++ b/tests/counterpoll_test.py @@ -2,7 +2,6 @@ import json import os import pytest -import swsssdk import sys import time from click.testing import CliRunner diff --git a/tests/mock_tables/dbconnector.py b/tests/mock_tables/dbconnector.py index ae94561868..646b3b055b 100644 --- a/tests/mock_tables/dbconnector.py +++ b/tests/mock_tables/dbconnector.py @@ -8,7 +8,7 @@ import redis import swsssdk from sonic_py_common import multi_asic -from swsssdk import SonicDBConfig, SonicV2Connector +from swsssdk import SonicDBConfig, SonicV2Connector, ConfigDBConnector, ConfigDBPipeConnector from swsscommon import swsscommon @@ -146,3 +146,5 @@ def keys(self, pattern='*'): redis.StrictRedis = SwssSyncClient SonicV2Connector.connect = connect_SonicV2Connector swsscommon.SonicV2Connector = SonicV2Connector +swsscommon.ConfigDBConnector = ConfigDBConnector +swsscommon.ConfigDBPipeConnector = ConfigDBPipeConnector diff --git a/tests/neighbor_advertiser_test.py b/tests/neighbor_advertiser_test.py index 3a3aeba39f..2310a3bf65 100644 --- a/tests/neighbor_advertiser_test.py +++ b/tests/neighbor_advertiser_test.py @@ -1,7 +1,7 @@ import sys import os import pytest -from swsssdk import ConfigDBConnector +from swsscommon.swsscommon import ConfigDBConnector test_path = os.path.dirname(os.path.abspath(__file__)) modules_path = os.path.dirname(test_path) diff --git a/tests/show_breakout_test.py b/tests/show_breakout_test.py index 0493d7e293..0072b9d2f1 100644 --- a/tests/show_breakout_test.py +++ b/tests/show_breakout_test.py @@ -2,7 +2,7 @@ import sys from click.testing import CliRunner from unittest import TestCase -from swsssdk import ConfigDBConnector +from swsscommon.swsscommon import ConfigDBConnector test_path = os.path.dirname(os.path.abspath(__file__)) modules_path = os.path.dirname(test_path) diff --git a/utilities_common/db.py b/utilities_common/db.py index f6b4189190..7842b4dcdd 100644 --- a/utilities_common/db.py +++ b/utilities_common/db.py @@ -1,5 +1,5 @@ from sonic_py_common import multi_asic -from swsssdk import ConfigDBConnector, SonicV2Connector +from swsscommon.swsscommon import ConfigDBConnector, SonicV2Connector from utilities_common import constants from utilities_common.multi_asic import multi_asic_ns_choices From a6ae218238e7e552f49191f81451bd55ff56ba51 Mon Sep 17 00:00:00 2001 From: maksymbelei95 <75987222+maksymbelei95@users.noreply.github.com> Date: Tue, 2 Feb 2021 07:08:26 +0200 Subject: [PATCH 057/342] [vrf]: Fix freezing during interface binding (#1325) * Replacing using 'get_all' with 'exists' in port state checking procedure inside bind function to avoid freezing in the while loop, what caused by absence of related record in STATE_DB. Signed-off-by: Maksym Belei --- config/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/main.py b/config/main.py index 0e067854d8..3ad1e317a1 100644 --- a/config/main.py +++ b/config/main.py @@ -3079,7 +3079,7 @@ def bind(ctx, interface_name, vrf_name): state_db = SonicV2Connector(use_unix_socket_path=True, namespace=ctx.obj['namespace']) state_db.connect(state_db.STATE_DB, False) _hash = '{}{}'.format('INTERFACE_TABLE|', interface_name) - while state_db.get_all(state_db.STATE_DB, _hash) != None: + while state_db.exists(state_db.STATE_DB, _hash): time.sleep(0.01) state_db.close(state_db.STATE_DB) config_db.set_entry(table_name, interface_name, {"vrf_name": vrf_name}) From aa7b90eb1fbc0df63a53e8a5ce25e3e85e022f6e Mon Sep 17 00:00:00 2001 From: Ying Xie Date: Wed, 3 Feb 2021 12:46:02 -0800 Subject: [PATCH 058/342] [storyteller] allow storyteller to work on downloaded logs (#1388) - What I did Add log path parameter to allow storyteller to work on logs downloaded from sonic devices. Improve reboot regex to capture more warm reboot related logs. - How to verify it Use storyteller against a sonic dump. --- scripts/storyteller | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/scripts/storyteller b/scripts/storyteller index 01e18174a3..723403c365 100755 --- a/scripts/storyteller +++ b/scripts/storyteller @@ -14,13 +14,14 @@ regex_dict = { 'crash' : 'what\|unexpected exception\|notify_OA_about_syncd_exception\|SIG\|not expected', 'interface' : 'updatePortOperStatus\|Configure .* to', 'lag' : 'link becomes\|addLag', - 'reboot' : 'BOOT\|rc.local\|old_config\|minigraph.xml\|Rebooting\|reboot\|executeOperationsOnAsic\|getAsicView\|dumpVidToAsicOperatioId', + 'reboot' : 'BOOT\|rc.local\|old_config\|minigraph.xml\|Rebooting\|reboot\|executeOperationsOnAsic\|getAsicView\|dumpVidToAsicOperatioId\|neighbor_adv\|Pausing\|shutdown\|warm', 'service' : 'Starting\|Stopping\|Started\|Stopped', } def exec_cmd(cmd): - out = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, shell=True, text=True) + # Use universal_newlines (instead of text) so that this tool can work with any python versions. + out = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, shell=True, universal_newlines=True) stdout, stderr = out.communicate() return out.returncode, stdout, stderr @@ -37,9 +38,9 @@ def build_options(after=0, before=0, context=0): return ' '.join(x for x in options) -def find_log(log, regex, after=0, before=0, context=0): +def find_log(logpath, log, regex, after=0, before=0, context=0): options = build_options(after, before, context) - cmd = 'ls -rt /var/log/{}* | xargs zgrep -a {} "{}"'.format(log, options, regex) + cmd = 'ls -rt {}/{}* | xargs zgrep -a {} "{}"'.format(logpath, log, options, regex) _, out, _ = exec_cmd(cmd) ''' Opportunity to improve: @@ -66,6 +67,8 @@ def main(): type=str, required=False, default='syslog') parser.add_argument('-c', '--category', help='Categories: bgp, crash, interface, lag, reboot, service Specify multiple categories as c1,c2,c3; default: reboot', type=str, required=False, default='reboot') + parser.add_argument('-p', '--logpath', help='log file path, e.g. /var/log; default: /var/log', + type=str, required=False, default='/var/log') parser.add_argument('-A', '--after', help='Show N lines after match', type=int, required=False, default=0) parser.add_argument('-B', '--before', help='Show N lines before match', @@ -78,7 +81,7 @@ def main(): log = args.log reg = build_regex(args.category) - find_log(log, reg, args.after, args.before, args.context) + find_log(args.logpath, log, reg, args.after, args.before, args.context) if __name__ == '__main__': From ba68aed68d3461da2c9c7b5d74151e7cfd7a9fe2 Mon Sep 17 00:00:00 2001 From: lguohan Date: Wed, 3 Feb 2021 15:27:54 -0800 Subject: [PATCH 059/342] do not parse stderr to get correct routing stack (#1398) ignore the message printed on stderr sonic:$ show ip bgp sum usermod: Permission denied. usermod: cannot lock /etc/passwd; try again later. usermod: Permission denied. usermod: cannot lock /etc/passwd; try again later. Signed-off-by: Guohan Lu --- clear/main.py | 3 +-- show/main.py | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/clear/main.py b/clear/main.py index ff0bc0d6cb..c9400097a5 100755 --- a/clear/main.py +++ b/clear/main.py @@ -78,8 +78,7 @@ def get_routing_stack(): proc = subprocess.Popen(command, stdout=subprocess.PIPE, shell=True, - text=True, - stderr=subprocess.STDOUT) + text=True) stdout = proc.communicate()[0] proc.wait() result = stdout.rstrip('\n') diff --git a/show/main.py b/show/main.py index 05e5deafad..2d4ab881a5 100644 --- a/show/main.py +++ b/show/main.py @@ -57,8 +57,7 @@ def get_routing_stack(): proc = subprocess.Popen(command, stdout=subprocess.PIPE, shell=True, - text=True, - stderr=subprocess.STDOUT) + text=True) stdout = proc.communicate()[0] proc.wait() result = stdout.rstrip('\n') From 9ac47e500014def9aaafcfc342d4645502e941b2 Mon Sep 17 00:00:00 2001 From: Prince Sunny Date: Wed, 3 Feb 2021 15:28:22 -0800 Subject: [PATCH 060/342] Skip route check for tun0 interfaces (#1399) As part of dual-tor features, kernel tunnel interface (tun0) is being created. The routes over this is intended for kernel forwarding and not expected to be installed in ASIC. Ref PR - Azure/sonic-swss#1615 --- scripts/route_check.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/route_check.py b/scripts/route_check.py index 3970964ab0..aaa0c33c3e 100755 --- a/scripts/route_check.py +++ b/scripts/route_check.py @@ -320,7 +320,7 @@ def filter_out_local_interfaces(keys): :return keys filtered out of local """ rt = [] - local_if_re = ['eth0', 'lo', 'docker0', 'Loopback\d+'] + local_if_re = ['eth0', 'lo', 'docker0', 'tun0', 'Loopback\d+'] db = swsscommon.DBConnector(APPL_DB_NAME, 0) tbl = swsscommon.Table(db, 'ROUTE_TABLE') From 9e0a4fae1ce35ac90b40fdf6b2ad44bd43a00005 Mon Sep 17 00:00:00 2001 From: vdahiya12 <67608553+vdahiya12@users.noreply.github.com> Date: Thu, 4 Feb 2021 12:08:52 -0800 Subject: [PATCH 061/342] [config][show] cli support for retrieving ber, eye-info and configuring prbs, loopback on Y-cable (#1386) This PR provides the support for adding CLI commands for configuring prbs, loopback and showing the BER and Eye info of the muxcable. In particular these Cli commands are supported: ` show muxcable eyeinfo ` ` show muxcable berinfo ` `config muxcable prbs ` `config muxcable loopback ` #### What is the motivation for this PR? To add the support for Cli for muxcable to be utilized for configuring prbs, loopback modes and showing the ber, eye info of all the Port/Ports on a muxcable. Signed-off-by: vaibhav-dahiya --- config/muxcable.py | 74 ++++++++++++++++++++- doc/Command-Reference.md | 111 ++++++++++++++++++++++++++++++- setup.py | 1 + show/muxcable.py | 45 +++++++++++++ tests/muxcable_test.py | 137 +++++++++++++++++++++++++++++---------- 5 files changed, 331 insertions(+), 37 deletions(-) diff --git a/config/muxcable.py b/config/muxcable.py index 216da578d3..8edde8c461 100644 --- a/config/muxcable.py +++ b/config/muxcable.py @@ -70,7 +70,7 @@ def lookup_statedb_and_update_configdb(per_npu_statedb, config_db, port, state_c ipv6_value = get_value_for_key_in_config_tbl(config_db, port, "server_ipv6", "MUX_CABLE") state = get_value_for_key_in_dict(muxcable_statedb_dict, port, "state", "MUX_CABLE_TABLE") - if (state == "active" and configdb_state == "active") or (state == "standby" and configdb_state == "active") or (state == "unknown" and configdb_state == "active") : + if (state == "active" and configdb_state == "active") or (state == "standby" and configdb_state == "active") or (state == "unknown" and configdb_state == "active"): if state_cfg_val == "active": # status is already active, so right back error port_status_dict[port] = 'OK' @@ -89,7 +89,7 @@ def lookup_statedb_and_update_configdb(per_npu_statedb, config_db, port, state_c # dont write anything to db, write OK to user port_status_dict[port] = 'OK' - elif (state == "standby" and configdb_state == "auto") or (state == "unknown" and configdb_state == "auto"): + elif (state == "standby" and configdb_state == "auto") or (state == "unknown" and configdb_state == "auto"): if state_cfg_val == "active": # make the state active config_db.set_entry("MUX_CABLE", port, {"state": "active", @@ -187,3 +187,73 @@ def mode(state, port, json_output): click.echo(tabulate(data, headers=headers)) sys.exit(CONFIG_SUCCESSFUL) + +@muxcable.group(cls=clicommon.AbbreviationGroup) +def prbs(): + """Enable/disable PRBS mode on a port""" + pass + +@prbs.command() +@click.argument('port', required=True, default=None, type=click.INT) +@click.argument('target', required=True, default=None, type=click.INT) +@click.argument('mode_value', required=True, default=None, type=click.INT) +@click.argument('lane_map', required=True, default=None, type=click.INT) +def enable(port, target, mode_value, lane_map): + """Enable PRBS mode on a port""" + + import sonic_y_cable.y_cable + res = sonic_y_cable.y_cable.enable_prbs_mode(port, target, mode_value, lane_map) + if res != True: + click.echo("PRBS config unsuccesful") + sys.exit(CONFIG_FAIL) + click.echo("PRBS config sucessful") + sys.exit(CONFIG_SUCCESSFUL) + +@prbs.command() +@click.argument('port', required=True, default=None, type=click.INT) +@click.argument('target', required=True, default=None, type=click.INT) +def disable(port, target): + """Disable PRBS mode on a port""" + + import sonic_y_cable.y_cable + res = sonic_y_cable.y_cable.disable_prbs_mode(port, target) + if res != True: + click.echo("PRBS disable unsuccesful") + sys.exit(CONFIG_FAIL) + click.echo("PRBS disable sucessful") + sys.exit(CONFIG_SUCCESSFUL) + +@muxcable.group(cls=clicommon.AbbreviationGroup) +def loopback(): + """Enable/disable loopback mode on a port""" + pass + + +@loopback.command() +@click.argument('port', required=True, default=None, type=click.INT) +@click.argument('target', required=True, default=None, type=click.INT) +@click.argument('lane_map', required=True, default=None, type=click.INT) +def enable(port, target, lane_map): + """Enable loopback mode on a port""" + + import sonic_y_cable.y_cable + res = sonic_y_cable.y_cable.enable_loopback_mode(port, target, lane_map) + if res != True: + click.echo("loopback config unsuccesful") + sys.exit(CONFIG_FAIL) + click.echo("loopback config sucessful") + sys.exit(CONFIG_SUCCESSFUL) + +@loopback.command() +@click.argument('port', required=True, default=None, type=click.INT) +@click.argument('target', required=True, default=None, type=click.INT) +def disable(port, target): + """Disable loopback mode on a port""" + + import sonic_y_cable.y_cable + res = sonic_y_cable.y_cable.disable_loopback_mode(port, target) + if res != True: + click.echo("loopback disable unsuccesful") + sys.exit(CONFIG_FAIL) + click.echo("loopback disable sucessful") + sys.exit(CONFIG_SUCCESSFUL) diff --git a/doc/Command-Reference.md b/doc/Command-Reference.md index 3088b6db61..b2015fb51a 100644 --- a/doc/Command-Reference.md +++ b/doc/Command-Reference.md @@ -4734,6 +4734,54 @@ While displaying the muxcable configuration, users can configure the following f } ``` +**show muxcable ber-info** + +This command displays the ber(Bit error rate) of the port user provides on the target user provides. The target provided as an integer corresponds to actual target as. +0 -> local +1 -> tor 1 +2 -> tor 2 +3 -> nic + +- Usage: + ``` + Usage: show muxcable ber-info [OPTIONS] PORT TARGET + ``` + + +- PORT required - Port number should be a valid port +- TARGET required - the actual target to get the ber info of. + +- Example: + ``` + admin@sonic:~$ show muxcable ber-info 1 1 + Lane1 Lane2 + ------- ------- + 0 0 + ``` + +**show muxcable ber-info** + +This command displays the eye info in mv(milli volts) of the port user provides on the target user provides. The target provided as an integer corresponds to actual target as. +0 -> local +1 -> tor 1 +2 -> tor 2 +3 -> nic + +- Usage: + ``` + Usage: show muxcable eye-info [OPTIONS] PORT TARGET + ``` + +- PORT required - Port number should be a valid port +- TARGET required - the actual target to get the eye info of. + +- Example: + ``` + admin@sonic:~$ show muxcable ber-info 1 1 + Lane1 Lane2 + ------- ------- + 632 622 + ``` ### Muxcable Config commands @@ -4769,7 +4817,6 @@ While configuring the muxcable, users needs to configure the following fields fo "Ethernet0": "OK" } ``` - ``` admin@sonic:~$ sudo config muxcable mode active all port state @@ -4785,7 +4832,67 @@ While configuring the muxcable, users needs to configure the following fields fo "Ethernet32": "INPROGRESS", "Ethernet0": "OK" } - ``` + ``` +**config muxcable prbs enable/disable** + +This command is used for setting the configuration and enable/diable of prbs on a port user provides. While enabling in addition to port the user also needs to provides the target, prbs mode and lane map on which the user intends to run prbs on. The target reflects where the enable/dsiable will happen. + +- Usage: + ``` + config muxcable prbs enable [OPTIONS] PORT TARGET MODE_VALUE LANE_MAP + config muxcable prbs disable [OPTIONS] PORT TARGET + ``` + +While configuring the muxcable, users needs to configure the following fields for the operation + +- PORT required - Port number should be a valid port +- TARGET required - the actual target to run the prbs on + 0 -> local side, + 1 -> TOR 1 + 2 -> TOR 2 + 3 -> NIC +- MODE_VALUE required - the mode/type for configuring the PRBS mode. + 0x00 = PRBS 9, 0x01 = PRBS 15, 0x02 = PRBS 23, 0x03 = PRBS 31 +- LANE_MAP required - an integer representing the lane_map to be run PRBS on + 0bit for lane 0, 1bit for lane1 and so on. + for example 3 -> 0b'0011 , means running on lane0 and lane1 +- Example: + ``` + admin@sonic:~$ sudo config muxcable prbs enable 1 1 3 3 + PRBS config sucessful + admin@sonic:~$ sudo config muxcable prbs disable 1 0 + PRBS disable sucessful + ``` + +**config muxcable loopback enable/disable** + +This command is used for setting the configuration and enable/disable of loopback on a port user provides. While enabling in addition to port the user also needs to provides the target and lane map on which the user intends to run loopback on. The target reflects where the enable/dsiable will happen. + +- Usage: + ``` + config muxcable loopback enable [OPTIONS] PORT TARGET LANE_MAP + config muxcable loopback disable [OPTIONS] PORT TARGET + ``` + +While configuring the muxcable, users needs to configure the following fields for the operation + +- PORT required - Port number should be a valid port +- TARGET required - the actual target to run the loopback on + 0 -> local side, + 1 -> TOR 1 + 2 -> TOR 2 + 3 -> NIC +- LANE_MAP required - an integer representing the lane_map to be run loopback on + 0bit for lane 0, 1bit for lane1 and so on. + for example 3 -> 0b'0011 , means running on lane0 and lane1 + +- Example: + ``` + admin@sonic:~$ sudo config muxcable loopback enable 1 1 3 + loopback config sucessful + admin@sonic:~$ sudo config muxcable loopback disable 1 0 + loopback disable sucessfull + ``` Go Back To [Beginning of the document](#) or [Beginning of this section](#muxcable) diff --git a/setup.py b/setup.py index 2af6829029..e28ef477de 100644 --- a/setup.py +++ b/setup.py @@ -156,6 +156,7 @@ 'netifaces==0.10.7', 'pexpect==4.8.0', 'requests==2.25.0', + 'sonic-platform-common', 'sonic-py-common', 'sonic-yang-mgmt', 'swsssdk>=2.0.1', diff --git a/show/muxcable.py b/show/muxcable.py index 0dff20b1d7..fd2abaf526 100644 --- a/show/muxcable.py +++ b/show/muxcable.py @@ -1,4 +1,5 @@ import json +import os import sys import click @@ -14,6 +15,8 @@ CONFIG_SUCCESSFUL = 101 CONFIG_FAIL = 1 +EXIT_FAIL = 1 +EXIT_SUCCESS = 0 STATUS_FAIL = 1 STATUS_SUCCESSFUL = 102 @@ -335,3 +338,45 @@ def config(port, json_output): click.echo(tabulate(print_data, headers=headers)) sys.exit(CONFIG_SUCCESSFUL) + + +@muxcable.command() +@click.argument('port', required=True, default=None, type=click.INT) +@click.argument('target', required=True, default=None, type=click.INT) +def berinfo(port, target): + """Show muxcable BER (bit error rate) information""" + + if os.geteuid() != 0: + click.echo("Root privileges are required for this operation") + sys.exit(EXIT_FAIL) + import sonic_y_cable.y_cable + res = sonic_y_cable.y_cable.get_ber_info(port, target) + if res == False or res == -1: + click.echo("Unable to fetch ber info") + sys.exit(EXIT_FAIL) + headers = ['Lane1', 'Lane2', 'Lane3', 'Lane4'] + lane_data = [] + lane_data.append(res) + click.echo(tabulate(lane_data, headers=headers)) + sys.exit(EXIT_SUCCESS) + + +@muxcable.command() +@click.argument('port', required=True, default=None, type=click.INT) +@click.argument('target', required=True, default=None, type=click.INT) +def eyeinfo(port, target): + """Show muxcable eye information in mv""" + + if os.geteuid() != 0: + click.echo("Root privileges are required for this operation") + sys.exit(EXIT_FAIL) + import sonic_y_cable.y_cable + res = sonic_y_cable.y_cable.get_eye_info(port, target) + if res == False or res == -1: + click.echo("Unable to fetch eye info") + sys.exit(EXIT_FAIL) + headers = ['Lane1', 'Lane2', 'Lane3', 'Lane4'] + lane_data = [] + lane_data.append(res) + click.echo(tabulate(lane_data, headers=headers)) + sys.exit(EXIT_SUCCESS) diff --git a/tests/muxcable_test.py b/tests/muxcable_test.py index 7fad557f4a..0639fca7aa 100644 --- a/tests/muxcable_test.py +++ b/tests/muxcable_test.py @@ -10,6 +10,11 @@ sys.modules['sonic_platform_base'] = mock.Mock() sys.modules['sonic_platform_base.sonic_sfp'] = mock.Mock() sys.modules['sonic_platform_base.sonic_sfp.sfputilhelper'] = mock.Mock() +sys.modules['sonic_y_cable'] = mock.Mock() +sys.modules['y_cable'] = mock.Mock() +sys.modules['sonic_y_cable.y_cable'] = mock.Mock() +#sys.modules['os'] = mock.Mock() +#sys.modules['os.geteuid'] = mock.Mock() #sys.modules['platform_sfputil'] = mock.Mock() import config.main as config import show.main as show @@ -160,8 +165,8 @@ def test_muxcable_status(self): db = Db() result = runner.invoke(show.cli.commands["muxcable"].commands["status"], obj=db) - assert(result.exit_code == 102) - assert(result.output == tabular_data_status_output_expected) + assert result.exit_code == 102 + assert result.output == tabular_data_status_output_expected def test_muxcable_status_json(self): runner = CliRunner() @@ -169,8 +174,8 @@ def test_muxcable_status_json(self): result = runner.invoke(show.cli.commands["muxcable"].commands["status"], ["--json"], obj=db) - assert(result.exit_code == 102) - assert(result.output == json_data_status_output_expected) + assert result.exit_code == 102 + assert result.output == json_data_status_output_expected def test_muxcable_status_config(self): runner = CliRunner() @@ -178,8 +183,8 @@ def test_muxcable_status_config(self): result = runner.invoke(show.cli.commands["muxcable"].commands["config"], obj=db) - assert(result.exit_code == 101) - assert(result.output == tabular_data_config_output_expected) + assert result.exit_code == 101 + assert result.output == tabular_data_config_output_expected def test_muxcable_status_config_json(self): runner = CliRunner() @@ -187,8 +192,8 @@ def test_muxcable_status_config_json(self): result = runner.invoke(show.cli.commands["muxcable"].commands["config"], ["--json"], obj=db) - assert(result.exit_code == 101) - assert(result.output == json_data_status_config_output_expected) + assert result.exit_code == 101 + assert result.output == json_data_status_config_output_expected def test_muxcable_config_json_with_incorrect_port(self): runner = CliRunner() @@ -196,7 +201,7 @@ def test_muxcable_config_json_with_incorrect_port(self): result = runner.invoke(show.cli.commands["muxcable"].commands["config"], ["Ethernet33", "--json"], obj=db) - assert(result.exit_code == 1) + assert result.exit_code == 1 def test_muxcable_status_json_with_correct_port(self): runner = CliRunner() @@ -205,7 +210,7 @@ def test_muxcable_status_json_with_correct_port(self): patched_util.SfpUtilHelper.return_value.get_asic_id_for_logical_port.return_value = 0 result = runner.invoke(show.cli.commands["muxcable"].commands["status"], ["Ethernet0", "--json"], obj=db) - assert(result.exit_code == 102) + assert result.exit_code == 102 def test_muxcable_status_json_port_incorrect_index(self): runner = CliRunner() @@ -214,7 +219,7 @@ def test_muxcable_status_json_port_incorrect_index(self): patched_util.SfpUtilHelper.return_value.get_asic_id_for_logical_port.return_value = 1 result = runner.invoke(show.cli.commands["muxcable"].commands["status"], ["Ethernet0", "--json"], obj=db) - assert(result.exit_code == 1) + assert result.exit_code == 1 def test_muxcable_status_with_patch(self): runner = CliRunner() @@ -229,7 +234,7 @@ def test_muxcable_status_json_with_incorrect_port(self): patched_util.SfpUtilHelper.return_value.get_asic_id_for_logical_port.return_value = 0 result = runner.invoke(show.cli.commands["muxcable"].commands["status"], ["Ethernet33", "--json"], obj=db) - assert(result.exit_code == 1) + assert result.exit_code == 1 def test_muxcable_config_with_correct_port(self): runner = CliRunner() @@ -238,7 +243,7 @@ def test_muxcable_config_with_correct_port(self): patched_util.SfpUtilHelper.return_value.get_asic_id_for_logical_port.return_value = 0 result = runner.invoke(show.cli.commands["muxcable"].commands["config"], ["Ethernet0"], obj=db) - assert(result.exit_code == 101) + assert result.exit_code == 101 def test_muxcable_config_json_with_correct_port(self): runner = CliRunner() @@ -247,7 +252,7 @@ def test_muxcable_config_json_with_correct_port(self): patched_util.SfpUtilHelper.return_value.get_asic_id_for_logical_port.return_value = 0 result = runner.invoke(show.cli.commands["muxcable"].commands["config"], ["Ethernet0", "--json"], obj=db) - assert(result.exit_code == 101) + assert result.exit_code == 101 def test_muxcable_config_json_port_with_incorrect_index(self): runner = CliRunner() @@ -256,7 +261,7 @@ def test_muxcable_config_json_port_with_incorrect_index(self): patched_util.SfpUtilHelper.return_value.get_asic_id_for_logical_port.return_value = 1 result = runner.invoke(show.cli.commands["muxcable"].commands["config"], ["Ethernet0", "--json"], obj=db) - assert(result.exit_code == 101) + assert result.exit_code == 101 def test_muxcable_config_json_with_incorrect_port_patch(self): runner = CliRunner() @@ -265,7 +270,7 @@ def test_muxcable_config_json_with_incorrect_port_patch(self): patched_util.SfpUtilHelper.return_value.get_asic_id_for_logical_port.return_value = 0 result = runner.invoke(show.cli.commands["muxcable"].commands["config"], ["Ethernet33", "--json"], obj=db) - assert(result.exit_code == 1) + assert result.exit_code == 1 def test_muxcable_status_json_port_eth0(self): runner = CliRunner() @@ -274,7 +279,7 @@ def test_muxcable_status_json_port_eth0(self): patched_util.SfpUtilHelper.return_value.get_asic_id_for_logical_port.return_value = 0 result = runner.invoke(show.cli.commands["muxcable"].commands["status"], ["Ethernet0"], obj=db) - assert(result.exit_code == 102) + assert result.exit_code == 102 def test_config_muxcable_tabular_port_Ethernet8_active(self): runner = CliRunner() @@ -284,7 +289,7 @@ def test_config_muxcable_tabular_port_Ethernet8_active(self): patched_util.SfpUtilHelper.return_value.get_asic_id_for_logical_port.return_value = 0 result = runner.invoke(config.config.commands["muxcable"].commands["mode"], ["active", "Ethernet8"], obj=db) - assert(result.exit_code == 100) + assert result.exit_code == 100 def test_config_muxcable_tabular_port_Ethernet8_auto(self): runner = CliRunner() @@ -294,7 +299,7 @@ def test_config_muxcable_tabular_port_Ethernet8_auto(self): patched_util.SfpUtilHelper.return_value.get_asic_id_for_logical_port.return_value = 0 result = runner.invoke(config.config.commands["muxcable"].commands["mode"], ["auto", "Ethernet8"], obj=db) - assert(result.exit_code == 100) + assert result.exit_code == 100 def test_config_muxcable_mode_auto_json(self): runner = CliRunner() @@ -302,8 +307,8 @@ def test_config_muxcable_mode_auto_json(self): result = runner.invoke(config.config.commands["muxcable"].commands["mode"], ["auto", "all", "--json"], obj=db) - assert(result.exit_code == 100) - assert(result.output == json_data_config_output_auto_expected) + assert result.exit_code == 100 + assert result.output == json_data_config_output_auto_expected def test_config_muxcable_mode_active_json(self): runner = CliRunner() @@ -313,8 +318,8 @@ def test_config_muxcable_mode_active_json(self): f = open("newfile1", "w") f.write(result.output) - assert(result.exit_code == 100) - assert(result.output == json_data_config_output_active_expected) + assert result.exit_code == 100 + assert result.output == json_data_config_output_active_expected def test_config_muxcable_json_port_auto_Ethernet0(self): runner = CliRunner() @@ -325,7 +330,7 @@ def test_config_muxcable_json_port_auto_Ethernet0(self): result = runner.invoke(config.config.commands["muxcable"].commands["mode"], [ "auto", "Ethernet0", "--json"], obj=db) - assert(result.exit_code == 100) + assert result.exit_code == 100 def test_config_muxcable_json_port_active_Ethernet0(self): runner = CliRunner() @@ -336,13 +341,13 @@ def test_config_muxcable_json_port_active_Ethernet0(self): result = runner.invoke(config.config.commands["muxcable"].commands["mode"], [ "active", "Ethernet0", "--json"], obj=db) - assert(result.exit_code == 100) + assert result.exit_code == 100 def test_config_muxcable_mode_auto_tabular(self): runner = CliRunner() db = Db() result = runner.invoke(config.config.commands["muxcable"].commands["mode"], ["auto", "all"], obj=db) - assert(result.exit_code == 100) + assert result.exit_code == 100 def test_config_muxcable_mode_active_tabular(self): runner = CliRunner() @@ -352,7 +357,7 @@ def test_config_muxcable_mode_active_tabular(self): f = open("newfile", "w") f.write(result.output) - assert(result.exit_code == 100) + assert result.exit_code == 100 def test_config_muxcable_tabular_port(self): runner = CliRunner() @@ -362,7 +367,7 @@ def test_config_muxcable_tabular_port(self): patched_util.SfpUtilHelper.return_value.get_asic_id_for_logical_port.return_value = 0 result = runner.invoke(config.config.commands["muxcable"].commands["mode"], ["active", "Ethernet0"], obj=db) - assert(result.exit_code == 100) + assert result.exit_code == 100 def test_config_muxcable_tabular_port_Ethernet4_active(self): runner = CliRunner() @@ -372,7 +377,7 @@ def test_config_muxcable_tabular_port_Ethernet4_active(self): patched_util.SfpUtilHelper.return_value.get_asic_id_for_logical_port.return_value = 0 result = runner.invoke(config.config.commands["muxcable"].commands["mode"], ["active", "Ethernet4"], obj=db) - assert(result.exit_code == 100) + assert result.exit_code == 100 def test_config_muxcable_tabular_port_Ethernet4_auto(self): runner = CliRunner() @@ -382,7 +387,7 @@ def test_config_muxcable_tabular_port_Ethernet4_auto(self): patched_util.SfpUtilHelper.return_value.get_asic_id_for_logical_port.return_value = 0 result = runner.invoke(config.config.commands["muxcable"].commands["mode"], ["auto", "Ethernet4"], obj=db) - assert(result.exit_code == 100) + assert result.exit_code == 100 def test_config_muxcable_tabular_port_with_incorrect_index(self): runner = CliRunner() @@ -392,7 +397,7 @@ def test_config_muxcable_tabular_port_with_incorrect_index(self): patched_util.SfpUtilHelper.return_value.get_asic_id_for_logical_port.return_value = 2 result = runner.invoke(config.config.commands["muxcable"].commands["mode"], ["active", "Ethernet0"], obj=db) - assert(result.exit_code == 1) + assert result.exit_code == 1 def test_config_muxcable_tabular_port_with_incorrect_port_index(self): runner = CliRunner() @@ -403,7 +408,7 @@ def test_config_muxcable_tabular_port_with_incorrect_port_index(self): result = runner.invoke(config.config.commands["muxcable"].commands["mode"], [ "active", "Ethernet33"], obj=db) - assert(result.exit_code == 1) + assert result.exit_code == 1 def test_config_muxcable_tabular_port_with_incorrect_port(self): runner = CliRunner() @@ -414,7 +419,73 @@ def test_config_muxcable_tabular_port_with_incorrect_port(self): result = runner.invoke(config.config.commands["muxcable"].commands["mode"], [ "active", "Ethernet33"], obj=db) - assert(result.exit_code == 1) + assert result.exit_code == 1 + + @mock.patch('os.geteuid', mock.MagicMock(return_value=0)) + @mock.patch('sonic_y_cable.y_cable.get_eye_info', mock.MagicMock(return_value=[0, 0])) + def test_show_muxcable_eye_info(self): + runner = CliRunner() + db = Db() + + result = runner.invoke(show.cli.commands["muxcable"].commands["eyeinfo"], + ["0", "0"], obj=db) + + assert result.exit_code == 0 + + @mock.patch('os.geteuid', mock.MagicMock(return_value=0)) + @mock.patch('sonic_y_cable.y_cable.get_ber_info', mock.MagicMock(return_value=[0, 0])) + def test_show_muxcable_ber_info(self): + runner = CliRunner() + db = Db() + + result = runner.invoke(show.cli.commands["muxcable"].commands["berinfo"], + ["0", "0"], obj=db) + + assert result.exit_code == 0 + + @mock.patch('os.geteuid', mock.MagicMock(return_value=0)) + @mock.patch('sonic_y_cable.y_cable.enable_prbs_mode', mock.MagicMock(return_value=1)) + def test_config_muxcable_enable_prbs(self): + runner = CliRunner() + db = Db() + + result = runner.invoke(config.config.commands["muxcable"].commands["prbs"].commands["enable"], + ["0", "0", "0", "0"], obj=db) + + assert result.exit_code == 100 + + @mock.patch('os.geteuid', mock.MagicMock(return_value=0)) + @mock.patch('sonic_y_cable.y_cable.enable_loopback_mode', mock.MagicMock(return_value=1)) + def test_config_muxcable_enable_loopback(self): + runner = CliRunner() + db = Db() + + result = runner.invoke(config.config.commands["muxcable"].commands["loopback"].commands["enable"], + ["0", "0", "0"], obj=db) + + assert result.exit_code == 100 + + @mock.patch('os.geteuid', mock.MagicMock(return_value=0)) + @mock.patch('sonic_y_cable.y_cable.disable_prbs_mode', mock.MagicMock(return_value=1)) + def test_config_muxcable_disble_prbs(self): + runner = CliRunner() + db = Db() + + result = runner.invoke(config.config.commands["muxcable"].commands["prbs"].commands["disable"], + ["0", "0"], obj=db) + + assert result.exit_code == 100 + + @mock.patch('os.geteuid', mock.MagicMock(return_value=0)) + @mock.patch('sonic_y_cable.y_cable.disable_loopback_mode', mock.MagicMock(return_value=1)) + def test_config_muxcable_disable_loopback(self): + runner = CliRunner() + db = Db() + + result = runner.invoke(config.config.commands["muxcable"].commands["loopback"].commands["disable"], + ["0", "0"], obj=db) + + assert result.exit_code == 100 @classmethod def teardown_class(cls): From 5cff775018e39b3419e5189f4c773d0a5e6dd604 Mon Sep 17 00:00:00 2001 From: Dmytro Date: Fri, 5 Feb 2021 02:31:11 +0200 Subject: [PATCH 062/342] [show] Fix int status when portchannel is in the system (#1376) * Fixed int stat with portchannel * Replace N/A with None Fixed crash of "show int status" command when there are portchannels in system. Traceback (most recent call last): File "/usr/local/bin/intfutil", line 521, in main() File "/usr/local/bin/intfutil", line 513, in main interface_stat.display_intf_status() File "/usr/local/bin/intfutil", line 354, in display_intf_status self.get_intf_status() File "/usr/local/lib/python3.7/dist-packages/utilities_common/multi_asic.py", line 137, in wrapped_run_on_all_asics func(self, *args, **kwargs) File "/usr/local/bin/intfutil", line 435, in get_intf_status self.portchannel_speed_dict = po_speed_dict(self.po_int_dict, self.db) File "/usr/local/bin/intfutil", line 249, in po_speed_dict interface_speed = '{}G'.format(interface_speed[:-3]) TypeError: 'NoneType' object is not subscriptable Signed-off-by: d-dashkov --- scripts/intfutil | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/scripts/intfutil b/scripts/intfutil index b943b7c543..4c25cb7eee 100755 --- a/scripts/intfutil +++ b/scripts/intfutil @@ -246,8 +246,12 @@ def po_speed_dict(po_int_dict, appl_db): po_list.append(key) if len(value) == 1: interface_speed = appl_db.get(appl_db.APPL_DB, "PORT_TABLE:" + value[0], "speed") - interface_speed = '{}G'.format(interface_speed[:-3]) - po_list.append(interface_speed) + if interface_speed is None: + # If no speed was returned, append None without format + po_list.append(None) + else: + interface_speed = '{}G'.format(interface_speed[:-3]) + po_list.append(interface_speed) elif len(value) > 1: for intf in value: temp_speed = appl_db.get(appl_db.APPL_DB, "PORT_TABLE:" + intf, "speed") @@ -272,6 +276,8 @@ def appl_db_portchannel_status_get(appl_db, config_db, po_name, status_type, por #print(full_table_id) if status_type == "speed": status = portchannel_speed_dict[po_name] + if status is None: + return "N/A" return status if status_type == "vlan": if combined_int_to_vlan_po_dict and po_name in combined_int_to_vlan_po_dict.keys(): From a6e322a71e979de51083631239cfcd3ac302cad0 Mon Sep 17 00:00:00 2001 From: Danny Allen Date: Thu, 4 Feb 2021 17:24:09 -0800 Subject: [PATCH 063/342] [storyteller] Enhance the storyteller utility (#1400) - Sanitize user inputs - Add support for specifying a time period - Add basic ACL regex Signed-off-by: Danny Allen --- scripts/storyteller | 55 ++++++++++++++++++++++++++++++++------------- 1 file changed, 40 insertions(+), 15 deletions(-) diff --git a/scripts/storyteller b/scripts/storyteller index 723403c365..38e4783ef0 100755 --- a/scripts/storyteller +++ b/scripts/storyteller @@ -1,24 +1,30 @@ #!/usr/bin/env python3 -''' -Story Teller: - Utility to help analyze log for certain sequence of events. - e.g.: reboot (including warm/fast reboot), interface flapping, etc. +'''Story Teller: Utility to help analyze log for certain sequence of events. + +e.g.: reboot (including warm/fast reboot), interface flapping, etc. ''' import argparse +import os import subprocess +import sys + +from shlex import quote regex_dict = { + 'acl' : r'acl\|ACL\|Acl', 'bgp' : 'bgpcfgd', - 'crash' : 'what\|unexpected exception\|notify_OA_about_syncd_exception\|SIG\|not expected', - 'interface' : 'updatePortOperStatus\|Configure .* to', - 'lag' : 'link becomes\|addLag', - 'reboot' : 'BOOT\|rc.local\|old_config\|minigraph.xml\|Rebooting\|reboot\|executeOperationsOnAsic\|getAsicView\|dumpVidToAsicOperatioId\|neighbor_adv\|Pausing\|shutdown\|warm', - 'service' : 'Starting\|Stopping\|Started\|Stopped', + 'crash' : r'what\|unexpected exception\|notify_OA_about_syncd_exception\|SIG\|not expected', + 'interface' : r'updatePortOperStatus\|Configure .* to', + 'lag' : r'link becomes\|addLag', + 'reboot' : r'BOOT\|rc.local\|old_config\|minigraph.xml\|Rebooting\|reboot\|executeOperationsOnAsic\|getAsicView\|dumpVidToAsicOperatioId\|neighbor_adv\|Pausing\|shutdown\|warm', + 'service' : r'Starting\|Stopping\|Started\|Stopped', } +reference_file = '/tmp/storyteller_time_reference' + def exec_cmd(cmd): # Use universal_newlines (instead of text) so that this tool can work with any python versions. out = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, shell=True, universal_newlines=True) @@ -40,13 +46,12 @@ def build_options(after=0, before=0, context=0): def find_log(logpath, log, regex, after=0, before=0, context=0): options = build_options(after, before, context) - cmd = 'ls -rt {}/{}* | xargs zgrep -a {} "{}"'.format(logpath, log, options, regex) + cmd = 'find -L {}/{}* -newer {} | xargs zgrep -a {} "{}"'.format(logpath, log, reference_file, options, regex) _, out, _ = exec_cmd(cmd) ''' Opportunity to improve: output (out) can be split to lines and send to a filter to decide if a line should be printed out or not. - e.g. limited to a certain time span. ''' print(out) @@ -57,10 +62,22 @@ def build_regex(category): # if c is not found, add c to grep list directly regex.append(regex_dict[c] if c in regex_dict else c) - return '\|'.join(x for x in regex) + return r'\|'.join(x for x in regex) + + +def configure_time_filter(since): + ret_code, _, _ = exec_cmd('date --date {}'.format(since)) + if ret_code: + print('invalid date "{}"'.format(since)) + sys.exit(1) + + exec_cmd('touch --date "{}" {}'.format(since, reference_file)) def main(): + if os.geteuid() != 0: + exit("Root privileges are required for this operation") + parser = argparse.ArgumentParser(description='Story Teller') parser.add_argument('-l', '--log', help='log file prefix, e.g. syslog; default: syslog', @@ -75,13 +92,21 @@ def main(): type=int, required=False, default=0) parser.add_argument('-C', '--context', help='Show N lines before and after match', type=int, required=False, default=0) + parser.add_argument('-S', '--since', help='Filter logs since the given date', + type=str, required=False, default="@0") args = parser.parse_args() - log = args.log - reg = build_regex(args.category) + # sanitize all string inputs + log = quote(args.log) + log_path = quote(args.logpath) + category = quote(args.category) + since = quote(args.since) + + reg = build_regex(category) + configure_time_filter(since) - find_log(args.logpath, log, reg, args.after, args.before, args.context) + find_log(log_path, log, reg, args.after, args.before, args.context) if __name__ == '__main__': From e6cce2132b2de08b5bffdca2aafca24412ee87e1 Mon Sep 17 00:00:00 2001 From: Sumukha Tumkur Vani Date: Thu, 4 Feb 2021 21:55:51 -0800 Subject: [PATCH 064/342] Advertise ipv6 link local address (#1402) --- scripts/neighbor_advertiser | 16 ++++++++++++++++ tests/neighbor_advertiser_test.py | 17 +++++++++++++++-- 2 files changed, 31 insertions(+), 2 deletions(-) diff --git a/scripts/neighbor_advertiser b/scripts/neighbor_advertiser index c1545646dd..7d38dd435a 100644 --- a/scripts/neighbor_advertiser +++ b/scripts/neighbor_advertiser @@ -11,6 +11,7 @@ import argparse import json import os import requests +import subprocess import sys import time import traceback @@ -233,6 +234,21 @@ def get_vlan_addresses(vlan_interface): ipv4_addr, ipv4_prefix = get_vlan_addr_prefix(vlan_interface, 4) ipv6_addr, ipv6_prefix = get_vlan_addr_prefix(vlan_interface, 6) + if len(ipv6_addr): + try: + out = subprocess.check_output(['ip', '-6', 'addr', 'show', vlan_interface]) + out = out.decode('UTF-8') + for line in out.splitlines(): + keys = line.split() + if keys[0] == 'inet6': + ip = IPNetwork(keys[1]) + if str(ip.ip).startswith("fe80") and str(ip.ip) not in ipv6_addr: + # Link local ipv6 address + ipv6_addr.append(str(ip.ip)) + ipv6_prefix.append('128') + except Exception: + log.log_error('failed to get %s addresses from o.s.' % vlan_interface) + metadata = config_db.get_table('DEVICE_METADATA') mac_addr = metadata['localhost']['mac'] if not mac_addr: diff --git a/tests/neighbor_advertiser_test.py b/tests/neighbor_advertiser_test.py index 2310a3bf65..3ba7b8afd7 100644 --- a/tests/neighbor_advertiser_test.py +++ b/tests/neighbor_advertiser_test.py @@ -1,6 +1,7 @@ import sys import os import pytest +import subprocess from swsscommon.swsscommon import ConfigDBConnector test_path = os.path.dirname(os.path.abspath(__file__)) @@ -19,6 +20,16 @@ def set_up(self): neighbor_advertiser.connect_app_db() def test_neighbor_advertiser_slice(self, set_up): + cmd = "sudo sysctl -w net.ipv6.conf.all.disable_ipv6=0" + subprocess.check_output(cmd.split()) + cmd = "sudo ip link add Vlan1000 type dummy" + subprocess.check_output(cmd.split()) + cmd = "sudo ip -6 address add dev Vlan1000 scope link fe80::1e34:daff:fe1e:2800/64" + subprocess.check_output(cmd.split()) + cmd = "sudo ip link add Vlan2000 type dummy" + subprocess.check_output(cmd.split()) + cmd = "sudo ip -6 address add dev Vlan2000 scope link fe80::1e43:dfaf:fe2e:1800/64" + subprocess.check_output(cmd.split()) output = neighbor_advertiser.construct_neighbor_advertiser_slice() expected_output = dict( { @@ -29,7 +40,8 @@ def test_neighbor_advertiser_slice(self, set_up): {'macAddr': '1d:34:db:16:a6:00', 'ipAddr': '192.168.0.1', 'ipPrefixLen': '32'} ], 'ipv6AddrMappings': [ - {'macAddr': '1d:34:db:16:a6:00', 'ipAddr': 'fc02:1000::1', 'ipPrefixLen': '128'} + {'macAddr': '1d:34:db:16:a6:00', 'ipAddr': 'fc02:1000::1', 'ipPrefixLen': '128'}, + {'macAddr': '1d:34:db:16:a6:00', 'ipAddr': 'fe80::1e34:daff:fe1e:2800', 'ipPrefixLen': '128'} ], 'vxlanId': '1000', 'vlanId': '1000', @@ -40,7 +52,8 @@ def test_neighbor_advertiser_slice(self, set_up): {'macAddr': '1d:34:db:16:a6:00', 'ipAddr': '192.168.0.10', 'ipPrefixLen': '21'} ], 'ipv6AddrMappings': [ - {'macAddr': '1d:34:db:16:a6:00', 'ipAddr': 'fc02:1011::1', 'ipPrefixLen': '64'} + {'macAddr': '1d:34:db:16:a6:00', 'ipAddr': 'fc02:1011::1', 'ipPrefixLen': '64'}, + {'macAddr': '1d:34:db:16:a6:00', 'ipAddr': 'fe80::1e43:dfaf:fe2e:1800', 'ipPrefixLen': '128'} ], 'vxlanId': '2000', 'vlanId': '2000', From 270208bbec792c67fc2b3bb1735a8e6af879ab95 Mon Sep 17 00:00:00 2001 From: Lawrence Lee Date: Fri, 5 Feb 2021 09:19:10 -0800 Subject: [PATCH 065/342] [config reload]: Restart mux container (#1401) * Add `mux` to list of services to reset fail counts and restart after config reload Signed-off-by: Lawrence Lee --- config/main.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config/main.py b/config/main.py index 3ad1e317a1..7690a20df9 100644 --- a/config/main.py +++ b/config/main.py @@ -755,6 +755,7 @@ def _reset_failed_services(config_db): 'hostname-config', 'interfaces-config', 'lldp', + 'mux', 'nat', 'ntp-config', 'pmon', @@ -787,6 +788,7 @@ def _restart_services(config_db): 'ntp-config', 'rsyslog-config', 'swss', + 'mux', 'bgp', 'pmon', 'lldp', From 910d284314792d327ed93ddb8de8c5d16e3a9257 Mon Sep 17 00:00:00 2001 From: lguohan Date: Sat, 6 Feb 2021 13:27:45 -0800 Subject: [PATCH 066/342] Set up CI with Azure Pipelines [skip ci] --- azure-pipelines.yml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 azure-pipelines.yml diff --git a/azure-pipelines.yml b/azure-pipelines.yml new file mode 100644 index 0000000000..ccfebe05f4 --- /dev/null +++ b/azure-pipelines.yml @@ -0,0 +1,19 @@ +# Starter pipeline +# Start with a minimal pipeline that you can customize to build and deploy your code. +# Add steps that build, run tests, deploy, and more: +# https://aka.ms/yaml + +trigger: +- master + +pool: + vmImage: ubuntu-20.04 + +steps: +- script: echo Hello, world! + displayName: 'Run a one-line script' + +- script: | + echo Add other tasks to build, test, and deploy your project. + echo See https://aka.ms/yaml + displayName: 'Run a multi-line script' From 7578f0885748e2833a4cca283e7f32c0bdbc82ea Mon Sep 17 00:00:00 2001 From: maksymbelei95 <75987222+maksymbelei95@users.noreply.github.com> Date: Sat, 6 Feb 2021 23:46:36 +0200 Subject: [PATCH 067/342] [show] Use proper variable to avoid exception in natshow script (#1383) * Substituting nat_entry variable, instead of s inside fetch_translations function to avoid exception throwing inside the function due to undefined variable. The issue has introduced in be63918, while migrating to Python 3. Variable s has replaced with nat_entry. Signed-off-by: Maksym Belei --- scripts/natshow | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/natshow b/scripts/natshow index 70a5170703..5cbf990c47 100644 --- a/scripts/natshow +++ b/scripts/natshow @@ -134,7 +134,7 @@ class NatShow(object): translated_dst = "---" translated_src = "---" - ent = self.asic_db.get_all('ASIC_DB', s, blocking=True) + ent = self.asic_db.get_all('ASIC_DB', nat_entry, blocking=True) nat_type = nat['nat_type'] From 2ad116845c5044150d8ccf238e87f3e285a875ce Mon Sep 17 00:00:00 2001 From: Samuel Angebault Date: Sat, 6 Feb 2021 13:48:40 -0800 Subject: [PATCH 068/342] Fix unsupported fs.squashfs extraction in sonic-installer (#1366) Abstracted away the access to the path of the rootfs via a contextmanager. In Arista secureboot, the rootfs is never extracted on the flash. Instead it's mounted directly from within the signed SWI. The update_sonic_environment function however always assume that the rootfs to be at the same place. - How I did it To alleviate this restriction, a new context manager to obtain the rootfs is introduced. The choice of a context manager rather than a function is entirely based on error management and cleanup. Mounting a squashfs from a swi file requires the use of losetup which makes the rootfs available under /dev/loopX Once done or on error, we need to free this resource which becomes free when using a contextmanager. --- sonic_installer/bootloader/aboot.py | 27 +++++++++- sonic_installer/bootloader/bootloader.py | 6 +++ sonic_installer/common.py | 1 + sonic_installer/main.py | 63 ++++++++++++------------ 4 files changed, 64 insertions(+), 33 deletions(-) diff --git a/sonic_installer/bootloader/aboot.py b/sonic_installer/bootloader/aboot.py index eee53de859..9d12862948 100644 --- a/sonic_installer/bootloader/aboot.py +++ b/sonic_installer/bootloader/aboot.py @@ -9,6 +9,7 @@ import subprocess import sys import zipfile +from contextlib import contextmanager import click @@ -18,7 +19,9 @@ HOST_PATH, IMAGE_DIR_PREFIX, IMAGE_PREFIX, + ROOTFS_NAME, run_command, + run_command_or_raise, ) from .bootloader import Bootloader @@ -34,7 +37,7 @@ def isSecureboot(): global _secureboot if _secureboot is None: with open('/proc/cmdline') as f: - m = re.search(r"secure_boot_enable=[y1]", f.read()) + m = re.search(r"secure_boot_enable=[y1]", f.read()) _secureboot = bool(m) return _secureboot @@ -179,3 +182,25 @@ def base64Decode(cls, text): def detect(cls): with open('/proc/cmdline') as f: return 'Aboot=' in f.read() + + def _get_swi_file_offset(self, swipath, filename): + with zipfile.ZipFile(swipath) as swi: + with swi.open(filename) as f: + return f._fileobj.tell() # pylint: disable=protected-access + + @contextmanager + def get_rootfs_path(self, image_path): + rootfs_path = os.path.join(image_path, ROOTFS_NAME) + if os.path.exists(rootfs_path) and not isSecureboot(): + yield rootfs_path + return + + swipath = os.path.join(image_path, DEFAULT_SWI_IMAGE) + offset = self._get_swi_file_offset(swipath, ROOTFS_NAME) + loopdev = subprocess.check_output(['losetup', '-f']).rstrip() + + try: + run_command_or_raise(['losetup', '-o', str(offset), loopdev, swipath]) + yield loopdev + finally: + run_command_or_raise(['losetup', '-d', loopdev]) diff --git a/sonic_installer/bootloader/bootloader.py b/sonic_installer/bootloader/bootloader.py index 54054d4c55..b59c9edccd 100644 --- a/sonic_installer/bootloader/bootloader.py +++ b/sonic_installer/bootloader/bootloader.py @@ -2,12 +2,14 @@ Abstract Bootloader class """ +from contextlib import contextmanager from os import path from ..common import ( HOST_PATH, IMAGE_DIR_PREFIX, IMAGE_PREFIX, + ROOTFS_NAME, ) class Bootloader(object): @@ -68,3 +70,7 @@ def get_image_path(cls, image): prefix = path.join(HOST_PATH, IMAGE_DIR_PREFIX) return image.replace(IMAGE_PREFIX, prefix) + @contextmanager + def get_rootfs_path(self, image_path): + """returns the path to the squashfs""" + yield path.join(image_path, ROOTFS_NAME) diff --git a/sonic_installer/common.py b/sonic_installer/common.py index 475edb41ee..c49aaac032 100644 --- a/sonic_installer/common.py +++ b/sonic_installer/common.py @@ -13,6 +13,7 @@ HOST_PATH = '/host' IMAGE_PREFIX = 'SONiC-OS-' IMAGE_DIR_PREFIX = 'image-' +ROOTFS_NAME = 'fs.squashfs' # Run bash command and print output to stdout def run_command(command): diff --git a/sonic_installer/main.py b/sonic_installer/main.py index 24ad236fb7..92ad7677f4 100644 --- a/sonic_installer/main.py +++ b/sonic_installer/main.py @@ -11,7 +11,7 @@ from swsscommon.swsscommon import SonicV2Connector from .bootloader import get_bootloader -from .common import run_command, run_command_or_raise +from .common import run_command, run_command_or_raise, IMAGE_PREFIX from .exception import SonicRuntimeException SYSLOG_IDENTIFIER = "sonic-installer" @@ -218,8 +218,7 @@ def print_deprecation_warning(deprecated_cmd_or_subcmd, new_cmd_or_subcmd): fg="red", err=True) click.secho("Please use '{}' instead".format(new_cmd_or_subcmd), fg="red", err=True) - -def update_sonic_environment(click, binary_image_version): +def update_sonic_environment(click, bootloader, binary_image_version): """Prepare sonic environment variable using incoming image template file. If incoming image template does not exist use current image template file. """ @@ -234,38 +233,38 @@ def umount_next_image_fs(mount_point): SONIC_ENV_TEMPLATE_FILE = os.path.join("usr", "share", "sonic", "templates", "sonic-environment.j2") SONIC_VERSION_YML_FILE = os.path.join("etc", "sonic", "sonic_version.yml") - sonic_version = re.sub("SONiC-OS-", '', binary_image_version) - new_image_dir = os.path.join('/', "host", "image-{0}".format(sonic_version)) - new_image_squashfs_path = os.path.join(new_image_dir, "fs.squashfs") + sonic_version = re.sub(IMAGE_PREFIX, '', binary_image_version) + new_image_dir = bootloader.get_image_path(binary_image_version) new_image_mount = os.path.join('/', "tmp", "image-{0}-fs".format(sonic_version)) env_dir = os.path.join(new_image_dir, "sonic-config") env_file = os.path.join(env_dir, "sonic-environment") - try: - mount_next_image_fs(new_image_squashfs_path, new_image_mount) - - next_sonic_env_template_file = os.path.join(new_image_mount, SONIC_ENV_TEMPLATE_FILE) - next_sonic_version_yml_file = os.path.join(new_image_mount, SONIC_VERSION_YML_FILE) - - sonic_env = run_command_or_raise([ - "sonic-cfggen", - "-d", - "-y", - next_sonic_version_yml_file, - "-t", - next_sonic_env_template_file, - ]) - os.mkdir(env_dir, 0o755) - with open(env_file, "w+") as ef: - print(sonic_env, file=ef) - os.chmod(env_file, 0o644) - except SonicRuntimeException as ex: - echo_and_log("Warning: SONiC environment variables are not supported for this image: {0}".format(str(ex)), LOG_ERR, fg="red") - if os.path.exists(env_file): - os.remove(env_file) - os.rmdir(env_dir) - finally: - umount_next_image_fs(new_image_mount) + with bootloader.get_rootfs_path(new_image_dir) as new_image_squashfs_path: + try: + mount_next_image_fs(new_image_squashfs_path, new_image_mount) + + next_sonic_env_template_file = os.path.join(new_image_mount, SONIC_ENV_TEMPLATE_FILE) + next_sonic_version_yml_file = os.path.join(new_image_mount, SONIC_VERSION_YML_FILE) + + sonic_env = run_command_or_raise([ + "sonic-cfggen", + "-d", + "-y", + next_sonic_version_yml_file, + "-t", + next_sonic_env_template_file, + ]) + os.mkdir(env_dir, 0o755) + with open(env_file, "w+") as ef: + print(sonic_env, file=ef) + os.chmod(env_file, 0o644) + except SonicRuntimeException as ex: + echo_and_log("Warning: SONiC environment variables are not supported for this image: {0}".format(str(ex)), LOG_ERR, fg="red") + if os.path.exists(env_file): + os.remove(env_file) + os.rmdir(env_dir) + finally: + umount_next_image_fs(new_image_mount) # Main entrypoint @click.group(cls=AliasedGroup) @@ -332,7 +331,7 @@ def install(url, force, skip_migration=False): else: run_command('config-setup backup') - update_sonic_environment(click, binary_image_version) + update_sonic_environment(click, bootloader, binary_image_version) # Finally, sync filesystem run_command("sync;sync;sync") From 16b2274c9ffe0dcc4c22c33f475297dfbea7b9b5 Mon Sep 17 00:00:00 2001 From: Stephen Sun <5379172+stephenxs@users.noreply.github.com> Date: Mon, 8 Feb 2021 19:13:11 +0800 Subject: [PATCH 069/342] Support shared headroom pool on top of dynamic buffer calculation (#1348) **- What I did** Support shared headroom pool on top of dynamic buffer calculation. Signed-off-by: Stephen Sun **- How I did it** 1. Introduce new commands for shared headroom pool configuration. - config buffer shared-headroom-pool over-subscribe-ratio - config buffer shared-headroom-pool size Shared headroom pool can be enabled by configuring either over-subscribe-ratio or size. In case both configured, the size will take effect. The following existing commands has been updated accordingly: - config buffer profile 2. Update db_migrator: - Port version 1.0.5 from 201911 branch - Port the main logic of Mellanox buffer migrator from 201911 - Add unit test infra for Mellanox buffer migrator 3. Command "config qos clear/reload" has been updated with tables for dynamic buffer calculation cleared as well **- How to verify it** Run unit test and regression test. --- config/main.py | 149 +- doc/Command-Reference.md | 50 +- scripts/db_migrator.py | 104 +- scripts/mellanox_buffer_migrator.py | 957 +++++--- scripts/mmuconfig | 19 + setup.py | 3 + tests/buffer_input/buffer_test_vectors.py | 6 + tests/buffer_test.py | 176 +- .../appl_db/acs-msn2700-t0-version_1_0_5.json | 2 + .../appl_db/acs-msn2700-t0-version_2_0_0.json | 696 ++++++ .../appl_db/acs-msn2700-t1-version_1_0_5.json | 2 + .../appl_db/acs-msn2700-t1-version_2_0_0.json | 789 ++++++ .../appl_db/acs-msn3700-t0-version_1_0_5.json | 2 + .../appl_db/acs-msn3700-t0-version_2_0_0.json | 829 +++++++ .../appl_db/acs-msn3700-t1-version_1_0_5.json | 2 + .../appl_db/acs-msn3700-t1-version_2_0_0.json | 905 +++++++ .../appl_db/acs-msn3800-t0-version_1_0_5.json | 2 + .../appl_db/acs-msn3800-t0-version_2_0_0.json | 983 ++++++++ .../appl_db/acs-msn3800-t1-version_1_0_5.json | 2 + .../appl_db/acs-msn3800-t1-version_2_0_0.json | 1079 +++++++++ .../appl_db/acs-msn4700-t0-version_1_0_5.json | 2 + .../appl_db/acs-msn4700-t0-version_2_0_0.json | 914 +++++++ .../appl_db/acs-msn4700-t1-version_1_0_5.json | 2 + .../appl_db/acs-msn4700-t1-version_2_0_0.json | 1015 ++++++++ ...00-c28d8-single-pool-t0-version_1_0_5.json | 2 + ...00-c28d8-single-pool-t0-version_2_0_0.json | 692 ++++++ ...00-c28d8-single-pool-t1-version_1_0_5.json | 2 + ...00-c28d8-single-pool-t1-version_2_0_0.json | 785 ++++++ ...ellanox-sn2700-c28d8-t0-version_1_0_5.json | 2 + ...ellanox-sn2700-c28d8-t0-version_2_0_0.json | 697 ++++++ ...ellanox-sn2700-c28d8-t1-version_1_0_5.json | 2 + ...ellanox-sn2700-c28d8-t1-version_2_0_0.json | 790 ++++++ ...00-d48c8-single-pool-t0-version_1_0_5.json | 2 + ...00-d48c8-single-pool-t0-version_2_0_0.json | 692 ++++++ ...00-d48c8-single-pool-t1-version_1_0_5.json | 2 + ...00-d48c8-single-pool-t1-version_2_0_0.json | 785 ++++++ ...ellanox-sn2700-d48c8-t0-version_1_0_5.json | 2 + ...ellanox-sn2700-d48c8-t0-version_2_0_0.json | 697 ++++++ ...ellanox-sn2700-d48c8-t1-version_1_0_5.json | 2 + ...ellanox-sn2700-d48c8-t1-version_2_0_0.json | 790 ++++++ ...x-sn2700-single-pool-t0-version_1_0_5.json | 2 + ...x-sn2700-single-pool-t0-version_2_0_0.json | 692 ++++++ ...x-sn2700-single-pool-t1-version_1_0_5.json | 2 + ...x-sn2700-single-pool-t1-version_2_0_0.json | 785 ++++++ .../mellanox-sn2700-t0-version_1_0_5.json | 2 + .../mellanox-sn2700-t0-version_2_0_0.json | 697 ++++++ .../mellanox-sn2700-t1-version_1_0_5.json | 2 + .../mellanox-sn2700-t1-version_2_0_0.json | 790 ++++++ .../mellanox-sn3800-c64-t0-version_1_0_5.json | 2 + .../mellanox-sn3800-c64-t0-version_2_0_0.json | 705 ++++++ .../mellanox-sn3800-c64-t1-version_1_0_5.json | 2 + .../mellanox-sn3800-c64-t1-version_2_0_0.json | 803 +++++++ ...llanox-sn3800-d112c8-t0-version_1_0_5.json | 2 + ...llanox-sn3800-d112c8-t0-version_2_0_0.json | 985 ++++++++ ...llanox-sn3800-d112c8-t1-version_1_0_5.json | 2 + ...llanox-sn3800-d112c8-t1-version_2_0_0.json | 1075 +++++++++ ...llanox-sn3800-d24c52-t0-version_1_0_5.json | 2 + ...llanox-sn3800-d24c52-t0-version_2_0_0.json | 705 ++++++ ...llanox-sn3800-d24c52-t1-version_1_0_5.json | 2 + ...llanox-sn3800-d24c52-t1-version_2_0_0.json | 803 +++++++ ...llanox-sn3800-d28c50-t0-version_1_0_5.json | 2 + ...llanox-sn3800-d28c50-t0-version_2_0_0.json | 705 ++++++ ...llanox-sn3800-d28c50-t1-version_1_0_5.json | 2 + ...llanox-sn3800-d28c50-t1-version_2_0_0.json | 803 +++++++ .../appl_db/non-default-expected.json | 720 ++++++ .../appl_db/non-default-input.json | 2 + .../acs-msn2700-t0-version_1_0_1.json | 1059 +++++++++ .../acs-msn2700-t0-version_1_0_2.json | 1059 +++++++++ .../acs-msn2700-t0-version_1_0_3.json | 1059 +++++++++ .../acs-msn2700-t0-version_1_0_4.json | 1059 +++++++++ .../acs-msn2700-t0-version_1_0_5.json | 1059 +++++++++ .../acs-msn2700-t0-version_2_0_0.json | 1015 ++++++++ .../acs-msn2700-t1-version_1_0_1.json | 1156 +++++++++ .../acs-msn2700-t1-version_1_0_2.json | 1156 +++++++++ .../acs-msn2700-t1-version_1_0_3.json | 1156 +++++++++ .../acs-msn2700-t1-version_1_0_4.json | 1156 +++++++++ .../acs-msn2700-t1-version_1_0_5.json | 1156 +++++++++ .../acs-msn2700-t1-version_2_0_0.json | 1091 +++++++++ .../acs-msn3700-t0-version_1_0_2.json | 1094 +++++++++ .../acs-msn3700-t0-version_1_0_3.json | 1907 +++++++++++++++ .../acs-msn3700-t0-version_1_0_4.json | 1907 +++++++++++++++ .../acs-msn3700-t0-version_1_0_5.json | 1907 +++++++++++++++ .../acs-msn3700-t0-version_2_0_0.json | 1856 +++++++++++++++ .../acs-msn3700-t1-version_1_0_2.json | 1198 ++++++++++ .../acs-msn3700-t1-version_1_0_3.json | 1983 ++++++++++++++++ .../acs-msn3700-t1-version_1_0_4.json | 1983 ++++++++++++++++ .../acs-msn3700-t1-version_1_0_5.json | 1983 ++++++++++++++++ .../acs-msn3700-t1-version_2_0_0.json | 1904 +++++++++++++++ .../acs-msn3800-t0-version_1_0_5.json | 1984 ++++++++++++++++ .../acs-msn3800-t0-version_2_0_0.json | 1975 +++++++++++++++ .../acs-msn3800-t1-version_1_0_5.json | 2102 ++++++++++++++++ .../acs-msn3800-t1-version_2_0_0.json | 2023 ++++++++++++++++ .../acs-msn4700-t0-version_1_0_4.json | 1079 +++++++++ .../acs-msn4700-t0-version_1_0_5.json | 2005 ++++++++++++++++ .../acs-msn4700-t0-version_2_0_0.json | 1947 +++++++++++++++ .../acs-msn4700-t1-version_1_0_4.json | 2109 +++++++++++++++++ .../acs-msn4700-t1-version_1_0_5.json | 2109 +++++++++++++++++ .../acs-msn4700-t1-version_2_0_0.json | 2016 ++++++++++++++++ .../config_db/empty-config-expected.json | 5 + .../config_db/empty-config-input.json | 2 + ...00-c28d8-single-pool-t0-version_1_0_4.json | 1054 ++++++++ ...00-c28d8-single-pool-t0-version_1_0_5.json | 1055 +++++++++ ...00-c28d8-single-pool-t0-version_2_0_0.json | 1056 +++++++++ ...00-c28d8-single-pool-t1-version_1_0_4.json | 1151 +++++++++ ...00-c28d8-single-pool-t1-version_1_0_5.json | 1152 +++++++++ ...00-c28d8-single-pool-t1-version_2_0_0.json | 1153 +++++++++ ...ellanox-sn2700-c28d8-t0-version_1_0_1.json | 1059 +++++++++ ...ellanox-sn2700-c28d8-t0-version_1_0_2.json | 1059 +++++++++ ...ellanox-sn2700-c28d8-t0-version_1_0_3.json | 1059 +++++++++ ...ellanox-sn2700-c28d8-t0-version_1_0_4.json | 1059 +++++++++ ...ellanox-sn2700-c28d8-t0-version_1_0_5.json | 1060 +++++++++ ...ellanox-sn2700-c28d8-t0-version_2_0_0.json | 1061 +++++++++ ...ellanox-sn2700-c28d8-t1-version_1_0_1.json | 1156 +++++++++ ...ellanox-sn2700-c28d8-t1-version_1_0_2.json | 1156 +++++++++ ...ellanox-sn2700-c28d8-t1-version_1_0_3.json | 1156 +++++++++ ...ellanox-sn2700-c28d8-t1-version_1_0_4.json | 1156 +++++++++ ...ellanox-sn2700-c28d8-t1-version_1_0_5.json | 1157 +++++++++ ...ellanox-sn2700-c28d8-t1-version_2_0_0.json | 1158 +++++++++ ...00-d48c8-single-pool-t0-version_1_0_4.json | 1054 ++++++++ ...00-d48c8-single-pool-t0-version_1_0_5.json | 1055 +++++++++ ...00-d48c8-single-pool-t0-version_2_0_0.json | 1056 +++++++++ ...00-d48c8-single-pool-t1-version_1_0_4.json | 1151 +++++++++ ...00-d48c8-single-pool-t1-version_1_0_5.json | 1152 +++++++++ ...00-d48c8-single-pool-t1-version_2_0_0.json | 1153 +++++++++ ...ellanox-sn2700-d48c8-t0-version_1_0_1.json | 1059 +++++++++ ...ellanox-sn2700-d48c8-t0-version_1_0_2.json | 1059 +++++++++ ...ellanox-sn2700-d48c8-t0-version_1_0_3.json | 1059 +++++++++ ...ellanox-sn2700-d48c8-t0-version_1_0_4.json | 1059 +++++++++ ...ellanox-sn2700-d48c8-t0-version_1_0_5.json | 1060 +++++++++ ...ellanox-sn2700-d48c8-t0-version_2_0_0.json | 1061 +++++++++ ...ellanox-sn2700-d48c8-t1-version_1_0_1.json | 1156 +++++++++ ...ellanox-sn2700-d48c8-t1-version_1_0_2.json | 1156 +++++++++ ...ellanox-sn2700-d48c8-t1-version_1_0_3.json | 1156 +++++++++ ...ellanox-sn2700-d48c8-t1-version_1_0_4.json | 1156 +++++++++ ...ellanox-sn2700-d48c8-t1-version_1_0_5.json | 1157 +++++++++ ...ellanox-sn2700-d48c8-t1-version_2_0_0.json | 1158 +++++++++ ...x-sn2700-single-pool-t0-version_1_0_4.json | 1054 ++++++++ ...x-sn2700-single-pool-t0-version_1_0_5.json | 1055 +++++++++ ...x-sn2700-single-pool-t0-version_2_0_0.json | 1056 +++++++++ ...x-sn2700-single-pool-t1-version_1_0_4.json | 1151 +++++++++ ...x-sn2700-single-pool-t1-version_1_0_5.json | 1152 +++++++++ ...x-sn2700-single-pool-t1-version_2_0_0.json | 1153 +++++++++ .../mellanox-sn2700-t0-version_1_0_1.json | 1059 +++++++++ .../mellanox-sn2700-t0-version_1_0_2.json | 1059 +++++++++ .../mellanox-sn2700-t0-version_1_0_3.json | 1059 +++++++++ .../mellanox-sn2700-t0-version_1_0_4.json | 1059 +++++++++ .../mellanox-sn2700-t0-version_1_0_5.json | 1060 +++++++++ .../mellanox-sn2700-t0-version_2_0_0.json | 1061 +++++++++ .../mellanox-sn2700-t1-version_1_0_1.json | 1156 +++++++++ .../mellanox-sn2700-t1-version_1_0_2.json | 1156 +++++++++ .../mellanox-sn2700-t1-version_1_0_3.json | 1156 +++++++++ .../mellanox-sn2700-t1-version_1_0_4.json | 1156 +++++++++ .../mellanox-sn2700-t1-version_1_0_5.json | 1157 +++++++++ .../mellanox-sn2700-t1-version_2_0_0.json | 1158 +++++++++ .../mellanox-sn3800-c64-t0-version_1_0_5.json | 1700 +++++++++++++ .../mellanox-sn3800-c64-t0-version_2_0_0.json | 1701 +++++++++++++ .../mellanox-sn3800-c64-t1-version_1_0_5.json | 1826 ++++++++++++++ .../mellanox-sn3800-c64-t1-version_2_0_0.json | 1827 ++++++++++++++ ...llanox-sn3800-d112c8-t0-version_1_0_5.json | 1980 ++++++++++++++++ ...llanox-sn3800-d112c8-t0-version_2_0_0.json | 1981 ++++++++++++++++ ...llanox-sn3800-d112c8-t1-version_1_0_5.json | 2098 ++++++++++++++++ ...llanox-sn3800-d112c8-t1-version_2_0_0.json | 2099 ++++++++++++++++ ...llanox-sn3800-d24c52-t0-version_1_0_5.json | 1700 +++++++++++++ ...llanox-sn3800-d24c52-t0-version_2_0_0.json | 1701 +++++++++++++ ...llanox-sn3800-d24c52-t1-version_1_0_5.json | 1826 ++++++++++++++ ...llanox-sn3800-d24c52-t1-version_2_0_0.json | 1827 ++++++++++++++ ...llanox-sn3800-d28c50-t0-version_1_0_5.json | 1700 +++++++++++++ ...llanox-sn3800-d28c50-t0-version_2_0_0.json | 1701 +++++++++++++ ...llanox-sn3800-d28c50-t1-version_1_0_5.json | 1826 ++++++++++++++ ...llanox-sn3800-d28c50-t1-version_2_0_0.json | 1827 ++++++++++++++ .../non-default-config-expected.json | 1120 +++++++++ .../config_db/non-default-config-input.json | 1059 +++++++++ ...fault-lossless-profile-in-pg-expected.json | 2013 ++++++++++++++++ ...-default-lossless-profile-in-pg-input.json | 2012 ++++++++++++++++ ...-default-lossy-profile-in-pg-expected.json | 2011 ++++++++++++++++ ...non-default-lossy-profile-in-pg-input.json | 2010 ++++++++++++++++ .../config_db/non-default-pg-expected.json | 2009 ++++++++++++++++ .../config_db/non-default-pg-input.json | 2008 ++++++++++++++++ .../config_db/non-default-xoff-expected.json | 1986 ++++++++++++++++ .../config_db/non-default-xoff-input.json | 1985 ++++++++++++++++ tests/db_migrator_input/init_cfg.json | 2 + tests/db_migrator_input/state_db.json | 5 + tests/db_migrator_test.py | 178 ++ tests/mock_tables/config_db.json | 3 +- tests/mock_tables/dbconnector.py | 7 +- tests/mock_tables/state_db.json | 3 + 186 files changed, 182252 insertions(+), 417 deletions(-) create mode 100644 tests/db_migrator_input/appl_db/acs-msn2700-t0-version_1_0_5.json create mode 100644 tests/db_migrator_input/appl_db/acs-msn2700-t0-version_2_0_0.json create mode 100644 tests/db_migrator_input/appl_db/acs-msn2700-t1-version_1_0_5.json create mode 100644 tests/db_migrator_input/appl_db/acs-msn2700-t1-version_2_0_0.json create mode 100644 tests/db_migrator_input/appl_db/acs-msn3700-t0-version_1_0_5.json create mode 100644 tests/db_migrator_input/appl_db/acs-msn3700-t0-version_2_0_0.json create mode 100644 tests/db_migrator_input/appl_db/acs-msn3700-t1-version_1_0_5.json create mode 100644 tests/db_migrator_input/appl_db/acs-msn3700-t1-version_2_0_0.json create mode 100644 tests/db_migrator_input/appl_db/acs-msn3800-t0-version_1_0_5.json create mode 100644 tests/db_migrator_input/appl_db/acs-msn3800-t0-version_2_0_0.json create mode 100644 tests/db_migrator_input/appl_db/acs-msn3800-t1-version_1_0_5.json create mode 100644 tests/db_migrator_input/appl_db/acs-msn3800-t1-version_2_0_0.json create mode 100644 tests/db_migrator_input/appl_db/acs-msn4700-t0-version_1_0_5.json create mode 100644 tests/db_migrator_input/appl_db/acs-msn4700-t0-version_2_0_0.json create mode 100644 tests/db_migrator_input/appl_db/acs-msn4700-t1-version_1_0_5.json create mode 100644 tests/db_migrator_input/appl_db/acs-msn4700-t1-version_2_0_0.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-single-pool-t0-version_1_0_5.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-single-pool-t0-version_2_0_0.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-single-pool-t1-version_1_0_5.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-single-pool-t1-version_2_0_0.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-t0-version_1_0_5.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-t0-version_2_0_0.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-t1-version_1_0_5.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-t1-version_2_0_0.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-single-pool-t0-version_1_0_5.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-single-pool-t0-version_2_0_0.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-single-pool-t1-version_1_0_5.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-single-pool-t1-version_2_0_0.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-t0-version_1_0_5.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-t0-version_2_0_0.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-t1-version_1_0_5.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-t1-version_2_0_0.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn2700-single-pool-t0-version_1_0_5.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn2700-single-pool-t0-version_2_0_0.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn2700-single-pool-t1-version_1_0_5.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn2700-single-pool-t1-version_2_0_0.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn2700-t0-version_1_0_5.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn2700-t0-version_2_0_0.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn2700-t1-version_1_0_5.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn2700-t1-version_2_0_0.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn3800-c64-t0-version_1_0_5.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn3800-c64-t0-version_2_0_0.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn3800-c64-t1-version_1_0_5.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn3800-c64-t1-version_2_0_0.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn3800-d112c8-t0-version_1_0_5.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn3800-d112c8-t0-version_2_0_0.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn3800-d112c8-t1-version_1_0_5.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn3800-d112c8-t1-version_2_0_0.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn3800-d24c52-t0-version_1_0_5.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn3800-d24c52-t0-version_2_0_0.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn3800-d24c52-t1-version_1_0_5.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn3800-d24c52-t1-version_2_0_0.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn3800-d28c50-t0-version_1_0_5.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn3800-d28c50-t0-version_2_0_0.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn3800-d28c50-t1-version_1_0_5.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn3800-d28c50-t1-version_2_0_0.json create mode 100644 tests/db_migrator_input/appl_db/non-default-expected.json create mode 100644 tests/db_migrator_input/appl_db/non-default-input.json create mode 100644 tests/db_migrator_input/config_db/acs-msn2700-t0-version_1_0_1.json create mode 100644 tests/db_migrator_input/config_db/acs-msn2700-t0-version_1_0_2.json create mode 100644 tests/db_migrator_input/config_db/acs-msn2700-t0-version_1_0_3.json create mode 100644 tests/db_migrator_input/config_db/acs-msn2700-t0-version_1_0_4.json create mode 100644 tests/db_migrator_input/config_db/acs-msn2700-t0-version_1_0_5.json create mode 100644 tests/db_migrator_input/config_db/acs-msn2700-t0-version_2_0_0.json create mode 100644 tests/db_migrator_input/config_db/acs-msn2700-t1-version_1_0_1.json create mode 100644 tests/db_migrator_input/config_db/acs-msn2700-t1-version_1_0_2.json create mode 100644 tests/db_migrator_input/config_db/acs-msn2700-t1-version_1_0_3.json create mode 100644 tests/db_migrator_input/config_db/acs-msn2700-t1-version_1_0_4.json create mode 100644 tests/db_migrator_input/config_db/acs-msn2700-t1-version_1_0_5.json create mode 100644 tests/db_migrator_input/config_db/acs-msn2700-t1-version_2_0_0.json create mode 100644 tests/db_migrator_input/config_db/acs-msn3700-t0-version_1_0_2.json create mode 100644 tests/db_migrator_input/config_db/acs-msn3700-t0-version_1_0_3.json create mode 100644 tests/db_migrator_input/config_db/acs-msn3700-t0-version_1_0_4.json create mode 100644 tests/db_migrator_input/config_db/acs-msn3700-t0-version_1_0_5.json create mode 100644 tests/db_migrator_input/config_db/acs-msn3700-t0-version_2_0_0.json create mode 100644 tests/db_migrator_input/config_db/acs-msn3700-t1-version_1_0_2.json create mode 100644 tests/db_migrator_input/config_db/acs-msn3700-t1-version_1_0_3.json create mode 100644 tests/db_migrator_input/config_db/acs-msn3700-t1-version_1_0_4.json create mode 100644 tests/db_migrator_input/config_db/acs-msn3700-t1-version_1_0_5.json create mode 100644 tests/db_migrator_input/config_db/acs-msn3700-t1-version_2_0_0.json create mode 100644 tests/db_migrator_input/config_db/acs-msn3800-t0-version_1_0_5.json create mode 100644 tests/db_migrator_input/config_db/acs-msn3800-t0-version_2_0_0.json create mode 100644 tests/db_migrator_input/config_db/acs-msn3800-t1-version_1_0_5.json create mode 100644 tests/db_migrator_input/config_db/acs-msn3800-t1-version_2_0_0.json create mode 100644 tests/db_migrator_input/config_db/acs-msn4700-t0-version_1_0_4.json create mode 100644 tests/db_migrator_input/config_db/acs-msn4700-t0-version_1_0_5.json create mode 100644 tests/db_migrator_input/config_db/acs-msn4700-t0-version_2_0_0.json create mode 100644 tests/db_migrator_input/config_db/acs-msn4700-t1-version_1_0_4.json create mode 100644 tests/db_migrator_input/config_db/acs-msn4700-t1-version_1_0_5.json create mode 100644 tests/db_migrator_input/config_db/acs-msn4700-t1-version_2_0_0.json create mode 100644 tests/db_migrator_input/config_db/empty-config-expected.json create mode 100644 tests/db_migrator_input/config_db/empty-config-input.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-single-pool-t0-version_1_0_4.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-single-pool-t0-version_1_0_5.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-single-pool-t0-version_2_0_0.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-single-pool-t1-version_1_0_4.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-single-pool-t1-version_1_0_5.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-single-pool-t1-version_2_0_0.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t0-version_1_0_1.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t0-version_1_0_2.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t0-version_1_0_3.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t0-version_1_0_4.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t0-version_1_0_5.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t0-version_2_0_0.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t1-version_1_0_1.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t1-version_1_0_2.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t1-version_1_0_3.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t1-version_1_0_4.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t1-version_1_0_5.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t1-version_2_0_0.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-single-pool-t0-version_1_0_4.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-single-pool-t0-version_1_0_5.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-single-pool-t0-version_2_0_0.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-single-pool-t1-version_1_0_4.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-single-pool-t1-version_1_0_5.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-single-pool-t1-version_2_0_0.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t0-version_1_0_1.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t0-version_1_0_2.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t0-version_1_0_3.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t0-version_1_0_4.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t0-version_1_0_5.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t0-version_2_0_0.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t1-version_1_0_1.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t1-version_1_0_2.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t1-version_1_0_3.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t1-version_1_0_4.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t1-version_1_0_5.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t1-version_2_0_0.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-single-pool-t0-version_1_0_4.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-single-pool-t0-version_1_0_5.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-single-pool-t0-version_2_0_0.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-single-pool-t1-version_1_0_4.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-single-pool-t1-version_1_0_5.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-single-pool-t1-version_2_0_0.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-t0-version_1_0_1.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-t0-version_1_0_2.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-t0-version_1_0_3.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-t0-version_1_0_4.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-t0-version_1_0_5.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-t0-version_2_0_0.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-t1-version_1_0_1.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-t1-version_1_0_2.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-t1-version_1_0_3.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-t1-version_1_0_4.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-t1-version_1_0_5.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-t1-version_2_0_0.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn3800-c64-t0-version_1_0_5.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn3800-c64-t0-version_2_0_0.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn3800-c64-t1-version_1_0_5.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn3800-c64-t1-version_2_0_0.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn3800-d112c8-t0-version_1_0_5.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn3800-d112c8-t0-version_2_0_0.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn3800-d112c8-t1-version_1_0_5.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn3800-d112c8-t1-version_2_0_0.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn3800-d24c52-t0-version_1_0_5.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn3800-d24c52-t0-version_2_0_0.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn3800-d24c52-t1-version_1_0_5.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn3800-d24c52-t1-version_2_0_0.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn3800-d28c50-t0-version_1_0_5.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn3800-d28c50-t0-version_2_0_0.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn3800-d28c50-t1-version_1_0_5.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn3800-d28c50-t1-version_2_0_0.json create mode 100644 tests/db_migrator_input/config_db/non-default-config-expected.json create mode 100644 tests/db_migrator_input/config_db/non-default-config-input.json create mode 100644 tests/db_migrator_input/config_db/non-default-lossless-profile-in-pg-expected.json create mode 100644 tests/db_migrator_input/config_db/non-default-lossless-profile-in-pg-input.json create mode 100644 tests/db_migrator_input/config_db/non-default-lossy-profile-in-pg-expected.json create mode 100644 tests/db_migrator_input/config_db/non-default-lossy-profile-in-pg-input.json create mode 100644 tests/db_migrator_input/config_db/non-default-pg-expected.json create mode 100644 tests/db_migrator_input/config_db/non-default-pg-input.json create mode 100644 tests/db_migrator_input/config_db/non-default-xoff-expected.json create mode 100644 tests/db_migrator_input/config_db/non-default-xoff-input.json create mode 100644 tests/db_migrator_input/init_cfg.json create mode 100644 tests/db_migrator_input/state_db.json create mode 100644 tests/db_migrator_test.py diff --git a/config/main.py b/config/main.py index 7690a20df9..2e8c1393a1 100644 --- a/config/main.py +++ b/config/main.py @@ -658,7 +658,9 @@ def _clear_qos(): 'BUFFER_POOL', 'BUFFER_PROFILE', 'BUFFER_PG', - 'BUFFER_QUEUE'] + 'BUFFER_QUEUE', + 'DEFAULT_LOSSLESS_BUFFER_PARAMETER', + 'LOSSLESS_TRAFFIC_PATTERN'] namespace_list = [DEFAULT_NAMESPACE] if multi_asic.get_num_asics() > 1: @@ -3679,11 +3681,28 @@ def set_profile(db, profile, xon, xoff, size, dynamic_th, pool): update_profile(ctx, config_db, profile, xon, xoff, size, dynamic_th, pool, profile_entry) +def _is_shared_headroom_pool_enabled(ctx, config_db): + ingress_lossless_pool = config_db.get_entry('BUFFER_POOL', 'ingress_lossless_pool') + if 'xoff' in ingress_lossless_pool: + return True + + default_lossless_param_table = config_db.get_table('DEFAULT_LOSSLESS_BUFFER_PARAMETER') + if not default_lossless_param_table: + ctx.fail("Dynamic buffer calculation is enabled while no entry found in DEFAULT_LOSSLESS_BUFFER_PARAMETER table") + default_lossless_param = list(default_lossless_param_table.values())[0] + over_subscribe_ratio = default_lossless_param.get('over_subscribe_ratio') + if over_subscribe_ratio and over_subscribe_ratio != '0': + return True + + return False + + def update_profile(ctx, config_db, profile_name, xon, xoff, size, dynamic_th, pool, profile_entry = None): params = {} if profile_entry: params = profile_entry - dynamic_calculate = True + + shp_enabled = _is_shared_headroom_pool_enabled(ctx, config_db) if not pool: pool = 'ingress_lossless_pool' @@ -3693,48 +3712,62 @@ def update_profile(ctx, config_db, profile_name, xon, xoff, size, dynamic_th, po if xon: params['xon'] = xon - dynamic_calculate = False else: xon = params.get('xon') if xoff: params['xoff'] = xoff - dynamic_calculate = False else: xoff = params.get('xoff') if size: params['size'] = size - dynamic_calculate = False - if xon and not xoff: - xoff = int(size) - int (xon) - params['xoff'] = xoff - elif not dynamic_calculate: - if xon and xoff: - size = int(xon) + int(xoff) - params['size'] = size - else: - ctx.fail("Either both xon and xoff or size should be provided") + else: + size = params.get('size') + + dynamic_calculate = False if (xon or xoff or size) else True if dynamic_calculate: params['headroom_type'] = 'dynamic' if not dynamic_th: ctx.fail("Either size information (xon, xoff, size) or dynamic_th needs to be provided") - - if dynamic_th: params['dynamic_th'] = dynamic_th else: - # Fetch all the keys of default_lossless_buffer_parameter table - # and then get the default_dynamic_th from that entry (should be only one) - keys = config_db.get_keys('DEFAULT_LOSSLESS_BUFFER_PARAMETER') - if len(keys) > 1 or len(keys) == 0: - ctx.fail("Multiple or no entry in DEFAULT_LOSSLESS_BUFFER_PARAMETER found while no dynamic_th specified") - - default_lossless_param = config_db.get_entry('DEFAULT_LOSSLESS_BUFFER_PARAMETER', keys[0]) - if 'default_dynamic_th' in default_lossless_param.keys(): - params['dynamic_th'] = default_lossless_param['default_dynamic_th'] - else: - ctx.fail("No dynamic_th defined in DEFAULT_LOSSLESS_BUFFER_PARAMETER") + if not xon: + ctx.fail("Xon is mandatory for non-dynamic profile") + + if not xoff: + if shp_enabled: + ctx.fail("Shared headroom pool is enabled, xoff is mandatory for non-dynamic profile") + elif not size: + ctx.fail("Neither xoff nor size is provided") + else: + xoff_number = int(size) - int(xon) + if xoff_number <= 0: + ctx.fail("The xoff must be greater than 0 while we got {} (calculated by: size {} - xon {})".format(xoff_number, size, xon)) + params['xoff'] = str(xoff_number) + + if not size: + if shp_enabled: + size = int(xon) + else: + size = int(xon) + int(xoff) + params['size'] = size + + if dynamic_th: + params['dynamic_th'] = dynamic_th + elif not params.get('dynamic_th'): + # Fetch all the keys of default_lossless_buffer_parameter table + # and then get the default_dynamic_th from that entry (should be only one) + keys = config_db.get_keys('DEFAULT_LOSSLESS_BUFFER_PARAMETER') + if len(keys) != 1: + ctx.fail("Multiple entries are found in DEFAULT_LOSSLESS_BUFFER_PARAMETER while no dynamic_th specified") + + default_lossless_param = config_db.get_entry('DEFAULT_LOSSLESS_BUFFER_PARAMETER', keys[0]) + if 'default_dynamic_th' in default_lossless_param: + params['dynamic_th'] = default_lossless_param['default_dynamic_th'] + else: + ctx.fail("No dynamic_th defined in DEFAULT_LOSSLESS_BUFFER_PARAMETER") config_db.set_entry("BUFFER_PROFILE", (profile_name), params) @@ -3760,6 +3793,68 @@ def remove_profile(db, profile): else: ctx.fail("Profile {} doesn't exist".format(profile)) +@buffer.group(cls=clicommon.AbbreviationGroup) +@click.pass_context +def shared_headroom_pool(ctx): + """Configure buffer shared headroom pool""" + pass + + +@shared_headroom_pool.command() +@click.argument('ratio', metavar='', type=int, required=True) +@clicommon.pass_db +def over_subscribe_ratio(db, ratio): + """Configure over subscribe ratio""" + config_db = db.cfgdb + ctx = click.get_current_context() + + port_number = len(config_db.get_table('PORT')) + if ratio < 0 or ratio > port_number: + ctx.fail("Invalid over-subscribe-ratio value {}. It should be in range [0, {}]".format(ratio, port_number)) + + default_lossless_param = config_db.get_table("DEFAULT_LOSSLESS_BUFFER_PARAMETER") + first_item = True + for k, v in default_lossless_param.items(): + if not first_item: + ctx.fail("More than one item in DEFAULT_LOSSLESS_BUFFER_PARAMETER table. Only the first one is updated") + first_item = False + + if ratio == 0: + if "over_subscribe_ratio" in v.keys(): + v.pop("over_subscribe_ratio") + else: + v["over_subscribe_ratio"] = ratio + + config_db.set_entry("DEFAULT_LOSSLESS_BUFFER_PARAMETER", k, v) + + +@shared_headroom_pool.command() +@click.argument('size', metavar='', type=int, required=True) +@clicommon.pass_db +def size(db, size): + """Configure shared headroom pool size""" + config_db = db.cfgdb + state_db = db.db + ctx = click.get_current_context() + + _hash = 'BUFFER_MAX_PARAM_TABLE|global' + buffer_max_params = state_db.get_all(state_db.STATE_DB, _hash) + if buffer_max_params: + mmu_size = buffer_max_params.get('mmu_size') + if mmu_size and int(mmu_size) < size: + ctx.fail("Shared headroom pool must be less than mmu size ({})".format(mmu_size)) + + ingress_lossless_pool = config_db.get_entry("BUFFER_POOL", "ingress_lossless_pool") + + if size == 0: + if "xoff" in ingress_lossless_pool: + ingress_lossless_pool.pop("xoff") + else: + ingress_lossless_pool["xoff"] = size + + config_db.set_entry("BUFFER_POOL", "ingress_lossless_pool", ingress_lossless_pool) + + # # 'platform' group ('config platform ...') # diff --git a/doc/Command-Reference.md b/doc/Command-Reference.md index b2015fb51a..0b8e510bff 100644 --- a/doc/Command-Reference.md +++ b/doc/Command-Reference.md @@ -2363,6 +2363,31 @@ Dynamic buffer management is responsible for calculating buffer size according t ### Configuration commands +**configure shared headroom pool** + +This command is used to configure the shared headroom pool. The shared headroom pool can be enabled in the following ways: + +- Configure the over subscribe ratio. In this case, the size of shared headroom pool is calculated as the accumulative xoff of all of the lossless PG divided by the over subscribe ratio. +- Configure the size. + +In case both of the above parameters have been configured, the `size` will take effect. To disable shared headroom pool, configure both parameters to zero. + +- Usage: + + ``` + config buffer shared-headroom-pool over-subscribe-ratio + config buffer shared-headroom-pool size + ``` + + The range of over-subscribe-ratio is from 1 to number of ports inclusive. + +- Example: + + ``` + admin@sonic:~$ sudo config shared-headroom-pool over-subscribe-ratio 2 + admin@sonic:~$ sudo config shared-headroom-pool size 1024000 + ``` + **configure a lossless buffer profile** This command is used to configure a lossless buffer profile. @@ -2370,18 +2395,21 @@ This command is used to configure a lossless buffer profile. - Usage: ``` - config buffer_profile add -xon -xoff [-size ] [-dynamic_th ] [-pool ] - config buffer_profile set -xon -xoff [-size ] [-dynamic_th ] [-pool ] - config buffer_profile remove + config buffer profile add --xon --xoff [-size ] [-dynamic_th ] [-pool ] + config buffer profile set --xon --xoff [-size ] [-dynamic_th ] [-pool ] + config buffer profile remove ``` All the parameters are devided to two groups, one for headroom and one for dynamic_th. For any command at lease one group of parameters should be provided. For headroom parameters: - - At lease one of `xoff` and `size` should be provided and the other will be optional and conducted via the formula `xon + xoff = size`. - All other parameters are optional. - `xon` is madantory. - - `xon` + `xoff` <= `size`; For Mellanox platform xon + xoff == size + - If shared headroom pool is disabled: + - At lease one of `xoff` and `size` should be provided and the other will be optional and conducted via the formula `xon + xoff = size`. + - `xon` + `xoff` <= `size`; For Mellanox platform xon + xoff == size + - If shared headroom pool is enabled: + - `xoff` should be provided. + - `size` = `xoff` if it is not provided. If only headroom parameters are provided, the `dynamic_th` will be taken from `CONFIG_DB.DEFAULT_LOSSLESS_BUFFER_PARAMETER.default_dynamic_th`. @@ -2397,8 +2425,8 @@ This command is used to configure a lossless buffer profile. - Example: ``` - admin@sonic:~$ sudo config buffer_profile add profile1 -xon 18432 -xoff 18432 - admin@sonic:~$ sudo config buffer_profile remove profile1 + admin@sonic:~$ sudo config buffer profile add profile1 --xon 18432 --xoff 18432 + admin@sonic:~$ sudo config buffer profile remove profile1 ``` **config interface cable_length** @@ -2597,6 +2625,12 @@ This command is used to display the status of buffer pools and profiles currentl ``` admin@sonic:~$ show buffer configuration + Lossless traffic pattern: + -------------------- - + default_dynamic_th 0 + over_subscribe_ratio 0 + -------------------- - + Pool: ingress_lossless_pool ---- -------- type ingress diff --git a/scripts/db_migrator.py b/scripts/db_migrator.py index 1a31404749..c5d8232e4a 100755 --- a/scripts/db_migrator.py +++ b/scripts/db_migrator.py @@ -1,5 +1,6 @@ #!/usr/bin/env python3 +import os import argparse import json import sys @@ -10,6 +11,19 @@ from swsscommon.swsscommon import SonicV2Connector, ConfigDBConnector, SonicDBConfig INIT_CFG_FILE = '/etc/sonic/init_cfg.json' + +# mock the redis for unit test purposes # +try: + if os.environ["UTILITIES_UNIT_TESTING"] == "2": + modules_path = os.path.join(os.path.dirname(__file__), "..") + tests_path = os.path.join(modules_path, "tests") + mocked_db_path = os.path.join(tests_path, "db_migrator_input") + sys.path.insert(0, modules_path) + sys.path.insert(0, tests_path) + INIT_CFG_FILE = os.path.join(mocked_db_path, "init_cfg.json") +except KeyError: + pass + SYSLOG_IDENTIFIER = 'db_migrator' @@ -160,18 +174,17 @@ def migrate_copp_table(self): for copp_key in keys: self.appDB.delete(self.appDB.APPL_DB, copp_key) - def migrate_config_db_buffer_tables_for_dynamic_calculation(self, speed_list, cable_len_list, default_dynamic_th, default_lossless_profiles, abandon_method, append_item_method): + def migrate_config_db_buffer_tables_for_dynamic_calculation(self, speed_list, cable_len_list, default_dynamic_th, abandon_method, append_item_method): ''' Migrate buffer tables to dynamic calculation mode parameters @speed_list - list of speed supported @cable_len_list - list of cable length supported @default_dynamic_th - default dynamic th - @default_lossless_profiles - default lossless profiles from the previous image @abandon_method - a function which is called to abandon the migration and keep the current configuration if the current one doesn't match the default one @append_item_method - a function which is called to append an item to the list of pending commit items - any update to buffer configuration will be pended and won't be applied until + any update to buffer configuration will be pended and won't be applied until all configuration is checked and aligns with the default one 1. Buffer profiles for lossless PGs in BUFFER_PROFILE table will be removed @@ -180,7 +193,7 @@ def migrate_config_db_buffer_tables_for_dynamic_calculation(self, speed_list, ca and the dynamic_th is equal to default_dynamic_th 2. Insert tables required for dynamic buffer calculation - DEFAULT_LOSSLESS_BUFFER_PARAMETER|AZURE: {'default_dynamic_th': default_dynamic_th} - - LOSSLESS_TRAFFIC_PATTERN|AZURE: {'mtu': '1500', 'small_packet_percentage': '100'} + - LOSSLESS_TRAFFIC_PATTERN|AZURE: {'mtu': '1024', 'small_packet_percentage': '100'} 3. For lossless dynamic PGs, remove the explicit referencing buffer profiles Before: BUFFER_PG||3-4: {'profile': 'BUFFER_PROFILE|pg_lossless___profile'} After: BUFFER_PG||3-4: {'profile': 'NULL'} @@ -195,16 +208,8 @@ def migrate_config_db_buffer_tables_for_dynamic_calculation(self, speed_list, ca speed = m.group(1) cable_length = m.group(2) if speed in speed_list and cable_length in cable_len_list: - log.log_info("current profile {} {}".format(name, info)) - log.log_info("default profile {} {}".format(name, default_lossless_profiles.get(name))) - default_profile = default_lossless_profiles.get(name); - if info.get("xon") == default_profile.get("xon") and info.get("size") == default_profile.get("size") and info.get('dynamic_th') == default_dynamic_th: - append_item_method(('BUFFER_PROFILE', name, None)) - log.log_info("Lossless profile {} has been removed".format(name)) - else: - log.log_notice("Lossless profile {} doesn't match the default configuration, keep using traditional buffer calculation mode") - abandon_method() - return True + append_item_method(('BUFFER_PROFILE', name, None)) + log.log_info("Lossless profile {} has been removed".format(name)) # Migrate BUFFER_PGs, removing the explicit designated profiles buffer_pgs = self.configDB.get_table('BUFFER_PG') @@ -218,19 +223,28 @@ def migrate_config_db_buffer_tables_for_dynamic_calculation(self, speed_list, ca cable_lengths = all_cable_lengths[list(all_cable_lengths.keys())[0]] for name, profile in buffer_pgs.items(): # do the db migration - port, pg = name - if pg != '3-4': - continue try: + port, pg = name profile_name = profile['profile'][1:-1].split('|')[1] + if pg == '0': + if profile_name != 'ingress_lossy_profile': + log.log_notice("BUFFER_PG table entry {} has non default profile {} configured".format(name, profile_name)) + abandon_method() + return True + else: + continue + elif pg != '3-4': + log.log_notice("BUFFER_PG table entry {} isn't default PG(0 or 3-4)".format(name)) + abandon_method() + return True m = re.search(profile_pattern, profile_name) - except Exception: - continue - if not m: - continue - speed = m.group(1) - cable_length = m.group(2) - try: + if not m: + log.log_notice("BUFFER_PG table entry {} has non-default profile name {}".format(name, profile_name)) + abandon_method() + return True + speed = m.group(1) + cable_length = m.group(2) + if speed == ports[port]['speed'] and cable_length == cable_lengths[port]: append_item_method(('BUFFER_PG', name, {'profile': 'NULL'})) else: @@ -239,18 +253,20 @@ def migrate_config_db_buffer_tables_for_dynamic_calculation(self, speed_list, ca abandon_method() return True except Exception: - continue + log.log_notice("Exception occured during parsing the profiles") + abandon_method() + return True # Insert other tables required for dynamic buffer calculation metadata = self.configDB.get_entry('DEVICE_METADATA', 'localhost') metadata['buffer_model'] = 'dynamic' append_item_method(('DEVICE_METADATA', 'localhost', metadata)) append_item_method(('DEFAULT_LOSSLESS_BUFFER_PARAMETER', 'AZURE', {'default_dynamic_th': default_dynamic_th})) - append_item_method(('LOSSLESS_TRAFFIC_PATTERN', 'AZURE', {'mtu': '1500', 'small_packet_percentage': '100'})) + append_item_method(('LOSSLESS_TRAFFIC_PATTERN', 'AZURE', {'mtu': '1024', 'small_packet_percentage': '100'})) return True - def prepare_dynamic_buffer_for_warm_reboot(self, buffer_pools = None, buffer_profiles = None, buffer_pgs = None): + def prepare_dynamic_buffer_for_warm_reboot(self, buffer_pools=None, buffer_profiles=None, buffer_pgs=None): ''' This is the very first warm reboot of buffermgrd (dynamic) if the system reboot from old image by warm-reboot In this case steps need to be taken to get buffermgrd prepared (for warm reboot) @@ -404,35 +420,41 @@ def version_1_0_3(self): def version_1_0_4(self): """ - Current latest version. Nothing to do here. + Version 1_0_4. """ log.log_info('Handling version_1_0_4') # Check ASIC type, if Mellanox platform then need DB migration + if self.asic_type == "mellanox": + if self.mellanox_buffer_migrator.mlnx_migrate_buffer_pool_size('version_1_0_4', 'version_1_0_5') \ + and self.mellanox_buffer_migrator.mlnx_migrate_buffer_profile('version_1_0_4', 'version_1_0_5') \ + and self.mellanox_buffer_migrator.mlnx_flush_new_buffer_configuration(): + self.set_version('version_1_0_5') + else: + self.set_version('version_1_0_5') + + return 'version_1_0_5' + + def version_1_0_5(self): + """ + Version 1_0_5. + """ + log.log_info('Handling version_1_0_5') if self.asic_type == "mellanox": speed_list = self.mellanox_buffer_migrator.default_speed_list cable_len_list = self.mellanox_buffer_migrator.default_cable_len_list buffer_pools = self.configDB.get_table('BUFFER_POOL') buffer_profiles = self.configDB.get_table('BUFFER_PROFILE') buffer_pgs = self.configDB.get_table('BUFFER_PG') - default_lossless_profiles = self.mellanox_buffer_migrator.mlnx_get_default_lossless_profile('version_1_0_4') abandon_method = self.mellanox_buffer_migrator.mlnx_abandon_pending_buffer_configuration append_method = self.mellanox_buffer_migrator.mlnx_append_item_on_pending_configuration_list - if self.mellanox_buffer_migrator.mlnx_migrate_buffer_pool_size('version_1_0_4', 'version_2_0_0') \ - and self.mellanox_buffer_migrator.mlnx_migrate_buffer_profile('version_1_0_4', 'version_2_0_0') \ - and self.migrate_config_db_buffer_tables_for_dynamic_calculation(speed_list, cable_len_list, '0', default_lossless_profiles, - abandon_method, append_method) \ + if self.mellanox_buffer_migrator.mlnx_migrate_buffer_pool_size('version_1_0_5', 'version_2_0_0') \ + and self.mellanox_buffer_migrator.mlnx_migrate_buffer_profile('version_1_0_5', 'version_2_0_0') \ + and (not self.mellanox_buffer_migrator.mlnx_is_buffer_model_dynamic() or \ + self.migrate_config_db_buffer_tables_for_dynamic_calculation(speed_list, cable_len_list, '0', abandon_method, append_method)) \ and self.mellanox_buffer_migrator.mlnx_flush_new_buffer_configuration() \ and self.prepare_dynamic_buffer_for_warm_reboot(buffer_pools, buffer_profiles, buffer_pgs): - metadata = self.configDB.get_entry('DEVICE_METADATA', 'localhost') - if not metadata.get('buffer_model'): - metadata['buffer_model'] = 'traditional' - self.configDB.set_entry('DEVICE_METADATA', 'localhost', metadata) - log.log_notice('Setting buffer_model to traditional') - else: - log.log_notice('Got buffer_model {}'.format(metadata.get('buffer_model'))) - self.set_version('version_2_0_0') else: self.prepare_dynamic_buffer_for_warm_reboot() diff --git a/scripts/mellanox_buffer_migrator.py b/scripts/mellanox_buffer_migrator.py index e449f3657e..67f2a57e30 100755 --- a/scripts/mellanox_buffer_migrator.py +++ b/scripts/mellanox_buffer_migrator.py @@ -1,3 +1,82 @@ +""" +Mellanox buffer migrator: + Migrate buffer configuration to the default one in the new version automatically + if the configuration matched the default on in the old version. + + Current version: 2.0.0 for shared headroom pool and dynamic buffer calculation support. + Historical version: + - 201911: + - 1.0.5 for shared headroom pool support + - 1.0.4 for optimized headroom calculation: + - For Microsoft SKUs, calculate headroom with small packet percentage as 50% + - For all SKUs, fix some bugs in the formula + - 1.0.3 for updating the buffer pool size according to the SDK update + - 201811: + - 1.0.2 initial version. Also used in early 201911. + + The dict mellanox_default_parameter is introduced to represent: + - The default configuration of BUFFER_POOL and BUFFER_PROFILE for all versions + - The mapping from the old version to new version + In each version there are variant configuration sets according to the topology, SKU, platform, etc. + It's possible that there are more flavors in old version and less flavors in the new one or vice versa. + In both case, a mapping is required to map from the old version to the new version. + + It includes the following data for each of the version (Mandatory except explicitly mentioned) + - pool_configuration_list: Optional. + Represents all the flavors of the pool configuration + Not providing it means all items in buffer_pools will be checked. + - pool_mapped_from_old_version: Optional. + A dict represents the mapping from a flavor of buffer pool configuration in the old version to that in the new one + Not having this field means all the flavors in the old version will be mapped to that in the new version with the same name + The keys are the name of flavors and the data can be in the following forms: + - a string, representing the name of the flavor to which the key is mapped in the new version + - a tuple consisting of: + - a "type" which can be "sku" only for now (probably support "platform" in the future) + - a "map" which should be a key in pool_convert_map. The map represents to which flavor the current flavor will be mapped according to the device's SKU + - pool_convert_map: Optional. + A map from SKU to flavor in the new image. Referenced by pool_mapped_from_old_version. (see above for details) + - buffer_pool_list: The list of buffer pools in each flavor. For testing whether the configuration in old version matches one of the default + - buffer_pools: The detailed information of each flavor of the pools + Most of the pools in each flavor share the same number. To avoid repeating code the pool info is represented in a "condensed" way. + Basically, each flavor has the following convention: + flavor: {"doublepool|singlepool": { "size": , "xoff": }, "egress_lossless_pool": { "size": }} + doublepool: The flavor has two ingress pools. Each pool's size is . There won't be size in the pool if is "dynamic". + The field "xoff" is optional. Providing it means the xoff of ingress_lossless_pool is . + singlepool: The same as doublepool except that the flavor has only one ingress pools + egress_lossless_pool: The size of egress_lossless_pool. + - buffer_pools_inherited: Optional. If the current pool has the same pool configurations as that in an old version, we don't need to repeat it. + It's a dict object, containing the list of names of flavors of buffer pool configuration inherited from the version whose name is the key. + + - headrooms: Optional. A dict representing the headrooms of different series of platforms, including the following keys: + - spc1_headroom: Represents headroom data for all SPC1 switches + - spc2_headroom: Represents headroom data for all SPC2 switches except 3800 + - spc2_3800_headroom: Represents headroom data for 3800 switch (for gearbox) + - spc3_headroom: Represents headroom data for all SPC3 switches + Value for each of the above keys is an object, including the following type: + - default: The default headroom information for generic SKUs. + - msft: The headroom info for MSFT SKUs, calculated with dedicated parameters for MSFT + - shp: The default headroom with shared headroom pool support. Based on msft parameters and size == xon + Each of the above object can be: + - A dict object. In this case, it represents the headroom info. + The key is the profile name with convention "pg_lossless___profile" and the object is a dict containing the size and xon or xoff and xon. The other value can be deducted. + - A tuple. This is a backtrace pointer, consisting of the version and the key to the headroom. + It means the headroom info is exactly the same as that in a previous version. + For example, ("version_1_0_4", "spc1_headroom") means the headroom info is the same as param["version_1_0_4"]["headrooms"]["spc1_headroom"]["default"] + Besides the spcxxx_headroom, there is a mappings dict in the headrooms, representing to which headroom info the old headroom should be mapped. + For example, in the following example, + - the headroom info "msft" in the old version should be mapped to "msft" in the new version + - the headroom info "default" in the old version should be mapped to "msft" in the new version if the SKU is Mellanox-xxxx or "default" otherwise + "mapping": { + "default": ("skumap", {"Mellanox-SN2700": "msft", "Mellanox-SN2700-C28D8": "msft", "Mellanox-SN2700-D48C8": "msft"}) + }, + + - buffer_profiles: Optional. A dict representing the default buffer profile configuration in the current version. + There are following flavors: + - default: The default buffer profile configuration for generic SKUs + - singlepool: The buffer profile configuration for MSFT SKUs which has only one ingress pool. + During migration, if the profiles match one of the flavor in the old version, it will be migrated to the new flavor with the same name + Not providing it means no buffer profile migration required. +""" from sonic_py_common import logger SYSLOG_IDENTIFIER = 'mellanox_buffer_migrator' @@ -8,6 +87,28 @@ class MellanoxBufferMigrator(): def __init__(self, configDB): self.configDB = configDB + + self.platform = None + self.sku = None + + device_data = self.configDB.get_entry('DEVICE_METADATA', 'localhost') + if device_data: + self.platform = device_data.get('platform') + self.sku = device_data.get('hwsku') + self.ready = True + if not self.platform or not self.sku: + log.log_error("Trying to get DEVICE_METADATA from DB but doesn't exist, skip migration") + self.ready = False + + self.spc1_platforms = ["x86_64-mlnx_msn2010-r0", "x86_64-mlnx_msn2100-r0", "x86_64-mlnx_msn2410-r0", "x86_64-mlnx_msn2700-r0", "x86_64-mlnx_msn2740-r0"] + self.spc2_platforms = ["x86_64-mlnx_msn3700-r0", "x86_64-mlnx_msn3700c-r0"] + self.spc3_platforms = ["x86_64-mlnx_msn4600c-r0", "x86_64-mlnx_msn4700-r0"] + + msftskus = ["Mellanox-SN2700", "Mellanox-SN2700-C28D8", "Mellanox-SN2700-D48C8", + "Mellanox-SN3800-C64", "Mellanox-SN3800-D24C52", "Mellanox-SN3800-D112C8", "Mellanox-SN3800-D28C50"] + + self.is_msft_sku = self.sku in msftskus + self.pending_update_items = list() self.default_speed_list = ['1000', '10000', '25000', '40000', '50000', '100000', '200000', '400000'] self.default_cable_len_list = ['5m', '40m', '300m'] @@ -15,256 +116,332 @@ def __init__(self, configDB): mellanox_default_parameter = { "version_1_0_2": { - # Buffer pool migration control info - "pool_configuration_list": ["spc1_t0_pool", "spc1_t1_pool", "spc2_t0_pool", "spc2_t1_pool"], - + # This is the buffer configuration from the very beginning # Buffer pool configuration info "buffer_pool_list" : ['ingress_lossless_pool', 'egress_lossless_pool', 'ingress_lossy_pool', 'egress_lossy_pool'], - "spc1_t0_pool": {"ingress_lossless_pool": { "size": "4194304", "type": "ingress", "mode": "dynamic" }, - "ingress_lossy_pool": { "size": "7340032", "type": "ingress", "mode": "dynamic" }, - "egress_lossless_pool": { "size": "16777152", "type": "egress", "mode": "dynamic" }, - "egress_lossy_pool": {"size": "7340032", "type": "egress", "mode": "dynamic" } }, - "spc1_t1_pool": {"ingress_lossless_pool": { "size": "2097152", "type": "ingress", "mode": "dynamic" }, - "ingress_lossy_pool": { "size": "5242880", "type": "ingress", "mode": "dynamic" }, - "egress_lossless_pool": { "size": "16777152", "type": "egress", "mode": "dynamic" }, - "egress_lossy_pool": {"size": "5242880", "type": "egress", "mode": "dynamic" } }, - "spc2_t0_pool": {"ingress_lossless_pool": { "size": "8224768", "type": "ingress", "mode": "dynamic" }, - "ingress_lossy_pool": { "size": "8224768", "type": "ingress", "mode": "dynamic" }, - "egress_lossless_pool": { "size": "35966016", "type": "egress", "mode": "dynamic" }, - "egress_lossy_pool": {"size": "8224768", "type": "egress", "mode": "dynamic" } }, - "spc2_t1_pool": {"ingress_lossless_pool": { "size": "12042240", "type": "ingress", "mode": "dynamic" }, - "ingress_lossy_pool": { "size": "12042240", "type": "ingress", "mode": "dynamic" }, - "egress_lossless_pool": { "size": "35966016", "type": "egress", "mode": "dynamic" }, - "egress_lossy_pool": {"size": "12042240", "type": "egress", "mode": "dynamic" } }, + # default buffer pools + "buffer_pools": { + "spc1_t0_pool": {"ingress_lossless_pool": { "size": "4194304", "type": "ingress", "mode": "dynamic" }, + "ingress_lossy_pool": { "size": "7340032", "type": "ingress", "mode": "dynamic" }, + "egress_lossless_pool": { "size": "16777152", "type": "egress", "mode": "dynamic" }, + "egress_lossy_pool": {"size": "7340032", "type": "egress", "mode": "dynamic" } }, + "spc1_t1_pool": {"ingress_lossless_pool": { "size": "2097152", "type": "ingress", "mode": "dynamic" }, + "ingress_lossy_pool": { "size": "5242880", "type": "ingress", "mode": "dynamic" }, + "egress_lossless_pool": { "size": "16777152", "type": "egress", "mode": "dynamic" }, + "egress_lossy_pool": {"size": "5242880", "type": "egress", "mode": "dynamic" } }, + "spc2_t0_pool": {"doublepool": { "size": "8224768" }, "egress_lossless_pool": { "size": "35966016"}}, + "spc2_t1_pool": {"doublepool": { "size": "12042240" }, "egress_lossless_pool": { "size": "35966016"}}, + + # buffer pools with shared headroom pool supported + "spc1_t0_pool_shp": {"doublepool": { "size": "3988992" }, "egress_lossless_pool": { "size": "13945824"}}, + "spc1_t1_pool_shp": {"doublepool": { "size": "4554240" }, "egress_lossless_pool": { "size": "13945824"}} + } }, "version_1_0_3": { # On Mellanox platform the buffer pool size changed since # version with new SDK 4.3.3052, SONiC to SONiC update # from version with old SDK will be broken without migration. - # - "pool_configuration_list": ["spc1_t0_pool", "spc1_t1_pool", "spc2_t0_pool", "spc2_t1_pool", "spc2_3800_t0_pool", "spc2_3800_t1_pool"], + "pool_mapped_from_old_version": { + "spc1_t0_pool_shp": "spc1_t0_pool", + "spc1_t1_pool_shp": "spc1_t1_pool" + }, # Buffer pool configuration info "buffer_pool_list" : ['ingress_lossless_pool', 'egress_lossless_pool', 'ingress_lossy_pool', 'egress_lossy_pool'], - "spc1_t0_pool": {"ingress_lossless_pool": { "size": "5029836", "type": "ingress", "mode": "dynamic" }, - "ingress_lossy_pool": { "size": "5029836", "type": "ingress", "mode": "dynamic" }, - "egress_lossless_pool": { "size": "14024599", "type": "egress", "mode": "dynamic" }, - "egress_lossy_pool": {"size": "5029836", "type": "egress", "mode": "dynamic" } }, - "spc1_t1_pool": {"ingress_lossless_pool": { "size": "2097100", "type": "ingress", "mode": "dynamic" }, - "ingress_lossy_pool": { "size": "2097100", "type": "ingress", "mode": "dynamic" }, - "egress_lossless_pool": { "size": "14024599", "type": "egress", "mode": "dynamic" }, - "egress_lossy_pool": {"size": "2097100", "type": "egress", "mode": "dynamic" } }, - - "spc2_t0_pool": {"ingress_lossless_pool": { "size": "14983147", "type": "ingress", "mode": "dynamic" }, - "ingress_lossy_pool": { "size": "14983147", "type": "ingress", "mode": "dynamic" }, - "egress_lossless_pool": { "size": "34340822", "type": "egress", "mode": "dynamic" }, - "egress_lossy_pool": {"size": "14983147", "type": "egress", "mode": "dynamic" } }, - "spc2_t1_pool": {"ingress_lossless_pool": { "size": "9158635", "type": "ingress", "mode": "dynamic" }, - "ingress_lossy_pool": { "size": "9158635", "type": "ingress", "mode": "dynamic" }, - "egress_lossless_pool": { "size": "34340822", "type": "egress", "mode": "dynamic" }, - "egress_lossy_pool": {"size": "9158635", "type": "egress", "mode": "dynamic" } }, - - # 3800 platform has gearbox installed so the buffer pool size is different with other Spectrum2 platform - "spc2_3800_t0_pool": {"ingress_lossless_pool": { "size": "28196784", "type": "ingress", "mode": "dynamic" }, - "ingress_lossy_pool": { "size": "28196784", "type": "ingress", "mode": "dynamic" }, - "egress_lossless_pool": { "size": "34340832", "type": "egress", "mode": "dynamic" }, - "egress_lossy_pool": {"size": "28196784", "type": "egress", "mode": "dynamic" } }, - "spc2_3800_t1_pool": {"ingress_lossless_pool": { "size": "17891280", "type": "ingress", "mode": "dynamic" }, - "ingress_lossy_pool": { "size": "17891280", "type": "ingress", "mode": "dynamic" }, - "egress_lossless_pool": { "size": "34340832", "type": "egress", "mode": "dynamic" }, - "egress_lossy_pool": {"size": "17891280", "type": "egress", "mode": "dynamic" } }, - - # Lossless headroom info - "spc1_headroom": {"pg_lossless_10000_5m_profile": {"size": "34816", "xon": "18432"}, - "pg_lossless_25000_5m_profile": {"size": "34816", "xon": "18432"}, - "pg_lossless_40000_5m_profile": {"size": "34816", "xon": "18432"}, - "pg_lossless_50000_5m_profile": {"size": "34816", "xon": "18432"}, - "pg_lossless_100000_5m_profile": {"size": "36864", "xon": "18432"}, - "pg_lossless_10000_40m_profile": {"size": "36864", "xon": "18432"}, - "pg_lossless_25000_40m_profile": {"size": "39936", "xon": "18432"}, - "pg_lossless_40000_40m_profile": {"size": "41984", "xon": "18432"}, - "pg_lossless_50000_40m_profile": {"size": "41984", "xon": "18432"}, - "pg_lossless_100000_40m_profile": {"size": "54272", "xon": "18432"}, - "pg_lossless_10000_300m_profile": {"size": "49152", "xon": "18432"}, - "pg_lossless_25000_300m_profile": {"size": "71680", "xon": "18432"}, - "pg_lossless_40000_300m_profile": {"size": "94208", "xon": "18432"}, - "pg_lossless_50000_300m_profile": {"size": "94208", "xon": "18432"}, - "pg_lossless_100000_300m_profile": {"size": "184320", "xon": "18432"}}, - "spc2_headroom": {"pg_lossless_1000_5m_profile": {"size": "35840", "xon": "18432"}, - "pg_lossless_10000_5m_profile": {"size": "36864", "xon": "18432"}, - "pg_lossless_25000_5m_profile": {"size": "36864", "xon": "18432"}, - "pg_lossless_40000_5m_profile": {"size": "36864", "xon": "18432"}, - "pg_lossless_50000_5m_profile": {"size": "37888", "xon": "18432"}, - "pg_lossless_100000_5m_profile": {"size": "38912", "xon": "18432"}, - "pg_lossless_200000_5m_profile": {"size": "41984", "xon": "18432"}, - "pg_lossless_1000_40m_profile": {"size": "36864", "xon": "18432"}, - "pg_lossless_10000_40m_profile": {"size": "38912", "xon": "18432"}, - "pg_lossless_25000_40m_profile": {"size": "41984", "xon": "18432"}, - "pg_lossless_40000_40m_profile": {"size": "45056", "xon": "18432"}, - "pg_lossless_50000_40m_profile": {"size": "47104", "xon": "18432"}, - "pg_lossless_100000_40m_profile": {"size": "59392", "xon": "18432"}, - "pg_lossless_200000_40m_profile": {"size": "81920", "xon": "18432"}, - "pg_lossless_1000_300m_profile": {"size": "37888", "xon": "18432"}, - "pg_lossless_10000_300m_profile": {"size": "53248", "xon": "18432"}, - "pg_lossless_25000_300m_profile": {"size": "78848", "xon": "18432"}, - "pg_lossless_40000_300m_profile": {"size": "104448", "xon": "18432"}, - "pg_lossless_50000_300m_profile": {"size": "121856", "xon": "18432"}, - "pg_lossless_100000_300m_profile": {"size": "206848", "xon": "18432"}, - "pg_lossless_200000_300m_profile": {"size": "376832", "xon": "18432"}}, - "spc2_3800_headroom": {"pg_lossless_1000_5m_profile": {"size": "32768", "xon": "18432"}, - "pg_lossless_10000_5m_profile": {"size": "34816", "xon": "18432"}, - "pg_lossless_25000_5m_profile": {"size": "38912", "xon": "18432"}, - "pg_lossless_40000_5m_profile": {"size": "41984", "xon": "18432"}, - "pg_lossless_50000_5m_profile": {"size": "44032", "xon": "18432"}, - "pg_lossless_100000_5m_profile": {"size": "55296", "xon": "18432"}, - "pg_lossless_200000_5m_profile": {"size": "77824", "xon": "18432"}, - "pg_lossless_1000_40m_profile": {"size": "33792", "xon": "18432"}, - "pg_lossless_10000_40m_profile": {"size": "36864", "xon": "18432"}, - "pg_lossless_25000_40m_profile": {"size": "43008", "xon": "18432"}, - "pg_lossless_40000_40m_profile": {"size": "49152", "xon": "18432"}, - "pg_lossless_50000_40m_profile": {"size": "53248", "xon": "18432"}, - "pg_lossless_100000_40m_profile": {"size": "72704", "xon": "18432"}, - "pg_lossless_200000_40m_profile": {"size": "112640", "xon": "18432"}, - "pg_lossless_1000_300m_profile": {"size": "34816", "xon": "18432"}, - "pg_lossless_10000_300m_profile": {"size": "50176", "xon": "18432"}, - "pg_lossless_25000_300m_profile": {"size": "75776", "xon": "18432"}, - "pg_lossless_40000_300m_profile": {"size": "101376", "xon": "18432"}, - "pg_lossless_50000_300m_profile": {"size": "117760", "xon": "18432"}, - "pg_lossless_100000_300m_profile": {"size": "202752", "xon": "18432"}, - "pg_lossless_200000_300m_profile": {"size": "373760", "xon": "18432"}}, + "buffer_pools": { + "spc1_t0_pool": {"doublepool": { "size": "5029836" }, "egress_lossless_pool": { "size": "14024599"}}, + "spc1_t1_pool": {"doublepool": { "size": "2097100" }, "egress_lossless_pool": { "size": "14024599"}}, + "spc2_t0_pool": {"doublepool": { "size": "14983147" }, "egress_lossless_pool": { "size": "34340822"}}, + "spc2_t1_pool": {"doublepool": { "size": "9158635" }, "egress_lossless_pool": { "size": "34340822"}} + }, + + "headrooms": { + # Lossless headroom info + "spc1_headroom": { + "default": {"pg_lossless_10000_5m_profile": {"size": "34816", "xon": "18432"}, + "pg_lossless_25000_5m_profile": {"size": "34816", "xon": "18432"}, + "pg_lossless_40000_5m_profile": {"size": "34816", "xon": "18432"}, + "pg_lossless_50000_5m_profile": {"size": "34816", "xon": "18432"}, + "pg_lossless_100000_5m_profile": {"size": "36864", "xon": "18432"}, + "pg_lossless_10000_40m_profile": {"size": "36864", "xon": "18432"}, + "pg_lossless_25000_40m_profile": {"size": "39936", "xon": "18432"}, + "pg_lossless_40000_40m_profile": {"size": "41984", "xon": "18432"}, + "pg_lossless_50000_40m_profile": {"size": "41984", "xon": "18432"}, + "pg_lossless_100000_40m_profile": {"size": "54272", "xon": "18432"}, + "pg_lossless_10000_300m_profile": {"size": "49152", "xon": "18432"}, + "pg_lossless_25000_300m_profile": {"size": "71680", "xon": "18432"}, + "pg_lossless_40000_300m_profile": {"size": "94208", "xon": "18432"}, + "pg_lossless_50000_300m_profile": {"size": "94208", "xon": "18432"}, + "pg_lossless_100000_300m_profile": {"size": "184320", "xon": "18432"}} + }, + "spc2_headroom": { + "default": {"pg_lossless_1000_5m_profile": {"size": "35840", "xon": "18432"}, + "pg_lossless_10000_5m_profile": {"size": "36864", "xon": "18432"}, + "pg_lossless_25000_5m_profile": {"size": "36864", "xon": "18432"}, + "pg_lossless_40000_5m_profile": {"size": "36864", "xon": "18432"}, + "pg_lossless_50000_5m_profile": {"size": "37888", "xon": "18432"}, + "pg_lossless_100000_5m_profile": {"size": "38912", "xon": "18432"}, + "pg_lossless_200000_5m_profile": {"size": "41984", "xon": "18432"}, + "pg_lossless_1000_40m_profile": {"size": "36864", "xon": "18432"}, + "pg_lossless_10000_40m_profile": {"size": "38912", "xon": "18432"}, + "pg_lossless_25000_40m_profile": {"size": "41984", "xon": "18432"}, + "pg_lossless_40000_40m_profile": {"size": "45056", "xon": "18432"}, + "pg_lossless_50000_40m_profile": {"size": "47104", "xon": "18432"}, + "pg_lossless_100000_40m_profile": {"size": "59392", "xon": "18432"}, + "pg_lossless_200000_40m_profile": {"size": "81920", "xon": "18432"}, + "pg_lossless_1000_300m_profile": {"size": "37888", "xon": "18432"}, + "pg_lossless_10000_300m_profile": {"size": "53248", "xon": "18432"}, + "pg_lossless_25000_300m_profile": {"size": "78848", "xon": "18432"}, + "pg_lossless_40000_300m_profile": {"size": "104448", "xon": "18432"}, + "pg_lossless_50000_300m_profile": {"size": "121856", "xon": "18432"}, + "pg_lossless_100000_300m_profile": {"size": "206848", "xon": "18432"}, + "pg_lossless_200000_300m_profile": {"size": "376832", "xon": "18432"}} + } + }, # Buffer profile info - "buffer_profiles": {"ingress_lossless_profile": {"dynamic_th": "0", "pool": "[BUFFER_POOL|ingress_lossless_pool]", "size": "0"}, - "ingress_lossy_profile": {"dynamic_th": "3", "pool": "[BUFFER_POOL|ingress_lossy_pool]", "size": "0"}, - "egress_lossless_profile": {"dynamic_th": "7", "pool": "[BUFFER_POOL|egress_lossless_pool]", "size": "0"}, - "egress_lossy_profile": {"dynamic_th": "3", "pool": "[BUFFER_POOL|egress_lossy_pool]", "size": "4096"}, - "q_lossy_profile": {"dynamic_th": "3", "pool": "[BUFFER_POOL|egress_lossy_pool]", "size": "0"}} + "buffer_profiles": { + "default": {"ingress_lossless_profile": {"dynamic_th": "0", "pool": "[BUFFER_POOL|ingress_lossless_pool]", "size": "0"}, + "ingress_lossy_profile": {"dynamic_th": "3", "pool": "[BUFFER_POOL|ingress_lossy_pool]", "size": "0"}, + "egress_lossless_profile": {"dynamic_th": "7", "pool": "[BUFFER_POOL|egress_lossless_pool]", "size": "0"}, + "egress_lossy_profile": {"dynamic_th": "3", "pool": "[BUFFER_POOL|egress_lossy_pool]", "size": "4096"}, + "q_lossy_profile": {"dynamic_th": "3", "pool": "[BUFFER_POOL|egress_lossy_pool]", "size": "0"}} + } }, "version_1_0_4": { # version 1.0.4 is introduced for updating the buffer settings - "pool_configuration_list": ["spc1_t0_pool", "spc1_t1_pool", "spc2_t0_pool", "spc2_t1_pool", "spc2_3800_t0_pool", "spc2_3800_t1_pool", "spc3_t0_pool", "spc3_t1_pool"], - # Buffer pool info for normal mode "buffer_pool_list" : ['ingress_lossless_pool', 'ingress_lossy_pool', 'egress_lossless_pool', 'egress_lossy_pool'], - "spc1_t0_pool": {"ingress_lossless_pool": { "size": "4580864", "type": "ingress", "mode": "dynamic" }, - "ingress_lossy_pool": { "size": "4580864", "type": "ingress", "mode": "dynamic" }, - "egress_lossless_pool": { "size": "13945824", "type": "egress", "mode": "dynamic" }, - "egress_lossy_pool": {"size": "4580864", "type": "egress", "mode": "dynamic" } }, - "spc1_t1_pool": {"ingress_lossless_pool": { "size": "3302912", "type": "ingress", "mode": "dynamic" }, - "ingress_lossy_pool": { "size": "3302912", "type": "ingress", "mode": "dynamic" }, - "egress_lossless_pool": { "size": "13945824", "type": "egress", "mode": "dynamic" }, - "egress_lossy_pool": {"size": "3302912", "type": "egress", "mode": "dynamic" } }, - - "spc2_t0_pool": {"ingress_lossless_pool": { "size": "14542848", "type": "ingress", "mode": "dynamic" }, - "ingress_lossy_pool": { "size": "14542848", "type": "ingress", "mode": "dynamic" }, - "egress_lossless_pool": { "size": "34287552", "type": "egress", "mode": "dynamic" }, - "egress_lossy_pool": {"size": "14542848", "type": "egress", "mode": "dynamic" } }, - "spc2_t1_pool": {"ingress_lossless_pool": { "size": "11622400", "type": "ingress", "mode": "dynamic" }, - "ingress_lossy_pool": { "size": "11622400", "type": "ingress", "mode": "dynamic" }, - "egress_lossless_pool": { "size": "34287552", "type": "egress", "mode": "dynamic" }, - "egress_lossy_pool": {"size": "11622400", "type": "egress", "mode": "dynamic" } }, - - "spc2_3800_t0_pool": {"ingress_lossless_pool": { "size": "13924352", "type": "ingress", "mode": "dynamic" }, - "ingress_lossy_pool": { "size": "13924352", "type": "ingress", "mode": "dynamic" }, - "egress_lossless_pool": { "size": "34287552", "type": "egress", "mode": "dynamic" }, - "egress_lossy_pool": {"size": "13924352", "type": "egress", "mode": "dynamic" } }, - "spc2_3800_t1_pool": {"ingress_lossless_pool": { "size": "12457984", "type": "ingress", "mode": "dynamic" }, - "ingress_lossy_pool": { "size": "12457984", "type": "ingress", "mode": "dynamic" }, - "egress_lossless_pool": { "size": "34287552", "type": "egress", "mode": "dynamic" }, - "egress_lossy_pool": {"size": "12457984", "type": "egress", "mode": "dynamic" } }, - - # SPC3 is used only when migrating from 1.0.4 to newer version - "spc3_t0_pool": {"ingress_lossless_pool": { "size": "26451968", "type": "ingress", "mode": "dynamic" }, - "ingress_lossy_pool": { "size": "26451968", "type": "ingress", "mode": "dynamic" }, - "egress_lossless_pool": { "size": "60817392", "type": "egress", "mode": "dynamic" }, - "egress_lossy_pool": {"size": "26451968", "type": "egress", "mode": "dynamic" } }, - "spc3_t1_pool": {"ingress_lossless_pool": { "size": "20627456", "type": "ingress", "mode": "dynamic" }, - "ingress_lossy_pool": { "size": "20627456", "type": "ingress", "mode": "dynamic" }, - "egress_lossless_pool": { "size": "60817392", "type": "egress", "mode": "dynamic" }, - "egress_lossy_pool": {"size": "20627456", "type": "egress", "mode": "dynamic" } }, - - # Lossless headroom info - "spc1_headroom": {"pg_lossless_10000_5m_profile": {"size": "49152", "xon":"19456"}, - "pg_lossless_25000_5m_profile": {"size": "49152", "xon":"19456"}, - "pg_lossless_40000_5m_profile": {"size": "49152", "xon":"19456"}, - "pg_lossless_50000_5m_profile": {"size": "49152", "xon":"19456"}, - "pg_lossless_100000_5m_profile": {"size": "50176", "xon":"19456"}, - "pg_lossless_10000_40m_profile": {"size": "49152", "xon":"19456"}, - "pg_lossless_25000_40m_profile": {"size": "51200", "xon":"19456"}, - "pg_lossless_40000_40m_profile": {"size": "52224", "xon":"19456"}, - "pg_lossless_50000_40m_profile": {"size": "53248", "xon":"19456"}, - "pg_lossless_100000_40m_profile": {"size": "58368", "xon":"19456"}, - "pg_lossless_10000_300m_profile": {"size": "56320", "xon":"19456"}, - "pg_lossless_25000_300m_profile": {"size": "67584", "xon":"19456"}, - "pg_lossless_40000_300m_profile": {"size": "78848", "xon":"19456"}, - "pg_lossless_50000_300m_profile": {"size": "86016", "xon":"19456"}, - "pg_lossless_100000_300m_profile": {"size": "123904", "xon":"19456"}}, - "spc2_headroom": {"pg_lossless_10000_5m_profile": {"size": "52224", "xon":"19456"}, - "pg_lossless_25000_5m_profile": {"size": "52224", "xon":"19456"}, - "pg_lossless_40000_5m_profile": {"size": "53248", "xon":"19456"}, - "pg_lossless_50000_5m_profile": {"size": "53248", "xon":"19456"}, - "pg_lossless_100000_5m_profile": {"size": "53248", "xon":"19456"}, - "pg_lossless_200000_5m_profile": {"size": "55296", "xon":"19456"}, - "pg_lossless_10000_40m_profile": {"size": "53248", "xon":"19456"}, - "pg_lossless_25000_40m_profile": {"size": "55296", "xon":"19456"}, - "pg_lossless_40000_40m_profile": {"size": "57344", "xon":"19456"}, - "pg_lossless_50000_40m_profile": {"size": "58368", "xon":"19456"}, - "pg_lossless_100000_40m_profile": {"size": "63488", "xon":"19456"}, - "pg_lossless_200000_40m_profile": {"size": "74752", "xon":"19456"}, - "pg_lossless_10000_300m_profile": {"size": "60416", "xon":"19456"}, - "pg_lossless_25000_300m_profile": {"size": "73728", "xon":"19456"}, - "pg_lossless_40000_300m_profile": {"size": "86016", "xon":"19456"}, - "pg_lossless_50000_300m_profile": {"size": "95232", "xon":"19456"}, - "pg_lossless_100000_300m_profile": {"size": "137216", "xon":"19456"}, - "pg_lossless_200000_300m_profile": {"size": "223232", "xon":"19456"}}, - "spc2_3800_headroom": {"pg_lossless_10000_5m_profile": {"size": "54272", "xon":"19456"}, - "pg_lossless_25000_5m_profile": {"size": "58368", "xon":"19456"}, - "pg_lossless_40000_5m_profile": {"size": "61440", "xon":"19456"}, - "pg_lossless_50000_5m_profile": {"size": "64512", "xon":"19456"}, - "pg_lossless_100000_5m_profile": {"size": "75776", "xon":"19456"}, - "pg_lossless_10000_40m_profile": {"size": "55296", "xon":"19456"}, - "pg_lossless_25000_40m_profile": {"size": "60416", "xon":"19456"}, - "pg_lossless_40000_40m_profile": {"size": "65536", "xon":"19456"}, - "pg_lossless_50000_40m_profile": {"size": "69632", "xon":"19456"}, - "pg_lossless_100000_40m_profile": {"size": "86016", "xon":"19456"}, - "pg_lossless_10000_300m_profile": {"size": "63488", "xon":"19456"}, - "pg_lossless_25000_300m_profile": {"size": "78848", "xon":"19456"}, - "pg_lossless_40000_300m_profile": {"size": "95232", "xon":"19456"}, - "pg_lossless_50000_300m_profile": {"size": "106496", "xon":"19456"}, - "pg_lossless_100000_300m_profile": {"size": "159744", "xon":"19456"}}, - "spc3_headroom": {"pg_lossless_10000_5m_profile": {"size": "52224", "xon":"19456"}, - "pg_lossless_25000_5m_profile": {"size": "52224", "xon":"19456"}, - "pg_lossless_40000_5m_profile": {"size": "53248", "xon":"19456"}, - "pg_lossless_50000_5m_profile": {"size": "53248", "xon":"19456"}, - "pg_lossless_100000_5m_profile": {"size": "53248", "xon":"19456"}, - "pg_lossless_200000_5m_profile": {"size": "55296", "xon":"19456"}, - "pg_lossless_400000_5m_profile": {"size": "86016", "xon":"37888"}, - "pg_lossless_10000_40m_profile": {"size": "53248", "xon":"19456"}, - "pg_lossless_25000_40m_profile": {"size": "55296", "xon":"19456"}, - "pg_lossless_40000_40m_profile": {"size": "57344", "xon":"19456"}, - "pg_lossless_50000_40m_profile": {"size": "58368", "xon":"19456"}, - "pg_lossless_100000_40m_profile": {"size": "63488", "xon":"19456"}, - "pg_lossless_200000_40m_profile": {"size": "74752", "xon":"19456"}, - "pg_lossless_400000_40m_profile": {"size": "124928", "xon":"37888"}, - "pg_lossless_10000_300m_profile": {"size": "60416", "xon":"19456"}, - "pg_lossless_25000_300m_profile": {"size": "73728", "xon":"19456"}, - "pg_lossless_40000_300m_profile": {"size": "86016", "xon":"19456"}, - "pg_lossless_50000_300m_profile": {"size": "95232", "xon":"19456"}, - "pg_lossless_100000_300m_profile": {"size": "137216", "xon":"19456"}, - "pg_lossless_200000_300m_profile": {"size": "223232", "xon":"19456"}, - "pg_lossless_400000_300m_profile": {"size": "420864", "xon":"37888"}}, + "buffer_pools": { + "spc1_t0_pool": {"doublepool": { "size": "4580864" }, "egress_lossless_pool": { "size": "13945824"}}, + "spc1_t1_pool": {"doublepool": { "size": "3302912" }, "egress_lossless_pool": { "size": "13945824"}}, + "spc2_t0_pool": {"doublepool": { "size": "14542848" }, "egress_lossless_pool": { "size": "34287552"}}, + "spc2_t1_pool": {"doublepool": { "size": "11622400" }, "egress_lossless_pool": { "size": "34287552"}}, + + # The following pools are used only for migrating from 1.0.4 to newer version + "spc1_2700_t0_pool": {"singlepool": {"size": "9489408"}, "egress_lossless_pool": {"size": "13945824"}}, + "spc1_2700_t1_pool": {"singlepool": {"size": "7719936"}, "egress_lossless_pool": {"size": "13945824"}}, + "spc1_2700-d48c8_t0_pool": {"singlepool": {"size": "6687744"}, "egress_lossless_pool": {"size": "13945824"}}, + "spc1_2700-d48c8_t1_pool": {"singlepool": {"size": "8506368"}, "egress_lossless_pool": {"size": "13945824"}}, + + # SPC3 is used only when migrating from 1.0.4 to newer version + "spc3_t0_pool": {"doublepool": { "size": "26451968" }, "egress_lossless_pool": { "size": "60817392" }}, + "spc3_t1_pool": {"doublepool": { "size": "20627456" }, "egress_lossless_pool": { "size": "60817392" }} + }, + + "headrooms": { + # Lossless headroom info + "spc1_headroom":{ + "default": {"pg_lossless_10000_5m_profile": {"size": "49152", "xon":"19456"}, + "pg_lossless_25000_5m_profile": {"size": "49152", "xon":"19456"}, + "pg_lossless_40000_5m_profile": {"size": "49152", "xon":"19456"}, + "pg_lossless_50000_5m_profile": {"size": "49152", "xon":"19456"}, + "pg_lossless_100000_5m_profile": {"size": "50176", "xon":"19456"}, + "pg_lossless_10000_40m_profile": {"size": "49152", "xon":"19456"}, + "pg_lossless_25000_40m_profile": {"size": "51200", "xon":"19456"}, + "pg_lossless_40000_40m_profile": {"size": "52224", "xon":"19456"}, + "pg_lossless_50000_40m_profile": {"size": "53248", "xon":"19456"}, + "pg_lossless_100000_40m_profile": {"size": "58368", "xon":"19456"}, + "pg_lossless_10000_300m_profile": {"size": "56320", "xon":"19456"}, + "pg_lossless_25000_300m_profile": {"size": "67584", "xon":"19456"}, + "pg_lossless_40000_300m_profile": {"size": "78848", "xon":"19456"}, + "pg_lossless_50000_300m_profile": {"size": "86016", "xon":"19456"}, + "pg_lossless_100000_300m_profile": {"size": "123904", "xon":"19456"}}, + # lossless headroom info for MSFT SKUs. + "msft": {"pg_lossless_10000_5m_profile": {"size": "41984", "xon":"19456"}, + "pg_lossless_25000_5m_profile": {"size": "41984", "xon":"19456"}, + "pg_lossless_40000_5m_profile": {"size": "41984", "xon":"19456"}, + "pg_lossless_50000_5m_profile": {"size": "41984", "xon":"19456"}, + "pg_lossless_100000_5m_profile": {"size": "43008", "xon":"19456"}, + "pg_lossless_10000_40m_profile": {"size": "41984", "xon":"19456"}, + "pg_lossless_25000_40m_profile": {"size": "44032", "xon":"19456"}, + "pg_lossless_40000_40m_profile": {"size": "45056", "xon":"19456"}, + "pg_lossless_50000_40m_profile": {"size": "45056", "xon":"19456"}, + "pg_lossless_100000_40m_profile": {"size": "49152", "xon":"19456"}, + "pg_lossless_10000_300m_profile": {"size": "47104", "xon":"19456"}, + "pg_lossless_25000_300m_profile": {"size": "56320", "xon":"19456"}, + "pg_lossless_40000_300m_profile": {"size": "64512", "xon":"19456"}, + "pg_lossless_50000_300m_profile": {"size": "69632", "xon":"19456"}, + "pg_lossless_100000_300m_profile": {"size": "98304", "xon":"19456"}} + }, + "spc2_headroom": { + "default": {"pg_lossless_10000_5m_profile": {"size": "52224", "xon":"19456"}, + "pg_lossless_25000_5m_profile": {"size": "52224", "xon":"19456"}, + "pg_lossless_40000_5m_profile": {"size": "53248", "xon":"19456"}, + "pg_lossless_50000_5m_profile": {"size": "53248", "xon":"19456"}, + "pg_lossless_100000_5m_profile": {"size": "53248", "xon":"19456"}, + "pg_lossless_200000_5m_profile": {"size": "55296", "xon":"19456"}, + "pg_lossless_10000_40m_profile": {"size": "53248", "xon":"19456"}, + "pg_lossless_25000_40m_profile": {"size": "55296", "xon":"19456"}, + "pg_lossless_40000_40m_profile": {"size": "57344", "xon":"19456"}, + "pg_lossless_50000_40m_profile": {"size": "58368", "xon":"19456"}, + "pg_lossless_100000_40m_profile": {"size": "63488", "xon":"19456"}, + "pg_lossless_200000_40m_profile": {"size": "74752", "xon":"19456"}, + "pg_lossless_10000_300m_profile": {"size": "60416", "xon":"19456"}, + "pg_lossless_25000_300m_profile": {"size": "73728", "xon":"19456"}, + "pg_lossless_40000_300m_profile": {"size": "86016", "xon":"19456"}, + "pg_lossless_50000_300m_profile": {"size": "95232", "xon":"19456"}, + "pg_lossless_100000_300m_profile": {"size": "137216", "xon":"19456"}, + "pg_lossless_200000_300m_profile": {"size": "223232", "xon":"19456"}} + }, + "spc3_headroom": { + "default": {"pg_lossless_10000_5m_profile": {"size": "52224", "xon":"19456"}, + "pg_lossless_25000_5m_profile": {"size": "52224", "xon":"19456"}, + "pg_lossless_40000_5m_profile": {"size": "53248", "xon":"19456"}, + "pg_lossless_50000_5m_profile": {"size": "53248", "xon":"19456"}, + "pg_lossless_100000_5m_profile": {"size": "53248", "xon":"19456"}, + "pg_lossless_200000_5m_profile": {"size": "55296", "xon":"19456"}, + "pg_lossless_400000_5m_profile": {"size": "86016", "xon":"37888"}, + "pg_lossless_10000_40m_profile": {"size": "53248", "xon":"19456"}, + "pg_lossless_25000_40m_profile": {"size": "55296", "xon":"19456"}, + "pg_lossless_40000_40m_profile": {"size": "57344", "xon":"19456"}, + "pg_lossless_50000_40m_profile": {"size": "58368", "xon":"19456"}, + "pg_lossless_100000_40m_profile": {"size": "63488", "xon":"19456"}, + "pg_lossless_200000_40m_profile": {"size": "74752", "xon":"19456"}, + "pg_lossless_400000_40m_profile": {"size": "124928", "xon":"37888"}, + "pg_lossless_10000_300m_profile": {"size": "60416", "xon":"19456"}, + "pg_lossless_25000_300m_profile": {"size": "73728", "xon":"19456"}, + "pg_lossless_40000_300m_profile": {"size": "86016", "xon":"19456"}, + "pg_lossless_50000_300m_profile": {"size": "95232", "xon":"19456"}, + "pg_lossless_100000_300m_profile": {"size": "137216", "xon":"19456"}, + "pg_lossless_200000_300m_profile": {"size": "223232", "xon":"19456"}, + "pg_lossless_400000_300m_profile": {"size": "420864", "xon":"37888"}} + } + }, # Buffer profile info - "buffer_profiles": {"ingress_lossless_profile": {"dynamic_th": "7", "pool": "[BUFFER_POOL|ingress_lossless_pool]", "size": "0"}, - "ingress_lossy_profile": {"dynamic_th": "3", "pool": "[BUFFER_POOL|ingress_lossy_pool]", "size": "0"}, - "egress_lossless_profile": {"dynamic_th": "7", "pool": "[BUFFER_POOL|egress_lossless_pool]", "size": "0"}, - "egress_lossy_profile": {"dynamic_th": "7", "pool": "[BUFFER_POOL|egress_lossy_pool]", "size": "9216"}, - "q_lossy_profile": {"dynamic_th": "3", "pool": "[BUFFER_POOL|egress_lossy_pool]", "size": "0"}} + "buffer_profiles": { + "default": {"ingress_lossless_profile": {"dynamic_th": "7", "pool": "[BUFFER_POOL|ingress_lossless_pool]", "size": "0"}, + "ingress_lossy_profile": {"dynamic_th": "3", "pool": "[BUFFER_POOL|ingress_lossy_pool]", "size": "0"}, + "egress_lossless_profile": {"dynamic_th": "7", "pool": "[BUFFER_POOL|egress_lossless_pool]", "size": "0"}, + "egress_lossy_profile": {"dynamic_th": "7", "pool": "[BUFFER_POOL|egress_lossy_pool]", "size": "9216"}, + "q_lossy_profile": {"dynamic_th": "3", "pool": "[BUFFER_POOL|egress_lossy_pool]", "size": "0"}}, + "singlepool": {"ingress_lossless_profile": {"dynamic_th": "7", "pool": "[BUFFER_POOL|ingress_lossless_pool]", "size": "0"}, + "ingress_lossy_profile": {"dynamic_th": "3", "pool": "[BUFFER_POOL|ingress_lossless_pool]", "size": "0"}, + "egress_lossless_profile": {"dynamic_th": "7", "pool": "[BUFFER_POOL|egress_lossless_pool]", "size": "0"}, + "egress_lossy_profile": {"dynamic_th": "7", "pool": "[BUFFER_POOL|egress_lossy_pool]", "size": "9216"}, + "q_lossy_profile": {"dynamic_th": "3", "pool": "[BUFFER_POOL|egress_lossy_pool]", "size": "0"}} + } + }, + "version_1_0_5": { + # version 1.0.5 is introduced for shared headroom pools + "pool_convert_map": { + "spc1_t0_pool_sku_map": {"Mellanox-SN2700-C28D8": "spc1_2700-d48c8_t0_pool_shp", + "Mellanox-SN2700-D48C8": "spc1_2700-d48c8_t0_pool_shp", + "Mellanox-SN2700": "spc1_2700_t0_pool_shp"}, + "spc1_t1_pool_sku_map": {"Mellanox-SN2700-C28D8": "spc1_2700-d48c8_t1_pool_shp", + "Mellanox-SN2700-D48C8": "spc1_2700-d48c8_t1_pool_shp", + "Mellanox-SN2700": "spc1_2700_t1_pool_shp"} + }, + "pool_mapped_from_old_version": { + # MSFT SKUs and generic SKUs may have different pool seetings + "spc1_t0_pool": ("sku", "spc1_t0_pool_sku_map"), + "spc1_t1_pool": ("sku", "spc1_t1_pool_sku_map"), + "spc1_2700_t0_pool": "spc1_2700_t0_single_pool_shp", + "spc1_2700_t1_pool": "spc1_2700_t1_single_pool_shp", + "spc1_2700-d48c8_t0_pool": "spc1_2700-d48c8_t0_single_pool_shp", + "spc1_2700-d48c8_t1_pool": "spc1_2700-d48c8_t1_single_pool_shp" + }, + + # Buffer pool info for normal mode + "buffer_pool_list" : ['ingress_lossless_pool', 'ingress_lossy_pool', 'egress_lossless_pool', 'egress_lossy_pool'], + + "buffer_pools": { + "spc1_2700_t0_pool_shp": {"doublepool": { "size": "5088768", "xoff": "688128" }, "egress_lossless_pool": { "size": "13945824"}}, + "spc1_2700_t1_pool_shp": {"doublepool": { "size": "4646400", "xoff": "1572864" }, "egress_lossless_pool": { "size": "13945824"}}, + "spc1_2700-d48c8_t0_pool_shp": {"doublepool": { "size": "3859968", "xoff": "1032192" }, "egress_lossless_pool": { "size": "13945824"}}, + "spc1_2700-d48c8_t1_pool_shp": {"doublepool": { "size": "4843008", "xoff": "1179648" }, "egress_lossless_pool": { "size": "13945824"}}, + + # Buffer pool for single pool + "spc1_2700_t0_single_pool_shp": {"singlepool": { "size": "10177536", "xoff": "688128" }, "egress_lossless_pool": { "size": "13945824"}}, + "spc1_2700_t1_single_pool_shp": {"singlepool": { "size": "9292800", "xoff": "1572864" }, "egress_lossless_pool": { "size": "13945824"}}, + "spc1_2700-d48c8_t0_single_pool_shp": {"singlepool": { "size": "7719936", "xoff": "1032192" }, "egress_lossless_pool": { "size": "13945824"}}, + "spc1_2700-d48c8_t1_single_pool_shp": {"singlepool": { "size": "9686016", "xoff": "1179648" }, "egress_lossless_pool": { "size": "13945824"}}, + + # 3800 generic profiles + # 1.0.5 should be the first version supporting 3800 + "spc2_3800_t0_pool": {"doublepool": { "size": "13924352" }, "egress_lossless_pool": { "size": "34287552" }}, + "spc2_3800_t1_pool": {"doublepool": { "size": "12457984" }, "egress_lossless_pool": { "size": "34287552" }}, + + # The following pools are used for upgrading from 1.0.5 to the newer version + "spc2_3800-c64_t0_pool_shp": {"singlepool": {"size": "25866240", "xoff": "2523136"}, "egress_lossless_pool": {"size": "34287552"}}, + "spc2_3800-c64_t1_pool_shp": {"singlepool": {"size": "23900160", "xoff": "4489216"}, "egress_lossless_pool": {"size": "34287552"}}, + "spc2_3800-d112c8_t0_pool_shp": {"singlepool": {"size": "20017152", "xoff": "3440640"}, "egress_lossless_pool": {"size": "34287552"}}, + "spc2_3800-d112c8_t1_pool_shp": {"singlepool": {"size": "19124224", "xoff": "4333568"}, "egress_lossless_pool": {"size": "34287552"}}, + "spc2_3800-d24c52_t0_pool_shp": {"singlepool": {"size": "24576000", "xoff": "2756608"}, "egress_lossless_pool": {"size": "34287552"}}, + "spc2_3800-d24c52_t1_pool_shp": {"singlepool": {"size": "22597632", "xoff": "4734976"}, "egress_lossless_pool": {"size": "34287552"}}, + "spc2_3800-d28c50_t0_pool_shp": {"singlepool": {"size": "24360960", "xoff": "2795520"}, "egress_lossless_pool": {"size": "34287552"}}, + "spc2_3800-d28c50_t1_pool_shp": {"singlepool": {"size": "22380544", "xoff": "4775936"}, "egress_lossless_pool": {"size": "34287552"}} + }, + "buffer_pools_inherited": { + "version_1_0_4": ["spc1_t0_pool", "spc1_t1_pool", "spc2_t0_pool", "spc2_t1_pool", "spc3_t0_pool", "spc3_t1_pool"] + }, + + "headrooms": { + "mapping": { + "default": ("skumap", {"Mellanox-SN2700": "msft", "Mellanox-SN2700-C28D8": "msft", "Mellanox-SN2700-D48C8": "msft"}) + }, + "spc1_headroom": { + "default": ("version_1_0_4", "spc1_headroom"), + "msft": {"pg_lossless_10000_5m_profile": {"xoff": "22528", "xon":"19456"}, + "pg_lossless_25000_5m_profile": {"xoff": "22528", "xon":"19456"}, + "pg_lossless_40000_5m_profile": {"xoff": "22528", "xon":"19456"}, + "pg_lossless_50000_5m_profile": {"xoff": "22528", "xon":"19456"}, + "pg_lossless_100000_5m_profile": {"xoff": "23552", "xon":"19456"}, + "pg_lossless_10000_40m_profile": {"xoff": "22528", "xon":"19456"}, + "pg_lossless_25000_40m_profile": {"xoff": "24576", "xon":"19456"}, + "pg_lossless_40000_40m_profile": {"xoff": "25600", "xon":"19456"}, + "pg_lossless_50000_40m_profile": {"xoff": "25600", "xon":"19456"}, + "pg_lossless_100000_40m_profile": {"xoff": "29696", "xon":"19456"}, + "pg_lossless_10000_300m_profile": {"xoff": "27648", "xon":"19456"}, + "pg_lossless_25000_300m_profile": {"xoff": "36864", "xon":"19456"}, + "pg_lossless_40000_300m_profile": {"xoff": "45056", "xon":"19456"}, + "pg_lossless_50000_300m_profile": {"xoff": "50176", "xon":"19456"}, + "pg_lossless_100000_300m_profile": {"xoff": "78848", "xon":"19456"}} + }, + "spc2_headroom": { + "default": ("version_1_0_4", "spc2_headroom") + }, + "spc2_3800_headroom": { + "default": {"pg_lossless_10000_5m_profile": {"size": "54272", "xon":"19456"}, + "pg_lossless_25000_5m_profile": {"size": "58368", "xon":"19456"}, + "pg_lossless_40000_5m_profile": {"size": "61440", "xon":"19456"}, + "pg_lossless_50000_5m_profile": {"size": "64512", "xon":"19456"}, + "pg_lossless_100000_5m_profile": {"size": "75776", "xon":"19456"}, + "pg_lossless_10000_40m_profile": {"size": "55296", "xon":"19456"}, + "pg_lossless_25000_40m_profile": {"size": "60416", "xon":"19456"}, + "pg_lossless_40000_40m_profile": {"size": "65536", "xon":"19456"}, + "pg_lossless_50000_40m_profile": {"size": "69632", "xon":"19456"}, + "pg_lossless_100000_40m_profile": {"size": "86016", "xon":"19456"}, + "pg_lossless_10000_300m_profile": {"size": "63488", "xon":"19456"}, + "pg_lossless_25000_300m_profile": {"size": "78848", "xon":"19456"}, + "pg_lossless_40000_300m_profile": {"size": "95232", "xon":"19456"}, + "pg_lossless_50000_300m_profile": {"size": "106496", "xon":"19456"}, + "pg_lossless_100000_300m_profile": {"size": "159744", "xon":"19456"}}, + "msft": {"pg_lossless_10000_5m_profile": {"xoff": "25600", "xon":"19456"}, + "pg_lossless_25000_5m_profile": {"xoff": "28672", "xon":"19456"}, + "pg_lossless_40000_5m_profile": {"xoff": "30720", "xon":"19456"}, + "pg_lossless_50000_5m_profile": {"xoff": "32768", "xon":"19456"}, + "pg_lossless_100000_5m_profile": {"xoff": "40960", "xon":"19456"}, + "pg_lossless_10000_40m_profile": {"xoff": "26624", "xon":"19456"}, + "pg_lossless_25000_40m_profile": {"xoff": "30720", "xon":"19456"}, + "pg_lossless_40000_40m_profile": {"xoff": "33792", "xon":"19456"}, + "pg_lossless_50000_40m_profile": {"xoff": "36864", "xon":"19456"}, + "pg_lossless_100000_40m_profile": {"xoff": "48128", "xon":"19456"}, + "pg_lossless_10000_300m_profile": {"xoff": "31744", "xon":"19456"}, + "pg_lossless_25000_300m_profile": {"xoff": "44032", "xon":"19456"}, + "pg_lossless_40000_300m_profile": {"xoff": "55296", "xon":"19456"}, + "pg_lossless_50000_300m_profile": {"xoff": "63488", "xon":"19456"}, + "pg_lossless_100000_300m_profile": {"xoff": "102400", "xon":"19456"}} + }, + "spc3_headroom": { + "default": ("version_1_0_4", "spc3_headroom") + } + } }, "version_2_0_0": { # version 2.0.0 is introduced for dynamic buffer calculation # - "pool_configuration_list": ["spc1_pool", "spc2_pool", "spc3_pool"], "pool_mapped_from_old_version": { "spc1_t0_pool": "spc1_pool", "spc1_t1_pool": "spc1_pool", @@ -274,23 +451,25 @@ def __init__(self, configDB): "spc2_3800_t1_pool": "spc2_pool", "spc3_t0_pool": "spc3_pool", "spc3_t1_pool": "spc3_pool" - }, + }, # Buffer pool info for normal mode "buffer_pool_list" : ['ingress_lossless_pool', 'ingress_lossy_pool', 'egress_lossless_pool', 'egress_lossy_pool'], - "spc1_pool": {"ingress_lossless_pool": { "type": "ingress", "mode": "dynamic" }, - "ingress_lossy_pool": { "type": "ingress", "mode": "dynamic" }, - "egress_lossless_pool": { "size": "13945824", "type": "egress", "mode": "dynamic" }, - "egress_lossy_pool": {"type": "egress", "mode": "dynamic" } }, - "spc2_pool": {"ingress_lossless_pool": { "type": "ingress", "mode": "dynamic" }, - "ingress_lossy_pool": { "type": "ingress", "mode": "dynamic" }, - "egress_lossless_pool": { "size": "34287552", "type": "egress", "mode": "dynamic" }, - "egress_lossy_pool": { "type": "egress", "mode": "dynamic" } }, - "spc3_pool": {"ingress_lossless_pool": { "type": "ingress", "mode": "dynamic" }, - "ingress_lossy_pool": { "type": "ingress", "mode": "dynamic" }, - "egress_lossless_pool": { "size": "60817392", "type": "egress", "mode": "dynamic" }, - "egress_lossy_pool": {"type": "egress", "mode": "dynamic" } } + "buffer_pools": { + "spc1_pool": {"doublepool": {"size": "dynamic"}, "egress_lossless_pool": { "size": "13945824" }}, + "spc2_pool": {"doublepool": {"size": "dynamic"}, "egress_lossless_pool": { "size": "34287552" }}, + "spc3_pool": {"doublepool": {"size": "dynamic"}, "egress_lossless_pool": { "size": "60817392" }} + }, + "buffer_pools_inherited": { + "version_1_0_5": ["spc1_2700_t0_pool", "spc1_2700_t1_pool", + "spc1_2700_t0_pool_shp", "spc1_2700_t1_pool_shp", + "spc1_2700_t0_single_pool_shp", "spc1_2700_t1_single_pool_shp", + "spc1_2700-d48c8_t0_pool_shp", "spc1_2700-d48c8_t1_pool_shp", + "spc1_2700-d48c8_t0_single_pool_shp", "spc1_2700-d48c8_t1_single_pool_shp", + "spc2_3800-c64_t0_pool_shp", "spc2_3800-c64_t1_pool_shp", "spc2_3800-d112c8_t0_pool_shp", "spc2_3800-d112c8_t1_pool_shp", + "spc2_3800-d24c52_t0_pool_shp", "spc2_3800-d24c52_t1_pool_shp", "spc2_3800-d28c50_t0_pool_shp", "spc2_3800-d28c50_t1_pool_shp"] } + } } def mlnx_default_buffer_parameters(self, db_version, table): @@ -308,48 +487,143 @@ def mlnx_default_buffer_parameters(self, db_version, table): return self.mellanox_default_parameter[db_version].get(table) + def mlnx_merge_inherited_info(self, db_version, buffer_pools): + inherited_info = self.mlnx_default_buffer_parameters(db_version, "buffer_pools_inherited") + if inherited_info: + for from_version, inherited_pool_list in inherited_info.items(): + pools_in_base_version = self.mlnx_default_buffer_parameters(from_version, "buffer_pools") + log.log_info("inherited pool list {} from version {} loaded".format(inherited_pool_list, from_version)) + for key in inherited_pool_list: + pool_config = pools_in_base_version.get(key) + if pool_config: + buffer_pools[key] = pool_config + + def mlnx_migrate_map_old_pool_to_new(self, pool_mapping, pool_convert_map, old_config_name): + new_config_name = None + if pool_mapping: + new_config_map = pool_mapping.get(old_config_name) + if type(new_config_map) is tuple: + method, mapname = new_config_map + if method == "sku": + skumap = pool_convert_map.get(mapname) + new_config_name = skumap.get(self.sku) + else: + log.log_error("Unsupported mapping method {} found. Stop db_migrator".format(method)) + return None + else: + new_config_name = new_config_map + return new_config_name + + def mlnx_migrate_extend_condensed_pool(self, pool_config, config_name=None): + condensedpool = pool_config.get("doublepool") + doublepool = False + if not condensedpool: + condensedpool = pool_config.get("singlepool") + if condensedpool: + pool_config.pop("singlepool") + else: + log.log_info("Got old default pool configuration {} {}".format(config_name, pool_config)) + else: + pool_config.pop("doublepool") + doublepool = True + + if condensedpool: + xoff = condensedpool.get('xoff') + if xoff: + condensedpool.pop('xoff') + if condensedpool['size'] == 'dynamic': + condensedpool.pop('size') + log.log_info("condensed pool {}".format(condensedpool)) + condensedpool['type'] = 'egress' + condensedpool['mode'] = 'dynamic' + pool_config['egress_lossy_pool'] = {} + pool_config['egress_lossy_pool'].update(condensedpool) + + pool_config['egress_lossless_pool']['type'] = 'egress' + pool_config['egress_lossless_pool']['mode'] = 'dynamic' + + condensedpool['type'] = 'ingress' + pool_config['ingress_lossless_pool'] = {} + pool_config['ingress_lossless_pool'].update(condensedpool) + + if doublepool: + pool_config['ingress_lossy_pool'] = {} + pool_config['ingress_lossy_pool'].update(condensedpool) + + if xoff: + pool_config['ingress_lossless_pool']['xoff'] = xoff + + log.log_info("Initialize condensed buffer pool: {}".format(pool_config)) + + def mlnx_migrate_get_headroom_profiles(self, headroom_profile_set): + if type(headroom_profile_set) is tuple: + version, key = headroom_profile_set + result = self.mlnx_default_buffer_parameters(version, "headrooms")[key]["default"] + elif type(headroom_profile_set) is dict: + result = headroom_profile_set + + return result + + def mlnx_migrate_extend_headroom_profile(self, headroom_profile): + headroom_profile['dynamic_th'] = '0' + if not 'xoff' in headroom_profile.keys(): + headroom_profile['xoff'] = str(int(headroom_profile['size']) - int(headroom_profile['xon'])) + elif not 'size' in headroom_profile.keys(): + headroom_profile['size'] = headroom_profile['xon'] + headroom_profile['pool'] = '[BUFFER_POOL|ingress_lossless_pool]' + + return headroom_profile + def mlnx_migrate_buffer_pool_size(self, old_version, new_version): """ To migrate buffer pool configuration """ self.is_buffer_config_default = False - buffer_pool_conf_in_db = {} # Buffer pools defined in old version - old_default_buffer_pools = self.mlnx_default_buffer_parameters(old_version, "buffer_pool_list") + default_buffer_pool_list_old = self.mlnx_default_buffer_parameters(old_version, "buffer_pool_list") # Try to get related info from DB - buffer_pool_conf_in_db = self.configDB.get_table('BUFFER_POOL') + configdb_buffer_pools = self.configDB.get_table('BUFFER_POOL') # Get current buffer pool configuration, only migrate configuration which # with default values, if it's not default, leave it as is. - name_list_of_pools_in_db = list(buffer_pool_conf_in_db.keys()) + configdb_buffer_pool_names = configdb_buffer_pools.keys() - # Buffer pool numbers is different with default, don't need migrate - if len(name_list_of_pools_in_db) != len(old_default_buffer_pools): - log.log_notice("Pools in CONFIG_DB ({}) don't match default ({}), skip buffer pool migration".format(name_list_of_pools_in_db, old_default_buffer_pools)) + # Buffer pool numbers is different from default, we don't need to migrate it + if len(configdb_buffer_pool_names) > len(default_buffer_pool_list_old): + log.log_notice("Pools in CONFIG_DB ({}) don't match default ({}), skip buffer pool migration".format(configdb_buffer_pool_names, default_buffer_pool_list_old)) return True # If some buffer pool is not default ones, don't need migrate - for buffer_pool in old_default_buffer_pools: - if buffer_pool not in name_list_of_pools_in_db: + for buffer_pool in default_buffer_pool_list_old: + if buffer_pool not in configdb_buffer_pool_names and buffer_pool != 'ingress_lossy_pool': log.log_notice("Default pool {} isn't in CONFIG_DB, skip buffer pool migration".format(buffer_pool)) return True - old_pool_configuration_list = self.mlnx_default_buffer_parameters(old_version, "pool_configuration_list") - if not old_pool_configuration_list: - log.log_error("Trying to get pool configuration list or migration control failed, skip migration") - return False + default_buffer_pools_old = self.mlnx_default_buffer_parameters(old_version, "buffer_pools") + self.mlnx_merge_inherited_info(old_version, default_buffer_pools_old) + default_pool_conf_list_old = self.mlnx_default_buffer_parameters(old_version, "pool_configuration_list") + if not default_pool_conf_list_old: + if default_buffer_pools_old: + default_pool_conf_list_old = default_buffer_pools_old.keys() + if not default_pool_conf_list_old: + log.log_error("Trying to get pool configuration list or migration control failed, skip migration") + return False new_config_name = None pool_mapping = self.mlnx_default_buffer_parameters(new_version, "pool_mapped_from_old_version") - for old_config_name in old_pool_configuration_list: - old_config = self.mlnx_default_buffer_parameters(old_version, old_config_name) - log.log_info("Checking old pool configuration {}".format(old_config_name)) - if buffer_pool_conf_in_db == old_config: - if pool_mapping: - new_config_name = pool_mapping[old_config_name] - else: + pool_convert_map = self.mlnx_default_buffer_parameters(new_version, "pool_convert_map") + log.log_info("got old configuration {}".format(configdb_buffer_pools)) + + for old_config_name in default_pool_conf_list_old: + old_config = default_buffer_pools_old[old_config_name] + self.mlnx_migrate_extend_condensed_pool(old_config, old_config_name) + + log.log_info("Checking old pool configuration {} {}".format(old_config_name, old_config)) + if configdb_buffer_pools == old_config: + new_config_name = self.mlnx_migrate_map_old_pool_to_new(pool_mapping, pool_convert_map, old_config_name) + if not new_config_name: new_config_name = old_config_name log.log_info("Old buffer pool configuration {} will be migrate to new one {}".format(old_config_name, new_config_name)) break @@ -358,43 +632,25 @@ def mlnx_migrate_buffer_pool_size(self, old_version, new_version): log.log_notice("The configuration doesn't match any default configuration, migration for pool isn't required") return True - new_buffer_pool_conf = self.mlnx_default_buffer_parameters(new_version, new_config_name) + default_buffer_pools_new = self.mlnx_default_buffer_parameters(new_version, "buffer_pools") + self.mlnx_merge_inherited_info(new_version, default_buffer_pools_new) + new_buffer_pool_conf = default_buffer_pools_new.get(new_config_name) if not new_buffer_pool_conf: log.log_error("Can't find the buffer pool configuration for {} in {}".format(new_config_name, new_version)) return False - # Don't migrate the old buffer pool conf to latest until we know all the following buffer configuration matches default value. - for pool in old_default_buffer_pools: + self.mlnx_migrate_extend_condensed_pool(new_buffer_pool_conf, new_config_name) + + # Migrate old buffer conf to latest. + for pool in configdb_buffer_pools: + self.pending_update_items.append(('BUFFER_POOL', pool, None)) + for pool in new_buffer_pool_conf: self.pending_update_items.append(('BUFFER_POOL', pool, new_buffer_pool_conf.get(pool))) self.is_buffer_config_default = True return True - def mlnx_get_buffer_profile_key(self): - device_data = self.configDB.get_entry('DEVICE_METADATA', 'localhost') - if device_data: - platform = device_data.get('platform') - if not platform: - log.log_error("Trying to get DEVICE_METADATA from DB but doesn't exist, skip migration") - return None - - spc1_platforms = ["x86_64-mlnx_msn2010-r0", "x86_64-mlnx_msn2100-r0", "x86_64-mlnx_msn2410-r0", "x86_64-mlnx_msn2700-r0", "x86_64-mlnx_msn2740-r0"] - spc2_platforms = ["x86_64-mlnx_msn3700-r0", "x86_64-mlnx_msn3700c-r0"] - spc2_platform_with_gearbox = ['x86_64-mlnx_msn3800-r0'] - spc3_platforms = ["x86_64-mlnx_msn4600c-r0", "x86_64-mlnx_msn4700-r0"] - - if platform in spc2_platform_with_gearbox: - return "spc2_3800_headroom" - elif platform in spc3_platforms: - return "spc3_headroom" - elif platform in spc2_platforms: - return "spc2_headroom" - elif platform in spc1_platforms: - return "spc1_headroom" - - return None - def mlnx_migrate_buffer_profile(self, old_version, new_version): """ This is to migrate BUFFER_PROFILE configuration @@ -405,56 +661,96 @@ def mlnx_migrate_buffer_profile(self, old_version, new_version): self.is_buffer_config_default = False # get profile - buffer_profile_old_configure = self.mlnx_default_buffer_parameters(old_version, "buffer_profiles") - buffer_profile_new_configure = self.mlnx_default_buffer_parameters(new_version, "buffer_profiles") + default_buffer_profiles_old = self.mlnx_default_buffer_parameters(old_version, "buffer_profiles") + default_buffer_profiles_new = self.mlnx_default_buffer_parameters(new_version, "buffer_profiles") - buffer_profile_conf = self.configDB.get_table('BUFFER_PROFILE') + configdb_buffer_profiles = self.configDB.get_table('BUFFER_PROFILE') # we need to transform lossless pg profiles to new settings # to achieve that, we just need to remove this kind of profiles, buffermgrd will generate them automatically - default_lossless_profiles = None - headroom_key = self.mlnx_get_buffer_profile_key() - if not headroom_key: - default_lossless_profiles = None - new_lossless_profiles = None - else: - default_lossless_profiles = self.mlnx_default_buffer_parameters(old_version, headroom_key) - new_lossless_profiles = self.mlnx_default_buffer_parameters(new_version, headroom_key) - - if default_lossless_profiles and new_lossless_profiles: - for name, profile in buffer_profile_conf.items(): - if name in default_lossless_profiles: - default_profile = default_lossless_profiles.get(name) - new_profile = new_lossless_profiles.get(name) - if not default_profile or not new_profile: - continue - default_profile['dynamic_th'] = '0' - default_profile['xoff'] = str(int(default_profile['size']) - int(default_profile['xon'])) - default_profile['pool'] = '[BUFFER_POOL|ingress_lossless_pool]' - if profile == default_profile: - default_profile['size'] = new_profile['size'] - default_profile['xon'] = new_profile['xon'] - default_profile['xoff'] = str(int(default_profile['size']) - int(default_profile['xon'])) - self.pending_update_items.append(('BUFFER_PROFILE', name, default_profile)) + default_headroom_sets_old = self.mlnx_default_buffer_parameters(old_version, "headrooms") + default_headroom_sets_new = self.mlnx_default_buffer_parameters(new_version, "headrooms") + default_headrooms_old = None + default_headrooms_new = None + if default_headroom_sets_old and default_headroom_sets_new: + if self.platform == 'x86_64-mlnx_msn3800-r0': + default_headrooms_old = default_headroom_sets_old.get("spc2_3800_headroom") + default_headrooms_new = default_headroom_sets_new.get("spc2_3800_headroom") + elif self.platform in self.spc2_platforms: + default_headrooms_old = default_headroom_sets_old.get("spc2_headroom") + default_headrooms_new = default_headroom_sets_new.get("spc2_headroom") + elif self.platform in self.spc1_platforms: + default_headrooms_old = default_headroom_sets_old.get("spc1_headroom") + default_headrooms_new = default_headroom_sets_new.get("spc1_headroom") + elif self.platform in self.spc3_platforms: + default_headrooms_old = default_headroom_sets_old.get("spc3_headroom") + default_headrooms_new = default_headroom_sets_new.get("spc3_headroom") + + if default_headrooms_old and default_headrooms_new: + # match the old lossless profiles? + for headroom_set_name, lossless_profiles in default_headrooms_old.items(): + lossless_profiles = self.mlnx_migrate_get_headroom_profiles(lossless_profiles) + matched = True + for name, profile in configdb_buffer_profiles.items(): + if name in lossless_profiles.keys(): + default_profile = self.mlnx_migrate_extend_headroom_profile(lossless_profiles.get(name)) + if profile != default_profile: + log.log_info("Skip headroom profile set {} due to {} mismatched: {} vs {}".format( + headroom_set_name, name, default_profile, profile)) + matched = False + break + if matched: + mapping = default_headroom_sets_new.get("mapping") + if not mapping: + new_headroom_set_name = headroom_set_name + log.log_info("Migrate profile set {} ".format(headroom_set_name)) + else: + new_headroom_set_name = mapping.get(headroom_set_name) + if type(new_headroom_set_name) is tuple: + log.log_info("Use headroom profiles map {}".format(mapping)) + maptype, sku_mapping = new_headroom_set_name + if maptype == "skumap": + new_headroom_set_name = sku_mapping.get(self.sku) + if not new_headroom_set_name: + new_headroom_set_name = headroom_set_name + log.log_info("{} has been mapped to {} according to sku".format(headroom_set_name, new_headroom_set_name)) + break + + if not matched: + log.log_notice("Headroom profiles don't match any of the default value, skip migrating") + return True - for name, profile in buffer_profile_old_configure.items(): - if name in buffer_profile_conf and profile == buffer_profile_conf[name]: - continue - # return if any default profile isn't in cofiguration - log.log_notice("Default profile {} isn't in database or doesn't match default value".format(name)) - return True + default_headrooms_new = default_headrooms_new.get(new_headroom_set_name) + if type(default_headrooms_new) is dict: + for name, profile in configdb_buffer_profiles.items(): + if name in default_headrooms_new.keys(): + default_profile = self.mlnx_migrate_extend_headroom_profile(default_headrooms_new.get(name)) + self.pending_update_items.append(('BUFFER_PROFILE', name, default_profile)) + log.log_info("Profile {} has been migrated to {}".format(name, default_profile)) self.is_buffer_config_default = True - if not buffer_profile_new_configure: + if not default_buffer_profiles_new: # Not providing new profile configure in new version means they do need to be changed log.log_notice("No buffer profile in {}, don't need to migrate non-lossless profiles".format(new_version)) return True - for name, profile in buffer_profile_new_configure.items(): + profile_matched = True + for _, profiles in default_buffer_profiles_old.items(): + for name, profile in profiles.items(): + if name in configdb_buffer_profiles.keys() and profile == configdb_buffer_profiles[name]: + continue + # return if any default profile isn't in cofiguration + profile_matched = False + break + + if not profile_matched: + log.log_notice("Profiles doesn't match default value".format(name)) + return True + + for name, profile in default_buffer_profiles_new["default"].items(): log.log_info("Successfully migrate profile {}".format(name)) self.pending_update_items.append(('BUFFER_PROFILE', name, profile)) - return True def mlnx_append_item_on_pending_configuration_list(self, item): @@ -472,13 +768,15 @@ def mlnx_flush_new_buffer_configuration(self): """ Flush all the pending items to config database """ - if not self.is_buffer_config_default: + if not self.ready: + return True + + if not self.is_buffer_config_default or self.is_msft_sku: log.log_notice("No item pending to be updated") metadata = self.configDB.get_entry('DEVICE_METADATA', 'localhost') metadata['buffer_model'] = 'traditional' self.configDB.set_entry('DEVICE_METADATA', 'localhost', metadata) log.log_notice("Set buffer_model as traditional") - return True for item in self.pending_update_items: table, key, value = item @@ -490,10 +788,5 @@ def mlnx_flush_new_buffer_configuration(self): return True - def mlnx_get_default_lossless_profile(self, db_version): - key = self.mlnx_get_buffer_profile_key() - if not key: - return None - - default_profiles = self.mlnx_default_buffer_parameters(db_version, key) - return default_profiles + def mlnx_is_buffer_model_dynamic(self): + return self.is_buffer_config_default and not self.is_msft_sku diff --git a/scripts/mmuconfig b/scripts/mmuconfig index 7a1aaf0573..c0338a1762 100755 --- a/scripts/mmuconfig +++ b/scripts/mmuconfig @@ -21,6 +21,15 @@ import argparse import tabulate import traceback +BUFFER_POOL_TABLE_NAME = "BUFFER_POOL" +BUFFER_PROFILE_TABLE_NAME = "BUFFER_PROFILE" +DEFAULT_LOSSLESS_BUFFER_PARAMETER_NAME = "DEFAULT_LOSSLESS_BUFFER_PARAMETER" + +DYNAMIC_THRESHOLD = "dynamic_th" +BUFFER_PROFILE_FIELDS = { + "alpha": DYNAMIC_THRESHOLD +} + # mock the redis for unit test purposes # try: if os.environ["UTILITIES_UNIT_TESTING"] == "2": @@ -72,6 +81,16 @@ class MmuConfig(object): return entries def list(self): + lossless_traffic_pattern = self.get_table(DEFAULT_LOSSLESS_BUFFER_PARAMETER_NAME) + if lossless_traffic_pattern: + for _, pattern in lossless_traffic_pattern.items(): + config = [] + + print("Lossless traffic pattern:") + for field, value in pattern.items(): + config.append([field, value]) + print(tabulate.tabulate(config) + "\n") + buf_pools = self.get_table(BUFFER_POOL_TABLE_NAME) if buf_pools: for pool_name, pool_data in buf_pools.items(): diff --git a/setup.py b/setup.py index e28ef477de..b795adb1ea 100644 --- a/setup.py +++ b/setup.py @@ -53,6 +53,9 @@ 'show': ['aliases.ini'], 'sonic_installer': ['aliases.ini'], 'tests': ['acl_input/*', + 'db_migrator_input/*.json', + 'db_migrator_input/config_db/*.json', + 'db_migrator_input/appl_db/*.json', 'counterpoll_input/*', 'mock_tables/*.py', 'mock_tables/*.json', diff --git a/tests/buffer_input/buffer_test_vectors.py b/tests/buffer_input/buffer_test_vectors.py index 82f0a09a35..271733f93c 100644 --- a/tests/buffer_input/buffer_test_vectors.py +++ b/tests/buffer_input/buffer_test_vectors.py @@ -1,4 +1,10 @@ show_buffer_configuration="""\ +Lossless traffic pattern: +-------------------- - +default_dynamic_th 0 +over_subscribe_ratio 2 +-------------------- - + Pool: egress_lossless_pool ---- -------- mode dynamic diff --git a/tests/buffer_test.py b/tests/buffer_test.py index e82d9565c9..fbbf2ba3bd 100644 --- a/tests/buffer_test.py +++ b/tests/buffer_test.py @@ -26,12 +26,6 @@ def setup_class(cls): os.environ['UTILITIES_UNIT_TESTING'] = "2" print("SETUP") - def setUp(self): - self.runner = CliRunner() - self.config_db = ConfigDBConnector() - self.config_db.connect() - self.obj = {'db': self.config_db} - def test_config_buffer_profile_headroom(self): runner = CliRunner() db = Db() @@ -41,7 +35,7 @@ def test_config_buffer_profile_headroom(self): print(result.output) assert result.exit_code == 0 profile = db.cfgdb.get_entry('BUFFER_PROFILE', 'testprofile') - assert profile == {'dynamic_th': '3', 'pool': '[BUFFER_POOL|ingress_lossless_pool]', 'xon': '18432', 'xoff': '32768', 'size': '51200'} + assert profile == {'dynamic_th': '3', 'pool': '[BUFFER_POOL|ingress_lossless_pool]', 'xon': '18432', 'xoff': '32768', 'size': '18432'} def test_config_buffer_profile_dynamic_th(self): runner = CliRunner() @@ -81,6 +75,174 @@ def test_config_buffer_profile_add_headroom_to_dynamic_profile(self): assert result.exit_code != 0 assert "Can't change profile alpha_profile from dynamically calculating headroom to non-dynamically one" in result.output + def test_config_buffer_profile_add_no_xon(self): + runner = CliRunner() + result = runner.invoke(config.config.commands["buffer"].commands["profile"].commands["add"], + ["test_profile_no_xon", "--xoff", "32768"]) + print(result.exit_code) + print(result.output) + assert result.exit_code != 0 + assert "Xon is mandatory for non-dynamic profile" in result.output + + def test_config_buffer_profile_add_no_param(self): + runner = CliRunner() + result = runner.invoke(config.config.commands["buffer"].commands["profile"].commands["add"], ["no_parameter"]) + print(result.exit_code) + print(result.output) + assert result.exit_code != 0 + assert "Either size information (xon, xoff, size) or dynamic_th needs to be provided" in result.output + + def test_config_buffer_profile_multiple_or_none_default_buffer_param_in_database(self): + runner = CliRunner() + db = Db() + default_lossless_buffer_parameter = db.cfgdb.get_entry('DEFAULT_LOSSLESS_BUFFER_PARAMETER', 'AZURE') + + # Remove all entries from DEFAULT_LOSSLESS_BUFFER_PARAMETER + db.cfgdb.set_entry('DEFAULT_LOSSLESS_BUFFER_PARAMETER', 'AZURE', None) + result = runner.invoke(config.config.commands["buffer"].commands["profile"].commands["add"], + ["testprofile", "--xon", "18432", "--xoff", "32768"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code != 0 + assert "Dynamic buffer calculation is enabled while no entry found in DEFAULT_LOSSLESS_BUFFER_PARAMETER table" in result.output + + # Insert AZURE and another entry into DEFAULT_LOSSLESS_BUFFER_PARAMETER + db.cfgdb.set_entry('DEFAULT_LOSSLESS_BUFFER_PARAMETER', 'AZURE', default_lossless_buffer_parameter) + db.cfgdb.set_entry('DEFAULT_LOSSLESS_BUFFER_PARAMETER', 'TEST', default_lossless_buffer_parameter) + result = runner.invoke(config.config.commands["buffer"].commands["profile"].commands["add"], + ["testprofile", "--xon", "18432", "--xoff", "32768"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code != 0 + assert "Multiple entries are found in DEFAULT_LOSSLESS_BUFFER_PARAMETER while no dynamic_th specified" in result.output + + def test_config_shp_size_negative(self): + runner = CliRunner() + result = runner.invoke(config.config.commands["buffer"].commands["shared-headroom-pool"].commands["size"], + ["20000000"]) + print(result.exit_code) + print(result.output) + assert result.exit_code != 0 + assert "Shared headroom pool must be less than mmu size" in result.output + + def test_config_shp_ratio(self): + runner = CliRunner() + db = Db() + result = runner.invoke(config.config.commands["buffer"].commands["shared-headroom-pool"].commands["over-subscribe-ratio"], + ["4"], obj=db) + print(result.exit_code) + print(result.output) + assert db.cfgdb.get_entry('DEFAULT_LOSSLESS_BUFFER_PARAMETER', 'AZURE') == {'default_dynamic_th': '0', 'over_subscribe_ratio': '4'} + + def test_config_shp_ratio_negative(self): + runner = CliRunner() + db = Db() + port_number = len(db.cfgdb.get_table('PORT').keys()) + bad_oversubscribe_ratio = str(port_number + 1) + result = runner.invoke(config.config.commands["buffer"].commands["shared-headroom-pool"].commands["over-subscribe-ratio"], + [bad_oversubscribe_ratio], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code != 0 + assert "Invalid over-subscribe-ratio value {}. It should be in range [0, {}]".format(bad_oversubscribe_ratio, port_number) in result.output + + def test_config_buffer_profile_headroom_toggle_shp(self): + runner = CliRunner() + db = Db() + + # Disable SHP by setting over-subscribe-ratio to 0 + result = runner.invoke(config.config.commands["buffer"].commands["shared-headroom-pool"].commands["over-subscribe-ratio"], + ["0"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + profile = db.cfgdb.get_entry('DEFAULT_LOSSLESS_BUFFER_PARAMETER', 'AZURE') == {'default_dynamic_th': '0', 'over_subscribe_ratio': '0'} + + # Size should equal xon + xoff + result = runner.invoke(config.config.commands["buffer"].commands["profile"].commands["add"], + ["test1", "--dynamic_th", "3", "--xon", "18432", "--xoff", "32768"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + profile = db.cfgdb.get_entry('BUFFER_PROFILE', 'test1') + assert profile == {'dynamic_th': '3', 'pool': '[BUFFER_POOL|ingress_lossless_pool]', 'xon': '18432', 'xoff': '32768', 'size': '51200'} + + # Xoff should equal size - xon + result = runner.invoke(config.config.commands["buffer"].commands["profile"].commands["add"], + ["test2", "--dynamic_th", "3", "--xon", "18432", "--size", "32768"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + profile = db.cfgdb.get_entry('BUFFER_PROFILE', 'test2') + assert profile == {'dynamic_th': '3', 'pool': '[BUFFER_POOL|ingress_lossless_pool]', 'xon': '18432', 'xoff': '14336', 'size': '32768'} + + # Neither xon nor size is provided + result = runner.invoke(config.config.commands["buffer"].commands["profile"].commands["add"], + ["test_profile_neither_xoff_nor_size", "--xon", "18432"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code != 0 + assert "Neither xoff nor size is provided" in result.output + + # Negative xoff + result = runner.invoke(config.config.commands["buffer"].commands["profile"].commands["add"], + ["test_profile_negative_xoff", "--xon", "32768", "--size", "18432"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code != 0 + assert "The xoff must be greater than 0 while we got -14336 (calculated by: size 18432 - xon 32768)" in result.output + + # Set size + result = runner.invoke(config.config.commands["buffer"].commands["profile"].commands["set"], + ["test2", "--dynamic_th", "3", "--size", "65536"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + profile = db.cfgdb.get_entry('BUFFER_PROFILE', 'test2') + assert profile == {'dynamic_th': '3', 'pool': '[BUFFER_POOL|ingress_lossless_pool]', 'xon': '18432', 'xoff': '14336', 'size': '65536'} + + # Set xon + result = runner.invoke(config.config.commands["buffer"].commands["profile"].commands["set"], + ["test2", "--xon", "19456"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + profile = db.cfgdb.get_entry('BUFFER_PROFILE', 'test2') + assert profile == {'dynamic_th': '3', 'pool': '[BUFFER_POOL|ingress_lossless_pool]', 'xon': '19456', 'xoff': '14336', 'size': '65536'} + + # Set xoff + result = runner.invoke(config.config.commands["buffer"].commands["profile"].commands["set"], + ["test2", "--xoff", "18432"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + profile = db.cfgdb.get_entry('BUFFER_PROFILE', 'test2') + assert profile == {'dynamic_th': '3', 'pool': '[BUFFER_POOL|ingress_lossless_pool]', 'xon': '19456', 'xoff': '18432', 'size': '65536'} + + # Enable SHP by setting size + result = runner.invoke(config.config.commands["buffer"].commands["shared-headroom-pool"].commands["size"], + ["200000"], obj=db) + print(result.exit_code) + print(result.output) + assert db.cfgdb.get_entry('BUFFER_POOL', 'ingress_lossless_pool') == {'mode': 'dynamic', 'type': 'ingress', 'xoff': '200000'} + + # Size should equal xon + result = runner.invoke(config.config.commands["buffer"].commands["profile"].commands["add"], + ["testprofile3", "--dynamic_th", "3", "--xon", "18432", "--xoff", "32768"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + profile = db.cfgdb.get_entry('BUFFER_PROFILE', 'testprofile3') + assert profile == {'dynamic_th': '3', 'pool': '[BUFFER_POOL|ingress_lossless_pool]', 'xon': '18432', 'xoff': '32768', 'size': '18432'} + + # Negative test: xoff not provided + result = runner.invoke(config.config.commands["buffer"].commands["profile"].commands["add"], + ["testprofile4", "--dynamic_th", "3", "--xon", "18432"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code != 0 + assert "Shared headroom pool is enabled, xoff is mandatory for non-dynamic profile" in result.output + def test_show_buffer_configuration(self): self.executor(testData['show_buffer_configuration']) diff --git a/tests/db_migrator_input/appl_db/acs-msn2700-t0-version_1_0_5.json b/tests/db_migrator_input/appl_db/acs-msn2700-t0-version_1_0_5.json new file mode 100644 index 0000000000..2c63c08510 --- /dev/null +++ b/tests/db_migrator_input/appl_db/acs-msn2700-t0-version_1_0_5.json @@ -0,0 +1,2 @@ +{ +} diff --git a/tests/db_migrator_input/appl_db/acs-msn2700-t0-version_2_0_0.json b/tests/db_migrator_input/appl_db/acs-msn2700-t0-version_2_0_0.json new file mode 100644 index 0000000000..cdd167da7e --- /dev/null +++ b/tests/db_migrator_input/appl_db/acs-msn2700-t0-version_2_0_0.json @@ -0,0 +1,696 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet20:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet28:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet52:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet56:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet56:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet60:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet60:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet68:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet68:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet72:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet72:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet76:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet76:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet80:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet80:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet84:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet84:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet88:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet88:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet92:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet92:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet96:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet96:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet100:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet104:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet108:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet112:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet112:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet116:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet116:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet120:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet120:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet124:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet124:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "4580864" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "4580864" + }, + "BUFFER_POOL_TABLE:ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "4580864" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "30720", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "50176" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "38912", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "58368" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + } +} diff --git a/tests/db_migrator_input/appl_db/acs-msn2700-t1-version_1_0_5.json b/tests/db_migrator_input/appl_db/acs-msn2700-t1-version_1_0_5.json new file mode 100644 index 0000000000..2c63c08510 --- /dev/null +++ b/tests/db_migrator_input/appl_db/acs-msn2700-t1-version_1_0_5.json @@ -0,0 +1,2 @@ +{ +} diff --git a/tests/db_migrator_input/appl_db/acs-msn2700-t1-version_2_0_0.json b/tests/db_migrator_input/appl_db/acs-msn2700-t1-version_2_0_0.json new file mode 100644 index 0000000000..863d7a4596 --- /dev/null +++ b/tests/db_migrator_input/appl_db/acs-msn2700-t1-version_2_0_0.json @@ -0,0 +1,789 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet20:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet28:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet52:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet56:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet56:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet60:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet60:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet68:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet68:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet72:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet72:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet76:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet76:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet80:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet80:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet84:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet84:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet88:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet88:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet92:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet92:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet96:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet96:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet100:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet100:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet104:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet104:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet108:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet108:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet112:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet112:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet116:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet116:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet120:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet120:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet124:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet124:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "3302912" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "3302912" + }, + "BUFFER_POOL_TABLE:ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "3302912" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "36864", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "56320" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "31744", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "51200" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "48128", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "67584" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "32768", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "52224" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "59392", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "78848" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "66560", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "86016" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "38912", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "58368" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "104448", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "123904" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + } +} diff --git a/tests/db_migrator_input/appl_db/acs-msn3700-t0-version_1_0_5.json b/tests/db_migrator_input/appl_db/acs-msn3700-t0-version_1_0_5.json new file mode 100644 index 0000000000..2c63c08510 --- /dev/null +++ b/tests/db_migrator_input/appl_db/acs-msn3700-t0-version_1_0_5.json @@ -0,0 +1,2 @@ +{ +} diff --git a/tests/db_migrator_input/appl_db/acs-msn3700-t0-version_2_0_0.json b/tests/db_migrator_input/appl_db/acs-msn3700-t0-version_2_0_0.json new file mode 100644 index 0000000000..05f9971a11 --- /dev/null +++ b/tests/db_migrator_input/appl_db/acs-msn3700-t0-version_2_0_0.json @@ -0,0 +1,829 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet20:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_200000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet28:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet52:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet56:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet56:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet60:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet60:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet65:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet65:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet66:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet66:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet67:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet67:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet80:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet80:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet82:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet82:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet88:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet88:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet92:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet92:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet96:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet96:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet100:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet104:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet108:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet112:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet112:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet116:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet116:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet120:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet120:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet124:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet124:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "14542848" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "14542848" + }, + "BUFFER_POOL_TABLE:ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "14542848" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet2": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet6": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet10": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet18": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet22": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet26": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet34": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet38": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet42": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet50": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet54": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet58": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet65": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet66": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet67": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet70": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet82": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet2": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet6": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet10": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet18": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet22": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet26": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet34": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet38": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet42": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet50": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet54": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet58": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet65": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet66": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet67": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet70": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet82": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "32768", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "52224" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "32768", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "52224" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "38912", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "58368" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "44032", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "63488" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_200000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "35840", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "55296" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet65:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet65:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet65:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet67:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet67:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet67:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet82:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet82:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet82:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + } +} diff --git a/tests/db_migrator_input/appl_db/acs-msn3700-t1-version_1_0_5.json b/tests/db_migrator_input/appl_db/acs-msn3700-t1-version_1_0_5.json new file mode 100644 index 0000000000..2c63c08510 --- /dev/null +++ b/tests/db_migrator_input/appl_db/acs-msn3700-t1-version_1_0_5.json @@ -0,0 +1,2 @@ +{ +} diff --git a/tests/db_migrator_input/appl_db/acs-msn3700-t1-version_2_0_0.json b/tests/db_migrator_input/appl_db/acs-msn3700-t1-version_2_0_0.json new file mode 100644 index 0000000000..b1a88fc0f3 --- /dev/null +++ b/tests/db_migrator_input/appl_db/acs-msn3700-t1-version_2_0_0.json @@ -0,0 +1,905 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet20:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_200000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet28:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet52:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet56:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet56:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet60:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet60:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet65:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet65:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet66:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet66:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet67:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet67:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet80:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet80:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet82:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet82:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet88:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet88:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet92:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet92:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet96:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet96:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet100:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet100:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet104:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet104:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet108:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet108:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet112:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet112:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet116:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet116:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet120:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet120:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_200000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet124:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet124:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "11622400" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "11622400" + }, + "BUFFER_POOL_TABLE:ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "11622400" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet2": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet6": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet10": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet18": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet22": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet26": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet34": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet38": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet42": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet50": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet54": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet58": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet65": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet66": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet67": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet70": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet82": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet2": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet6": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet10": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet18": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet22": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet26": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet34": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet38": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet42": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet50": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet54": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet58": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet65": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet66": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet67": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet70": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet82": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "40960", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "60416" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "35840", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "55296" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "54272", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "73728" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "37888", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "57344" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "66560", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "86016" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "38912", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "58368" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "75776", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "95232" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "44032", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "63488" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "117760", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "137216" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_200000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "55296", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "74752" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_200000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "203776", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "223232" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet65:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet65:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet65:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet67:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet67:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet67:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet82:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet82:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet82:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + } +} diff --git a/tests/db_migrator_input/appl_db/acs-msn3800-t0-version_1_0_5.json b/tests/db_migrator_input/appl_db/acs-msn3800-t0-version_1_0_5.json new file mode 100644 index 0000000000..2c63c08510 --- /dev/null +++ b/tests/db_migrator_input/appl_db/acs-msn3800-t0-version_1_0_5.json @@ -0,0 +1,2 @@ +{ +} diff --git a/tests/db_migrator_input/appl_db/acs-msn3800-t0-version_2_0_0.json b/tests/db_migrator_input/appl_db/acs-msn3800-t0-version_2_0_0.json new file mode 100644 index 0000000000..ae8e01790c --- /dev/null +++ b/tests/db_migrator_input/appl_db/acs-msn3800-t0-version_2_0_0.json @@ -0,0 +1,983 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet2:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet2:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet6:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet6:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet10:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet10:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet18:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet18:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet20:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet22:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet22:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet26:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet26:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet28:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet34:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet34:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet38:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet38:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet42:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet42:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet50:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet50:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet52:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet54:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet54:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet56:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet58:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet60:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet66:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet66:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet68:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet68:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet70:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet70:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet72:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet74:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet76:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet80:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet82:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet84:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet86:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet88:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet90:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet92:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet96:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet100:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet104:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet106:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet108:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet112:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet116:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet120:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet122:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet124:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet128:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet132:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet136:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet138:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet140:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet144:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet148:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet152:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet154:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet156:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet160:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet162:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet164:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet166:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet168:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet170:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet172:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet176:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet178:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet180:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet182:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet184:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet186:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet188:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet192:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet196:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet198:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet200:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet204:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet208:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet212:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet214:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet216:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet220:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet224:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet228:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet230:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet232:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet236:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet240:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet244:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet246:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet248:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet252:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13924352" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "13924352" + }, + "BUFFER_POOL_TABLE:ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "13924352" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet2": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet6": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet10": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet18": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet22": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet26": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet34": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet38": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet42": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet50": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet54": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet66": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet70": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet2": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet6": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet10": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet18": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet22": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet26": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet34": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet38": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet42": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet50": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet54": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet66": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet70": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "34816", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "54272" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "38912", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "58368" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "41984", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "61440" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "45056", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "64512" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "50176", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "69632" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "56320", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "75776" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + } +} diff --git a/tests/db_migrator_input/appl_db/acs-msn3800-t1-version_1_0_5.json b/tests/db_migrator_input/appl_db/acs-msn3800-t1-version_1_0_5.json new file mode 100644 index 0000000000..2c63c08510 --- /dev/null +++ b/tests/db_migrator_input/appl_db/acs-msn3800-t1-version_1_0_5.json @@ -0,0 +1,2 @@ +{ +} diff --git a/tests/db_migrator_input/appl_db/acs-msn3800-t1-version_2_0_0.json b/tests/db_migrator_input/appl_db/acs-msn3800-t1-version_2_0_0.json new file mode 100644 index 0000000000..895874392d --- /dev/null +++ b/tests/db_migrator_input/appl_db/acs-msn3800-t1-version_2_0_0.json @@ -0,0 +1,1079 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet2:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet2:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet6:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet6:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet10:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet10:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet18:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet18:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet20:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet22:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet22:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet26:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet26:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet28:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet34:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet34:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet38:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet38:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet42:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet42:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet50:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet50:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet52:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet54:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet54:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet56:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet56:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet58:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet58:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet60:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet60:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet66:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet66:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet68:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet68:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet70:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet70:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet72:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet74:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet76:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet80:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet82:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet84:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet86:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet88:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet90:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet92:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet96:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet100:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet104:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet106:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet108:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet112:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet116:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet120:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet122:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet124:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet128:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet132:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet136:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet138:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet140:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet144:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet148:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet152:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet154:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet156:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet160:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet162:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet164:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet166:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet168:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet170:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet172:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet176:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet178:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet180:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet182:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet184:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet186:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet188:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet192:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet196:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet198:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet200:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet204:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet208:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet212:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet214:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet216:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet220:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet224:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet228:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet230:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet232:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet236:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet240:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet244:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet246:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet248:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet252:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "12457984" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "12457984" + }, + "BUFFER_POOL_TABLE:ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "12457984" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet2": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet6": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet10": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet18": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet22": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet26": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet34": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet38": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet42": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet50": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet54": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet58": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet66": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet70": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet2": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet6": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet10": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet18": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet22": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet26": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet34": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet38": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet42": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet50": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet54": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet58": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet66": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet70": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "35840", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "55296" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "44032", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "63488" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "40960", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "60416" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "59392", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "78848" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "46080", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "65536" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "75776", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "95232" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "45056", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "64512" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "50176", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "69632" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "87040", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "106496" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "56320", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "75776" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "66560", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "86016" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "140288", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "159744" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet58:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet58:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet58:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + } +} diff --git a/tests/db_migrator_input/appl_db/acs-msn4700-t0-version_1_0_5.json b/tests/db_migrator_input/appl_db/acs-msn4700-t0-version_1_0_5.json new file mode 100644 index 0000000000..2c63c08510 --- /dev/null +++ b/tests/db_migrator_input/appl_db/acs-msn4700-t0-version_1_0_5.json @@ -0,0 +1,2 @@ +{ +} diff --git a/tests/db_migrator_input/appl_db/acs-msn4700-t0-version_2_0_0.json b/tests/db_migrator_input/appl_db/acs-msn4700-t0-version_2_0_0.json new file mode 100644 index 0000000000..0d3762be74 --- /dev/null +++ b/tests/db_migrator_input/appl_db/acs-msn4700-t0-version_2_0_0.json @@ -0,0 +1,914 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_200000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet56:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet56:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet72:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet72:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet80:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet80:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet88:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet88:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet96:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet96:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet104:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet104:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet112:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet112:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet120:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet120:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet128:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet128:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet136:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet136:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet144:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet144:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet152:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet152:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet160:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet160:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet168:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet168:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet176:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet176:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet184:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet184:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet192:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet192:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet200:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet208:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet216:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet224:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet224:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_400000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet232:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet232:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_400000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet240:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet240:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet248:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet248:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "60817392" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "26451968" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "26451968" + }, + "BUFFER_POOL_TABLE:ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "26451968" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet2": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet6": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet10": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet18": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet22": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet26": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet34": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet38": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet42": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet50": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet54": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet58": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet65": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet66": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet67": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet70": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet82": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet128": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet136": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet144": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet152": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet160": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet168": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet176": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet184": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet192": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet224": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet232": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet240": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet248": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet2": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet6": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet10": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet18": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet22": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet26": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet34": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet38": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet42": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet50": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet54": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet58": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet65": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet66": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet67": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet70": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet82": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet128": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet136": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet144": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet152": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet160": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet168": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet176": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet184": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet192": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet224": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet232": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet240": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet248": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "32768", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "52224" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "32768", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "52224" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "44032", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "63488" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_200000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "35840", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "55296" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_400000_5m_profile": { + "xon": "37888", + "dynamic_th": "0", + "xoff": "38912", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "86016" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_400000_40m_profile": { + "xon": "37888", + "dynamic_th": "0", + "xoff": "77824", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "124928" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet128:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet128:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet128:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet136:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet136:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet136:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet144:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet144:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet144:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet152:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet152:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet152:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet160:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet160:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet160:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet168:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet168:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet168:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet176:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet176:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet176:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet184:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet184:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet184:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet192:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet192:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet192:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet224:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet224:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet224:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet232:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet232:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet232:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet240:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet240:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet240:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet248:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet248:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet248:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + } +} diff --git a/tests/db_migrator_input/appl_db/acs-msn4700-t1-version_1_0_5.json b/tests/db_migrator_input/appl_db/acs-msn4700-t1-version_1_0_5.json new file mode 100644 index 0000000000..2c63c08510 --- /dev/null +++ b/tests/db_migrator_input/appl_db/acs-msn4700-t1-version_1_0_5.json @@ -0,0 +1,2 @@ +{ +} diff --git a/tests/db_migrator_input/appl_db/acs-msn4700-t1-version_2_0_0.json b/tests/db_migrator_input/appl_db/acs-msn4700-t1-version_2_0_0.json new file mode 100644 index 0000000000..e14fb91958 --- /dev/null +++ b/tests/db_migrator_input/appl_db/acs-msn4700-t1-version_2_0_0.json @@ -0,0 +1,1015 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_200000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet56:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet56:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet72:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet72:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet80:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet80:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet88:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet88:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet96:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet96:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet104:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet104:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet112:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet112:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet120:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet120:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet128:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet128:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet136:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet136:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet144:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet144:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet152:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet152:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet160:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet160:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet168:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet168:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_200000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet176:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet176:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_400000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet184:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet184:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_400000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet192:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet192:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_400000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet200:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet200:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_400000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet208:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet208:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_400000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet216:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet216:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_400000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet224:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet224:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_400000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet232:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet232:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_400000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet240:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet240:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet248:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet248:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "60817392" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "20627456" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "20627456" + }, + "BUFFER_POOL_TABLE:ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "20627456" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet2": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet6": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet10": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet18": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet22": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet26": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet34": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet38": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet42": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet50": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet54": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet58": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet65": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet66": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet67": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet70": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet82": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet128": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet136": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet144": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet152": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet160": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet168": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet176": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet184": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet192": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet200": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet208": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet216": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet224": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet232": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet240": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet248": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet2": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet6": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet10": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet18": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet22": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet26": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet34": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet38": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet42": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet50": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet54": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet58": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet65": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet66": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet67": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet70": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet82": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet128": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet136": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet144": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet152": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet160": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet168": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet176": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet184": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet192": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet200": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet208": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet216": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet224": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet232": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet240": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet248": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "40960", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "60416" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "35840", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "55296" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "54272", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "73728" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "37888", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "57344" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "66560", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "86016" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "38912", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "58368" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "75776", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "95232" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "44032", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "63488" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "117760", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "137216" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_200000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "55296", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "74752" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_200000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "203776", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "223232" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_400000_40m_profile": { + "xon": "37888", + "dynamic_th": "0", + "xoff": "77824", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "124928" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_400000_300m_profile": { + "xon": "37888", + "dynamic_th": "0", + "xoff": "373760", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "420864" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet128:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet128:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet128:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet136:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet136:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet136:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet144:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet144:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet144:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet152:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet152:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet152:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet160:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet160:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet160:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet168:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet168:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet168:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet176:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet176:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet176:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet184:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet184:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet184:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet192:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet192:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet192:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet200:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet200:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet200:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet208:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet208:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet208:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet216:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet216:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet216:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet224:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet224:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet224:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet232:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet232:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet232:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet240:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet240:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet240:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet248:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet248:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet248:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + } +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-single-pool-t0-version_1_0_5.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-single-pool-t0-version_1_0_5.json new file mode 100644 index 0000000000..2c63c08510 --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-single-pool-t0-version_1_0_5.json @@ -0,0 +1,2 @@ +{ +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-single-pool-t0-version_2_0_0.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-single-pool-t0-version_2_0_0.json new file mode 100644 index 0000000000..763eb2cf31 --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-single-pool-t0-version_2_0_0.json @@ -0,0 +1,692 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet20:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet28:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet52:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet56:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet56:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet60:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet60:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet68:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet68:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet72:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet72:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet76:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet76:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet80:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet80:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet84:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet84:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet88:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet88:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet92:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet92:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet96:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet96:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet100:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet104:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet108:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet112:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet112:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet116:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet116:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet120:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet120:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet124:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet124:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "7719936" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "xoff": "1032192", + "type": "ingress", + "mode": "dynamic", + "size": "7719936" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + } +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-single-pool-t1-version_1_0_5.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-single-pool-t1-version_1_0_5.json new file mode 100644 index 0000000000..2c63c08510 --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-single-pool-t1-version_1_0_5.json @@ -0,0 +1,2 @@ +{ +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-single-pool-t1-version_2_0_0.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-single-pool-t1-version_2_0_0.json new file mode 100644 index 0000000000..d29d94bc84 --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-single-pool-t1-version_2_0_0.json @@ -0,0 +1,785 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet20:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet28:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet52:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet56:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet56:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet60:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet60:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet68:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet68:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet72:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet72:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet76:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet76:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet80:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet80:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet84:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet84:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet88:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet88:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet92:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet92:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet96:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet96:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet100:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet100:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet104:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet104:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet108:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet108:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet112:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet112:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet116:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet116:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet120:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet120:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet124:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet124:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "9686016" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "xoff": "1179648", + "type": "ingress", + "mode": "dynamic", + "size": "9686016" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "27648", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "24576", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "36864", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "45056", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "50176", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "78848", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + } +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-t0-version_1_0_5.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-t0-version_1_0_5.json new file mode 100644 index 0000000000..2c63c08510 --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-t0-version_1_0_5.json @@ -0,0 +1,2 @@ +{ +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-t0-version_2_0_0.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-t0-version_2_0_0.json new file mode 100644 index 0000000000..aca494618d --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-t0-version_2_0_0.json @@ -0,0 +1,697 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet20:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet28:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet52:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet56:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet56:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet60:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet60:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet68:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet68:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet72:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet72:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet76:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet76:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet80:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet80:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet84:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet84:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet88:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet88:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet92:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet92:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet96:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet96:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet100:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet104:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet108:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet112:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet112:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet116:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet116:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet120:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet120:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet124:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet124:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "3859968" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "xoff": "1032192", + "type": "ingress", + "mode": "dynamic", + "size": "3859968" + }, + "BUFFER_POOL_TABLE:ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "3859968" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + } +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-t1-version_1_0_5.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-t1-version_1_0_5.json new file mode 100644 index 0000000000..2c63c08510 --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-t1-version_1_0_5.json @@ -0,0 +1,2 @@ +{ +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-t1-version_2_0_0.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-t1-version_2_0_0.json new file mode 100644 index 0000000000..4d7e38e97e --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-t1-version_2_0_0.json @@ -0,0 +1,790 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet20:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet28:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet52:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet56:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet56:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet60:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet60:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet68:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet68:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet72:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet72:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet76:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet76:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet80:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet80:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet84:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet84:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet88:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet88:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet92:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet92:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet96:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet96:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet100:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet100:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet104:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet104:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet108:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet108:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet112:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet112:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet116:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet116:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet120:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet120:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet124:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet124:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "4843008" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "xoff": "1179648", + "type": "ingress", + "mode": "dynamic", + "size": "4843008" + }, + "BUFFER_POOL_TABLE:ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "4843008" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "27648", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "24576", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "36864", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "45056", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "50176", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "78848", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + } +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-single-pool-t0-version_1_0_5.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-single-pool-t0-version_1_0_5.json new file mode 100644 index 0000000000..2c63c08510 --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-single-pool-t0-version_1_0_5.json @@ -0,0 +1,2 @@ +{ +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-single-pool-t0-version_2_0_0.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-single-pool-t0-version_2_0_0.json new file mode 100644 index 0000000000..763eb2cf31 --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-single-pool-t0-version_2_0_0.json @@ -0,0 +1,692 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet20:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet28:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet52:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet56:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet56:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet60:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet60:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet68:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet68:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet72:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet72:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet76:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet76:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet80:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet80:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet84:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet84:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet88:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet88:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet92:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet92:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet96:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet96:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet100:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet104:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet108:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet112:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet112:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet116:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet116:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet120:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet120:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet124:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet124:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "7719936" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "xoff": "1032192", + "type": "ingress", + "mode": "dynamic", + "size": "7719936" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + } +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-single-pool-t1-version_1_0_5.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-single-pool-t1-version_1_0_5.json new file mode 100644 index 0000000000..2c63c08510 --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-single-pool-t1-version_1_0_5.json @@ -0,0 +1,2 @@ +{ +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-single-pool-t1-version_2_0_0.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-single-pool-t1-version_2_0_0.json new file mode 100644 index 0000000000..d29d94bc84 --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-single-pool-t1-version_2_0_0.json @@ -0,0 +1,785 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet20:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet28:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet52:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet56:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet56:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet60:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet60:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet68:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet68:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet72:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet72:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet76:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet76:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet80:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet80:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet84:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet84:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet88:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet88:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet92:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet92:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet96:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet96:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet100:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet100:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet104:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet104:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet108:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet108:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet112:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet112:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet116:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet116:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet120:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet120:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet124:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet124:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "9686016" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "xoff": "1179648", + "type": "ingress", + "mode": "dynamic", + "size": "9686016" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "27648", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "24576", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "36864", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "45056", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "50176", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "78848", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + } +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-t0-version_1_0_5.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-t0-version_1_0_5.json new file mode 100644 index 0000000000..2c63c08510 --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-t0-version_1_0_5.json @@ -0,0 +1,2 @@ +{ +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-t0-version_2_0_0.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-t0-version_2_0_0.json new file mode 100644 index 0000000000..aca494618d --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-t0-version_2_0_0.json @@ -0,0 +1,697 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet20:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet28:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet52:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet56:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet56:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet60:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet60:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet68:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet68:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet72:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet72:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet76:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet76:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet80:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet80:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet84:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet84:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet88:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet88:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet92:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet92:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet96:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet96:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet100:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet104:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet108:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet112:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet112:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet116:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet116:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet120:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet120:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet124:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet124:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "3859968" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "xoff": "1032192", + "type": "ingress", + "mode": "dynamic", + "size": "3859968" + }, + "BUFFER_POOL_TABLE:ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "3859968" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + } +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-t1-version_1_0_5.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-t1-version_1_0_5.json new file mode 100644 index 0000000000..2c63c08510 --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-t1-version_1_0_5.json @@ -0,0 +1,2 @@ +{ +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-t1-version_2_0_0.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-t1-version_2_0_0.json new file mode 100644 index 0000000000..4d7e38e97e --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-t1-version_2_0_0.json @@ -0,0 +1,790 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet20:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet28:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet52:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet56:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet56:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet60:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet60:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet68:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet68:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet72:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet72:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet76:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet76:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet80:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet80:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet84:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet84:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet88:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet88:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet92:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet92:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet96:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet96:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet100:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet100:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet104:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet104:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet108:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet108:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet112:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet112:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet116:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet116:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet120:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet120:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet124:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet124:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "4843008" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "xoff": "1179648", + "type": "ingress", + "mode": "dynamic", + "size": "4843008" + }, + "BUFFER_POOL_TABLE:ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "4843008" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "27648", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "24576", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "36864", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "45056", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "50176", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "78848", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + } +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-single-pool-t0-version_1_0_5.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-single-pool-t0-version_1_0_5.json new file mode 100644 index 0000000000..2c63c08510 --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn2700-single-pool-t0-version_1_0_5.json @@ -0,0 +1,2 @@ +{ +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-single-pool-t0-version_2_0_0.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-single-pool-t0-version_2_0_0.json new file mode 100644 index 0000000000..c784b8333e --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn2700-single-pool-t0-version_2_0_0.json @@ -0,0 +1,692 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet20:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet28:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet52:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet56:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet56:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet60:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet60:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet68:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet68:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet72:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet72:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet76:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet76:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet80:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet80:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet84:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet84:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet88:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet88:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet92:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet92:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet96:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet96:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet100:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet104:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet108:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet112:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet112:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet116:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet116:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet120:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet120:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet124:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet124:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "10177536" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "xoff": "688128", + "type": "ingress", + "mode": "dynamic", + "size": "10177536" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + } +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-single-pool-t1-version_1_0_5.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-single-pool-t1-version_1_0_5.json new file mode 100644 index 0000000000..2c63c08510 --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn2700-single-pool-t1-version_1_0_5.json @@ -0,0 +1,2 @@ +{ +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-single-pool-t1-version_2_0_0.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-single-pool-t1-version_2_0_0.json new file mode 100644 index 0000000000..aa5e57fced --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn2700-single-pool-t1-version_2_0_0.json @@ -0,0 +1,785 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet20:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet28:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet52:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet56:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet56:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet60:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet60:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet68:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet68:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet72:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet72:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet76:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet76:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet80:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet80:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet84:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet84:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet88:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet88:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet92:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet92:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet96:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet96:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet100:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet100:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet104:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet104:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet108:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet108:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet112:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet112:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet116:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet116:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet120:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet120:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet124:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet124:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "9292800" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "xoff": "1572864", + "type": "ingress", + "mode": "dynamic", + "size": "9292800" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "27648", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "24576", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "36864", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "45056", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "50176", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "78848", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + } +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-t0-version_1_0_5.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-t0-version_1_0_5.json new file mode 100644 index 0000000000..2c63c08510 --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn2700-t0-version_1_0_5.json @@ -0,0 +1,2 @@ +{ +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-t0-version_2_0_0.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-t0-version_2_0_0.json new file mode 100644 index 0000000000..b2e8cbfba4 --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn2700-t0-version_2_0_0.json @@ -0,0 +1,697 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet20:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet28:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet52:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet56:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet56:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet60:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet60:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet68:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet68:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet72:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet72:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet76:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet76:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet80:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet80:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet84:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet84:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet88:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet88:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet92:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet92:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet96:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet96:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet100:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet104:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet108:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet112:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet112:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet116:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet116:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet120:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet120:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet124:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet124:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "5088768" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "xoff": "688128", + "type": "ingress", + "mode": "dynamic", + "size": "5088768" + }, + "BUFFER_POOL_TABLE:ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "5088768" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + } +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-t1-version_1_0_5.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-t1-version_1_0_5.json new file mode 100644 index 0000000000..2c63c08510 --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn2700-t1-version_1_0_5.json @@ -0,0 +1,2 @@ +{ +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-t1-version_2_0_0.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-t1-version_2_0_0.json new file mode 100644 index 0000000000..96613c3490 --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn2700-t1-version_2_0_0.json @@ -0,0 +1,790 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet20:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet28:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet52:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet56:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet56:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet60:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet60:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet68:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet68:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet72:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet72:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet76:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet76:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet80:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet80:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet84:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet84:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet88:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet88:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet92:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet92:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet96:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet96:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet100:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet100:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet104:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet104:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet108:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet108:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet112:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet112:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet116:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet116:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet120:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet120:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet124:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet124:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "4646400" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "xoff": "1572864", + "type": "ingress", + "mode": "dynamic", + "size": "4646400" + }, + "BUFFER_POOL_TABLE:ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "4646400" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "27648", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "24576", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "36864", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "45056", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "50176", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "78848", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + } +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn3800-c64-t0-version_1_0_5.json b/tests/db_migrator_input/appl_db/mellanox-sn3800-c64-t0-version_1_0_5.json new file mode 100644 index 0000000000..2c63c08510 --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn3800-c64-t0-version_1_0_5.json @@ -0,0 +1,2 @@ +{ +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn3800-c64-t0-version_2_0_0.json b/tests/db_migrator_input/appl_db/mellanox-sn3800-c64-t0-version_2_0_0.json new file mode 100644 index 0000000000..0b77f83833 --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn3800-c64-t0-version_2_0_0.json @@ -0,0 +1,705 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet2:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet2:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet6:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet6:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet10:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet18:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet22:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet26:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet34:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet38:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet42:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet50:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet54:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet66:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet68:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet70:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "25866240" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "xoff": "2523136", + "type": "ingress", + "mode": "dynamic", + "size": "25866240" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet2": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet6": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet10": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet18": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet22": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet26": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet34": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet38": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet42": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet50": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet54": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet58": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet66": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet70": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet2": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet6": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet10": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet18": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet22": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet26": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet34": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet38": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet42": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet50": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet54": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet58": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet66": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet70": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "25600", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "28672", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "30720", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "32768", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "40960", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + } +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn3800-c64-t1-version_1_0_5.json b/tests/db_migrator_input/appl_db/mellanox-sn3800-c64-t1-version_1_0_5.json new file mode 100644 index 0000000000..2c63c08510 --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn3800-c64-t1-version_1_0_5.json @@ -0,0 +1,2 @@ +{ +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn3800-c64-t1-version_2_0_0.json b/tests/db_migrator_input/appl_db/mellanox-sn3800-c64-t1-version_2_0_0.json new file mode 100644 index 0000000000..09fb2cbdaf --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn3800-c64-t1-version_2_0_0.json @@ -0,0 +1,803 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet2:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet2:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet6:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet6:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet10:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet18:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet22:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet26:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet34:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet38:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet38:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet42:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet42:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet50:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet54:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet56:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet58:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet60:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet66:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet68:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet70:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "23900160" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "xoff": "4489216", + "type": "ingress", + "mode": "dynamic", + "size": "23900160" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet2": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet6": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet10": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet18": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet22": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet26": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet34": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet38": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet42": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet50": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet54": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet58": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet66": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet70": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet2": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet6": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet10": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet18": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet22": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet26": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet34": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet38": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet42": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet50": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet54": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet58": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet66": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet70": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "26624", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "31744", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "30720", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "44032", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "33792", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "55296", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "36864", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "63488", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "48128", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "102400", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet58:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet58:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet58:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + } +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn3800-d112c8-t0-version_1_0_5.json b/tests/db_migrator_input/appl_db/mellanox-sn3800-d112c8-t0-version_1_0_5.json new file mode 100644 index 0000000000..2c63c08510 --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn3800-d112c8-t0-version_1_0_5.json @@ -0,0 +1,2 @@ +{ +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn3800-d112c8-t0-version_2_0_0.json b/tests/db_migrator_input/appl_db/mellanox-sn3800-d112c8-t0-version_2_0_0.json new file mode 100644 index 0000000000..7511f8d2aa --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn3800-d112c8-t0-version_2_0_0.json @@ -0,0 +1,985 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet2:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet2:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet6:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet6:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet10:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet10:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet18:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet18:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet20:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet22:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet22:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet26:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet26:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet28:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet34:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet34:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet38:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet38:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet42:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet42:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet50:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet50:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet52:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet54:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet54:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet56:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet58:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet60:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet66:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet66:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet68:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet68:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet70:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet70:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet72:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet74:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet76:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet80:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet82:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet84:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet86:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet88:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet90:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet92:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet96:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet100:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet104:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet106:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet108:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet112:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet116:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet120:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet122:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet124:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet128:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet132:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet136:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet138:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet140:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet144:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet148:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet152:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet154:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet156:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet160:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet162:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet164:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet166:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet168:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet170:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet172:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet176:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet178:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet180:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet182:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet184:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet186:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet188:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet192:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet196:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet198:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet200:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet204:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet208:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet212:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet214:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet216:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet220:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet224:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet228:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet230:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet232:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet236:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet240:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet244:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet246:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet248:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet252:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "20017152" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "xoff": "3440640", + "type": "ingress", + "mode": "dynamic", + "size": "20017152" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet2": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet6": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet10": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet18": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet22": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet26": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet34": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet38": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet42": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet50": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet54": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet58": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet66": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet70": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet2": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet6": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet10": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet18": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet22": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet26": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet34": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet38": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet42": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet50": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet54": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet58": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet66": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet70": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "25600", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "28672", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "30720", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "32768", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "36864", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "40960", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + } +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn3800-d112c8-t1-version_1_0_5.json b/tests/db_migrator_input/appl_db/mellanox-sn3800-d112c8-t1-version_1_0_5.json new file mode 100644 index 0000000000..2c63c08510 --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn3800-d112c8-t1-version_1_0_5.json @@ -0,0 +1,2 @@ +{ +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn3800-d112c8-t1-version_2_0_0.json b/tests/db_migrator_input/appl_db/mellanox-sn3800-d112c8-t1-version_2_0_0.json new file mode 100644 index 0000000000..3b85f4e36e --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn3800-d112c8-t1-version_2_0_0.json @@ -0,0 +1,1075 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet2:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet2:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet6:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet6:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet10:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet10:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet18:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet18:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet20:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet22:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet22:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet26:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet26:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet28:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet34:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet34:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet38:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet38:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet42:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet42:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet50:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet50:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet52:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet54:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet54:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet56:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet56:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet58:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet58:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet60:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet60:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet66:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet66:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet68:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet68:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet70:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet70:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet72:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet74:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet76:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet80:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet82:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet84:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet86:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet88:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet90:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet92:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet96:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet100:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet104:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet106:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet108:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet112:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet116:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet120:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet122:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet124:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet128:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet132:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet136:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet138:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet140:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet144:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet148:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet152:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet154:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet156:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet160:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet162:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet164:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet166:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet168:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet170:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet172:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet176:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet178:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet180:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet182:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet184:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet186:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet188:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet192:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet196:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet198:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet200:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet204:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet208:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet212:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet214:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet216:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet220:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet224:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet228:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet230:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet232:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet236:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet240:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet244:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet246:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet248:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet252:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "19124224" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "xoff": "4333568", + "type": "ingress", + "mode": "dynamic", + "size": "19124224" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet2": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet6": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet10": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet18": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet22": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet26": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet34": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet38": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet42": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet50": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet54": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet58": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet66": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet70": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet2": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet6": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet10": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet18": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet22": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet26": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet34": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet38": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet42": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet50": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet54": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet58": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet66": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet70": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "26624", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "31744", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "30720", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "44032", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "33792", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "55296", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "32768", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "36864", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "63488", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "40960", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "48128", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "102400", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet58:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet58:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet58:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + } +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn3800-d24c52-t0-version_1_0_5.json b/tests/db_migrator_input/appl_db/mellanox-sn3800-d24c52-t0-version_1_0_5.json new file mode 100644 index 0000000000..2c63c08510 --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn3800-d24c52-t0-version_1_0_5.json @@ -0,0 +1,2 @@ +{ +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn3800-d24c52-t0-version_2_0_0.json b/tests/db_migrator_input/appl_db/mellanox-sn3800-d24c52-t0-version_2_0_0.json new file mode 100644 index 0000000000..7a77ee1974 --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn3800-d24c52-t0-version_2_0_0.json @@ -0,0 +1,705 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet2:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet2:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet6:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet6:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet10:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet18:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet22:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet26:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet34:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet38:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet42:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet50:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet54:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet66:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet68:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet70:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "24576000" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "xoff": "2756608", + "type": "ingress", + "mode": "dynamic", + "size": "24576000" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet2": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet6": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet10": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet18": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet22": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet26": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet34": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet38": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet42": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet50": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet54": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet58": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet66": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet70": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet2": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet6": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet10": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet18": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet22": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet26": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet34": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet38": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet42": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet50": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet54": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet58": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet66": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet70": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "25600", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "28672", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "30720", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "32768", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "40960", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + } +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn3800-d24c52-t1-version_1_0_5.json b/tests/db_migrator_input/appl_db/mellanox-sn3800-d24c52-t1-version_1_0_5.json new file mode 100644 index 0000000000..2c63c08510 --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn3800-d24c52-t1-version_1_0_5.json @@ -0,0 +1,2 @@ +{ +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn3800-d24c52-t1-version_2_0_0.json b/tests/db_migrator_input/appl_db/mellanox-sn3800-d24c52-t1-version_2_0_0.json new file mode 100644 index 0000000000..99e0f2a85c --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn3800-d24c52-t1-version_2_0_0.json @@ -0,0 +1,803 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet2:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet2:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet6:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet6:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet10:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet18:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet22:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet26:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet34:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet38:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet38:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet42:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet42:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet50:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet54:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet56:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet58:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet60:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet66:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet68:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet70:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "22597632" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "xoff": "4734976", + "type": "ingress", + "mode": "dynamic", + "size": "22597632" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet2": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet6": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet10": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet18": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet22": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet26": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet34": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet38": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet42": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet50": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet54": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet58": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet66": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet70": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet2": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet6": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet10": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet18": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet22": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet26": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet34": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet38": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet42": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet50": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet54": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet58": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet66": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet70": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "26624", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "31744", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "30720", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "44032", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "33792", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "55296", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "36864", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "63488", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "48128", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "102400", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet58:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet58:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet58:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + } +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn3800-d28c50-t0-version_1_0_5.json b/tests/db_migrator_input/appl_db/mellanox-sn3800-d28c50-t0-version_1_0_5.json new file mode 100644 index 0000000000..2c63c08510 --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn3800-d28c50-t0-version_1_0_5.json @@ -0,0 +1,2 @@ +{ +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn3800-d28c50-t0-version_2_0_0.json b/tests/db_migrator_input/appl_db/mellanox-sn3800-d28c50-t0-version_2_0_0.json new file mode 100644 index 0000000000..fda108d93d --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn3800-d28c50-t0-version_2_0_0.json @@ -0,0 +1,705 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet2:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet2:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet6:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet6:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet10:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet18:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet22:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet26:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet34:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet38:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet42:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet50:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet54:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet66:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet68:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet70:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "24360960" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "xoff": "2795520", + "type": "ingress", + "mode": "dynamic", + "size": "24360960" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet2": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet6": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet10": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet18": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet22": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet26": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet34": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet38": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet42": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet50": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet54": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet58": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet66": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet70": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet2": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet6": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet10": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet18": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet22": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet26": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet34": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet38": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet42": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet50": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet54": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet58": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet66": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet70": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "25600", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "28672", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "30720", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "32768", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "40960", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + } +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn3800-d28c50-t1-version_1_0_5.json b/tests/db_migrator_input/appl_db/mellanox-sn3800-d28c50-t1-version_1_0_5.json new file mode 100644 index 0000000000..2c63c08510 --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn3800-d28c50-t1-version_1_0_5.json @@ -0,0 +1,2 @@ +{ +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn3800-d28c50-t1-version_2_0_0.json b/tests/db_migrator_input/appl_db/mellanox-sn3800-d28c50-t1-version_2_0_0.json new file mode 100644 index 0000000000..9d47f48adf --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn3800-d28c50-t1-version_2_0_0.json @@ -0,0 +1,803 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet2:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet2:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet6:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet6:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet10:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet18:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet22:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet26:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet34:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet38:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet38:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet42:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet42:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet50:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet54:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet56:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet58:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet60:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet66:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet68:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet70:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "22380544" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "xoff": "4775936", + "type": "ingress", + "mode": "dynamic", + "size": "22380544" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet2": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet6": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet10": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet18": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet22": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet26": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet34": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet38": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet42": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet50": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet54": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet58": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet66": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet70": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet2": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet6": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet10": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet18": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet22": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet26": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet34": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet38": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet42": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet50": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet54": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet58": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet66": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet70": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "26624", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "31744", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "30720", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "44032", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "33792", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "55296", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "36864", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "63488", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "48128", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "102400", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet58:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet58:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet58:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + } +} diff --git a/tests/db_migrator_input/appl_db/non-default-expected.json b/tests/db_migrator_input/appl_db/non-default-expected.json new file mode 100644 index 0000000000..0169478d0b --- /dev/null +++ b/tests/db_migrator_input/appl_db/non-default-expected.json @@ -0,0 +1,720 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet20:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet28:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet52:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet56:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet56:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet60:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet60:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet68:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet68:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet72:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet72:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet76:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet76:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet80:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet80:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet84:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet84:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet88:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet88:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet92:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet92:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet96:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet96:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet100:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet104:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet108:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet112:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet112:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet116:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet116:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet120:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet120:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet124:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet124:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13000000" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "7340032" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "4194304" + }, + "BUFFER_POOL_TABLE:ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "7340032" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "4096" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "0", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "41984" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "18432", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "36864" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "35840", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "54272" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + } +} diff --git a/tests/db_migrator_input/appl_db/non-default-input.json b/tests/db_migrator_input/appl_db/non-default-input.json new file mode 100644 index 0000000000..2c63c08510 --- /dev/null +++ b/tests/db_migrator_input/appl_db/non-default-input.json @@ -0,0 +1,2 @@ +{ +} diff --git a/tests/db_migrator_input/config_db/acs-msn2700-t0-version_1_0_1.json b/tests/db_migrator_input/config_db/acs-msn2700-t0-version_1_0_1.json new file mode 100644 index 0000000000..65b454e430 --- /dev/null +++ b/tests/db_migrator_input/config_db/acs-msn2700-t0-version_1_0_1.json @@ -0,0 +1,1059 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "16777152" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "7340032" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "4194304" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "7340032" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "4096" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "0", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "41984" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "18432", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "36864" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "35840", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "54272" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet68": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet76": "5m", + "Ethernet72": "5m", + "Ethernet64": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet88": "5m", + "Ethernet116": "40m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet84": "5m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet28": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN2700", + "default_bgp_status": "up", + "type": "ToRRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "10000", + "description": "etp1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "Servers0:eth0" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "Servers1:eth0" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "Servers2:eth0" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "Servers3:eth0" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "Servers4:eth0" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "Servers5:eth0" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "Servers6:eth0" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "Servers7:eth0" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "Servers8:eth0" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "Servers9:eth0" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "Servers10:eth0" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "Servers11:eth0" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "Servers12:eth0" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "Servers13:eth0" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "Servers14:eth0" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "100000", + "description": "Servers15:eth0" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "100000", + "description": "Servers16:eth0" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "100000", + "description": "Servers17:eth0" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "100000", + "description": "Servers18:eth0" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "Servers19:eth0" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "Servers20:eth0" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "Servers21:eth0" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "Servers22:eth0" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "Servers23:eth0" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "description": "etp26" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "description": "etp27" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "description": "etp28" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA01T1:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA02T1:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_1" + } +} diff --git a/tests/db_migrator_input/config_db/acs-msn2700-t0-version_1_0_2.json b/tests/db_migrator_input/config_db/acs-msn2700-t0-version_1_0_2.json new file mode 100644 index 0000000000..a522221dcc --- /dev/null +++ b/tests/db_migrator_input/config_db/acs-msn2700-t0-version_1_0_2.json @@ -0,0 +1,1059 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "16777152" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "7340032" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "4194304" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "7340032" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "4096" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "0", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "41984" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "18432", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "36864" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "35840", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "54272" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet68": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet76": "5m", + "Ethernet72": "5m", + "Ethernet64": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet88": "5m", + "Ethernet116": "40m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet84": "5m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet28": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN2700", + "default_bgp_status": "up", + "docker_routing_config_mode": "unified", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "type": "ToRRouter" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "10000", + "description": "etp1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "Servers0:eth0" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "Servers1:eth0" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "Servers2:eth0" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "Servers3:eth0" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "Servers4:eth0" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "Servers5:eth0" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "Servers6:eth0" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "Servers7:eth0" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "Servers8:eth0" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "Servers9:eth0" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "Servers10:eth0" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "Servers11:eth0" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "Servers12:eth0" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "Servers13:eth0" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "Servers14:eth0" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "100000", + "description": "Servers15:eth0" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "100000", + "description": "Servers16:eth0" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "100000", + "description": "Servers17:eth0" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "100000", + "description": "Servers18:eth0" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "Servers19:eth0" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "Servers20:eth0" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "Servers21:eth0" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "Servers22:eth0" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "Servers23:eth0" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "description": "etp26" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "description": "etp27" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "description": "etp28" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA01T1:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA02T1:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_2" + } +} diff --git a/tests/db_migrator_input/config_db/acs-msn2700-t0-version_1_0_3.json b/tests/db_migrator_input/config_db/acs-msn2700-t0-version_1_0_3.json new file mode 100644 index 0000000000..b170954d90 --- /dev/null +++ b/tests/db_migrator_input/config_db/acs-msn2700-t0-version_1_0_3.json @@ -0,0 +1,1059 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "14024599" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "5029836" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "5029836" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "5029836" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "4096" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "0", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "41984" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "18432", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "36864" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "35840", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "54272" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet68": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet76": "5m", + "Ethernet72": "5m", + "Ethernet64": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet88": "5m", + "Ethernet116": "40m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet84": "5m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet28": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN2700", + "default_bgp_status": "up", + "docker_routing_config_mode": "unified", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "type": "ToRRouter" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "10000", + "description": "etp1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "Servers0:eth0" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "Servers1:eth0" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "Servers2:eth0" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "Servers3:eth0" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "Servers4:eth0" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "Servers5:eth0" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "Servers6:eth0" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "Servers7:eth0" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "Servers8:eth0" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "Servers9:eth0" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "Servers10:eth0" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "Servers11:eth0" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "Servers12:eth0" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "Servers13:eth0" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "Servers14:eth0" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "100000", + "description": "Servers15:eth0" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "100000", + "description": "Servers16:eth0" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "100000", + "description": "Servers17:eth0" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "100000", + "description": "Servers18:eth0" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "Servers19:eth0" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "Servers20:eth0" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "Servers21:eth0" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "Servers22:eth0" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "Servers23:eth0" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "description": "etp26" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "description": "etp27" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "description": "etp28" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA01T1:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA02T1:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_3" + } +} diff --git a/tests/db_migrator_input/config_db/acs-msn2700-t0-version_1_0_4.json b/tests/db_migrator_input/config_db/acs-msn2700-t0-version_1_0_4.json new file mode 100644 index 0000000000..b4b4e50a25 --- /dev/null +++ b/tests/db_migrator_input/config_db/acs-msn2700-t0-version_1_0_4.json @@ -0,0 +1,1059 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "4580864" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "4580864" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "4580864" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "30720", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "50176" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "38912", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "58368" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet68": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet76": "5m", + "Ethernet72": "5m", + "Ethernet64": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet88": "5m", + "Ethernet116": "40m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet84": "5m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet28": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN2700", + "default_bgp_status": "up", + "docker_routing_config_mode": "unified", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "type": "ToRRouter" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "10000", + "description": "etp1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "Servers0:eth0" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "Servers1:eth0" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "Servers2:eth0" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "Servers3:eth0" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "Servers4:eth0" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "Servers5:eth0" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "Servers6:eth0" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "Servers7:eth0" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "Servers8:eth0" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "Servers9:eth0" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "Servers10:eth0" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "Servers11:eth0" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "Servers12:eth0" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "Servers13:eth0" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "Servers14:eth0" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "100000", + "description": "Servers15:eth0" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "100000", + "description": "Servers16:eth0" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "100000", + "description": "Servers17:eth0" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "100000", + "description": "Servers18:eth0" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "Servers19:eth0" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "Servers20:eth0" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "Servers21:eth0" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "Servers22:eth0" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "Servers23:eth0" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "description": "etp26" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "description": "etp27" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "description": "etp28" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA01T1:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA02T1:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_4" + } +} diff --git a/tests/db_migrator_input/config_db/acs-msn2700-t0-version_1_0_5.json b/tests/db_migrator_input/config_db/acs-msn2700-t0-version_1_0_5.json new file mode 100644 index 0000000000..1e2dd7cf4c --- /dev/null +++ b/tests/db_migrator_input/config_db/acs-msn2700-t0-version_1_0_5.json @@ -0,0 +1,1059 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "4580864" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "4580864" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "4580864" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "30720", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "50176" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "38912", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "58368" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet76": "5m", + "Ethernet72": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet28": "5m", + "Ethernet88": "5m", + "Ethernet24": "5m", + "Ethernet116": "40m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet84": "5m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet64": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet68": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN2700", + "default_bgp_status": "up", + "docker_routing_config_mode": "unified", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "type": "ToRRouter" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "10000", + "description": "etp1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "Servers0:eth0" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "Servers1:eth0" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "Servers2:eth0" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "Servers3:eth0" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "Servers4:eth0" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "Servers5:eth0" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "Servers6:eth0" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "Servers7:eth0" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "Servers8:eth0" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "Servers9:eth0" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "Servers10:eth0" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "Servers11:eth0" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "Servers12:eth0" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "Servers13:eth0" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "Servers14:eth0" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "100000", + "description": "Servers15:eth0" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "100000", + "description": "Servers16:eth0" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "100000", + "description": "Servers17:eth0" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "100000", + "description": "Servers18:eth0" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "Servers19:eth0" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "Servers20:eth0" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "Servers21:eth0" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "Servers22:eth0" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "Servers23:eth0" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "description": "etp26" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "description": "etp27" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "description": "etp28" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA01T1:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA02T1:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_5" + } +} diff --git a/tests/db_migrator_input/config_db/acs-msn2700-t0-version_2_0_0.json b/tests/db_migrator_input/config_db/acs-msn2700-t0-version_2_0_0.json new file mode 100644 index 0000000000..a386104345 --- /dev/null +++ b/tests/db_migrator_input/config_db/acs-msn2700-t0-version_2_0_0.json @@ -0,0 +1,1015 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "NULL" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet76": "5m", + "Ethernet72": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet28": "5m", + "Ethernet88": "5m", + "Ethernet24": "5m", + "Ethernet116": "40m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet84": "5m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet64": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet68": "5m" + }, + "DEFAULT_LOSSLESS_BUFFER_PARAMETER|AZURE": { + "default_dynamic_th": "0" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN2700", + "default_bgp_status": "up", + "docker_routing_config_mode": "unified", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "dynamic", + "deployment_id": "1", + "type": "ToRRouter" + }, + "LOSSLESS_TRAFFIC_PATTERN|AZURE": { + "small_packet_percentage": "100", + "mtu": "1024" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "10000", + "description": "etp1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "Servers0:eth0" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "Servers1:eth0" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "Servers2:eth0" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "Servers3:eth0" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "Servers4:eth0" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "Servers5:eth0" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "Servers6:eth0" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "Servers7:eth0" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "Servers8:eth0" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "Servers9:eth0" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "Servers10:eth0" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "Servers11:eth0" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "Servers12:eth0" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "Servers13:eth0" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "Servers14:eth0" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "100000", + "description": "Servers15:eth0" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "100000", + "description": "Servers16:eth0" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "100000", + "description": "Servers17:eth0" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "100000", + "description": "Servers18:eth0" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "Servers19:eth0" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "Servers20:eth0" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "Servers21:eth0" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "Servers22:eth0" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "Servers23:eth0" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "description": "etp26" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "description": "etp27" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "description": "etp28" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA01T1:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA02T1:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_0" + } +} diff --git a/tests/db_migrator_input/config_db/acs-msn2700-t1-version_1_0_1.json b/tests/db_migrator_input/config_db/acs-msn2700-t1-version_1_0_1.json new file mode 100644 index 0000000000..f369f1c68f --- /dev/null +++ b/tests/db_migrator_input/config_db/acs-msn2700-t1-version_1_0_1.json @@ -0,0 +1,1156 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "16777152" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "5242880" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "2097152" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "5242880" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "4096" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "0", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "18432", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "36864" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "30720", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "21504", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "39936" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "53248", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "71680" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "41984" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "75776", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "94208" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "41984" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "75776", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "94208" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "35840", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "54272" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "165888", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "184320" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet68": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet76": "40m", + "Ethernet72": "40m", + "Ethernet64": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet88": "40m", + "Ethernet116": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet84": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet28": "300m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet24": "300m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN2700", + "default_bgp_status": "up", + "type": "LeafRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T2:Ethernet1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA01T2:Ethernet2" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T2:Ethernet1" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA03T2:Ethernet2" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet1" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet2" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet1" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet2" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet1" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet2" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet1" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet2" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet1" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet2" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet1" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet2" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T0:Ethernet1" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA02T0:Ethernet1" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T0:Ethernet1" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA04T0:Ethernet1" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T0:Ethernet1" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA06T0:Ethernet1" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T0:Ethernet1" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA08T0:Ethernet1" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T0:Ethernet1" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp26", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA10T0:Ethernet1" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp27", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T0:Ethernet1" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp28", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA12T0:Ethernet1" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T0:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA14T0:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_1" + } +} diff --git a/tests/db_migrator_input/config_db/acs-msn2700-t1-version_1_0_2.json b/tests/db_migrator_input/config_db/acs-msn2700-t1-version_1_0_2.json new file mode 100644 index 0000000000..463cbb4d4d --- /dev/null +++ b/tests/db_migrator_input/config_db/acs-msn2700-t1-version_1_0_2.json @@ -0,0 +1,1156 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "16777152" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "5242880" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "2097152" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "5242880" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "4096" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "0", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "18432", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "36864" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "30720", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "21504", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "39936" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "53248", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "71680" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "41984" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "75776", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "94208" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "41984" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "75776", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "94208" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "35840", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "54272" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "165888", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "184320" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet76": "40m", + "Ethernet72": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet28": "300m", + "Ethernet88": "40m", + "Ethernet24": "300m", + "Ethernet116": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet84": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet64": "40m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet68": "40m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN2700", + "default_bgp_status": "up", + "type": "LeafRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T2:Ethernet1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA01T2:Ethernet2" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T2:Ethernet1" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA03T2:Ethernet2" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet1" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet2" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet1" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet2" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet1" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet2" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet1" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet2" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet1" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet2" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet1" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet2" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T0:Ethernet1" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA02T0:Ethernet1" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T0:Ethernet1" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA04T0:Ethernet1" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T0:Ethernet1" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA06T0:Ethernet1" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T0:Ethernet1" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA08T0:Ethernet1" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T0:Ethernet1" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp26", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA10T0:Ethernet1" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp27", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T0:Ethernet1" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp28", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA12T0:Ethernet1" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T0:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA14T0:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_2" + } +} diff --git a/tests/db_migrator_input/config_db/acs-msn2700-t1-version_1_0_3.json b/tests/db_migrator_input/config_db/acs-msn2700-t1-version_1_0_3.json new file mode 100644 index 0000000000..f177de7156 --- /dev/null +++ b/tests/db_migrator_input/config_db/acs-msn2700-t1-version_1_0_3.json @@ -0,0 +1,1156 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "14024599" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "2097100" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "2097100" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "2097100" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "4096" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "0", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "18432", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "36864" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "30720", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "21504", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "39936" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "53248", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "71680" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "41984" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "75776", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "94208" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "41984" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "75776", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "94208" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "35840", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "54272" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "165888", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "184320" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet76": "40m", + "Ethernet72": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet28": "300m", + "Ethernet88": "40m", + "Ethernet24": "300m", + "Ethernet116": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet84": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet64": "40m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet68": "40m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN2700", + "default_bgp_status": "up", + "type": "LeafRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T2:Ethernet1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA01T2:Ethernet2" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T2:Ethernet1" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA03T2:Ethernet2" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet1" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet2" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet1" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet2" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet1" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet2" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet1" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet2" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet1" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet2" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet1" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet2" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T0:Ethernet1" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA02T0:Ethernet1" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T0:Ethernet1" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA04T0:Ethernet1" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T0:Ethernet1" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA06T0:Ethernet1" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T0:Ethernet1" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA08T0:Ethernet1" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T0:Ethernet1" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp26", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA10T0:Ethernet1" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp27", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T0:Ethernet1" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp28", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA12T0:Ethernet1" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T0:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA14T0:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_3" + } +} diff --git a/tests/db_migrator_input/config_db/acs-msn2700-t1-version_1_0_4.json b/tests/db_migrator_input/config_db/acs-msn2700-t1-version_1_0_4.json new file mode 100644 index 0000000000..552d77854a --- /dev/null +++ b/tests/db_migrator_input/config_db/acs-msn2700-t1-version_1_0_4.json @@ -0,0 +1,1156 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "3302912" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "3302912" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "3302912" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "36864", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "56320" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "31744", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "51200" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "48128", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "67584" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "32768", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "52224" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "59392", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "78848" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "66560", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "86016" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "38912", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "58368" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "104448", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "123904" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet76": "40m", + "Ethernet72": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet28": "300m", + "Ethernet88": "40m", + "Ethernet24": "300m", + "Ethernet116": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet84": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet64": "40m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet68": "40m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN2700", + "default_bgp_status": "up", + "type": "LeafRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T2:Ethernet1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA01T2:Ethernet2" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T2:Ethernet1" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA03T2:Ethernet2" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet1" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet2" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet1" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet2" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet1" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet2" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet1" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet2" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet1" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet2" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet1" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet2" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T0:Ethernet1" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA02T0:Ethernet1" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T0:Ethernet1" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA04T0:Ethernet1" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T0:Ethernet1" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA06T0:Ethernet1" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T0:Ethernet1" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA08T0:Ethernet1" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T0:Ethernet1" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp26", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA10T0:Ethernet1" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp27", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T0:Ethernet1" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp28", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA12T0:Ethernet1" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T0:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA14T0:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_4" + } +} diff --git a/tests/db_migrator_input/config_db/acs-msn2700-t1-version_1_0_5.json b/tests/db_migrator_input/config_db/acs-msn2700-t1-version_1_0_5.json new file mode 100644 index 0000000000..aa4b3cdedc --- /dev/null +++ b/tests/db_migrator_input/config_db/acs-msn2700-t1-version_1_0_5.json @@ -0,0 +1,1156 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "3302912" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "3302912" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "3302912" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "36864", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "56320" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "31744", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "51200" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "48128", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "67584" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "32768", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "52224" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "59392", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "78848" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "66560", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "86016" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "38912", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "58368" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "104448", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "123904" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet76": "40m", + "Ethernet72": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet28": "300m", + "Ethernet88": "40m", + "Ethernet24": "300m", + "Ethernet116": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet84": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet64": "40m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet68": "40m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN2700", + "default_bgp_status": "up", + "type": "LeafRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T2:Ethernet1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA01T2:Ethernet2" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T2:Ethernet1" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA03T2:Ethernet2" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet1" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet2" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet1" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet2" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet1" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet2" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet1" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet2" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet1" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet2" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet1" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet2" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T0:Ethernet1" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA02T0:Ethernet1" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T0:Ethernet1" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA04T0:Ethernet1" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T0:Ethernet1" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA06T0:Ethernet1" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T0:Ethernet1" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA08T0:Ethernet1" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T0:Ethernet1" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp26", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA10T0:Ethernet1" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp27", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T0:Ethernet1" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp28", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA12T0:Ethernet1" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T0:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA14T0:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_5" + } +} diff --git a/tests/db_migrator_input/config_db/acs-msn2700-t1-version_2_0_0.json b/tests/db_migrator_input/config_db/acs-msn2700-t1-version_2_0_0.json new file mode 100644 index 0000000000..1523f1222b --- /dev/null +++ b/tests/db_migrator_input/config_db/acs-msn2700-t1-version_2_0_0.json @@ -0,0 +1,1091 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "NULL" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet76": "40m", + "Ethernet72": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet28": "300m", + "Ethernet88": "40m", + "Ethernet24": "300m", + "Ethernet116": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet84": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet64": "40m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet68": "40m" + }, + "DEFAULT_LOSSLESS_BUFFER_PARAMETER|AZURE": { + "default_dynamic_th": "0" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN2700", + "default_bgp_status": "up", + "type": "LeafRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "dynamic", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "LOSSLESS_TRAFFIC_PATTERN|AZURE": { + "small_packet_percentage": "100", + "mtu": "1024" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T2:Ethernet1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA01T2:Ethernet2" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T2:Ethernet1" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA03T2:Ethernet2" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet1" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet2" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet1" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet2" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet1" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet2" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet1" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet2" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet1" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet2" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet1" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet2" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T0:Ethernet1" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA02T0:Ethernet1" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T0:Ethernet1" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA04T0:Ethernet1" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T0:Ethernet1" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA06T0:Ethernet1" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T0:Ethernet1" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA08T0:Ethernet1" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T0:Ethernet1" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp26", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA10T0:Ethernet1" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp27", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T0:Ethernet1" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp28", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA12T0:Ethernet1" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T0:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA14T0:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_0" + } +} diff --git a/tests/db_migrator_input/config_db/acs-msn3700-t0-version_1_0_2.json b/tests/db_migrator_input/config_db/acs-msn3700-t0-version_1_0_2.json new file mode 100644 index 0000000000..24bed91267 --- /dev/null +++ b/tests/db_migrator_input/config_db/acs-msn3700-t0-version_1_0_2.json @@ -0,0 +1,1094 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_200000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet65|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet65|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet67|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet67|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet82|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet82|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "35966016" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "8224768" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "8224768" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "8224768" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "4096" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "0", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "18432", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "36864" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "18432", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "36864" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "18432", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "36864" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "19456", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "37888" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "28672", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "47104" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "20480", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "38912" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "40960", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "59392" + }, + "BUFFER_PROFILE|pg_lossless_200000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "41984" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet65|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet65|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet65|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet67|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet67|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet67|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet82|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet82|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet82|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet64": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet88": "5m", + "Ethernet116": "40m", + "Ethernet82": "5m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet65": "5m", + "Ethernet28": "5m", + "Ethernet67": "5m", + "Ethernet66": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN3700", + "default_bgp_status": "up", + "type": "ToRRouter", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "cloudtype": "None", + "docker_routing_config_mode": "separated", + "deployment_id": "1" + }, + "PORT|Ethernet0": { + "index": "1", + "lanes": "0,1,2,3", + "description": "etp1", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "10000", + "fec": "rs" + }, + "PORT|Ethernet4": { + "index": "2", + "lanes": "4,5,6,7", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2", + "pfc_asym": "off", + "speed": "25000", + "fec": "rs" + }, + "PORT|Ethernet8": { + "index": "3", + "lanes": "8,9,10,11", + "description": "Servers1:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3", + "pfc_asym": "off", + "speed": "50000", + "fec": "rs" + }, + "PORT|Ethernet12": { + "index": "4", + "lanes": "12,13,14,15", + "description": "Servers2:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet16": { + "index": "5", + "lanes": "16,17,18,19", + "description": "Servers3:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet20": { + "index": "6", + "lanes": "20,21,22,23", + "description": "Servers4:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6", + "pfc_asym": "off", + "speed": "200000", + "fec": "rs" + }, + "PORT|Ethernet24": { + "index": "7", + "lanes": "24,25,26,27", + "description": "Servers5:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet28": { + "index": "8", + "lanes": "28,29,30,31", + "description": "Servers6:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet32": { + "index": "9", + "lanes": "32,33,34,35", + "description": "Servers7:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet36": { + "index": "10", + "lanes": "36,37,38,39", + "description": "Servers8:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet40": { + "index": "11", + "lanes": "40,41,42,43", + "description": "Servers9:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet44": { + "index": "12", + "lanes": "44,45,46,47", + "description": "Servers10:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet48": { + "index": "13", + "lanes": "48,49,50,51", + "description": "Servers11:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet52": { + "index": "14", + "lanes": "52,53,54,55", + "description": "Servers12:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet56": { + "index": "15", + "lanes": "56,57,58,59", + "description": "Servers13:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet60": { + "index": "16", + "lanes": "60,61,62,63", + "description": "Servers14:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet64": { + "index": "17", + "lanes": "64", + "description": "Servers15:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet65": { + "index": "17", + "lanes": "65", + "description": "Servers16:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet66": { + "index": "17", + "lanes": "66", + "description": "Servers17:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17c", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet67": { + "index": "17", + "lanes": "67", + "description": "Servers18:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17d", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet80": { + "index": "21", + "lanes": "80,81", + "description": "Servers19:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000" + }, + "PORT|Ethernet82": { + "index": "21", + "lanes": "82,83", + "description": "Servers20:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000" + }, + "PORT|Ethernet88": { + "index": "23", + "lanes": "88,89,90,91", + "description": "Servers21:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp23", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet92": { + "index": "24", + "lanes": "92,93,94,95", + "description": "Servers22:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet96": { + "index": "25", + "lanes": "96,97,98,99", + "description": "Servers23:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "26", + "lanes": "100,101,102,103", + "description": "etp26", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "27", + "lanes": "104,105,106,107", + "description": "etp27", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet108": { + "index": "28", + "lanes": "108,109,110,111", + "description": "etp28", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet112": { + "index": "29", + "lanes": "112,113,114,115", + "description": "ARISTA01T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "30", + "lanes": "116,117,118,119", + "description": "ARISTA02T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "31", + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp31", + "pfc_asym": "off", + "speed": "50000" + }, + "PORT|Ethernet124": { + "index": "32", + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_2" + } +} diff --git a/tests/db_migrator_input/config_db/acs-msn3700-t0-version_1_0_3.json b/tests/db_migrator_input/config_db/acs-msn3700-t0-version_1_0_3.json new file mode 100644 index 0000000000..e04c25cfb5 --- /dev/null +++ b/tests/db_migrator_input/config_db/acs-msn3700-t0-version_1_0_3.json @@ -0,0 +1,1907 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_200000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet65|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet65|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet67|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet67|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet82|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet82|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34340822" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "14983147" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "14983147" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "14983147" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "4096" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "0", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "18432", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "36864" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "18432", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "36864" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "18432", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "36864" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "19456", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "37888" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "28672", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "47104" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "20480", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "38912" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "40960", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "59392" + }, + "BUFFER_PROFILE|pg_lossless_200000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "41984" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet65|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet65|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet65|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet67|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet67|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet67|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet82|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet82|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet82|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet64": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet88": "5m", + "Ethernet116": "40m", + "Ethernet82": "5m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet65": "5m", + "Ethernet28": "5m", + "Ethernet67": "5m", + "Ethernet66": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN3700", + "default_bgp_status": "up", + "type": "ToRRouter", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "separated", + "cloudtype": "None" + }, + "PORT|Ethernet0": { + "index": "1", + "lanes": "0,1,2,3", + "description": "etp1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "10000", + "fec": "rs" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "ARISTA01T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1b", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "2", + "lanes": "4,5,6,7", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2", + "pfc_asym": "off", + "speed": "25000", + "fec": "rs" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "ARISTA03T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2b", + "admin_status": "up", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "3", + "lanes": "8,9,10,11", + "description": "Servers1:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3", + "pfc_asym": "off", + "speed": "50000", + "fec": "rs" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "ARISTA05T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "4", + "lanes": "12,13,14,15", + "description": "Servers2:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet16": { + "index": "5", + "lanes": "16,17,18,19", + "description": "Servers3:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "ARISTA09T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "6", + "lanes": "20,21,22,23", + "description": "Servers4:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6", + "pfc_asym": "off", + "speed": "200000", + "fec": "rs" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "ARISTA11T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "7", + "lanes": "24,25,26,27", + "description": "Servers5:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "ARISTA13T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "8", + "lanes": "28,29,30,31", + "description": "Servers6:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet32": { + "index": "9", + "lanes": "32,33,34,35", + "description": "Servers7:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "ARISTA15T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "10", + "lanes": "36,37,38,39", + "description": "Servers8:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "ARISTA02T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10b", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "11", + "lanes": "40,41,42,43", + "description": "Servers9:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "ARISTA04T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "12", + "lanes": "44,45,46,47", + "description": "Servers10:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet48": { + "index": "13", + "lanes": "48,49,50,51", + "description": "Servers11:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "ARISTA07T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "14", + "lanes": "52,53,54,55", + "description": "Servers12:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "ARISTA09T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "15", + "lanes": "56,57,58,59", + "description": "Servers13:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "16", + "lanes": "60,61,62,63", + "description": "Servers14:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet64": { + "index": "17", + "lanes": "64", + "description": "Servers15:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet65": { + "index": "17", + "lanes": "65", + "description": "Servers16:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet66": { + "index": "17", + "lanes": "66", + "description": "Servers17:eth0", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17c", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet67": { + "index": "17", + "lanes": "67", + "description": "Servers18:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17d", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "18", + "lanes": "72,73", + "description": "etp19a", + "admin_status": "up", + "mtu": "9100", + "alias": "etp19a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "admin_status": "up", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "21", + "lanes": "80,81", + "description": "Servers19:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "21", + "lanes": "82,83", + "description": "Servers20:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "admin_status": "up", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "23", + "lanes": "88,89,90,91", + "description": "Servers21:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp23", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "24", + "lanes": "92,93,94,95", + "description": "Servers22:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet96": { + "index": "25", + "lanes": "96,97,98,99", + "description": "Servers23:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "26", + "lanes": "100,101,102,103", + "description": "etp26", + "admin_status": "up", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "27", + "lanes": "104,105,106,107", + "description": "etp27", + "admin_status": "up", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "28", + "lanes": "108,109,110,111", + "description": "etp28", + "admin_status": "up", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet112": { + "index": "29", + "lanes": "112,113,114,115", + "description": "ARISTA01T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "30", + "lanes": "116,117,118,119", + "description": "ARISTA02T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "31", + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp31", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "32", + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "32", + "lanes": "128,129,130,131", + "description": "etp33", + "mtu": "9100", + "alias": "etp33", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "34", + "lanes": "136,137", + "description": "etp35a", + "mtu": "9100", + "alias": "etp35a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "36", + "lanes": "144,145,146,147", + "description": "etp37", + "mtu": "9100", + "alias": "etp37", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "38", + "lanes": "152,153", + "description": "etp39a", + "mtu": "9100", + "alias": "etp39a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "40", + "lanes": "160,161", + "description": "etp41a", + "mtu": "9100", + "alias": "etp41a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "42", + "lanes": "168,169", + "description": "etp43a", + "mtu": "9100", + "alias": "etp43a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "44", + "lanes": "176,177", + "description": "etp45a", + "mtu": "9100", + "alias": "etp45a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "46", + "lanes": "184,185", + "description": "etp47a", + "mtu": "9100", + "alias": "etp47a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "48", + "lanes": "192,193", + "description": "etp49a", + "mtu": "9100", + "alias": "etp49a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "50", + "lanes": "200,201", + "description": "etp51a", + "mtu": "9100", + "alias": "etp51a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "52", + "lanes": "208,209", + "description": "etp53a", + "mtu": "9100", + "alias": "etp53a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "54", + "lanes": "216,217", + "description": "etp55a", + "mtu": "9100", + "alias": "etp55a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "56", + "lanes": "224,225", + "description": "etp57a", + "mtu": "9100", + "alias": "etp57a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "58", + "lanes": "232,233", + "description": "etp59a", + "mtu": "9100", + "alias": "etp59a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "60", + "lanes": "240,241", + "description": "etp61a", + "mtu": "9100", + "alias": "etp61a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "62", + "lanes": "248,249", + "description": "etp63a", + "mtu": "9100", + "alias": "etp63a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_3" + } +} diff --git a/tests/db_migrator_input/config_db/acs-msn3700-t0-version_1_0_4.json b/tests/db_migrator_input/config_db/acs-msn3700-t0-version_1_0_4.json new file mode 100644 index 0000000000..433b9e4e51 --- /dev/null +++ b/tests/db_migrator_input/config_db/acs-msn3700-t0-version_1_0_4.json @@ -0,0 +1,1907 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_200000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet65|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet65|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet67|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet67|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet82|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet82|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "14542848" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "14542848" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "14542848" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "32768", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "52224" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "32768", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "52224" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "38912", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "58368" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "44032", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "63488" + }, + "BUFFER_PROFILE|pg_lossless_200000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "35840", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "55296" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet65|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet65|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet65|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet67|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet67|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet67|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet82|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet82|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet82|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet64": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet88": "5m", + "Ethernet116": "40m", + "Ethernet82": "5m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet65": "5m", + "Ethernet28": "5m", + "Ethernet67": "5m", + "Ethernet66": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN3700", + "default_bgp_status": "up", + "type": "ToRRouter", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "separated", + "cloudtype": "None" + }, + "PORT|Ethernet0": { + "index": "1", + "lanes": "0,1,2,3", + "description": "etp1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "10000", + "fec": "rs" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "ARISTA01T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1b", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "2", + "lanes": "4,5,6,7", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2", + "pfc_asym": "off", + "speed": "25000", + "fec": "rs" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "ARISTA03T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2b", + "admin_status": "up", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "3", + "lanes": "8,9,10,11", + "description": "Servers1:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3", + "pfc_asym": "off", + "speed": "50000", + "fec": "rs" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "ARISTA05T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "4", + "lanes": "12,13,14,15", + "description": "Servers2:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet16": { + "index": "5", + "lanes": "16,17,18,19", + "description": "Servers3:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "ARISTA09T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "6", + "lanes": "20,21,22,23", + "description": "Servers4:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6", + "pfc_asym": "off", + "speed": "200000", + "fec": "rs" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "ARISTA11T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "7", + "lanes": "24,25,26,27", + "description": "Servers5:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "ARISTA13T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "8", + "lanes": "28,29,30,31", + "description": "Servers6:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet32": { + "index": "9", + "lanes": "32,33,34,35", + "description": "Servers7:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "ARISTA15T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "10", + "lanes": "36,37,38,39", + "description": "Servers8:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "ARISTA02T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10b", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "11", + "lanes": "40,41,42,43", + "description": "Servers9:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "ARISTA04T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "12", + "lanes": "44,45,46,47", + "description": "Servers10:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet48": { + "index": "13", + "lanes": "48,49,50,51", + "description": "Servers11:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "ARISTA07T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "14", + "lanes": "52,53,54,55", + "description": "Servers12:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "ARISTA09T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "15", + "lanes": "56,57,58,59", + "description": "Servers13:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "16", + "lanes": "60,61,62,63", + "description": "Servers14:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet64": { + "index": "17", + "lanes": "64", + "description": "Servers15:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet65": { + "index": "17", + "lanes": "65", + "description": "Servers16:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet66": { + "index": "17", + "lanes": "66", + "description": "Servers17:eth0", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17c", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet67": { + "index": "17", + "lanes": "67", + "description": "Servers18:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17d", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "18", + "lanes": "72,73", + "description": "etp19a", + "admin_status": "up", + "mtu": "9100", + "alias": "etp19a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "admin_status": "up", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "21", + "lanes": "80,81", + "description": "Servers19:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "21", + "lanes": "82,83", + "description": "Servers20:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "admin_status": "up", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "23", + "lanes": "88,89,90,91", + "description": "Servers21:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp23", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "24", + "lanes": "92,93,94,95", + "description": "Servers22:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet96": { + "index": "25", + "lanes": "96,97,98,99", + "description": "Servers23:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "26", + "lanes": "100,101,102,103", + "description": "etp26", + "admin_status": "up", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "27", + "lanes": "104,105,106,107", + "description": "etp27", + "admin_status": "up", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "28", + "lanes": "108,109,110,111", + "description": "etp28", + "admin_status": "up", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet112": { + "index": "29", + "lanes": "112,113,114,115", + "description": "ARISTA01T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "30", + "lanes": "116,117,118,119", + "description": "ARISTA02T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "31", + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp31", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "32", + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "32", + "lanes": "128,129,130,131", + "description": "etp33", + "mtu": "9100", + "alias": "etp33", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "34", + "lanes": "136,137", + "description": "etp35a", + "mtu": "9100", + "alias": "etp35a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "36", + "lanes": "144,145,146,147", + "description": "etp37", + "mtu": "9100", + "alias": "etp37", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "38", + "lanes": "152,153", + "description": "etp39a", + "mtu": "9100", + "alias": "etp39a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "40", + "lanes": "160,161", + "description": "etp41a", + "mtu": "9100", + "alias": "etp41a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "42", + "lanes": "168,169", + "description": "etp43a", + "mtu": "9100", + "alias": "etp43a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "44", + "lanes": "176,177", + "description": "etp45a", + "mtu": "9100", + "alias": "etp45a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "46", + "lanes": "184,185", + "description": "etp47a", + "mtu": "9100", + "alias": "etp47a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "48", + "lanes": "192,193", + "description": "etp49a", + "mtu": "9100", + "alias": "etp49a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "50", + "lanes": "200,201", + "description": "etp51a", + "mtu": "9100", + "alias": "etp51a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "52", + "lanes": "208,209", + "description": "etp53a", + "mtu": "9100", + "alias": "etp53a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "54", + "lanes": "216,217", + "description": "etp55a", + "mtu": "9100", + "alias": "etp55a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "56", + "lanes": "224,225", + "description": "etp57a", + "mtu": "9100", + "alias": "etp57a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "58", + "lanes": "232,233", + "description": "etp59a", + "mtu": "9100", + "alias": "etp59a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "60", + "lanes": "240,241", + "description": "etp61a", + "mtu": "9100", + "alias": "etp61a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "62", + "lanes": "248,249", + "description": "etp63a", + "mtu": "9100", + "alias": "etp63a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_4" + } +} diff --git a/tests/db_migrator_input/config_db/acs-msn3700-t0-version_1_0_5.json b/tests/db_migrator_input/config_db/acs-msn3700-t0-version_1_0_5.json new file mode 100644 index 0000000000..e732b54038 --- /dev/null +++ b/tests/db_migrator_input/config_db/acs-msn3700-t0-version_1_0_5.json @@ -0,0 +1,1907 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_200000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet65|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet65|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet67|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet67|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet82|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet82|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "14542848" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "14542848" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "14542848" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "32768", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "52224" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "32768", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "52224" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "38912", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "58368" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "44032", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "63488" + }, + "BUFFER_PROFILE|pg_lossless_200000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "35840", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "55296" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet65|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet65|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet65|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet67|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet67|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet67|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet82|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet82|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet82|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet64": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet88": "5m", + "Ethernet116": "40m", + "Ethernet82": "5m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet65": "5m", + "Ethernet28": "5m", + "Ethernet67": "5m", + "Ethernet66": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN3700", + "default_bgp_status": "up", + "type": "ToRRouter", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "separated", + "cloudtype": "None" + }, + "PORT|Ethernet0": { + "index": "1", + "lanes": "0,1,2,3", + "description": "etp1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "10000", + "fec": "rs" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "ARISTA01T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1b", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "2", + "lanes": "4,5,6,7", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2", + "pfc_asym": "off", + "speed": "25000", + "fec": "rs" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "ARISTA03T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2b", + "admin_status": "up", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "3", + "lanes": "8,9,10,11", + "description": "Servers1:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3", + "pfc_asym": "off", + "speed": "50000", + "fec": "rs" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "ARISTA05T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "4", + "lanes": "12,13,14,15", + "description": "Servers2:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet16": { + "index": "5", + "lanes": "16,17,18,19", + "description": "Servers3:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "ARISTA09T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "6", + "lanes": "20,21,22,23", + "description": "Servers4:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6", + "pfc_asym": "off", + "speed": "200000", + "fec": "rs" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "ARISTA11T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "7", + "lanes": "24,25,26,27", + "description": "Servers5:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "ARISTA13T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "8", + "lanes": "28,29,30,31", + "description": "Servers6:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet32": { + "index": "9", + "lanes": "32,33,34,35", + "description": "Servers7:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "ARISTA15T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "10", + "lanes": "36,37,38,39", + "description": "Servers8:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "ARISTA02T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10b", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "11", + "lanes": "40,41,42,43", + "description": "Servers9:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "ARISTA04T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "12", + "lanes": "44,45,46,47", + "description": "Servers10:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet48": { + "index": "13", + "lanes": "48,49,50,51", + "description": "Servers11:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "ARISTA07T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "14", + "lanes": "52,53,54,55", + "description": "Servers12:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "ARISTA09T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "15", + "lanes": "56,57,58,59", + "description": "Servers13:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "16", + "lanes": "60,61,62,63", + "description": "Servers14:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet64": { + "index": "17", + "lanes": "64", + "description": "Servers15:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet65": { + "index": "17", + "lanes": "65", + "description": "Servers16:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet66": { + "index": "17", + "lanes": "66", + "description": "Servers17:eth0", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17c", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet67": { + "index": "17", + "lanes": "67", + "description": "Servers18:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17d", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "18", + "lanes": "72,73", + "description": "etp19a", + "admin_status": "up", + "mtu": "9100", + "alias": "etp19a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "admin_status": "up", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "21", + "lanes": "80,81", + "description": "Servers19:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "21", + "lanes": "82,83", + "description": "Servers20:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "admin_status": "up", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "23", + "lanes": "88,89,90,91", + "description": "Servers21:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp23", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "24", + "lanes": "92,93,94,95", + "description": "Servers22:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet96": { + "index": "25", + "lanes": "96,97,98,99", + "description": "Servers23:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "26", + "lanes": "100,101,102,103", + "description": "etp26", + "admin_status": "up", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "27", + "lanes": "104,105,106,107", + "description": "etp27", + "admin_status": "up", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "28", + "lanes": "108,109,110,111", + "description": "etp28", + "admin_status": "up", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet112": { + "index": "29", + "lanes": "112,113,114,115", + "description": "ARISTA01T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "30", + "lanes": "116,117,118,119", + "description": "ARISTA02T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "31", + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp31", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "32", + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "32", + "lanes": "128,129,130,131", + "description": "etp33", + "mtu": "9100", + "alias": "etp33", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "34", + "lanes": "136,137", + "description": "etp35a", + "mtu": "9100", + "alias": "etp35a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "36", + "lanes": "144,145,146,147", + "description": "etp37", + "mtu": "9100", + "alias": "etp37", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "38", + "lanes": "152,153", + "description": "etp39a", + "mtu": "9100", + "alias": "etp39a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "40", + "lanes": "160,161", + "description": "etp41a", + "mtu": "9100", + "alias": "etp41a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "42", + "lanes": "168,169", + "description": "etp43a", + "mtu": "9100", + "alias": "etp43a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "44", + "lanes": "176,177", + "description": "etp45a", + "mtu": "9100", + "alias": "etp45a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "46", + "lanes": "184,185", + "description": "etp47a", + "mtu": "9100", + "alias": "etp47a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "48", + "lanes": "192,193", + "description": "etp49a", + "mtu": "9100", + "alias": "etp49a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "50", + "lanes": "200,201", + "description": "etp51a", + "mtu": "9100", + "alias": "etp51a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "52", + "lanes": "208,209", + "description": "etp53a", + "mtu": "9100", + "alias": "etp53a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "54", + "lanes": "216,217", + "description": "etp55a", + "mtu": "9100", + "alias": "etp55a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "56", + "lanes": "224,225", + "description": "etp57a", + "mtu": "9100", + "alias": "etp57a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "58", + "lanes": "232,233", + "description": "etp59a", + "mtu": "9100", + "alias": "etp59a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "60", + "lanes": "240,241", + "description": "etp61a", + "mtu": "9100", + "alias": "etp61a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "62", + "lanes": "248,249", + "description": "etp63a", + "mtu": "9100", + "alias": "etp63a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_5" + } +} diff --git a/tests/db_migrator_input/config_db/acs-msn3700-t0-version_2_0_0.json b/tests/db_migrator_input/config_db/acs-msn3700-t0-version_2_0_0.json new file mode 100644 index 0000000000..85d37e17fa --- /dev/null +++ b/tests/db_migrator_input/config_db/acs-msn3700-t0-version_2_0_0.json @@ -0,0 +1,1856 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet65|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet65|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet66|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet67|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet67|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet82|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet82|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "NULL" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet65|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet65|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet65|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet67|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet67|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet67|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet82|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet82|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet82|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet64": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet88": "5m", + "Ethernet116": "40m", + "Ethernet82": "5m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet65": "5m", + "Ethernet28": "5m", + "Ethernet67": "5m", + "Ethernet66": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet24": "5m" + }, + "DEFAULT_LOSSLESS_BUFFER_PARAMETER|AZURE": { + "default_dynamic_th": "0" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN3700", + "default_bgp_status": "up", + "type": "ToRRouter", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "dynamic", + "deployment_id": "1", + "docker_routing_config_mode": "separated", + "cloudtype": "None" + }, + "LOSSLESS_TRAFFIC_PATTERN|AZURE": { + "small_packet_percentage": "100", + "mtu": "1024" + }, + "PORT|Ethernet0": { + "index": "1", + "lanes": "0,1,2,3", + "description": "etp1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "10000", + "fec": "rs" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "ARISTA01T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1b", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "2", + "lanes": "4,5,6,7", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2", + "pfc_asym": "off", + "speed": "25000", + "fec": "rs" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "ARISTA03T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2b", + "admin_status": "up", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "3", + "lanes": "8,9,10,11", + "description": "Servers1:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3", + "pfc_asym": "off", + "speed": "50000", + "fec": "rs" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "ARISTA05T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "4", + "lanes": "12,13,14,15", + "description": "Servers2:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet16": { + "index": "5", + "lanes": "16,17,18,19", + "description": "Servers3:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "ARISTA09T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "6", + "lanes": "20,21,22,23", + "description": "Servers4:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6", + "pfc_asym": "off", + "speed": "200000", + "fec": "rs" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "ARISTA11T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "7", + "lanes": "24,25,26,27", + "description": "Servers5:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "ARISTA13T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "8", + "lanes": "28,29,30,31", + "description": "Servers6:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet32": { + "index": "9", + "lanes": "32,33,34,35", + "description": "Servers7:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "ARISTA15T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "10", + "lanes": "36,37,38,39", + "description": "Servers8:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "ARISTA02T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10b", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "11", + "lanes": "40,41,42,43", + "description": "Servers9:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "ARISTA04T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "12", + "lanes": "44,45,46,47", + "description": "Servers10:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet48": { + "index": "13", + "lanes": "48,49,50,51", + "description": "Servers11:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "ARISTA07T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "14", + "lanes": "52,53,54,55", + "description": "Servers12:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "ARISTA09T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "15", + "lanes": "56,57,58,59", + "description": "Servers13:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "16", + "lanes": "60,61,62,63", + "description": "Servers14:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet64": { + "index": "17", + "lanes": "64", + "description": "Servers15:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet65": { + "index": "17", + "lanes": "65", + "description": "Servers16:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet66": { + "index": "17", + "lanes": "66", + "description": "Servers17:eth0", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17c", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet67": { + "index": "17", + "lanes": "67", + "description": "Servers18:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17d", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "18", + "lanes": "72,73", + "description": "etp19a", + "admin_status": "up", + "mtu": "9100", + "alias": "etp19a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "admin_status": "up", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "21", + "lanes": "80,81", + "description": "Servers19:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "21", + "lanes": "82,83", + "description": "Servers20:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "admin_status": "up", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "23", + "lanes": "88,89,90,91", + "description": "Servers21:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp23", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "24", + "lanes": "92,93,94,95", + "description": "Servers22:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet96": { + "index": "25", + "lanes": "96,97,98,99", + "description": "Servers23:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "26", + "lanes": "100,101,102,103", + "description": "etp26", + "admin_status": "up", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "27", + "lanes": "104,105,106,107", + "description": "etp27", + "admin_status": "up", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "28", + "lanes": "108,109,110,111", + "description": "etp28", + "admin_status": "up", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet112": { + "index": "29", + "lanes": "112,113,114,115", + "description": "ARISTA01T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "30", + "lanes": "116,117,118,119", + "description": "ARISTA02T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "31", + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp31", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "32", + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "32", + "lanes": "128,129,130,131", + "description": "etp33", + "mtu": "9100", + "alias": "etp33", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "34", + "lanes": "136,137", + "description": "etp35a", + "mtu": "9100", + "alias": "etp35a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "36", + "lanes": "144,145,146,147", + "description": "etp37", + "mtu": "9100", + "alias": "etp37", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "38", + "lanes": "152,153", + "description": "etp39a", + "mtu": "9100", + "alias": "etp39a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "40", + "lanes": "160,161", + "description": "etp41a", + "mtu": "9100", + "alias": "etp41a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "42", + "lanes": "168,169", + "description": "etp43a", + "mtu": "9100", + "alias": "etp43a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "44", + "lanes": "176,177", + "description": "etp45a", + "mtu": "9100", + "alias": "etp45a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "46", + "lanes": "184,185", + "description": "etp47a", + "mtu": "9100", + "alias": "etp47a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "48", + "lanes": "192,193", + "description": "etp49a", + "mtu": "9100", + "alias": "etp49a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "50", + "lanes": "200,201", + "description": "etp51a", + "mtu": "9100", + "alias": "etp51a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "52", + "lanes": "208,209", + "description": "etp53a", + "mtu": "9100", + "alias": "etp53a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "54", + "lanes": "216,217", + "description": "etp55a", + "mtu": "9100", + "alias": "etp55a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "56", + "lanes": "224,225", + "description": "etp57a", + "mtu": "9100", + "alias": "etp57a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "58", + "lanes": "232,233", + "description": "etp59a", + "mtu": "9100", + "alias": "etp59a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "60", + "lanes": "240,241", + "description": "etp61a", + "mtu": "9100", + "alias": "etp61a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "62", + "lanes": "248,249", + "description": "etp63a", + "mtu": "9100", + "alias": "etp63a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_0" + } +} diff --git a/tests/db_migrator_input/config_db/acs-msn3700-t1-version_1_0_2.json b/tests/db_migrator_input/config_db/acs-msn3700-t1-version_1_0_2.json new file mode 100644 index 0000000000..cec20dbd98 --- /dev/null +++ b/tests/db_migrator_input/config_db/acs-msn3700-t1-version_1_0_2.json @@ -0,0 +1,1198 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_200000_300m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet65|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet65|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet67|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet67|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet82|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet82|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_200000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "35966016" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "12042240" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "12042240" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "12042240" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "4096" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "0", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "20480", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "38912" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "34816", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "41984" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "60416", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "78848" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "26624", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "45056" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "86016", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "104448" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "28672", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "47104" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "103424", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "121856" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "40960", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "59392" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "188416", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "206848" + }, + "BUFFER_PROFILE|pg_lossless_200000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "63488", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "81920" + }, + "BUFFER_PROFILE|pg_lossless_200000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "358400", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "376832" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet65|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet65|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet65|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet67|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet67|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet67|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet82|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet82|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet82|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet64": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet88": "40m", + "Ethernet116": "40m", + "Ethernet82": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet65": "40m", + "Ethernet28": "300m", + "Ethernet67": "40m", + "Ethernet66": "40m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet24": "300m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN3700", + "default_bgp_status": "up", + "type": "LeafRouter", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "cloudtype": "None", + "docker_routing_config_mode": "separated", + "deployment_id": "1" + }, + "PORT|Ethernet0": { + "index": "1", + "lanes": "0,1,2,3", + "description": "ARISTA01T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "10000", + "fec": "rs" + }, + "PORT|Ethernet4": { + "index": "2", + "lanes": "4,5,6,7", + "description": "ARISTA01T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2", + "pfc_asym": "off", + "speed": "25000", + "fec": "rs" + }, + "PORT|Ethernet8": { + "index": "3", + "lanes": "8,9,10,11", + "description": "ARISTA03T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3", + "pfc_asym": "off", + "speed": "50000", + "fec": "rs" + }, + "PORT|Ethernet12": { + "index": "4", + "lanes": "12,13,14,15", + "description": "ARISTA03T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet16": { + "index": "5", + "lanes": "16,17,18,19", + "description": "ARISTA05T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet20": { + "index": "6", + "lanes": "20,21,22,23", + "description": "ARISTA05T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6", + "pfc_asym": "off", + "speed": "200000", + "fec": "rs" + }, + "PORT|Ethernet24": { + "index": "7", + "lanes": "24,25,26,27", + "description": "ARISTA07T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet28": { + "index": "8", + "lanes": "28,29,30,31", + "description": "ARISTA07T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet32": { + "index": "9", + "lanes": "32,33,34,35", + "description": "ARISTA09T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet36": { + "index": "10", + "lanes": "36,37,38,39", + "description": "ARISTA09T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet40": { + "index": "11", + "lanes": "40,41,42,43", + "description": "ARISTA11T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet44": { + "index": "12", + "lanes": "44,45,46,47", + "description": "ARISTA11T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet48": { + "index": "13", + "lanes": "48,49,50,51", + "description": "ARISTA13T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet52": { + "index": "14", + "lanes": "52,53,54,55", + "description": "ARISTA13T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet56": { + "index": "15", + "lanes": "56,57,58,59", + "description": "ARISTA15T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet60": { + "index": "16", + "lanes": "60,61,62,63", + "description": "ARISTA15T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet64": { + "index": "17", + "lanes": "64", + "description": "ARISTA01T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet65": { + "index": "17", + "lanes": "65", + "description": "ARISTA02T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet66": { + "index": "17", + "lanes": "66", + "description": "ARISTA03T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17c", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet67": { + "index": "17", + "lanes": "67", + "description": "ARISTA04T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17d", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet80": { + "index": "21", + "lanes": "80,81", + "description": "ARISTA05T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000" + }, + "PORT|Ethernet82": { + "index": "21", + "lanes": "82,83", + "description": "ARISTA06T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000" + }, + "PORT|Ethernet88": { + "index": "23", + "lanes": "88,89,90,91", + "description": "ARISTA07T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp23", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet92": { + "index": "24", + "lanes": "92,93,94,95", + "description": "ARISTA08T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet96": { + "index": "25", + "lanes": "96,97,98,99", + "description": "ARISTA09T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "26", + "lanes": "100,101,102,103", + "description": "ARISTA10T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "10000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "27", + "lanes": "104,105,106,107", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "25000", + "fec": "rs" + }, + "PORT|Ethernet108": { + "index": "28", + "lanes": "108,109,110,111", + "description": "ARISTA12T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet112": { + "index": "29", + "lanes": "112,113,114,115", + "description": "ARISTA13T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "50000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "30", + "lanes": "116,117,118,119", + "description": "ARISTA14T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "31", + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp31", + "pfc_asym": "off", + "speed": "200000" + }, + "PORT|Ethernet124": { + "index": "32", + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_2" + } +} diff --git a/tests/db_migrator_input/config_db/acs-msn3700-t1-version_1_0_3.json b/tests/db_migrator_input/config_db/acs-msn3700-t1-version_1_0_3.json new file mode 100644 index 0000000000..ab88fb3bed --- /dev/null +++ b/tests/db_migrator_input/config_db/acs-msn3700-t1-version_1_0_3.json @@ -0,0 +1,1983 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_200000_300m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet65|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet65|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet67|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet67|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet82|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet82|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_200000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34340822" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "9158635" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "9158635" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "9158635" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "4096" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "0", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "20480", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "38912" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "34816", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "41984" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "60416", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "78848" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "26624", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "45056" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "86016", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "104448" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "28672", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "47104" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "103424", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "121856" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "40960", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "59392" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "188416", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "206848" + }, + "BUFFER_PROFILE|pg_lossless_200000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "63488", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "81920" + }, + "BUFFER_PROFILE|pg_lossless_200000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "358400", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "376832" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet65|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet65|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet65|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet67|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet67|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet67|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet82|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet82|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet82|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet64": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet88": "40m", + "Ethernet116": "40m", + "Ethernet82": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet65": "40m", + "Ethernet28": "300m", + "Ethernet67": "40m", + "Ethernet66": "40m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet24": "300m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN3700", + "default_bgp_status": "up", + "type": "LeafRouter", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "separated", + "cloudtype": "None" + }, + "PORT|Ethernet0": { + "index": "1", + "lanes": "0,1,2,3", + "description": "ARISTA01T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "10000", + "fec": "rs" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "ARISTA01T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1b", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "2", + "lanes": "4,5,6,7", + "description": "ARISTA01T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2", + "pfc_asym": "off", + "speed": "25000", + "fec": "rs" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "ARISTA03T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2b", + "admin_status": "up", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "3", + "lanes": "8,9,10,11", + "description": "ARISTA03T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3", + "pfc_asym": "off", + "speed": "50000", + "fec": "rs" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "ARISTA05T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "4", + "lanes": "12,13,14,15", + "description": "ARISTA03T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet16": { + "index": "5", + "lanes": "16,17,18,19", + "description": "ARISTA05T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "ARISTA09T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "6", + "lanes": "20,21,22,23", + "description": "ARISTA05T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6", + "pfc_asym": "off", + "speed": "200000", + "fec": "rs" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "ARISTA11T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "7", + "lanes": "24,25,26,27", + "description": "ARISTA07T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "ARISTA13T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "8", + "lanes": "28,29,30,31", + "description": "ARISTA07T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet32": { + "index": "9", + "lanes": "32,33,34,35", + "description": "ARISTA09T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "ARISTA15T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "10", + "lanes": "36,37,38,39", + "description": "ARISTA09T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "ARISTA02T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10b", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "11", + "lanes": "40,41,42,43", + "description": "ARISTA11T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "ARISTA04T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "12", + "lanes": "44,45,46,47", + "description": "ARISTA11T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet48": { + "index": "13", + "lanes": "48,49,50,51", + "description": "ARISTA13T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "ARISTA07T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "14", + "lanes": "52,53,54,55", + "description": "ARISTA13T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "ARISTA09T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "15", + "lanes": "56,57,58,59", + "description": "ARISTA15T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "16", + "lanes": "60,61,62,63", + "description": "ARISTA15T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet64": { + "index": "17", + "lanes": "64", + "description": "ARISTA01T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet65": { + "index": "17", + "lanes": "65", + "description": "ARISTA02T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet66": { + "index": "17", + "lanes": "66", + "description": "ARISTA03T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17c", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet67": { + "index": "17", + "lanes": "67", + "description": "ARISTA04T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17d", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "18", + "lanes": "72,73", + "description": "etp19a", + "admin_status": "up", + "mtu": "9100", + "alias": "etp19a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "admin_status": "up", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "21", + "lanes": "80,81", + "description": "ARISTA05T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "21", + "lanes": "82,83", + "description": "ARISTA06T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "admin_status": "up", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "23", + "lanes": "88,89,90,91", + "description": "ARISTA07T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp23", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "24", + "lanes": "92,93,94,95", + "description": "ARISTA08T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet96": { + "index": "25", + "lanes": "96,97,98,99", + "description": "ARISTA09T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "26", + "lanes": "100,101,102,103", + "description": "ARISTA10T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "10000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "27", + "lanes": "104,105,106,107", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "25000", + "fec": "rs" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "28", + "lanes": "108,109,110,111", + "description": "ARISTA12T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet112": { + "index": "29", + "lanes": "112,113,114,115", + "description": "ARISTA13T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "50000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "30", + "lanes": "116,117,118,119", + "description": "ARISTA14T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "31", + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp31", + "pfc_asym": "off", + "speed": "200000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "32", + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "32", + "lanes": "128,129,130,131", + "description": "etp33", + "mtu": "9100", + "alias": "etp33", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "34", + "lanes": "136,137", + "description": "etp35a", + "mtu": "9100", + "alias": "etp35a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "36", + "lanes": "144,145,146,147", + "description": "etp37", + "mtu": "9100", + "alias": "etp37", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "38", + "lanes": "152,153", + "description": "etp39a", + "mtu": "9100", + "alias": "etp39a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "40", + "lanes": "160,161", + "description": "etp41a", + "mtu": "9100", + "alias": "etp41a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "42", + "lanes": "168,169", + "description": "etp43a", + "mtu": "9100", + "alias": "etp43a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "44", + "lanes": "176,177", + "description": "etp45a", + "mtu": "9100", + "alias": "etp45a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "46", + "lanes": "184,185", + "description": "etp47a", + "mtu": "9100", + "alias": "etp47a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "48", + "lanes": "192,193", + "description": "etp49a", + "mtu": "9100", + "alias": "etp49a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "50", + "lanes": "200,201", + "description": "etp51a", + "mtu": "9100", + "alias": "etp51a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "52", + "lanes": "208,209", + "description": "etp53a", + "mtu": "9100", + "alias": "etp53a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "54", + "lanes": "216,217", + "description": "etp55a", + "mtu": "9100", + "alias": "etp55a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "56", + "lanes": "224,225", + "description": "etp57a", + "mtu": "9100", + "alias": "etp57a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "58", + "lanes": "232,233", + "description": "etp59a", + "mtu": "9100", + "alias": "etp59a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "60", + "lanes": "240,241", + "description": "etp61a", + "mtu": "9100", + "alias": "etp61a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "62", + "lanes": "248,249", + "description": "etp63a", + "mtu": "9100", + "alias": "etp63a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_3" + } +} diff --git a/tests/db_migrator_input/config_db/acs-msn3700-t1-version_1_0_4.json b/tests/db_migrator_input/config_db/acs-msn3700-t1-version_1_0_4.json new file mode 100644 index 0000000000..50a40d2987 --- /dev/null +++ b/tests/db_migrator_input/config_db/acs-msn3700-t1-version_1_0_4.json @@ -0,0 +1,1983 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_200000_300m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet65|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet65|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet67|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet67|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet82|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet82|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_200000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "11622400" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "11622400" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "11622400" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "40960", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "60416" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "35840", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "55296" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "54272", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "73728" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "37888", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "57344" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "66560", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "86016" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "38912", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "58368" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "75776", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "95232" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "44032", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "63488" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "117760", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "137216" + }, + "BUFFER_PROFILE|pg_lossless_200000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "55296", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "74752" + }, + "BUFFER_PROFILE|pg_lossless_200000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "203776", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "223232" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet65|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet65|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet65|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet67|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet67|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet67|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet82|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet82|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet82|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet64": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet88": "40m", + "Ethernet116": "40m", + "Ethernet82": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet65": "40m", + "Ethernet28": "300m", + "Ethernet67": "40m", + "Ethernet66": "40m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet24": "300m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN3700", + "default_bgp_status": "up", + "type": "LeafRouter", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "separated", + "cloudtype": "None" + }, + "PORT|Ethernet0": { + "index": "1", + "lanes": "0,1,2,3", + "description": "ARISTA01T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "10000", + "fec": "rs" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "ARISTA01T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1b", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "2", + "lanes": "4,5,6,7", + "description": "ARISTA01T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2", + "pfc_asym": "off", + "speed": "25000", + "fec": "rs" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "ARISTA03T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2b", + "admin_status": "up", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "3", + "lanes": "8,9,10,11", + "description": "ARISTA03T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3", + "pfc_asym": "off", + "speed": "50000", + "fec": "rs" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "ARISTA05T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "4", + "lanes": "12,13,14,15", + "description": "ARISTA03T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet16": { + "index": "5", + "lanes": "16,17,18,19", + "description": "ARISTA05T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "ARISTA09T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "6", + "lanes": "20,21,22,23", + "description": "ARISTA05T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6", + "pfc_asym": "off", + "speed": "200000", + "fec": "rs" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "ARISTA11T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "7", + "lanes": "24,25,26,27", + "description": "ARISTA07T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "ARISTA13T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "8", + "lanes": "28,29,30,31", + "description": "ARISTA07T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet32": { + "index": "9", + "lanes": "32,33,34,35", + "description": "ARISTA09T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "ARISTA15T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "10", + "lanes": "36,37,38,39", + "description": "ARISTA09T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "ARISTA02T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10b", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "11", + "lanes": "40,41,42,43", + "description": "ARISTA11T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "ARISTA04T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "12", + "lanes": "44,45,46,47", + "description": "ARISTA11T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet48": { + "index": "13", + "lanes": "48,49,50,51", + "description": "ARISTA13T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "ARISTA07T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "14", + "lanes": "52,53,54,55", + "description": "ARISTA13T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "ARISTA09T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "15", + "lanes": "56,57,58,59", + "description": "ARISTA15T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "16", + "lanes": "60,61,62,63", + "description": "ARISTA15T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet64": { + "index": "17", + "lanes": "64", + "description": "ARISTA01T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet65": { + "index": "17", + "lanes": "65", + "description": "ARISTA02T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet66": { + "index": "17", + "lanes": "66", + "description": "ARISTA03T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17c", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet67": { + "index": "17", + "lanes": "67", + "description": "ARISTA04T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17d", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "18", + "lanes": "72,73", + "description": "etp19a", + "admin_status": "up", + "mtu": "9100", + "alias": "etp19a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "admin_status": "up", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "21", + "lanes": "80,81", + "description": "ARISTA05T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "21", + "lanes": "82,83", + "description": "ARISTA06T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "admin_status": "up", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "23", + "lanes": "88,89,90,91", + "description": "ARISTA07T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp23", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "24", + "lanes": "92,93,94,95", + "description": "ARISTA08T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet96": { + "index": "25", + "lanes": "96,97,98,99", + "description": "ARISTA09T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "26", + "lanes": "100,101,102,103", + "description": "ARISTA10T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "10000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "27", + "lanes": "104,105,106,107", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "25000", + "fec": "rs" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "28", + "lanes": "108,109,110,111", + "description": "ARISTA12T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet112": { + "index": "29", + "lanes": "112,113,114,115", + "description": "ARISTA13T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "50000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "30", + "lanes": "116,117,118,119", + "description": "ARISTA14T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "31", + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp31", + "pfc_asym": "off", + "speed": "200000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "32", + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "32", + "lanes": "128,129,130,131", + "description": "etp33", + "mtu": "9100", + "alias": "etp33", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "34", + "lanes": "136,137", + "description": "etp35a", + "mtu": "9100", + "alias": "etp35a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "36", + "lanes": "144,145,146,147", + "description": "etp37", + "mtu": "9100", + "alias": "etp37", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "38", + "lanes": "152,153", + "description": "etp39a", + "mtu": "9100", + "alias": "etp39a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "40", + "lanes": "160,161", + "description": "etp41a", + "mtu": "9100", + "alias": "etp41a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "42", + "lanes": "168,169", + "description": "etp43a", + "mtu": "9100", + "alias": "etp43a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "44", + "lanes": "176,177", + "description": "etp45a", + "mtu": "9100", + "alias": "etp45a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "46", + "lanes": "184,185", + "description": "etp47a", + "mtu": "9100", + "alias": "etp47a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "48", + "lanes": "192,193", + "description": "etp49a", + "mtu": "9100", + "alias": "etp49a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "50", + "lanes": "200,201", + "description": "etp51a", + "mtu": "9100", + "alias": "etp51a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "52", + "lanes": "208,209", + "description": "etp53a", + "mtu": "9100", + "alias": "etp53a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "54", + "lanes": "216,217", + "description": "etp55a", + "mtu": "9100", + "alias": "etp55a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "56", + "lanes": "224,225", + "description": "etp57a", + "mtu": "9100", + "alias": "etp57a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "58", + "lanes": "232,233", + "description": "etp59a", + "mtu": "9100", + "alias": "etp59a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "60", + "lanes": "240,241", + "description": "etp61a", + "mtu": "9100", + "alias": "etp61a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "62", + "lanes": "248,249", + "description": "etp63a", + "mtu": "9100", + "alias": "etp63a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_4" + } +} diff --git a/tests/db_migrator_input/config_db/acs-msn3700-t1-version_1_0_5.json b/tests/db_migrator_input/config_db/acs-msn3700-t1-version_1_0_5.json new file mode 100644 index 0000000000..5776904ce0 --- /dev/null +++ b/tests/db_migrator_input/config_db/acs-msn3700-t1-version_1_0_5.json @@ -0,0 +1,1983 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_200000_300m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet65|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet65|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet67|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet67|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet82|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet82|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_200000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "11622400" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "11622400" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "11622400" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "40960", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "60416" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "35840", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "55296" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "54272", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "73728" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "37888", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "57344" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "66560", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "86016" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "38912", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "58368" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "75776", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "95232" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "44032", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "63488" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "117760", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "137216" + }, + "BUFFER_PROFILE|pg_lossless_200000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "55296", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "74752" + }, + "BUFFER_PROFILE|pg_lossless_200000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "203776", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "223232" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet65|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet65|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet65|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet67|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet67|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet67|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet82|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet82|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet82|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet64": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet88": "40m", + "Ethernet116": "40m", + "Ethernet82": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet65": "40m", + "Ethernet28": "300m", + "Ethernet67": "40m", + "Ethernet66": "40m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet24": "300m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN3700", + "default_bgp_status": "up", + "type": "LeafRouter", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "separated", + "cloudtype": "None" + }, + "PORT|Ethernet0": { + "index": "1", + "lanes": "0,1,2,3", + "description": "ARISTA01T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "10000", + "fec": "rs" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "ARISTA01T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1b", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "2", + "lanes": "4,5,6,7", + "description": "ARISTA01T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2", + "pfc_asym": "off", + "speed": "25000", + "fec": "rs" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "ARISTA03T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2b", + "admin_status": "up", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "3", + "lanes": "8,9,10,11", + "description": "ARISTA03T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3", + "pfc_asym": "off", + "speed": "50000", + "fec": "rs" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "ARISTA05T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "4", + "lanes": "12,13,14,15", + "description": "ARISTA03T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet16": { + "index": "5", + "lanes": "16,17,18,19", + "description": "ARISTA05T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "ARISTA09T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "6", + "lanes": "20,21,22,23", + "description": "ARISTA05T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6", + "pfc_asym": "off", + "speed": "200000", + "fec": "rs" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "ARISTA11T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "7", + "lanes": "24,25,26,27", + "description": "ARISTA07T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "ARISTA13T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "8", + "lanes": "28,29,30,31", + "description": "ARISTA07T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet32": { + "index": "9", + "lanes": "32,33,34,35", + "description": "ARISTA09T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "ARISTA15T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "10", + "lanes": "36,37,38,39", + "description": "ARISTA09T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "ARISTA02T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10b", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "11", + "lanes": "40,41,42,43", + "description": "ARISTA11T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "ARISTA04T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "12", + "lanes": "44,45,46,47", + "description": "ARISTA11T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet48": { + "index": "13", + "lanes": "48,49,50,51", + "description": "ARISTA13T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "ARISTA07T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "14", + "lanes": "52,53,54,55", + "description": "ARISTA13T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "ARISTA09T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "15", + "lanes": "56,57,58,59", + "description": "ARISTA15T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "16", + "lanes": "60,61,62,63", + "description": "ARISTA15T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet64": { + "index": "17", + "lanes": "64", + "description": "ARISTA01T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet65": { + "index": "17", + "lanes": "65", + "description": "ARISTA02T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet66": { + "index": "17", + "lanes": "66", + "description": "ARISTA03T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17c", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet67": { + "index": "17", + "lanes": "67", + "description": "ARISTA04T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17d", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "18", + "lanes": "72,73", + "description": "etp19a", + "admin_status": "up", + "mtu": "9100", + "alias": "etp19a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "admin_status": "up", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "21", + "lanes": "80,81", + "description": "ARISTA05T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "21", + "lanes": "82,83", + "description": "ARISTA06T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "admin_status": "up", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "23", + "lanes": "88,89,90,91", + "description": "ARISTA07T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp23", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "24", + "lanes": "92,93,94,95", + "description": "ARISTA08T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet96": { + "index": "25", + "lanes": "96,97,98,99", + "description": "ARISTA09T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "26", + "lanes": "100,101,102,103", + "description": "ARISTA10T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "10000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "27", + "lanes": "104,105,106,107", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "25000", + "fec": "rs" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "28", + "lanes": "108,109,110,111", + "description": "ARISTA12T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet112": { + "index": "29", + "lanes": "112,113,114,115", + "description": "ARISTA13T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "50000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "30", + "lanes": "116,117,118,119", + "description": "ARISTA14T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "31", + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp31", + "pfc_asym": "off", + "speed": "200000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "32", + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "32", + "lanes": "128,129,130,131", + "description": "etp33", + "mtu": "9100", + "alias": "etp33", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "34", + "lanes": "136,137", + "description": "etp35a", + "mtu": "9100", + "alias": "etp35a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "36", + "lanes": "144,145,146,147", + "description": "etp37", + "mtu": "9100", + "alias": "etp37", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "38", + "lanes": "152,153", + "description": "etp39a", + "mtu": "9100", + "alias": "etp39a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "40", + "lanes": "160,161", + "description": "etp41a", + "mtu": "9100", + "alias": "etp41a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "42", + "lanes": "168,169", + "description": "etp43a", + "mtu": "9100", + "alias": "etp43a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "44", + "lanes": "176,177", + "description": "etp45a", + "mtu": "9100", + "alias": "etp45a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "46", + "lanes": "184,185", + "description": "etp47a", + "mtu": "9100", + "alias": "etp47a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "48", + "lanes": "192,193", + "description": "etp49a", + "mtu": "9100", + "alias": "etp49a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "50", + "lanes": "200,201", + "description": "etp51a", + "mtu": "9100", + "alias": "etp51a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "52", + "lanes": "208,209", + "description": "etp53a", + "mtu": "9100", + "alias": "etp53a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "54", + "lanes": "216,217", + "description": "etp55a", + "mtu": "9100", + "alias": "etp55a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "56", + "lanes": "224,225", + "description": "etp57a", + "mtu": "9100", + "alias": "etp57a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "58", + "lanes": "232,233", + "description": "etp59a", + "mtu": "9100", + "alias": "etp59a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "60", + "lanes": "240,241", + "description": "etp61a", + "mtu": "9100", + "alias": "etp61a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "62", + "lanes": "248,249", + "description": "etp63a", + "mtu": "9100", + "alias": "etp63a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_5" + } +} diff --git a/tests/db_migrator_input/config_db/acs-msn3700-t1-version_2_0_0.json b/tests/db_migrator_input/config_db/acs-msn3700-t1-version_2_0_0.json new file mode 100644 index 0000000000..4bc8045e4c --- /dev/null +++ b/tests/db_migrator_input/config_db/acs-msn3700-t1-version_2_0_0.json @@ -0,0 +1,1904 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet65|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet65|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet66|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet67|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet67|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet82|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet82|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "NULL" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet65|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet65|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet65|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet67|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet67|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet67|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet82|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet82|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet82|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet64": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet88": "40m", + "Ethernet116": "40m", + "Ethernet82": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet65": "40m", + "Ethernet28": "300m", + "Ethernet67": "40m", + "Ethernet66": "40m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet24": "300m" + }, + "DEFAULT_LOSSLESS_BUFFER_PARAMETER|AZURE": { + "default_dynamic_th": "0" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN3700", + "default_bgp_status": "up", + "type": "LeafRouter", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "dynamic", + "deployment_id": "1", + "docker_routing_config_mode": "separated", + "cloudtype": "None" + }, + "LOSSLESS_TRAFFIC_PATTERN|AZURE": { + "small_packet_percentage": "100", + "mtu": "1024" + }, + "PORT|Ethernet0": { + "index": "1", + "lanes": "0,1,2,3", + "description": "ARISTA01T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "10000", + "fec": "rs" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "ARISTA01T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1b", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "2", + "lanes": "4,5,6,7", + "description": "ARISTA01T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2", + "pfc_asym": "off", + "speed": "25000", + "fec": "rs" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "ARISTA03T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2b", + "admin_status": "up", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "3", + "lanes": "8,9,10,11", + "description": "ARISTA03T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3", + "pfc_asym": "off", + "speed": "50000", + "fec": "rs" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "ARISTA05T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "4", + "lanes": "12,13,14,15", + "description": "ARISTA03T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet16": { + "index": "5", + "lanes": "16,17,18,19", + "description": "ARISTA05T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "ARISTA09T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "6", + "lanes": "20,21,22,23", + "description": "ARISTA05T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6", + "pfc_asym": "off", + "speed": "200000", + "fec": "rs" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "ARISTA11T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "7", + "lanes": "24,25,26,27", + "description": "ARISTA07T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "ARISTA13T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "8", + "lanes": "28,29,30,31", + "description": "ARISTA07T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet32": { + "index": "9", + "lanes": "32,33,34,35", + "description": "ARISTA09T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "ARISTA15T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "10", + "lanes": "36,37,38,39", + "description": "ARISTA09T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "ARISTA02T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10b", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "11", + "lanes": "40,41,42,43", + "description": "ARISTA11T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "ARISTA04T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "12", + "lanes": "44,45,46,47", + "description": "ARISTA11T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet48": { + "index": "13", + "lanes": "48,49,50,51", + "description": "ARISTA13T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "ARISTA07T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "14", + "lanes": "52,53,54,55", + "description": "ARISTA13T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "ARISTA09T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "15", + "lanes": "56,57,58,59", + "description": "ARISTA15T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "16", + "lanes": "60,61,62,63", + "description": "ARISTA15T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet64": { + "index": "17", + "lanes": "64", + "description": "ARISTA01T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet65": { + "index": "17", + "lanes": "65", + "description": "ARISTA02T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet66": { + "index": "17", + "lanes": "66", + "description": "ARISTA03T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17c", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet67": { + "index": "17", + "lanes": "67", + "description": "ARISTA04T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17d", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "18", + "lanes": "72,73", + "description": "etp19a", + "admin_status": "up", + "mtu": "9100", + "alias": "etp19a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "admin_status": "up", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "21", + "lanes": "80,81", + "description": "ARISTA05T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "21", + "lanes": "82,83", + "description": "ARISTA06T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "admin_status": "up", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "23", + "lanes": "88,89,90,91", + "description": "ARISTA07T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp23", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "24", + "lanes": "92,93,94,95", + "description": "ARISTA08T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet96": { + "index": "25", + "lanes": "96,97,98,99", + "description": "ARISTA09T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "26", + "lanes": "100,101,102,103", + "description": "ARISTA10T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "10000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "27", + "lanes": "104,105,106,107", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "25000", + "fec": "rs" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "28", + "lanes": "108,109,110,111", + "description": "ARISTA12T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet112": { + "index": "29", + "lanes": "112,113,114,115", + "description": "ARISTA13T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "50000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "30", + "lanes": "116,117,118,119", + "description": "ARISTA14T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "31", + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp31", + "pfc_asym": "off", + "speed": "200000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "32", + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "32", + "lanes": "128,129,130,131", + "description": "etp33", + "mtu": "9100", + "alias": "etp33", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "34", + "lanes": "136,137", + "description": "etp35a", + "mtu": "9100", + "alias": "etp35a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "36", + "lanes": "144,145,146,147", + "description": "etp37", + "mtu": "9100", + "alias": "etp37", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "38", + "lanes": "152,153", + "description": "etp39a", + "mtu": "9100", + "alias": "etp39a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "40", + "lanes": "160,161", + "description": "etp41a", + "mtu": "9100", + "alias": "etp41a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "42", + "lanes": "168,169", + "description": "etp43a", + "mtu": "9100", + "alias": "etp43a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "44", + "lanes": "176,177", + "description": "etp45a", + "mtu": "9100", + "alias": "etp45a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "46", + "lanes": "184,185", + "description": "etp47a", + "mtu": "9100", + "alias": "etp47a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "48", + "lanes": "192,193", + "description": "etp49a", + "mtu": "9100", + "alias": "etp49a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "50", + "lanes": "200,201", + "description": "etp51a", + "mtu": "9100", + "alias": "etp51a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "52", + "lanes": "208,209", + "description": "etp53a", + "mtu": "9100", + "alias": "etp53a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "54", + "lanes": "216,217", + "description": "etp55a", + "mtu": "9100", + "alias": "etp55a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "56", + "lanes": "224,225", + "description": "etp57a", + "mtu": "9100", + "alias": "etp57a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "58", + "lanes": "232,233", + "description": "etp59a", + "mtu": "9100", + "alias": "etp59a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "60", + "lanes": "240,241", + "description": "etp61a", + "mtu": "9100", + "alias": "etp61a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "62", + "lanes": "248,249", + "description": "etp63a", + "mtu": "9100", + "alias": "etp63a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_0" + } +} diff --git a/tests/db_migrator_input/config_db/acs-msn3800-t0-version_1_0_5.json b/tests/db_migrator_input/config_db/acs-msn3800-t0-version_1_0_5.json new file mode 100644 index 0000000000..0f89a52089 --- /dev/null +++ b/tests/db_migrator_input/config_db/acs-msn3800-t0-version_1_0_5.json @@ -0,0 +1,1984 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet2|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet6|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet10|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet10|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet18|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet18|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet22|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet22|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet26|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet26|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet34|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet34|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet38|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet38|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet42|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet42|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet50|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet50|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet54|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet54|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet58|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet70|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet70|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet74|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet82|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet86|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet90|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet106|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet122|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet128|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet132|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet136|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet138|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet140|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet144|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet148|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet152|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet154|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet156|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet160|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet162|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet164|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet166|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet168|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet170|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet172|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet176|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet178|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet180|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet182|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet184|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet186|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet188|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet192|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet196|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet198|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet200|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet204|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet208|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet212|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet214|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet216|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet220|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet224|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet228|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet230|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet232|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet236|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet240|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet244|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet246|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet248|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet252|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13924352" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "13924352" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "13924352" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "34816", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "54272" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "38912", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "58368" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "41984", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "61440" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "45056", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "64512" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "50176", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "69632" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "56320", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "75776" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet2|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet2|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet6|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet10|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet18|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet22|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet26|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet34|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet38|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet42|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet50|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet54|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet70|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet54": "5m", + "Ethernet248": "5m", + "Ethernet246": "5m", + "Ethernet244": "5m", + "Ethernet240": "5m", + "Ethernet124": "5m", + "Ethernet122": "5m", + "Ethernet120": "5m", + "Ethernet128": "5m", + "Ethernet76": "5m", + "Ethernet74": "5m", + "Ethernet72": "5m", + "Ethernet70": "40m", + "Ethernet136": "5m", + "Ethernet132": "5m", + "Ethernet232": "5m", + "Ethernet230": "5m", + "Ethernet138": "5m", + "Ethernet236": "5m", + "Ethernet64": "40m", + "Ethernet66": "40m", + "Ethernet60": "5m", + "Ethernet68": "40m", + "Ethernet180": "5m", + "Ethernet182": "5m", + "Ethernet184": "5m", + "Ethernet186": "5m", + "Ethernet188": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet106": "5m", + "Ethernet58": "5m", + "Ethernet50": "5m", + "Ethernet52": "5m", + "Ethernet224": "5m", + "Ethernet56": "5m", + "Ethernet196": "5m", + "Ethernet192": "5m", + "Ethernet198": "5m", + "Ethernet116": "5m", + "Ethernet112": "5m", + "Ethernet48": "5m", + "Ethernet214": "5m", + "Ethernet216": "5m", + "Ethernet42": "5m", + "Ethernet40": "5m", + "Ethernet8": "5m", + "Ethernet2": "5m", + "Ethernet0": "5m", + "Ethernet6": "5m", + "Ethernet4": "5m", + "Ethernet200": "5m", + "Ethernet168": "5m", + "Ethernet204": "5m", + "Ethernet162": "5m", + "Ethernet208": "5m", + "Ethernet160": "5m", + "Ethernet166": "5m", + "Ethernet164": "5m", + "Ethernet38": "5m", + "Ethernet32": "5m", + "Ethernet36": "5m", + "Ethernet34": "5m", + "Ethernet178": "5m", + "Ethernet170": "5m", + "Ethernet172": "5m", + "Ethernet176": "5m", + "Ethernet28": "5m", + "Ethernet20": "5m", + "Ethernet22": "5m", + "Ethernet24": "5m", + "Ethernet26": "5m", + "Ethernet44": "5m", + "Ethernet212": "5m", + "Ethernet96": "5m", + "Ethernet90": "5m", + "Ethernet148": "5m", + "Ethernet92": "5m", + "Ethernet144": "5m", + "Ethernet140": "5m", + "Ethernet18": "5m", + "Ethernet16": "5m", + "Ethernet10": "5m", + "Ethernet12": "5m", + "Ethernet228": "5m", + "Ethernet88": "5m", + "Ethernet82": "5m", + "Ethernet80": "5m", + "Ethernet86": "5m", + "Ethernet84": "5m", + "Ethernet152": "5m", + "Ethernet156": "5m", + "Ethernet154": "5m", + "Ethernet220": "5m", + "Ethernet252": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN3800", + "default_bgp_status": "up", + "docker_routing_config_mode": "separated", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3800-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "cloudtype": "None", + "type": "ToRRouter", + "deployment_id": "1" + }, + "PORT|Ethernet0": { + "index": "0", + "lanes": "0,1", + "description": "etp1a", + "mtu": "9100", + "alias": "etp1a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "1", + "lanes": "4,5", + "description": "Servers1:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "Servers2:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2b", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9", + "description": "Servers3:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "Servers4:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "3", + "lanes": "12,13,14,15", + "description": "Servers5:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet16": { + "index": "4", + "lanes": "16,17", + "description": "Servers6:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "Servers7:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "5", + "lanes": "20,21", + "description": "Servers8:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "Servers9:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "6", + "lanes": "24,25", + "description": "Servers10:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "Servers11:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "7", + "lanes": "28,29,30,31", + "description": "Servers12:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet32": { + "index": "8", + "lanes": "32,33", + "description": "Servers13:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "Servers14:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "9", + "lanes": "36,37", + "description": "Servers15:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "Servers16:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "10", + "lanes": "40,41", + "description": "Servers17:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "Servers18:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "11", + "lanes": "44,45,46,47", + "description": "Servers19:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet48": { + "index": "12", + "lanes": "48,49", + "description": "Servers20:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "Servers21:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "13", + "lanes": "52,53", + "description": "Servers22:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "Servers23:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "14", + "lanes": "56,57", + "description": "etp15a", + "mtu": "9100", + "alias": "etp15a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "etp15b", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "15", + "lanes": "60,61,62,63", + "description": "etp16", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet64": { + "index": "16", + "lanes": "64,65", + "description": "ARISTA01T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet66": { + "index": "16", + "lanes": "66,67", + "description": "ARISTA02T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA03T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA04T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "18", + "lanes": "72,73", + "description": "etp19a", + "mtu": "9100", + "alias": "etp19a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "20", + "lanes": "80,81", + "description": "etp21a", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "20", + "lanes": "82,83", + "description": "etp21b", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "22", + "lanes": "88,89", + "description": "etp23a", + "mtu": "9100", + "alias": "etp23a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "23", + "lanes": "92,93,94,95", + "description": "etp24", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet96": { + "index": "24", + "lanes": "96,97,98,99", + "description": "etp25", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "25", + "lanes": "100,101,102,103", + "description": "etp26", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "26", + "lanes": "104,105", + "description": "etp27a", + "mtu": "9100", + "alias": "etp27a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "27", + "lanes": "108,109,110,111", + "description": "etp28", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet112": { + "index": "28", + "lanes": "112,113,114,115", + "description": "etp29", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "29", + "lanes": "116,117,118,119", + "description": "etp30", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "30", + "lanes": "120,121", + "description": "etp31a", + "mtu": "9100", + "alias": "etp31a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "31", + "lanes": "124,125,126,127", + "description": "etp32", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "32", + "lanes": "128,129,130,131", + "description": "etp33", + "mtu": "9100", + "alias": "etp33", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "34", + "lanes": "136,137", + "description": "etp35a", + "mtu": "9100", + "alias": "etp35a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "36", + "lanes": "144,145,146,147", + "description": "etp37", + "mtu": "9100", + "alias": "etp37", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "38", + "lanes": "152,153", + "description": "etp39a", + "mtu": "9100", + "alias": "etp39a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "40", + "lanes": "160,161", + "description": "etp41a", + "mtu": "9100", + "alias": "etp41a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "42", + "lanes": "168,169", + "description": "etp43a", + "mtu": "9100", + "alias": "etp43a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "44", + "lanes": "176,177", + "description": "etp45a", + "mtu": "9100", + "alias": "etp45a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "46", + "lanes": "184,185", + "description": "etp47a", + "mtu": "9100", + "alias": "etp47a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "48", + "lanes": "192,193", + "description": "etp49a", + "mtu": "9100", + "alias": "etp49a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "50", + "lanes": "200,201", + "description": "etp51a", + "mtu": "9100", + "alias": "etp51a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "52", + "lanes": "208,209", + "description": "etp53a", + "mtu": "9100", + "alias": "etp53a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "54", + "lanes": "216,217", + "description": "etp55a", + "mtu": "9100", + "alias": "etp55a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "56", + "lanes": "224,225", + "description": "etp57a", + "mtu": "9100", + "alias": "etp57a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "58", + "lanes": "232,233", + "description": "etp59a", + "mtu": "9100", + "alias": "etp59a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "60", + "lanes": "240,241", + "description": "etp61a", + "mtu": "9100", + "alias": "etp61a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "62", + "lanes": "248,249", + "description": "etp63a", + "mtu": "9100", + "alias": "etp63a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_5" + } +} diff --git a/tests/db_migrator_input/config_db/acs-msn3800-t0-version_2_0_0.json b/tests/db_migrator_input/config_db/acs-msn3800-t0-version_2_0_0.json new file mode 100644 index 0000000000..140c6b1665 --- /dev/null +++ b/tests/db_migrator_input/config_db/acs-msn3800-t0-version_2_0_0.json @@ -0,0 +1,1975 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet2|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet2|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet6|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet6|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet10|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet10|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet18|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet18|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet22|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet22|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet26|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet26|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet34|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet34|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet38|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet38|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet42|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet42|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet50|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet50|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet54|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet54|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet58|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet66|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet70|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet70|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet74|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet82|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet86|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet90|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet106|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet122|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet128|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet132|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet136|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet138|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet140|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet144|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet148|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet152|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet154|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet156|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet160|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet162|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet164|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet166|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet168|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet170|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet172|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet176|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet178|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet180|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet182|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet184|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet186|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet188|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet192|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet196|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet198|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet200|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet204|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet208|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet212|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet214|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet216|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet220|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet224|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet228|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet230|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet232|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet236|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet240|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet244|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet246|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet248|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet252|3-4": { + "profile": "NULL" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet2|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet2|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet6|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet10|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet18|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet22|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet26|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet34|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet38|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet42|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet50|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet54|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet70|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet54": "5m", + "Ethernet248": "5m", + "Ethernet246": "5m", + "Ethernet244": "5m", + "Ethernet240": "5m", + "Ethernet124": "5m", + "Ethernet122": "5m", + "Ethernet120": "5m", + "Ethernet128": "5m", + "Ethernet76": "5m", + "Ethernet74": "5m", + "Ethernet72": "5m", + "Ethernet70": "40m", + "Ethernet136": "5m", + "Ethernet132": "5m", + "Ethernet232": "5m", + "Ethernet230": "5m", + "Ethernet138": "5m", + "Ethernet236": "5m", + "Ethernet64": "40m", + "Ethernet66": "40m", + "Ethernet60": "5m", + "Ethernet68": "40m", + "Ethernet180": "5m", + "Ethernet182": "5m", + "Ethernet184": "5m", + "Ethernet186": "5m", + "Ethernet188": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet106": "5m", + "Ethernet58": "5m", + "Ethernet50": "5m", + "Ethernet52": "5m", + "Ethernet224": "5m", + "Ethernet56": "5m", + "Ethernet196": "5m", + "Ethernet192": "5m", + "Ethernet198": "5m", + "Ethernet116": "5m", + "Ethernet112": "5m", + "Ethernet48": "5m", + "Ethernet214": "5m", + "Ethernet216": "5m", + "Ethernet42": "5m", + "Ethernet40": "5m", + "Ethernet8": "5m", + "Ethernet2": "5m", + "Ethernet0": "5m", + "Ethernet6": "5m", + "Ethernet4": "5m", + "Ethernet200": "5m", + "Ethernet168": "5m", + "Ethernet204": "5m", + "Ethernet162": "5m", + "Ethernet208": "5m", + "Ethernet160": "5m", + "Ethernet166": "5m", + "Ethernet164": "5m", + "Ethernet38": "5m", + "Ethernet32": "5m", + "Ethernet36": "5m", + "Ethernet34": "5m", + "Ethernet178": "5m", + "Ethernet170": "5m", + "Ethernet172": "5m", + "Ethernet176": "5m", + "Ethernet28": "5m", + "Ethernet20": "5m", + "Ethernet22": "5m", + "Ethernet24": "5m", + "Ethernet26": "5m", + "Ethernet44": "5m", + "Ethernet212": "5m", + "Ethernet96": "5m", + "Ethernet90": "5m", + "Ethernet148": "5m", + "Ethernet92": "5m", + "Ethernet144": "5m", + "Ethernet140": "5m", + "Ethernet18": "5m", + "Ethernet16": "5m", + "Ethernet10": "5m", + "Ethernet12": "5m", + "Ethernet228": "5m", + "Ethernet88": "5m", + "Ethernet82": "5m", + "Ethernet80": "5m", + "Ethernet86": "5m", + "Ethernet84": "5m", + "Ethernet152": "5m", + "Ethernet156": "5m", + "Ethernet154": "5m", + "Ethernet220": "5m", + "Ethernet252": "5m" + }, + "DEFAULT_LOSSLESS_BUFFER_PARAMETER|AZURE": { + "default_dynamic_th": "0" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN3800", + "default_bgp_status": "up", + "docker_routing_config_mode": "separated", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3800-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "dynamic", + "cloudtype": "None", + "type": "ToRRouter", + "deployment_id": "1" + }, + "LOSSLESS_TRAFFIC_PATTERN|AZURE": { + "small_packet_percentage": "100", + "mtu": "1024" + }, + "PORT|Ethernet0": { + "index": "0", + "lanes": "0,1", + "description": "etp1a", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "1", + "lanes": "4,5", + "description": "Servers1:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "Servers2:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2b", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9", + "description": "Servers3:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "Servers4:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "3", + "lanes": "12,13,14,15", + "description": "Servers5:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet16": { + "index": "4", + "lanes": "16,17", + "description": "Servers6:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "Servers7:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "5", + "lanes": "20,21", + "description": "Servers8:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "Servers9:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "6", + "lanes": "24,25", + "description": "Servers10:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "Servers11:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "7", + "lanes": "28,29,30,31", + "description": "Servers12:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet32": { + "index": "8", + "lanes": "32,33", + "description": "Servers13:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "Servers14:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "9", + "lanes": "36,37", + "description": "Servers15:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "Servers16:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "10", + "lanes": "40,41", + "description": "Servers17:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "Servers18:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "11", + "lanes": "44,45,46,47", + "description": "Servers19:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet48": { + "index": "12", + "lanes": "48,49", + "description": "Servers20:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "Servers21:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "13", + "lanes": "52,53", + "description": "Servers22:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "Servers23:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "14", + "lanes": "56,57", + "description": "etp15a", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "etp15b", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "15", + "lanes": "60,61,62,63", + "description": "etp16", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet64": { + "index": "16", + "lanes": "64,65", + "description": "ARISTA01T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet66": { + "index": "16", + "lanes": "66,67", + "description": "ARISTA02T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA03T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA04T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "18", + "lanes": "72,73", + "description": "etp19a", + "mtu": "9100", + "alias": "etp19a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "20", + "lanes": "80,81", + "description": "etp21a", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "20", + "lanes": "82,83", + "description": "etp21b", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "22", + "lanes": "88,89", + "description": "etp23a", + "mtu": "9100", + "alias": "etp23a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "23", + "lanes": "92,93,94,95", + "description": "etp24", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet96": { + "index": "24", + "lanes": "96,97,98,99", + "description": "etp25", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "25", + "lanes": "100,101,102,103", + "description": "etp26", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "26", + "lanes": "104,105", + "description": "etp27a", + "mtu": "9100", + "alias": "etp27a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "27", + "lanes": "108,109,110,111", + "description": "etp28", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet112": { + "index": "28", + "lanes": "112,113,114,115", + "description": "etp29", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "29", + "lanes": "116,117,118,119", + "description": "etp30", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "30", + "lanes": "120,121", + "description": "etp31a", + "mtu": "9100", + "alias": "etp31a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "31", + "lanes": "124,125,126,127", + "description": "etp32", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "32", + "lanes": "128,129,130,131", + "description": "etp33", + "mtu": "9100", + "alias": "etp33", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "34", + "lanes": "136,137", + "description": "etp35a", + "mtu": "9100", + "alias": "etp35a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "36", + "lanes": "144,145,146,147", + "description": "etp37", + "mtu": "9100", + "alias": "etp37", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "38", + "lanes": "152,153", + "description": "etp39a", + "mtu": "9100", + "alias": "etp39a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "40", + "lanes": "160,161", + "description": "etp41a", + "mtu": "9100", + "alias": "etp41a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "42", + "lanes": "168,169", + "description": "etp43a", + "mtu": "9100", + "alias": "etp43a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "44", + "lanes": "176,177", + "description": "etp45a", + "mtu": "9100", + "alias": "etp45a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "46", + "lanes": "184,185", + "description": "etp47a", + "mtu": "9100", + "alias": "etp47a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "48", + "lanes": "192,193", + "description": "etp49a", + "mtu": "9100", + "alias": "etp49a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "50", + "lanes": "200,201", + "description": "etp51a", + "mtu": "9100", + "alias": "etp51a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "52", + "lanes": "208,209", + "description": "etp53a", + "mtu": "9100", + "alias": "etp53a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "54", + "lanes": "216,217", + "description": "etp55a", + "mtu": "9100", + "alias": "etp55a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "56", + "lanes": "224,225", + "description": "etp57a", + "mtu": "9100", + "alias": "etp57a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "58", + "lanes": "232,233", + "description": "etp59a", + "mtu": "9100", + "alias": "etp59a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "60", + "lanes": "240,241", + "description": "etp61a", + "mtu": "9100", + "alias": "etp61a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "62", + "lanes": "248,249", + "description": "etp63a", + "mtu": "9100", + "alias": "etp63a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_0" + } +} diff --git a/tests/db_migrator_input/config_db/acs-msn3800-t1-version_1_0_5.json b/tests/db_migrator_input/config_db/acs-msn3800-t1-version_1_0_5.json new file mode 100644 index 0000000000..47544be5b4 --- /dev/null +++ b/tests/db_migrator_input/config_db/acs-msn3800-t1-version_1_0_5.json @@ -0,0 +1,2102 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet2|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet6|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet10|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet10|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet18|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet18|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet22|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet22|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet26|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet26|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet34|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet34|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet38|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet38|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet42|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet42|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet50|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet50|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet54|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet54|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet58|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet58|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet70|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet70|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet74|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet82|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet86|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet90|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet106|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet122|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet128|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet132|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet136|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet138|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet140|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet144|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet148|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet152|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet154|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet156|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet160|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet162|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet164|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet166|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet168|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet170|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet172|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet176|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet178|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet180|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet182|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet184|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet186|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet188|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet192|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet196|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet198|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet200|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet204|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet208|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet212|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet214|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet216|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet220|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet224|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet228|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet230|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet232|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet236|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet240|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet244|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet246|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet248|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet252|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "12457984" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "12457984" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "12457984" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "35840", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "55296" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "44032", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "63488" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "40960", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "60416" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "59392", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "78848" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "46080", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "65536" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "75776", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "95232" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "45056", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "64512" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "50176", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "69632" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "87040", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "106496" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "56320", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "75776" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "66560", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "86016" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "140288", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "159744" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet2|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet2|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet6|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet10|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet18|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet22|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet26|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet34|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet38|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet42|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet50|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet54|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet58|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet58|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet58|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet70|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet54": "40m", + "Ethernet248": "5m", + "Ethernet246": "5m", + "Ethernet244": "5m", + "Ethernet240": "5m", + "Ethernet124": "5m", + "Ethernet122": "5m", + "Ethernet120": "5m", + "Ethernet128": "5m", + "Ethernet76": "5m", + "Ethernet74": "5m", + "Ethernet72": "5m", + "Ethernet70": "40m", + "Ethernet136": "5m", + "Ethernet132": "5m", + "Ethernet232": "5m", + "Ethernet230": "5m", + "Ethernet138": "5m", + "Ethernet236": "5m", + "Ethernet64": "40m", + "Ethernet66": "40m", + "Ethernet60": "40m", + "Ethernet68": "40m", + "Ethernet180": "5m", + "Ethernet182": "5m", + "Ethernet184": "5m", + "Ethernet186": "5m", + "Ethernet188": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet106": "5m", + "Ethernet58": "40m", + "Ethernet50": "40m", + "Ethernet52": "40m", + "Ethernet224": "5m", + "Ethernet56": "40m", + "Ethernet196": "5m", + "Ethernet192": "5m", + "Ethernet198": "5m", + "Ethernet116": "5m", + "Ethernet112": "5m", + "Ethernet48": "40m", + "Ethernet214": "5m", + "Ethernet216": "5m", + "Ethernet42": "40m", + "Ethernet40": "40m", + "Ethernet8": "300m", + "Ethernet2": "300m", + "Ethernet0": "300m", + "Ethernet6": "300m", + "Ethernet4": "300m", + "Ethernet200": "5m", + "Ethernet168": "5m", + "Ethernet204": "5m", + "Ethernet162": "5m", + "Ethernet208": "5m", + "Ethernet160": "5m", + "Ethernet166": "5m", + "Ethernet164": "5m", + "Ethernet38": "40m", + "Ethernet32": "300m", + "Ethernet36": "40m", + "Ethernet34": "300m", + "Ethernet178": "5m", + "Ethernet170": "5m", + "Ethernet172": "5m", + "Ethernet176": "5m", + "Ethernet28": "300m", + "Ethernet20": "300m", + "Ethernet22": "300m", + "Ethernet24": "300m", + "Ethernet26": "300m", + "Ethernet44": "40m", + "Ethernet212": "5m", + "Ethernet96": "5m", + "Ethernet90": "5m", + "Ethernet148": "5m", + "Ethernet92": "5m", + "Ethernet144": "5m", + "Ethernet140": "5m", + "Ethernet18": "300m", + "Ethernet16": "300m", + "Ethernet10": "300m", + "Ethernet12": "300m", + "Ethernet228": "5m", + "Ethernet88": "5m", + "Ethernet82": "5m", + "Ethernet80": "5m", + "Ethernet86": "5m", + "Ethernet84": "5m", + "Ethernet152": "5m", + "Ethernet156": "5m", + "Ethernet154": "5m", + "Ethernet220": "5m", + "Ethernet252": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN3800", + "default_bgp_status": "up", + "docker_routing_config_mode": "separated", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3800-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "cloudtype": "None", + "type": "LeafRouter", + "deployment_id": "1" + }, + "PORT|Ethernet0": { + "index": "0", + "lanes": "0,1", + "description": "ARISTA01T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "ARISTA01T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "1", + "lanes": "4,5", + "description": "ARISTA03T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "ARISTA03T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2b", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9", + "description": "ARISTA05T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "ARISTA05T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "3", + "lanes": "12,13,14,15", + "description": "ARISTA07T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet16": { + "index": "4", + "lanes": "16,17", + "description": "ARISTA07T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "ARISTA09T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "5", + "lanes": "20,21", + "description": "ARISTA09T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "ARISTA11T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "6", + "lanes": "24,25", + "description": "ARISTA11T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "ARISTA13T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "7", + "lanes": "28,29,30,31", + "description": "ARISTA13T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet32": { + "index": "8", + "lanes": "32,33", + "description": "ARISTA15T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "ARISTA15T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "9", + "lanes": "36,37", + "description": "ARISTA01T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "ARISTA02T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "10", + "lanes": "40,41", + "description": "ARISTA03T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11a", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "ARISTA04T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "11", + "lanes": "44,45,46,47", + "description": "ARISTA05T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet48": { + "index": "12", + "lanes": "48,49", + "description": "ARISTA06T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "ARISTA07T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "13", + "lanes": "52,53", + "description": "ARISTA08T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "ARISTA09T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "14", + "lanes": "56,57", + "description": "ARISTA10T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "15", + "lanes": "60,61,62,63", + "description": "ARISTA12T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet64": { + "index": "16", + "lanes": "64,65", + "description": "ARISTA13T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet66": { + "index": "16", + "lanes": "66,67", + "description": "ARISTA14T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA16T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "18", + "lanes": "72,73", + "description": "etp19a", + "mtu": "9100", + "alias": "etp19a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "20", + "lanes": "80,81", + "description": "etp21a", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "20", + "lanes": "82,83", + "description": "etp21b", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "22", + "lanes": "88,89", + "description": "etp23a", + "mtu": "9100", + "alias": "etp23a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "23", + "lanes": "92,93,94,95", + "description": "etp24", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet96": { + "index": "24", + "lanes": "96,97,98,99", + "description": "etp25", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "25", + "lanes": "100,101,102,103", + "description": "etp26", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "26", + "lanes": "104,105", + "description": "etp27a", + "mtu": "9100", + "alias": "etp27a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "27", + "lanes": "108,109,110,111", + "description": "etp28", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet112": { + "index": "28", + "lanes": "112,113,114,115", + "description": "etp29", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "29", + "lanes": "116,117,118,119", + "description": "etp30", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "30", + "lanes": "120,121", + "description": "etp31a", + "mtu": "9100", + "alias": "etp31a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "31", + "lanes": "124,125,126,127", + "description": "etp32", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "32", + "lanes": "128,129,130,131", + "description": "etp33", + "mtu": "9100", + "alias": "etp33", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "34", + "lanes": "136,137", + "description": "etp35a", + "mtu": "9100", + "alias": "etp35a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "36", + "lanes": "144,145,146,147", + "description": "etp37", + "mtu": "9100", + "alias": "etp37", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "38", + "lanes": "152,153", + "description": "etp39a", + "mtu": "9100", + "alias": "etp39a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "40", + "lanes": "160,161", + "description": "etp41a", + "mtu": "9100", + "alias": "etp41a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "42", + "lanes": "168,169", + "description": "etp43a", + "mtu": "9100", + "alias": "etp43a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "44", + "lanes": "176,177", + "description": "etp45a", + "mtu": "9100", + "alias": "etp45a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "46", + "lanes": "184,185", + "description": "etp47a", + "mtu": "9100", + "alias": "etp47a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "48", + "lanes": "192,193", + "description": "etp49a", + "mtu": "9100", + "alias": "etp49a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "50", + "lanes": "200,201", + "description": "etp51a", + "mtu": "9100", + "alias": "etp51a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "52", + "lanes": "208,209", + "description": "etp53a", + "mtu": "9100", + "alias": "etp53a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "54", + "lanes": "216,217", + "description": "etp55a", + "mtu": "9100", + "alias": "etp55a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "56", + "lanes": "224,225", + "description": "etp57a", + "mtu": "9100", + "alias": "etp57a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "58", + "lanes": "232,233", + "description": "etp59a", + "mtu": "9100", + "alias": "etp59a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "60", + "lanes": "240,241", + "description": "etp61a", + "mtu": "9100", + "alias": "etp61a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "62", + "lanes": "248,249", + "description": "etp63a", + "mtu": "9100", + "alias": "etp63a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_5" + } +} diff --git a/tests/db_migrator_input/config_db/acs-msn3800-t1-version_2_0_0.json b/tests/db_migrator_input/config_db/acs-msn3800-t1-version_2_0_0.json new file mode 100644 index 0000000000..938b9fc6c9 --- /dev/null +++ b/tests/db_migrator_input/config_db/acs-msn3800-t1-version_2_0_0.json @@ -0,0 +1,2023 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet2|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet2|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet6|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet6|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet10|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet10|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet18|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet18|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet22|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet22|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet26|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet26|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet34|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet34|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet38|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet38|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet42|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet42|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet50|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet50|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet54|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet54|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet58|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet58|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet66|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet70|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet70|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet74|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet82|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet86|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet90|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet106|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet122|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet128|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet132|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet136|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet138|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet140|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet144|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet148|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet152|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet154|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet156|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet160|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet162|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet164|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet166|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet168|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet170|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet172|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet176|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet178|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet180|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet182|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet184|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet186|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet188|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet192|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet196|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet198|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet200|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet204|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet208|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet212|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet214|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet216|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet220|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet224|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet228|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet230|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet232|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet236|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet240|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet244|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet246|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet248|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet252|3-4": { + "profile": "NULL" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet2|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet2|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet6|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet10|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet18|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet22|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet26|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet34|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet38|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet42|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet50|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet54|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet58|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet58|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet58|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet70|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet54": "40m", + "Ethernet248": "5m", + "Ethernet246": "5m", + "Ethernet244": "5m", + "Ethernet240": "5m", + "Ethernet124": "5m", + "Ethernet122": "5m", + "Ethernet120": "5m", + "Ethernet128": "5m", + "Ethernet76": "5m", + "Ethernet74": "5m", + "Ethernet72": "5m", + "Ethernet70": "40m", + "Ethernet136": "5m", + "Ethernet132": "5m", + "Ethernet232": "5m", + "Ethernet230": "5m", + "Ethernet138": "5m", + "Ethernet236": "5m", + "Ethernet64": "40m", + "Ethernet66": "40m", + "Ethernet60": "40m", + "Ethernet68": "40m", + "Ethernet180": "5m", + "Ethernet182": "5m", + "Ethernet184": "5m", + "Ethernet186": "5m", + "Ethernet188": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet106": "5m", + "Ethernet58": "40m", + "Ethernet50": "40m", + "Ethernet52": "40m", + "Ethernet224": "5m", + "Ethernet56": "40m", + "Ethernet196": "5m", + "Ethernet192": "5m", + "Ethernet198": "5m", + "Ethernet116": "5m", + "Ethernet112": "5m", + "Ethernet48": "40m", + "Ethernet214": "5m", + "Ethernet216": "5m", + "Ethernet42": "40m", + "Ethernet40": "40m", + "Ethernet8": "300m", + "Ethernet2": "300m", + "Ethernet0": "300m", + "Ethernet6": "300m", + "Ethernet4": "300m", + "Ethernet200": "5m", + "Ethernet168": "5m", + "Ethernet204": "5m", + "Ethernet162": "5m", + "Ethernet208": "5m", + "Ethernet160": "5m", + "Ethernet166": "5m", + "Ethernet164": "5m", + "Ethernet38": "40m", + "Ethernet32": "300m", + "Ethernet36": "40m", + "Ethernet34": "300m", + "Ethernet178": "5m", + "Ethernet170": "5m", + "Ethernet172": "5m", + "Ethernet176": "5m", + "Ethernet28": "300m", + "Ethernet20": "300m", + "Ethernet22": "300m", + "Ethernet24": "300m", + "Ethernet26": "300m", + "Ethernet44": "40m", + "Ethernet212": "5m", + "Ethernet96": "5m", + "Ethernet90": "5m", + "Ethernet148": "5m", + "Ethernet92": "5m", + "Ethernet144": "5m", + "Ethernet140": "5m", + "Ethernet18": "300m", + "Ethernet16": "300m", + "Ethernet10": "300m", + "Ethernet12": "300m", + "Ethernet228": "5m", + "Ethernet88": "5m", + "Ethernet82": "5m", + "Ethernet80": "5m", + "Ethernet86": "5m", + "Ethernet84": "5m", + "Ethernet152": "5m", + "Ethernet156": "5m", + "Ethernet154": "5m", + "Ethernet220": "5m", + "Ethernet252": "5m" + }, + "DEFAULT_LOSSLESS_BUFFER_PARAMETER|AZURE": { + "default_dynamic_th": "0" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN3800", + "default_bgp_status": "up", + "docker_routing_config_mode": "separated", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3800-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "dynamic", + "cloudtype": "None", + "type": "LeafRouter", + "deployment_id": "1" + }, + "LOSSLESS_TRAFFIC_PATTERN|AZURE": { + "small_packet_percentage": "100", + "mtu": "1024" + }, + "PORT|Ethernet0": { + "index": "0", + "lanes": "0,1", + "description": "ARISTA01T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "ARISTA01T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "1", + "lanes": "4,5", + "description": "ARISTA03T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "ARISTA03T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2b", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9", + "description": "ARISTA05T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "ARISTA05T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "3", + "lanes": "12,13,14,15", + "description": "ARISTA07T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet16": { + "index": "4", + "lanes": "16,17", + "description": "ARISTA07T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "ARISTA09T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "5", + "lanes": "20,21", + "description": "ARISTA09T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "ARISTA11T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "6", + "lanes": "24,25", + "description": "ARISTA11T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "ARISTA13T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "7", + "lanes": "28,29,30,31", + "description": "ARISTA13T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet32": { + "index": "8", + "lanes": "32,33", + "description": "ARISTA15T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "ARISTA15T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "9", + "lanes": "36,37", + "description": "ARISTA01T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "ARISTA02T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "10", + "lanes": "40,41", + "description": "ARISTA03T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11a", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "ARISTA04T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "11", + "lanes": "44,45,46,47", + "description": "ARISTA05T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet48": { + "index": "12", + "lanes": "48,49", + "description": "ARISTA06T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "ARISTA07T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "13", + "lanes": "52,53", + "description": "ARISTA08T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "ARISTA09T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "14", + "lanes": "56,57", + "description": "ARISTA10T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "15", + "lanes": "60,61,62,63", + "description": "ARISTA12T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet64": { + "index": "16", + "lanes": "64,65", + "description": "ARISTA13T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet66": { + "index": "16", + "lanes": "66,67", + "description": "ARISTA14T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA16T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "18", + "lanes": "72,73", + "description": "etp19a", + "mtu": "9100", + "alias": "etp19a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "20", + "lanes": "80,81", + "description": "etp21a", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "20", + "lanes": "82,83", + "description": "etp21b", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "22", + "lanes": "88,89", + "description": "etp23a", + "mtu": "9100", + "alias": "etp23a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "23", + "lanes": "92,93,94,95", + "description": "etp24", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet96": { + "index": "24", + "lanes": "96,97,98,99", + "description": "etp25", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "25", + "lanes": "100,101,102,103", + "description": "etp26", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "26", + "lanes": "104,105", + "description": "etp27a", + "mtu": "9100", + "alias": "etp27a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "27", + "lanes": "108,109,110,111", + "description": "etp28", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet112": { + "index": "28", + "lanes": "112,113,114,115", + "description": "etp29", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "29", + "lanes": "116,117,118,119", + "description": "etp30", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "30", + "lanes": "120,121", + "description": "etp31a", + "mtu": "9100", + "alias": "etp31a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "31", + "lanes": "124,125,126,127", + "description": "etp32", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "32", + "lanes": "128,129,130,131", + "description": "etp33", + "mtu": "9100", + "alias": "etp33", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "34", + "lanes": "136,137", + "description": "etp35a", + "mtu": "9100", + "alias": "etp35a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "36", + "lanes": "144,145,146,147", + "description": "etp37", + "mtu": "9100", + "alias": "etp37", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "38", + "lanes": "152,153", + "description": "etp39a", + "mtu": "9100", + "alias": "etp39a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "40", + "lanes": "160,161", + "description": "etp41a", + "mtu": "9100", + "alias": "etp41a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "42", + "lanes": "168,169", + "description": "etp43a", + "mtu": "9100", + "alias": "etp43a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "44", + "lanes": "176,177", + "description": "etp45a", + "mtu": "9100", + "alias": "etp45a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "46", + "lanes": "184,185", + "description": "etp47a", + "mtu": "9100", + "alias": "etp47a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "48", + "lanes": "192,193", + "description": "etp49a", + "mtu": "9100", + "alias": "etp49a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "50", + "lanes": "200,201", + "description": "etp51a", + "mtu": "9100", + "alias": "etp51a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "52", + "lanes": "208,209", + "description": "etp53a", + "mtu": "9100", + "alias": "etp53a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "54", + "lanes": "216,217", + "description": "etp55a", + "mtu": "9100", + "alias": "etp55a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "56", + "lanes": "224,225", + "description": "etp57a", + "mtu": "9100", + "alias": "etp57a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "58", + "lanes": "232,233", + "description": "etp59a", + "mtu": "9100", + "alias": "etp59a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "60", + "lanes": "240,241", + "description": "etp61a", + "mtu": "9100", + "alias": "etp61a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "62", + "lanes": "248,249", + "description": "etp63a", + "mtu": "9100", + "alias": "etp63a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_0" + } +} diff --git a/tests/db_migrator_input/config_db/acs-msn4700-t0-version_1_0_4.json b/tests/db_migrator_input/config_db/acs-msn4700-t0-version_1_0_4.json new file mode 100644 index 0000000000..1d6df466ca --- /dev/null +++ b/tests/db_migrator_input/config_db/acs-msn4700-t0-version_1_0_4.json @@ -0,0 +1,1079 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_200000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet128|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet128|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet136|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet136|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet144|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet144|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet152|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet152|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet160|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet160|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet168|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet168|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet176|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet176|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet184|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet184|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet192|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet192|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet200|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet208|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet216|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet224|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet224|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_40m_profile]" + }, + "BUFFER_PG|Ethernet232|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet232|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_40m_profile]" + }, + "BUFFER_PG|Ethernet240|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet240|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet248|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet248|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "60817392" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "26451968" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "26451968" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "26451968" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet128": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet136": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet144": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet152": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet160": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet168": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet176": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet184": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet192": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet224": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet232": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet240": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet248": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet128": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet136": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet144": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet152": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet160": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet168": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet176": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet184": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet192": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet224": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet232": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet240": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet248": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "32768", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "52224" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "32768", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "52224" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "44032", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "63488" + }, + "BUFFER_PROFILE|pg_lossless_200000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "35840", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "55296" + }, + "BUFFER_PROFILE|pg_lossless_400000_5m_profile": { + "xon": "37888", + "dynamic_th": "0", + "xoff": "38912", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "86016" + }, + "BUFFER_PROFILE|pg_lossless_400000_40m_profile": { + "xon": "37888", + "dynamic_th": "0", + "xoff": "77824", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "124928" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet128|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet128|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet128|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet136|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet136|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet136|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet144|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet144|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet144|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet152|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet152|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet152|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet160|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet160|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet160|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet168|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet168|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet168|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet176|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet176|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet176|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet184|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet184|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet184|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet192|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet192|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet192|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet224|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet224|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet224|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet232|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet232|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet232|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet240|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet240|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet240|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet248|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet248|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet248|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet184": "5m", + "Ethernet0": "5m", + "Ethernet248": "40m", + "Ethernet104": "5m", + "Ethernet240": "40m", + "Ethernet200": "5m", + "Ethernet168": "5m", + "Ethernet120": "5m", + "Ethernet144": "5m", + "Ethernet208": "5m", + "Ethernet160": "5m", + "Ethernet224": "40m", + "Ethernet56": "5m", + "Ethernet128": "5m", + "Ethernet72": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet192": "5m", + "Ethernet96": "5m", + "Ethernet88": "5m", + "Ethernet80": "5m", + "Ethernet112": "5m", + "Ethernet152": "5m", + "Ethernet136": "5m", + "Ethernet48": "5m", + "Ethernet232": "40m", + "Ethernet216": "5m", + "Ethernet176": "5m", + "Ethernet40": "5m", + "Ethernet64": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN4700", + "default_bgp_status": "up", + "type": "ToRRouter", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn4700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "cloudtype": "None", + "docker_routing_config_mode": "separated", + "deployment_id": "1" + }, + "PORT|Ethernet0": { + "index": "1", + "lanes": "0,1,2,3,4,5,6,7", + "description": "etp1", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "10000" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9,10,11,12,13,14,15", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet16": { + "index": "3", + "lanes": "16,17,18,19,20,21,22,23", + "description": "Servers1:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3", + "pfc_asym": "off", + "speed": "50000" + }, + "PORT|Ethernet24": { + "index": "4", + "lanes": "24,25,26,27,28,29,30,31", + "description": "Servers2:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "40000" + }, + "PORT|Ethernet32": { + "index": "5", + "lanes": "32,33,34,35,36,37,38,39", + "description": "Servers3:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5", + "pfc_asym": "off", + "speed": "100000" + }, + "PORT|Ethernet40": { + "index": "6", + "lanes": "40,41,42,43,44,45,46,47", + "description": "Servers4:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6", + "pfc_asym": "off", + "speed": "200000" + }, + "PORT|Ethernet48": { + "index": "7", + "lanes": "48,49,50,51,52,53,54,55", + "description": "Servers5:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7", + "pfc_asym": "off", + "speed": "400000" + }, + "PORT|Ethernet56": { + "index": "8", + "lanes": "56,57,58,59,60,61,62,63", + "description": "Servers6:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "400000" + }, + "PORT|Ethernet64": { + "index": "9", + "lanes": "64,65,66,67,68,69,70,71", + "description": "Servers7:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9", + "pfc_asym": "off", + "speed": "400000" + }, + "PORT|Ethernet72": { + "index": "10", + "lanes": "72,73,74,75,76,77,78,79", + "description": "Servers8:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10", + "pfc_asym": "off", + "speed": "400000" + }, + "PORT|Ethernet80": { + "index": "11", + "lanes": "80,81,82,83,84,85,86,87", + "description": "Servers9:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11", + "pfc_asym": "off", + "speed": "400000" + }, + "PORT|Ethernet88": { + "index": "12", + "lanes": "88,89,90,91,92,93,94,95", + "description": "Servers10:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "400000" + }, + "PORT|Ethernet96": { + "index": "13", + "lanes": "96,97,98,99,100,101,102,103", + "description": "Servers11:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13", + "pfc_asym": "off", + "speed": "400000" + }, + "PORT|Ethernet104": { + "index": "14", + "lanes": "104,105,106,107,108,109,110,111", + "description": "Servers12:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14", + "pfc_asym": "off", + "speed": "400000" + }, + "PORT|Ethernet112": { + "index": "15", + "lanes": "112,113,114,115,116,117,118,119", + "description": "Servers13:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15", + "pfc_asym": "off", + "speed": "400000" + }, + "PORT|Ethernet120": { + "index": "16", + "lanes": "120,121,122,123,124,125,126,127", + "description": "Servers14:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "400000" + }, + "PORT|Ethernet128": { + "index": "17", + "lanes": "128,129,130,131,132,133,134,135", + "description": "Servers15:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17", + "pfc_asym": "off", + "speed": "400000" + }, + "PORT|Ethernet136": { + "index": "18", + "lanes": "136,137,138,139,140,141,142,143", + "description": "Servers16:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18", + "pfc_asym": "off", + "speed": "400000" + }, + "PORT|Ethernet144": { + "index": "19", + "lanes": "144,145,146,147,148,149,150,151", + "description": "Servers17:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp19", + "pfc_asym": "off", + "speed": "400000" + }, + "PORT|Ethernet152": { + "index": "20", + "lanes": "152,153,154,155,156,157,158,159", + "description": "Servers18:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "400000" + }, + "PORT|Ethernet160": { + "index": "21", + "lanes": "160,161,162,163,164,165,166,167", + "description": "Servers19:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21", + "pfc_asym": "off", + "speed": "400000" + }, + "PORT|Ethernet168": { + "index": "22", + "lanes": "168,169,170,171,172,173,174,175", + "description": "Servers20:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp22", + "pfc_asym": "off", + "speed": "400000" + }, + "PORT|Ethernet176": { + "index": "23", + "lanes": "176,177,178,179,180,181,182,183", + "description": "Servers21:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp23", + "pfc_asym": "off", + "speed": "400000" + }, + "PORT|Ethernet184": { + "index": "24", + "lanes": "184,185,186,187,188,189,190,191", + "description": "Servers22:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "400000" + }, + "PORT|Ethernet192": { + "index": "25", + "lanes": "192,193,194,195,196,197,198,199", + "description": "Servers23:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "400000" + }, + "PORT|Ethernet200": { + "index": "26", + "lanes": "200,201,202,203,204,205,206,207", + "description": "etp26", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "400000" + }, + "PORT|Ethernet208": { + "index": "27", + "lanes": "208,209,210,211,212,213,214,215", + "description": "etp27", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "400000" + }, + "PORT|Ethernet216": { + "index": "28", + "lanes": "216,217,218,219,220,221,222,223", + "description": "etp28", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "400000" + }, + "PORT|Ethernet224": { + "index": "29", + "lanes": "224,225,226,227,228,229,230,231", + "description": "ARISTA01T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "400000" + }, + "PORT|Ethernet232": { + "index": "30", + "lanes": "232,233,234,235,236,237,238,239", + "description": "ARISTA02T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "400000" + }, + "PORT|Ethernet240": { + "index": "31", + "lanes": "240,241,242,243,244,245,246,247", + "description": "ARISTA03T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp31", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet248": { + "index": "32", + "lanes": "248,249,250,251,252,253,254,255", + "description": "ARISTA04T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_4" + } +} diff --git a/tests/db_migrator_input/config_db/acs-msn4700-t0-version_1_0_5.json b/tests/db_migrator_input/config_db/acs-msn4700-t0-version_1_0_5.json new file mode 100644 index 0000000000..7e1b386749 --- /dev/null +++ b/tests/db_migrator_input/config_db/acs-msn4700-t0-version_1_0_5.json @@ -0,0 +1,2005 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_200000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet128|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet128|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet136|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet136|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet144|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet144|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet152|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet152|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet160|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet160|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet168|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet168|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet176|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet176|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet184|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet184|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet192|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet192|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet200|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet208|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet216|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet224|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet224|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_40m_profile]" + }, + "BUFFER_PG|Ethernet232|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet232|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_40m_profile]" + }, + "BUFFER_PG|Ethernet240|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet240|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet248|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet248|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "60817392" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "26451968" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "26451968" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "26451968" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet128": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet136": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet144": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet152": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet160": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet168": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet176": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet184": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet192": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet224": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet232": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet240": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet248": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet128": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet136": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet144": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet152": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet160": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet168": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet176": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet184": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet192": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet224": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet232": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet240": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet248": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "32768", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "52224" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "32768", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "52224" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "44032", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "63488" + }, + "BUFFER_PROFILE|pg_lossless_200000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "35840", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "55296" + }, + "BUFFER_PROFILE|pg_lossless_400000_5m_profile": { + "xon": "37888", + "dynamic_th": "0", + "xoff": "38912", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "86016" + }, + "BUFFER_PROFILE|pg_lossless_400000_40m_profile": { + "xon": "37888", + "dynamic_th": "0", + "xoff": "77824", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "124928" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet128|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet128|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet128|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet136|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet136|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet136|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet144|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet144|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet144|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet152|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet152|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet152|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet160|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet160|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet160|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet168|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet168|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet168|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet176|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet176|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet176|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet184|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet184|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet184|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet192|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet192|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet192|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet224|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet224|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet224|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet232|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet232|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet232|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet240|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet240|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet240|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet248|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet248|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet248|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet184": "5m", + "Ethernet0": "5m", + "Ethernet248": "40m", + "Ethernet104": "5m", + "Ethernet240": "40m", + "Ethernet200": "5m", + "Ethernet168": "5m", + "Ethernet120": "5m", + "Ethernet144": "5m", + "Ethernet208": "5m", + "Ethernet160": "5m", + "Ethernet224": "40m", + "Ethernet56": "5m", + "Ethernet128": "5m", + "Ethernet72": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet192": "5m", + "Ethernet96": "5m", + "Ethernet88": "5m", + "Ethernet80": "5m", + "Ethernet112": "5m", + "Ethernet152": "5m", + "Ethernet136": "5m", + "Ethernet48": "5m", + "Ethernet232": "40m", + "Ethernet216": "5m", + "Ethernet176": "5m", + "Ethernet40": "5m", + "Ethernet64": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN4700", + "default_bgp_status": "up", + "type": "ToRRouter", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn4700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "separated", + "cloudtype": "None" + }, + "PORT|Ethernet0": { + "index": "1", + "lanes": "0,1,2,3,4,5,6,7", + "description": "etp1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "10000", + "fec": "rs" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "ARISTA01T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1b", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "2", + "lanes": "4,5,6,7", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2", + "pfc_asym": "off", + "speed": "25000", + "fec": "rs" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "ARISTA03T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2b", + "admin_status": "up", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9,10,11,12,13,14,15", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2", + "pfc_asym": "off", + "speed": "25000", + "fec": "rs" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "ARISTA05T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "4", + "lanes": "12,13,14,15", + "description": "Servers2:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet16": { + "index": "3", + "lanes": "16,17,18,19,20,21,22,23", + "description": "Servers1:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3", + "pfc_asym": "off", + "speed": "50000", + "fec": "rs" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "ARISTA09T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "6", + "lanes": "20,21,22,23", + "description": "Servers4:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6", + "pfc_asym": "off", + "speed": "200000", + "fec": "rs" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "ARISTA11T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "4", + "lanes": "24,25,26,27,28,29,30,31", + "description": "Servers2:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "ARISTA13T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "8", + "lanes": "28,29,30,31", + "description": "Servers6:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet32": { + "index": "5", + "lanes": "32,33,34,35,36,37,38,39", + "description": "Servers3:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "ARISTA15T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "10", + "lanes": "36,37,38,39", + "description": "Servers8:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "ARISTA02T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10b", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "6", + "lanes": "40,41,42,43,44,45,46,47", + "description": "Servers4:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6", + "pfc_asym": "off", + "speed": "200000", + "fec": "rs" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "ARISTA04T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "12", + "lanes": "44,45,46,47", + "description": "Servers10:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet48": { + "index": "7", + "lanes": "48,49,50,51,52,53,54,55", + "description": "Servers5:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "ARISTA07T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "14", + "lanes": "52,53,54,55", + "description": "Servers12:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "ARISTA09T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "8", + "lanes": "56,57,58,59,60,61,62,63", + "description": "Servers6:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "16", + "lanes": "60,61,62,63", + "description": "Servers14:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet64": { + "index": "9", + "lanes": "64,65,66,67,68,69,70,71", + "description": "Servers7:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet65": { + "index": "17", + "lanes": "65", + "description": "Servers16:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet66": { + "index": "17", + "lanes": "66", + "description": "Servers17:eth0", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17c", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet67": { + "index": "17", + "lanes": "67", + "description": "Servers18:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17d", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "10", + "lanes": "72,73,74,75,76,77,78,79", + "description": "Servers8:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "admin_status": "up", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "11", + "lanes": "80,81,82,83,84,85,86,87", + "description": "Servers9:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "21", + "lanes": "82,83", + "description": "Servers20:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "admin_status": "up", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "12", + "lanes": "88,89,90,91,92,93,94,95", + "description": "Servers10:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "24", + "lanes": "92,93,94,95", + "description": "Servers22:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet96": { + "index": "13", + "lanes": "96,97,98,99,100,101,102,103", + "description": "Servers11:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "26", + "lanes": "100,101,102,103", + "description": "etp26", + "admin_status": "up", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "14", + "lanes": "104,105,106,107,108,109,110,111", + "description": "Servers12:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "28", + "lanes": "108,109,110,111", + "description": "etp28", + "admin_status": "up", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet112": { + "index": "15", + "lanes": "112,113,114,115,116,117,118,119", + "description": "Servers13:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "30", + "lanes": "116,117,118,119", + "description": "ARISTA02T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "16", + "lanes": "120,121,122,123,124,125,126,127", + "description": "Servers14:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "32", + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "17", + "lanes": "128,129,130,131,132,133,134,135", + "description": "Servers15:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "18", + "lanes": "136,137,138,139,140,141,142,143", + "description": "Servers16:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "19", + "lanes": "144,145,146,147,148,149,150,151", + "description": "Servers17:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp19", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "20", + "lanes": "152,153,154,155,156,157,158,159", + "description": "Servers18:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "21", + "lanes": "160,161,162,163,164,165,166,167", + "description": "Servers19:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "22", + "lanes": "168,169,170,171,172,173,174,175", + "description": "Servers20:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp22", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "23", + "lanes": "176,177,178,179,180,181,182,183", + "description": "Servers21:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp23", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "24", + "lanes": "184,185,186,187,188,189,190,191", + "description": "Servers22:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "25", + "lanes": "192,193,194,195,196,197,198,199", + "description": "Servers23:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "26", + "lanes": "200,201,202,203,204,205,206,207", + "description": "etp26", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "27", + "lanes": "208,209,210,211,212,213,214,215", + "description": "etp27", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "28", + "lanes": "216,217,218,219,220,221,222,223", + "description": "etp28", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "29", + "lanes": "224,225,226,227,228,229,230,231", + "description": "ARISTA01T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "30", + "lanes": "232,233,234,235,236,237,238,239", + "description": "ARISTA02T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "31", + "lanes": "240,241,242,243,244,245,246,247", + "description": "ARISTA03T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp31", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "32", + "lanes": "248,249,250,251,252,253,254,255", + "description": "ARISTA04T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_5" + } +} diff --git a/tests/db_migrator_input/config_db/acs-msn4700-t0-version_2_0_0.json b/tests/db_migrator_input/config_db/acs-msn4700-t0-version_2_0_0.json new file mode 100644 index 0000000000..abce079105 --- /dev/null +++ b/tests/db_migrator_input/config_db/acs-msn4700-t0-version_2_0_0.json @@ -0,0 +1,1947 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet128|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet128|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet136|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet136|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet144|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet144|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet152|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet152|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet160|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet160|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet168|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet168|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet176|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet176|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet184|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet184|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet192|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet192|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet200|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet208|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet216|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet224|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet224|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet232|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet232|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet240|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet240|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet248|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet248|3-4": { + "profile": "NULL" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "60817392" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet128": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet136": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet144": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet152": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet160": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet168": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet176": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet184": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet192": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet224": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet232": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet240": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet248": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet128": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet136": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet144": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet152": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet160": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet168": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet176": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet184": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet192": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet224": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet232": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet240": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet248": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet128|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet128|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet128|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet136|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet136|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet136|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet144|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet144|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet144|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet152|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet152|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet152|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet160|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet160|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet160|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet168|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet168|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet168|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet176|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet176|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet176|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet184|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet184|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet184|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet192|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet192|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet192|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet224|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet224|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet224|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet232|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet232|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet232|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet240|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet240|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet240|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet248|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet248|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet248|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet184": "5m", + "Ethernet0": "5m", + "Ethernet248": "40m", + "Ethernet104": "5m", + "Ethernet240": "40m", + "Ethernet200": "5m", + "Ethernet168": "5m", + "Ethernet120": "5m", + "Ethernet144": "5m", + "Ethernet208": "5m", + "Ethernet160": "5m", + "Ethernet224": "40m", + "Ethernet56": "5m", + "Ethernet128": "5m", + "Ethernet72": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet192": "5m", + "Ethernet96": "5m", + "Ethernet88": "5m", + "Ethernet80": "5m", + "Ethernet112": "5m", + "Ethernet152": "5m", + "Ethernet136": "5m", + "Ethernet48": "5m", + "Ethernet232": "40m", + "Ethernet216": "5m", + "Ethernet176": "5m", + "Ethernet40": "5m", + "Ethernet64": "5m", + "Ethernet24": "5m" + }, + "DEFAULT_LOSSLESS_BUFFER_PARAMETER|AZURE": { + "default_dynamic_th": "0" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN4700", + "default_bgp_status": "up", + "type": "ToRRouter", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn4700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "dynamic", + "deployment_id": "1", + "docker_routing_config_mode": "separated", + "cloudtype": "None" + }, + "LOSSLESS_TRAFFIC_PATTERN|AZURE": { + "small_packet_percentage": "100", + "mtu": "1024" + }, + "PORT|Ethernet0": { + "index": "1", + "lanes": "0,1,2,3,4,5,6,7", + "description": "etp1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "10000", + "fec": "rs" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "ARISTA01T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1b", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "2", + "lanes": "4,5,6,7", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2", + "pfc_asym": "off", + "speed": "25000", + "fec": "rs" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "ARISTA03T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2b", + "admin_status": "up", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9,10,11,12,13,14,15", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2", + "pfc_asym": "off", + "speed": "25000", + "fec": "rs" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "ARISTA05T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "4", + "lanes": "12,13,14,15", + "description": "Servers2:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet16": { + "index": "3", + "lanes": "16,17,18,19,20,21,22,23", + "description": "Servers1:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3", + "pfc_asym": "off", + "speed": "50000", + "fec": "rs" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "ARISTA09T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "6", + "lanes": "20,21,22,23", + "description": "Servers4:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6", + "pfc_asym": "off", + "speed": "200000", + "fec": "rs" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "ARISTA11T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "4", + "lanes": "24,25,26,27,28,29,30,31", + "description": "Servers2:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "ARISTA13T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "8", + "lanes": "28,29,30,31", + "description": "Servers6:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet32": { + "index": "5", + "lanes": "32,33,34,35,36,37,38,39", + "description": "Servers3:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "ARISTA15T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "10", + "lanes": "36,37,38,39", + "description": "Servers8:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "ARISTA02T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10b", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "6", + "lanes": "40,41,42,43,44,45,46,47", + "description": "Servers4:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6", + "pfc_asym": "off", + "speed": "200000", + "fec": "rs" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "ARISTA04T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "12", + "lanes": "44,45,46,47", + "description": "Servers10:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet48": { + "index": "7", + "lanes": "48,49,50,51,52,53,54,55", + "description": "Servers5:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "ARISTA07T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "14", + "lanes": "52,53,54,55", + "description": "Servers12:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "ARISTA09T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "8", + "lanes": "56,57,58,59,60,61,62,63", + "description": "Servers6:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "16", + "lanes": "60,61,62,63", + "description": "Servers14:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet64": { + "index": "9", + "lanes": "64,65,66,67,68,69,70,71", + "description": "Servers7:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet65": { + "index": "17", + "lanes": "65", + "description": "Servers16:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet66": { + "index": "17", + "lanes": "66", + "description": "Servers17:eth0", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17c", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet67": { + "index": "17", + "lanes": "67", + "description": "Servers18:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17d", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "10", + "lanes": "72,73,74,75,76,77,78,79", + "description": "Servers8:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "admin_status": "up", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "11", + "lanes": "80,81,82,83,84,85,86,87", + "description": "Servers9:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "21", + "lanes": "82,83", + "description": "Servers20:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "admin_status": "up", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "12", + "lanes": "88,89,90,91,92,93,94,95", + "description": "Servers10:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "24", + "lanes": "92,93,94,95", + "description": "Servers22:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet96": { + "index": "13", + "lanes": "96,97,98,99,100,101,102,103", + "description": "Servers11:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "26", + "lanes": "100,101,102,103", + "description": "etp26", + "admin_status": "up", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "14", + "lanes": "104,105,106,107,108,109,110,111", + "description": "Servers12:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "28", + "lanes": "108,109,110,111", + "description": "etp28", + "admin_status": "up", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet112": { + "index": "15", + "lanes": "112,113,114,115,116,117,118,119", + "description": "Servers13:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "30", + "lanes": "116,117,118,119", + "description": "ARISTA02T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "16", + "lanes": "120,121,122,123,124,125,126,127", + "description": "Servers14:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "32", + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "17", + "lanes": "128,129,130,131,132,133,134,135", + "description": "Servers15:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "18", + "lanes": "136,137,138,139,140,141,142,143", + "description": "Servers16:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "19", + "lanes": "144,145,146,147,148,149,150,151", + "description": "Servers17:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp19", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "20", + "lanes": "152,153,154,155,156,157,158,159", + "description": "Servers18:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "21", + "lanes": "160,161,162,163,164,165,166,167", + "description": "Servers19:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "22", + "lanes": "168,169,170,171,172,173,174,175", + "description": "Servers20:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp22", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "23", + "lanes": "176,177,178,179,180,181,182,183", + "description": "Servers21:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp23", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "24", + "lanes": "184,185,186,187,188,189,190,191", + "description": "Servers22:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "25", + "lanes": "192,193,194,195,196,197,198,199", + "description": "Servers23:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "26", + "lanes": "200,201,202,203,204,205,206,207", + "description": "etp26", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "27", + "lanes": "208,209,210,211,212,213,214,215", + "description": "etp27", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "28", + "lanes": "216,217,218,219,220,221,222,223", + "description": "etp28", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "29", + "lanes": "224,225,226,227,228,229,230,231", + "description": "ARISTA01T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "30", + "lanes": "232,233,234,235,236,237,238,239", + "description": "ARISTA02T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "31", + "lanes": "240,241,242,243,244,245,246,247", + "description": "ARISTA03T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp31", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "32", + "lanes": "248,249,250,251,252,253,254,255", + "description": "ARISTA04T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_0" + } +} diff --git a/tests/db_migrator_input/config_db/acs-msn4700-t1-version_1_0_4.json b/tests/db_migrator_input/config_db/acs-msn4700-t1-version_1_0_4.json new file mode 100644 index 0000000000..477b48eae4 --- /dev/null +++ b/tests/db_migrator_input/config_db/acs-msn4700-t1-version_1_0_4.json @@ -0,0 +1,2109 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_200000_300m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet128|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet128|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet136|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet136|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet144|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet144|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet152|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet152|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet160|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet160|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet168|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet168|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_200000_40m_profile]" + }, + "BUFFER_PG|Ethernet176|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet176|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_40m_profile]" + }, + "BUFFER_PG|Ethernet184|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet184|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_40m_profile]" + }, + "BUFFER_PG|Ethernet192|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet192|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_40m_profile]" + }, + "BUFFER_PG|Ethernet200|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet200|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_40m_profile]" + }, + "BUFFER_PG|Ethernet208|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet208|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_40m_profile]" + }, + "BUFFER_PG|Ethernet216|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet216|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_40m_profile]" + }, + "BUFFER_PG|Ethernet224|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet224|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_40m_profile]" + }, + "BUFFER_PG|Ethernet232|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet232|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_40m_profile]" + }, + "BUFFER_PG|Ethernet240|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet240|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet248|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet248|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "60817392" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "20627456" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "20627456" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "20627456" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet128": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet136": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet144": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet152": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet160": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet168": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet176": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet184": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet192": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet200": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet208": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet216": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet224": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet232": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet240": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet248": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet128": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet136": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet144": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet152": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet160": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet168": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet176": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet184": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet192": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet200": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet208": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet216": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet224": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet232": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet240": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet248": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "40960", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "60416" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "35840", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "55296" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "54272", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "73728" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "37888", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "57344" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "66560", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "86016" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "38912", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "58368" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "75776", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "95232" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "44032", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "63488" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "117760", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "137216" + }, + "BUFFER_PROFILE|pg_lossless_200000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "55296", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "74752" + }, + "BUFFER_PROFILE|pg_lossless_200000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "203776", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "223232" + }, + "BUFFER_PROFILE|pg_lossless_400000_40m_profile": { + "xon": "37888", + "dynamic_th": "0", + "xoff": "77824", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "124928" + }, + "BUFFER_PROFILE|pg_lossless_400000_300m_profile": { + "xon": "37888", + "dynamic_th": "0", + "xoff": "373760", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "420864" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet128|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet128|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet128|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet136|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet136|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet136|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet144|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet144|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet144|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet152|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet152|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet152|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet160|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet160|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet160|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet168|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet168|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet168|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet176|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet176|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet176|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet184|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet184|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet184|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet192|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet192|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet192|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet200|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet200|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet200|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet208|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet208|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet208|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet216|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet216|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet216|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet224|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet224|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet224|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet232|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet232|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet232|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet240|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet240|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet240|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet248|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet248|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet248|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet184": "40m", + "Ethernet0": "300m", + "Ethernet248": "40m", + "Ethernet104": "300m", + "Ethernet240": "40m", + "Ethernet200": "40m", + "Ethernet168": "40m", + "Ethernet120": "300m", + "Ethernet144": "40m", + "Ethernet208": "40m", + "Ethernet160": "40m", + "Ethernet224": "40m", + "Ethernet56": "300m", + "Ethernet128": "40m", + "Ethernet72": "300m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet192": "40m", + "Ethernet96": "300m", + "Ethernet88": "300m", + "Ethernet80": "300m", + "Ethernet112": "300m", + "Ethernet152": "40m", + "Ethernet136": "40m", + "Ethernet48": "300m", + "Ethernet232": "40m", + "Ethernet216": "40m", + "Ethernet176": "40m", + "Ethernet40": "300m", + "Ethernet64": "300m", + "Ethernet24": "300m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN4700", + "default_bgp_status": "up", + "type": "LeafRouter", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn4700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "separated", + "cloudtype": "None" + }, + "PORT|Ethernet0": { + "index": "1", + "lanes": "0,1,2,3,4,5,6,7", + "description": "ARISTA01T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "10000", + "fec": "rs" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "ARISTA01T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1b", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "2", + "lanes": "4,5,6,7", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2", + "pfc_asym": "off", + "speed": "25000", + "fec": "rs" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "ARISTA03T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2b", + "admin_status": "up", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9,10,11,12,13,14,15", + "description": "ARISTA01T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2", + "pfc_asym": "off", + "speed": "25000", + "fec": "rs" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "ARISTA05T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "4", + "lanes": "12,13,14,15", + "description": "Servers2:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet16": { + "index": "3", + "lanes": "16,17,18,19,20,21,22,23", + "description": "ARISTA03T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3", + "pfc_asym": "off", + "speed": "50000", + "fec": "rs" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "ARISTA09T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "6", + "lanes": "20,21,22,23", + "description": "Servers4:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6", + "pfc_asym": "off", + "speed": "200000", + "fec": "rs" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "ARISTA11T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "4", + "lanes": "24,25,26,27,28,29,30,31", + "description": "ARISTA03T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "ARISTA13T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "8", + "lanes": "28,29,30,31", + "description": "Servers6:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet32": { + "index": "5", + "lanes": "32,33,34,35,36,37,38,39", + "description": "ARISTA05T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "ARISTA15T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "10", + "lanes": "36,37,38,39", + "description": "Servers8:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "ARISTA02T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10b", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "6", + "lanes": "40,41,42,43,44,45,46,47", + "description": "ARISTA05T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6", + "pfc_asym": "off", + "speed": "200000", + "fec": "rs" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "ARISTA04T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "12", + "lanes": "44,45,46,47", + "description": "Servers10:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet48": { + "index": "7", + "lanes": "48,49,50,51,52,53,54,55", + "description": "ARISTA07T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "ARISTA07T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "14", + "lanes": "52,53,54,55", + "description": "Servers12:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "ARISTA09T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "8", + "lanes": "56,57,58,59,60,61,62,63", + "description": "ARISTA07T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "16", + "lanes": "60,61,62,63", + "description": "Servers14:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet64": { + "index": "9", + "lanes": "64,65,66,67,68,69,70,71", + "description": "ARISTA09T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet65": { + "index": "17", + "lanes": "65", + "description": "Servers16:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet66": { + "index": "17", + "lanes": "66", + "description": "Servers17:eth0", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17c", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet67": { + "index": "17", + "lanes": "67", + "description": "Servers18:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17d", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "10", + "lanes": "72,73,74,75,76,77,78,79", + "description": "ARISTA09T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "admin_status": "up", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "11", + "lanes": "80,81,82,83,84,85,86,87", + "description": "ARISTA11T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "21", + "lanes": "82,83", + "description": "Servers20:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "admin_status": "up", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "12", + "lanes": "88,89,90,91,92,93,94,95", + "description": "ARISTA11T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "24", + "lanes": "92,93,94,95", + "description": "Servers22:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet96": { + "index": "13", + "lanes": "96,97,98,99,100,101,102,103", + "description": "ARISTA13T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "26", + "lanes": "100,101,102,103", + "description": "etp26", + "admin_status": "up", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "14", + "lanes": "104,105,106,107,108,109,110,111", + "description": "ARISTA13T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "28", + "lanes": "108,109,110,111", + "description": "etp28", + "admin_status": "up", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet112": { + "index": "15", + "lanes": "112,113,114,115,116,117,118,119", + "description": "ARISTA15T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "30", + "lanes": "116,117,118,119", + "description": "ARISTA02T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "16", + "lanes": "120,121,122,123,124,125,126,127", + "description": "ARISTA15T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "32", + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "17", + "lanes": "128,129,130,131,132,133,134,135", + "description": "ARISTA01T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17", + "pfc_asym": "off", + "speed": "10000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "18", + "lanes": "136,137,138,139,140,141,142,143", + "description": "ARISTA02T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "19", + "lanes": "144,145,146,147,148,149,150,151", + "description": "ARISTA03T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp19", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "20", + "lanes": "152,153,154,155,156,157,158,159", + "description": "ARISTA04T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "21", + "lanes": "160,161,162,163,164,165,166,167", + "description": "ARISTA05T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "22", + "lanes": "168,169,170,171,172,173,174,175", + "description": "ARISTA06T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp22", + "pfc_asym": "off", + "speed": "200000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "23", + "lanes": "176,177,178,179,180,181,182,183", + "description": "ARISTA07T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp23", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "24", + "lanes": "184,185,186,187,188,189,190,191", + "description": "ARISTA08T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "25", + "lanes": "192,193,194,195,196,197,198,199", + "description": "ARISTA09T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "26", + "lanes": "200,201,202,203,204,205,206,207", + "description": "ARISTA10T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "27", + "lanes": "208,209,210,211,212,213,214,215", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "28", + "lanes": "216,217,218,219,220,221,222,223", + "description": "ARISTA12T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "29", + "lanes": "224,225,226,227,228,229,230,231", + "description": "ARISTA13T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "30", + "lanes": "232,233,234,235,236,237,238,239", + "description": "ARISTA14T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "31", + "lanes": "240,241,242,243,244,245,246,247", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp31", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "32", + "lanes": "248,249,250,251,252,253,254,255", + "description": "ARISTA16T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_4" + } +} diff --git a/tests/db_migrator_input/config_db/acs-msn4700-t1-version_1_0_5.json b/tests/db_migrator_input/config_db/acs-msn4700-t1-version_1_0_5.json new file mode 100644 index 0000000000..3524f43651 --- /dev/null +++ b/tests/db_migrator_input/config_db/acs-msn4700-t1-version_1_0_5.json @@ -0,0 +1,2109 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_200000_300m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet128|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet128|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet136|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet136|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet144|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet144|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet152|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet152|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet160|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet160|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet168|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet168|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_200000_40m_profile]" + }, + "BUFFER_PG|Ethernet176|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet176|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_40m_profile]" + }, + "BUFFER_PG|Ethernet184|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet184|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_40m_profile]" + }, + "BUFFER_PG|Ethernet192|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet192|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_40m_profile]" + }, + "BUFFER_PG|Ethernet200|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet200|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_40m_profile]" + }, + "BUFFER_PG|Ethernet208|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet208|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_40m_profile]" + }, + "BUFFER_PG|Ethernet216|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet216|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_40m_profile]" + }, + "BUFFER_PG|Ethernet224|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet224|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_40m_profile]" + }, + "BUFFER_PG|Ethernet232|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet232|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_40m_profile]" + }, + "BUFFER_PG|Ethernet240|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet240|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet248|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet248|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "60817392" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "20627456" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "20627456" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "20627456" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet128": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet136": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet144": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet152": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet160": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet168": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet176": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet184": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet192": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet200": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet208": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet216": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet224": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet232": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet240": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet248": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet128": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet136": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet144": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet152": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet160": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet168": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet176": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet184": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet192": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet200": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet208": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet216": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet224": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet232": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet240": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet248": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "40960", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "60416" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "35840", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "55296" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "54272", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "73728" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "37888", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "57344" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "66560", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "86016" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "38912", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "58368" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "75776", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "95232" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "44032", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "63488" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "117760", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "137216" + }, + "BUFFER_PROFILE|pg_lossless_200000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "55296", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "74752" + }, + "BUFFER_PROFILE|pg_lossless_200000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "203776", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "223232" + }, + "BUFFER_PROFILE|pg_lossless_400000_40m_profile": { + "xon": "37888", + "dynamic_th": "0", + "xoff": "77824", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "124928" + }, + "BUFFER_PROFILE|pg_lossless_400000_300m_profile": { + "xon": "37888", + "dynamic_th": "0", + "xoff": "373760", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "420864" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet128|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet128|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet128|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet136|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet136|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet136|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet144|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet144|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet144|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet152|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet152|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet152|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet160|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet160|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet160|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet168|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet168|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet168|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet176|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet176|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet176|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet184|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet184|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet184|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet192|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet192|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet192|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet200|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet200|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet200|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet208|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet208|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet208|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet216|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet216|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet216|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet224|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet224|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet224|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet232|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet232|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet232|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet240|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet240|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet240|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet248|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet248|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet248|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet184": "40m", + "Ethernet0": "300m", + "Ethernet248": "40m", + "Ethernet104": "300m", + "Ethernet240": "40m", + "Ethernet200": "40m", + "Ethernet168": "40m", + "Ethernet120": "300m", + "Ethernet144": "40m", + "Ethernet208": "40m", + "Ethernet160": "40m", + "Ethernet224": "40m", + "Ethernet56": "300m", + "Ethernet128": "40m", + "Ethernet72": "300m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet192": "40m", + "Ethernet96": "300m", + "Ethernet88": "300m", + "Ethernet80": "300m", + "Ethernet112": "300m", + "Ethernet152": "40m", + "Ethernet136": "40m", + "Ethernet48": "300m", + "Ethernet232": "40m", + "Ethernet216": "40m", + "Ethernet176": "40m", + "Ethernet40": "300m", + "Ethernet64": "300m", + "Ethernet24": "300m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN4700", + "default_bgp_status": "up", + "type": "LeafRouter", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn4700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "separated", + "cloudtype": "None" + }, + "PORT|Ethernet0": { + "index": "1", + "lanes": "0,1,2,3,4,5,6,7", + "description": "ARISTA01T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "10000", + "fec": "rs" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "ARISTA01T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1b", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "2", + "lanes": "4,5,6,7", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2", + "pfc_asym": "off", + "speed": "25000", + "fec": "rs" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "ARISTA03T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2b", + "admin_status": "up", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9,10,11,12,13,14,15", + "description": "ARISTA01T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2", + "pfc_asym": "off", + "speed": "25000", + "fec": "rs" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "ARISTA05T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "4", + "lanes": "12,13,14,15", + "description": "Servers2:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet16": { + "index": "3", + "lanes": "16,17,18,19,20,21,22,23", + "description": "ARISTA03T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3", + "pfc_asym": "off", + "speed": "50000", + "fec": "rs" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "ARISTA09T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "6", + "lanes": "20,21,22,23", + "description": "Servers4:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6", + "pfc_asym": "off", + "speed": "200000", + "fec": "rs" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "ARISTA11T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "4", + "lanes": "24,25,26,27,28,29,30,31", + "description": "ARISTA03T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "ARISTA13T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "8", + "lanes": "28,29,30,31", + "description": "Servers6:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet32": { + "index": "5", + "lanes": "32,33,34,35,36,37,38,39", + "description": "ARISTA05T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "ARISTA15T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "10", + "lanes": "36,37,38,39", + "description": "Servers8:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "ARISTA02T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10b", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "6", + "lanes": "40,41,42,43,44,45,46,47", + "description": "ARISTA05T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6", + "pfc_asym": "off", + "speed": "200000", + "fec": "rs" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "ARISTA04T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "12", + "lanes": "44,45,46,47", + "description": "Servers10:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet48": { + "index": "7", + "lanes": "48,49,50,51,52,53,54,55", + "description": "ARISTA07T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "ARISTA07T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "14", + "lanes": "52,53,54,55", + "description": "Servers12:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "ARISTA09T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "8", + "lanes": "56,57,58,59,60,61,62,63", + "description": "ARISTA07T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "16", + "lanes": "60,61,62,63", + "description": "Servers14:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet64": { + "index": "9", + "lanes": "64,65,66,67,68,69,70,71", + "description": "ARISTA09T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet65": { + "index": "17", + "lanes": "65", + "description": "Servers16:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet66": { + "index": "17", + "lanes": "66", + "description": "Servers17:eth0", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17c", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet67": { + "index": "17", + "lanes": "67", + "description": "Servers18:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17d", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "10", + "lanes": "72,73,74,75,76,77,78,79", + "description": "ARISTA09T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "admin_status": "up", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "11", + "lanes": "80,81,82,83,84,85,86,87", + "description": "ARISTA11T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "21", + "lanes": "82,83", + "description": "Servers20:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "admin_status": "up", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "12", + "lanes": "88,89,90,91,92,93,94,95", + "description": "ARISTA11T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "24", + "lanes": "92,93,94,95", + "description": "Servers22:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet96": { + "index": "13", + "lanes": "96,97,98,99,100,101,102,103", + "description": "ARISTA13T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "26", + "lanes": "100,101,102,103", + "description": "etp26", + "admin_status": "up", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "14", + "lanes": "104,105,106,107,108,109,110,111", + "description": "ARISTA13T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "28", + "lanes": "108,109,110,111", + "description": "etp28", + "admin_status": "up", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet112": { + "index": "15", + "lanes": "112,113,114,115,116,117,118,119", + "description": "ARISTA15T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "30", + "lanes": "116,117,118,119", + "description": "ARISTA02T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "16", + "lanes": "120,121,122,123,124,125,126,127", + "description": "ARISTA15T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "32", + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "17", + "lanes": "128,129,130,131,132,133,134,135", + "description": "ARISTA01T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17", + "pfc_asym": "off", + "speed": "10000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "18", + "lanes": "136,137,138,139,140,141,142,143", + "description": "ARISTA02T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "19", + "lanes": "144,145,146,147,148,149,150,151", + "description": "ARISTA03T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp19", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "20", + "lanes": "152,153,154,155,156,157,158,159", + "description": "ARISTA04T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "21", + "lanes": "160,161,162,163,164,165,166,167", + "description": "ARISTA05T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "22", + "lanes": "168,169,170,171,172,173,174,175", + "description": "ARISTA06T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp22", + "pfc_asym": "off", + "speed": "200000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "23", + "lanes": "176,177,178,179,180,181,182,183", + "description": "ARISTA07T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp23", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "24", + "lanes": "184,185,186,187,188,189,190,191", + "description": "ARISTA08T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "25", + "lanes": "192,193,194,195,196,197,198,199", + "description": "ARISTA09T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "26", + "lanes": "200,201,202,203,204,205,206,207", + "description": "ARISTA10T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "27", + "lanes": "208,209,210,211,212,213,214,215", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "28", + "lanes": "216,217,218,219,220,221,222,223", + "description": "ARISTA12T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "29", + "lanes": "224,225,226,227,228,229,230,231", + "description": "ARISTA13T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "30", + "lanes": "232,233,234,235,236,237,238,239", + "description": "ARISTA14T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "31", + "lanes": "240,241,242,243,244,245,246,247", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp31", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "32", + "lanes": "248,249,250,251,252,253,254,255", + "description": "ARISTA16T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_5" + } +} diff --git a/tests/db_migrator_input/config_db/acs-msn4700-t1-version_2_0_0.json b/tests/db_migrator_input/config_db/acs-msn4700-t1-version_2_0_0.json new file mode 100644 index 0000000000..2b82120126 --- /dev/null +++ b/tests/db_migrator_input/config_db/acs-msn4700-t1-version_2_0_0.json @@ -0,0 +1,2016 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet128|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet128|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet136|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet136|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet144|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet144|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet152|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet152|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet160|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet160|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet168|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet168|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet176|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet176|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet184|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet184|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet192|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet192|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet200|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet200|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet208|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet208|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet216|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet216|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet224|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet224|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet232|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet232|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet240|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet240|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet248|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet248|3-4": { + "profile": "NULL" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "60817392" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet128": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet136": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet144": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet152": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet160": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet168": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet176": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet184": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet192": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet200": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet208": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet216": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet224": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet232": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet240": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet248": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet128": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet136": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet144": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet152": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet160": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet168": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet176": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet184": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet192": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet200": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet208": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet216": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet224": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet232": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet240": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet248": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet128|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet128|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet128|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet136|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet136|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet136|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet144|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet144|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet144|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet152|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet152|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet152|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet160|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet160|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet160|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet168|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet168|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet168|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet176|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet176|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet176|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet184|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet184|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet184|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet192|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet192|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet192|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet200|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet200|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet200|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet208|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet208|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet208|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet216|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet216|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet216|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet224|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet224|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet224|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet232|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet232|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet232|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet240|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet240|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet240|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet248|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet248|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet248|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet184": "40m", + "Ethernet0": "300m", + "Ethernet248": "40m", + "Ethernet104": "300m", + "Ethernet240": "40m", + "Ethernet200": "40m", + "Ethernet168": "40m", + "Ethernet120": "300m", + "Ethernet144": "40m", + "Ethernet208": "40m", + "Ethernet160": "40m", + "Ethernet224": "40m", + "Ethernet56": "300m", + "Ethernet128": "40m", + "Ethernet72": "300m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet192": "40m", + "Ethernet96": "300m", + "Ethernet88": "300m", + "Ethernet80": "300m", + "Ethernet112": "300m", + "Ethernet152": "40m", + "Ethernet136": "40m", + "Ethernet48": "300m", + "Ethernet232": "40m", + "Ethernet216": "40m", + "Ethernet176": "40m", + "Ethernet40": "300m", + "Ethernet64": "300m", + "Ethernet24": "300m" + }, + "DEFAULT_LOSSLESS_BUFFER_PARAMETER|AZURE": { + "default_dynamic_th": "0" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN4700", + "default_bgp_status": "up", + "type": "LeafRouter", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn4700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "dynamic", + "deployment_id": "1", + "docker_routing_config_mode": "separated", + "cloudtype": "None" + }, + "LOSSLESS_TRAFFIC_PATTERN|AZURE": { + "small_packet_percentage": "100", + "mtu": "1024" + }, + "PORT|Ethernet0": { + "index": "1", + "lanes": "0,1,2,3,4,5,6,7", + "description": "ARISTA01T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "10000", + "fec": "rs" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "ARISTA01T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1b", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "2", + "lanes": "4,5,6,7", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2", + "pfc_asym": "off", + "speed": "25000", + "fec": "rs" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "ARISTA03T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2b", + "admin_status": "up", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9,10,11,12,13,14,15", + "description": "ARISTA01T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2", + "pfc_asym": "off", + "speed": "25000", + "fec": "rs" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "ARISTA05T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "4", + "lanes": "12,13,14,15", + "description": "Servers2:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet16": { + "index": "3", + "lanes": "16,17,18,19,20,21,22,23", + "description": "ARISTA03T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3", + "pfc_asym": "off", + "speed": "50000", + "fec": "rs" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "ARISTA09T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "6", + "lanes": "20,21,22,23", + "description": "Servers4:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6", + "pfc_asym": "off", + "speed": "200000", + "fec": "rs" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "ARISTA11T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "4", + "lanes": "24,25,26,27,28,29,30,31", + "description": "ARISTA03T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "ARISTA13T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "8", + "lanes": "28,29,30,31", + "description": "Servers6:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet32": { + "index": "5", + "lanes": "32,33,34,35,36,37,38,39", + "description": "ARISTA05T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "ARISTA15T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "10", + "lanes": "36,37,38,39", + "description": "Servers8:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "ARISTA02T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10b", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "6", + "lanes": "40,41,42,43,44,45,46,47", + "description": "ARISTA05T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6", + "pfc_asym": "off", + "speed": "200000", + "fec": "rs" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "ARISTA04T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "12", + "lanes": "44,45,46,47", + "description": "Servers10:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet48": { + "index": "7", + "lanes": "48,49,50,51,52,53,54,55", + "description": "ARISTA07T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "ARISTA07T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "14", + "lanes": "52,53,54,55", + "description": "Servers12:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "ARISTA09T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "8", + "lanes": "56,57,58,59,60,61,62,63", + "description": "ARISTA07T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "16", + "lanes": "60,61,62,63", + "description": "Servers14:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet64": { + "index": "9", + "lanes": "64,65,66,67,68,69,70,71", + "description": "ARISTA09T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet65": { + "index": "17", + "lanes": "65", + "description": "Servers16:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet66": { + "index": "17", + "lanes": "66", + "description": "Servers17:eth0", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17c", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet67": { + "index": "17", + "lanes": "67", + "description": "Servers18:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17d", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "10", + "lanes": "72,73,74,75,76,77,78,79", + "description": "ARISTA09T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "admin_status": "up", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "11", + "lanes": "80,81,82,83,84,85,86,87", + "description": "ARISTA11T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "21", + "lanes": "82,83", + "description": "Servers20:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "admin_status": "up", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "12", + "lanes": "88,89,90,91,92,93,94,95", + "description": "ARISTA11T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "24", + "lanes": "92,93,94,95", + "description": "Servers22:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet96": { + "index": "13", + "lanes": "96,97,98,99,100,101,102,103", + "description": "ARISTA13T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "26", + "lanes": "100,101,102,103", + "description": "etp26", + "admin_status": "up", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "14", + "lanes": "104,105,106,107,108,109,110,111", + "description": "ARISTA13T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "28", + "lanes": "108,109,110,111", + "description": "etp28", + "admin_status": "up", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet112": { + "index": "15", + "lanes": "112,113,114,115,116,117,118,119", + "description": "ARISTA15T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "30", + "lanes": "116,117,118,119", + "description": "ARISTA02T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "16", + "lanes": "120,121,122,123,124,125,126,127", + "description": "ARISTA15T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "32", + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "17", + "lanes": "128,129,130,131,132,133,134,135", + "description": "ARISTA01T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17", + "pfc_asym": "off", + "speed": "10000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "18", + "lanes": "136,137,138,139,140,141,142,143", + "description": "ARISTA02T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "19", + "lanes": "144,145,146,147,148,149,150,151", + "description": "ARISTA03T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp19", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "20", + "lanes": "152,153,154,155,156,157,158,159", + "description": "ARISTA04T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "21", + "lanes": "160,161,162,163,164,165,166,167", + "description": "ARISTA05T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "22", + "lanes": "168,169,170,171,172,173,174,175", + "description": "ARISTA06T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp22", + "pfc_asym": "off", + "speed": "200000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "23", + "lanes": "176,177,178,179,180,181,182,183", + "description": "ARISTA07T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp23", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "24", + "lanes": "184,185,186,187,188,189,190,191", + "description": "ARISTA08T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "25", + "lanes": "192,193,194,195,196,197,198,199", + "description": "ARISTA09T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "26", + "lanes": "200,201,202,203,204,205,206,207", + "description": "ARISTA10T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "27", + "lanes": "208,209,210,211,212,213,214,215", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "28", + "lanes": "216,217,218,219,220,221,222,223", + "description": "ARISTA12T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "29", + "lanes": "224,225,226,227,228,229,230,231", + "description": "ARISTA13T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "30", + "lanes": "232,233,234,235,236,237,238,239", + "description": "ARISTA14T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "31", + "lanes": "240,241,242,243,244,245,246,247", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp31", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "32", + "lanes": "248,249,250,251,252,253,254,255", + "description": "ARISTA16T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_0" + } +} diff --git a/tests/db_migrator_input/config_db/empty-config-expected.json b/tests/db_migrator_input/config_db/empty-config-expected.json new file mode 100644 index 0000000000..f3d3593ffc --- /dev/null +++ b/tests/db_migrator_input/config_db/empty-config-expected.json @@ -0,0 +1,5 @@ +{ + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_0" + } +} diff --git a/tests/db_migrator_input/config_db/empty-config-input.json b/tests/db_migrator_input/config_db/empty-config-input.json new file mode 100644 index 0000000000..2c63c08510 --- /dev/null +++ b/tests/db_migrator_input/config_db/empty-config-input.json @@ -0,0 +1,2 @@ +{ +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-single-pool-t0-version_1_0_4.json b/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-single-pool-t0-version_1_0_4.json new file mode 100644 index 0000000000..b20ba6827b --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-single-pool-t0-version_1_0_4.json @@ -0,0 +1,1054 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "6687744" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "6687744" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "41984" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "41984" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "41984" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "41984" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "45056" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "43008" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet68": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet76": "5m", + "Ethernet72": "5m", + "Ethernet64": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet88": "5m", + "Ethernet116": "40m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet84": "5m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet28": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-C28D8", + "default_bgp_status": "up", + "type": "ToRRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "100000", + "description": "etp1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "10000", + "description": "Servers0:eth0" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "25000", + "description": "Servers1:eth0" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "40000", + "description": "Servers2:eth0" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "50000", + "description": "Servers3:eth0" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "Servers4:eth0" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "Servers5:eth0" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "Servers6:eth0" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "Servers7:eth0" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "Servers8:eth0" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "Servers9:eth0" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "Servers10:eth0" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "Servers11:eth0" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "Servers12:eth0" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "Servers13:eth0" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "Servers14:eth0" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "100000", + "description": "Servers15:eth0" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "100000", + "description": "Servers16:eth0" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "100000", + "description": "Servers17:eth0" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "100000", + "description": "Servers18:eth0" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "Servers19:eth0" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "Servers20:eth0" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "Servers21:eth0" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "Servers22:eth0" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "Servers23:eth0" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "description": "etp26" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "description": "etp27" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "description": "etp28" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA01T1:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA02T1:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_4" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-single-pool-t0-version_1_0_5.json b/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-single-pool-t0-version_1_0_5.json new file mode 100644 index 0000000000..3e712054f0 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-single-pool-t0-version_1_0_5.json @@ -0,0 +1,1055 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "7719936" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "1032192", + "type": "ingress", + "mode": "dynamic", + "size": "7719936" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet68": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet76": "5m", + "Ethernet72": "5m", + "Ethernet64": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet88": "5m", + "Ethernet116": "40m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet84": "5m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet28": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-C28D8", + "default_bgp_status": "up", + "type": "ToRRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "100000", + "description": "etp1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "10000", + "description": "Servers0:eth0" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "25000", + "description": "Servers1:eth0" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "40000", + "description": "Servers2:eth0" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "50000", + "description": "Servers3:eth0" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "Servers4:eth0" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "Servers5:eth0" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "Servers6:eth0" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "Servers7:eth0" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "Servers8:eth0" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "Servers9:eth0" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "Servers10:eth0" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "Servers11:eth0" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "Servers12:eth0" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "Servers13:eth0" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "Servers14:eth0" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "100000", + "description": "Servers15:eth0" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "100000", + "description": "Servers16:eth0" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "100000", + "description": "Servers17:eth0" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "100000", + "description": "Servers18:eth0" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "Servers19:eth0" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "Servers20:eth0" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "Servers21:eth0" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "Servers22:eth0" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "Servers23:eth0" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "description": "etp26" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "description": "etp27" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "description": "etp28" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA01T1:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA02T1:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_5" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-single-pool-t0-version_2_0_0.json b/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-single-pool-t0-version_2_0_0.json new file mode 100644 index 0000000000..c49cf5c2a0 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-single-pool-t0-version_2_0_0.json @@ -0,0 +1,1056 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "7719936" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "1032192", + "type": "ingress", + "mode": "dynamic", + "size": "7719936" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet68": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet76": "5m", + "Ethernet72": "5m", + "Ethernet64": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet88": "5m", + "Ethernet116": "40m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet84": "5m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet28": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-C28D8", + "default_bgp_status": "up", + "type": "ToRRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "traditional", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "100000", + "description": "etp1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "10000", + "description": "Servers0:eth0" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "25000", + "description": "Servers1:eth0" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "40000", + "description": "Servers2:eth0" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "50000", + "description": "Servers3:eth0" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "Servers4:eth0" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "Servers5:eth0" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "Servers6:eth0" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "Servers7:eth0" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "Servers8:eth0" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "Servers9:eth0" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "Servers10:eth0" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "Servers11:eth0" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "Servers12:eth0" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "Servers13:eth0" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "Servers14:eth0" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "100000", + "description": "Servers15:eth0" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "100000", + "description": "Servers16:eth0" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "100000", + "description": "Servers17:eth0" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "100000", + "description": "Servers18:eth0" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "Servers19:eth0" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "Servers20:eth0" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "Servers21:eth0" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "Servers22:eth0" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "Servers23:eth0" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "description": "etp26" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "description": "etp27" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "description": "etp28" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA01T1:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA02T1:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_0" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-single-pool-t1-version_1_0_4.json b/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-single-pool-t1-version_1_0_4.json new file mode 100644 index 0000000000..a25621c20f --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-single-pool-t1-version_1_0_4.json @@ -0,0 +1,1151 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "8506368" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "8506368" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "41984" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "27648", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "47104" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "24576", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "44032" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "36864", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "56320" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "45056" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "45056", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "64512" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "45056" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "50176", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "69632" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "78848", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "98304" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet68": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet76": "40m", + "Ethernet72": "40m", + "Ethernet64": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet88": "40m", + "Ethernet116": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet84": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet28": "300m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet24": "300m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-C28D8", + "default_bgp_status": "up", + "type": "LeafRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T2:Ethernet1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA01T2:Ethernet2" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T2:Ethernet1" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA03T2:Ethernet2" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet1" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet2" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet1" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet2" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet1" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet2" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet1" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet2" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet1" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet2" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet1" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet2" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T0:Ethernet1" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA02T0:Ethernet1" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T0:Ethernet1" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA04T0:Ethernet1" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T0:Ethernet1" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA06T0:Ethernet1" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T0:Ethernet1" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA08T0:Ethernet1" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T0:Ethernet1" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp26", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA10T0:Ethernet1" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp27", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T0:Ethernet1" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp28", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA12T0:Ethernet1" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T0:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA14T0:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_4" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-single-pool-t1-version_1_0_5.json b/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-single-pool-t1-version_1_0_5.json new file mode 100644 index 0000000000..390e92209f --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-single-pool-t1-version_1_0_5.json @@ -0,0 +1,1152 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "9686016" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "1179648", + "type": "ingress", + "mode": "dynamic", + "size": "9686016" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "27648", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "24576", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "36864", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "45056", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "50176", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "78848", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet68": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet76": "40m", + "Ethernet72": "40m", + "Ethernet64": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet88": "40m", + "Ethernet116": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet84": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet28": "300m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet24": "300m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-C28D8", + "default_bgp_status": "up", + "type": "LeafRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T2:Ethernet1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA01T2:Ethernet2" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T2:Ethernet1" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA03T2:Ethernet2" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet1" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet2" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet1" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet2" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet1" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet2" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet1" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet2" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet1" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet2" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet1" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet2" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T0:Ethernet1" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA02T0:Ethernet1" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T0:Ethernet1" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA04T0:Ethernet1" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T0:Ethernet1" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA06T0:Ethernet1" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T0:Ethernet1" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA08T0:Ethernet1" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T0:Ethernet1" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp26", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA10T0:Ethernet1" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp27", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T0:Ethernet1" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp28", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA12T0:Ethernet1" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T0:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA14T0:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_5" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-single-pool-t1-version_2_0_0.json b/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-single-pool-t1-version_2_0_0.json new file mode 100644 index 0000000000..aea55c1911 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-single-pool-t1-version_2_0_0.json @@ -0,0 +1,1153 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "9686016" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "1179648", + "type": "ingress", + "mode": "dynamic", + "size": "9686016" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "27648", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "24576", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "36864", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "45056", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "50176", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "78848", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet68": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet76": "40m", + "Ethernet72": "40m", + "Ethernet64": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet88": "40m", + "Ethernet116": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet84": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet28": "300m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet24": "300m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-C28D8", + "default_bgp_status": "up", + "type": "LeafRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "traditional", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T2:Ethernet1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA01T2:Ethernet2" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T2:Ethernet1" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA03T2:Ethernet2" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet1" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet2" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet1" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet2" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet1" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet2" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet1" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet2" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet1" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet2" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet1" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet2" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T0:Ethernet1" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA02T0:Ethernet1" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T0:Ethernet1" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA04T0:Ethernet1" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T0:Ethernet1" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA06T0:Ethernet1" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T0:Ethernet1" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA08T0:Ethernet1" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T0:Ethernet1" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp26", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA10T0:Ethernet1" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp27", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T0:Ethernet1" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp28", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA12T0:Ethernet1" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T0:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA14T0:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_0" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t0-version_1_0_1.json b/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t0-version_1_0_1.json new file mode 100644 index 0000000000..91247de407 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t0-version_1_0_1.json @@ -0,0 +1,1059 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "16777152" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "7340032" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "4194304" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "7340032" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "4096" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "0", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "41984" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "18432", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "36864" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "35840", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "54272" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet68": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet76": "5m", + "Ethernet72": "5m", + "Ethernet64": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet88": "5m", + "Ethernet116": "40m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet84": "5m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet28": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-C28D8", + "default_bgp_status": "up", + "type": "ToRRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "100000", + "description": "etp1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "10000", + "description": "Servers0:eth0" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "25000", + "description": "Servers1:eth0" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "40000", + "description": "Servers2:eth0" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "50000", + "description": "Servers3:eth0" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "Servers4:eth0" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "Servers5:eth0" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "Servers6:eth0" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "Servers7:eth0" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "Servers8:eth0" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "Servers9:eth0" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "Servers10:eth0" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "Servers11:eth0" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "Servers12:eth0" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "Servers13:eth0" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "Servers14:eth0" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "100000", + "description": "Servers15:eth0" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "100000", + "description": "Servers16:eth0" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "100000", + "description": "Servers17:eth0" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "100000", + "description": "Servers18:eth0" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "Servers19:eth0" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "Servers20:eth0" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "Servers21:eth0" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "Servers22:eth0" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "Servers23:eth0" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "description": "etp26" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "description": "etp27" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "description": "etp28" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA01T1:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA02T1:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_1" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t0-version_1_0_2.json b/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t0-version_1_0_2.json new file mode 100644 index 0000000000..42fc9ac247 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t0-version_1_0_2.json @@ -0,0 +1,1059 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "16777152" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "7340032" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "4194304" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "7340032" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "4096" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "0", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "41984" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "18432", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "36864" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "35840", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "54272" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet68": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet76": "5m", + "Ethernet72": "5m", + "Ethernet64": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet88": "5m", + "Ethernet116": "40m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet84": "5m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet28": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-C28D8", + "default_bgp_status": "up", + "type": "ToRRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "100000", + "description": "etp1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "10000", + "description": "Servers0:eth0" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "25000", + "description": "Servers1:eth0" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "40000", + "description": "Servers2:eth0" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "50000", + "description": "Servers3:eth0" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "Servers4:eth0" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "Servers5:eth0" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "Servers6:eth0" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "Servers7:eth0" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "Servers8:eth0" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "Servers9:eth0" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "Servers10:eth0" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "Servers11:eth0" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "Servers12:eth0" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "Servers13:eth0" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "Servers14:eth0" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "100000", + "description": "Servers15:eth0" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "100000", + "description": "Servers16:eth0" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "100000", + "description": "Servers17:eth0" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "100000", + "description": "Servers18:eth0" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "Servers19:eth0" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "Servers20:eth0" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "Servers21:eth0" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "Servers22:eth0" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "Servers23:eth0" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "description": "etp26" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "description": "etp27" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "description": "etp28" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA01T1:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA02T1:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_2" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t0-version_1_0_3.json b/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t0-version_1_0_3.json new file mode 100644 index 0000000000..233a0e9e7b --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t0-version_1_0_3.json @@ -0,0 +1,1059 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "14024599" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "5029836" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "5029836" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "5029836" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "4096" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "0", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "41984" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "18432", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "36864" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "35840", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "54272" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet68": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet76": "5m", + "Ethernet72": "5m", + "Ethernet64": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet88": "5m", + "Ethernet116": "40m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet84": "5m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet28": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-C28D8", + "default_bgp_status": "up", + "type": "ToRRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "100000", + "description": "etp1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "10000", + "description": "Servers0:eth0" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "25000", + "description": "Servers1:eth0" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "40000", + "description": "Servers2:eth0" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "50000", + "description": "Servers3:eth0" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "Servers4:eth0" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "Servers5:eth0" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "Servers6:eth0" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "Servers7:eth0" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "Servers8:eth0" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "Servers9:eth0" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "Servers10:eth0" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "Servers11:eth0" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "Servers12:eth0" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "Servers13:eth0" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "Servers14:eth0" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "100000", + "description": "Servers15:eth0" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "100000", + "description": "Servers16:eth0" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "100000", + "description": "Servers17:eth0" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "100000", + "description": "Servers18:eth0" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "Servers19:eth0" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "Servers20:eth0" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "Servers21:eth0" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "Servers22:eth0" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "Servers23:eth0" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "description": "etp26" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "description": "etp27" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "description": "etp28" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA01T1:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA02T1:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_3" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t0-version_1_0_4.json b/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t0-version_1_0_4.json new file mode 100644 index 0000000000..b2eaa07bf3 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t0-version_1_0_4.json @@ -0,0 +1,1059 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "4580864" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "4580864" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "4580864" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "30720", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "50176" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "38912", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "58368" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet68": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet76": "5m", + "Ethernet72": "5m", + "Ethernet64": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet88": "5m", + "Ethernet116": "40m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet84": "5m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet28": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-C28D8", + "default_bgp_status": "up", + "type": "ToRRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "100000", + "description": "etp1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "10000", + "description": "Servers0:eth0" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "25000", + "description": "Servers1:eth0" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "40000", + "description": "Servers2:eth0" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "50000", + "description": "Servers3:eth0" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "Servers4:eth0" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "Servers5:eth0" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "Servers6:eth0" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "Servers7:eth0" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "Servers8:eth0" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "Servers9:eth0" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "Servers10:eth0" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "Servers11:eth0" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "Servers12:eth0" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "Servers13:eth0" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "Servers14:eth0" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "100000", + "description": "Servers15:eth0" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "100000", + "description": "Servers16:eth0" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "100000", + "description": "Servers17:eth0" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "100000", + "description": "Servers18:eth0" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "Servers19:eth0" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "Servers20:eth0" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "Servers21:eth0" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "Servers22:eth0" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "Servers23:eth0" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "description": "etp26" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "description": "etp27" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "description": "etp28" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA01T1:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA02T1:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_4" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t0-version_1_0_5.json b/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t0-version_1_0_5.json new file mode 100644 index 0000000000..97be9eb688 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t0-version_1_0_5.json @@ -0,0 +1,1060 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "3859968" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "1032192", + "type": "ingress", + "mode": "dynamic", + "size": "3859968" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "3859968" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet68": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet76": "5m", + "Ethernet72": "5m", + "Ethernet64": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet88": "5m", + "Ethernet116": "40m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet84": "5m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet28": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-C28D8", + "default_bgp_status": "up", + "type": "ToRRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "100000", + "description": "etp1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "10000", + "description": "Servers0:eth0" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "25000", + "description": "Servers1:eth0" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "40000", + "description": "Servers2:eth0" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "50000", + "description": "Servers3:eth0" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "Servers4:eth0" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "Servers5:eth0" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "Servers6:eth0" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "Servers7:eth0" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "Servers8:eth0" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "Servers9:eth0" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "Servers10:eth0" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "Servers11:eth0" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "Servers12:eth0" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "Servers13:eth0" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "Servers14:eth0" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "100000", + "description": "Servers15:eth0" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "100000", + "description": "Servers16:eth0" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "100000", + "description": "Servers17:eth0" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "100000", + "description": "Servers18:eth0" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "Servers19:eth0" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "Servers20:eth0" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "Servers21:eth0" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "Servers22:eth0" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "Servers23:eth0" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "description": "etp26" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "description": "etp27" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "description": "etp28" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA01T1:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA02T1:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_5" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t0-version_2_0_0.json b/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t0-version_2_0_0.json new file mode 100644 index 0000000000..c5d7758f30 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t0-version_2_0_0.json @@ -0,0 +1,1061 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "3859968" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "1032192", + "type": "ingress", + "mode": "dynamic", + "size": "3859968" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "3859968" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet68": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet76": "5m", + "Ethernet72": "5m", + "Ethernet64": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet88": "5m", + "Ethernet116": "40m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet84": "5m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet28": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-C28D8", + "default_bgp_status": "up", + "type": "ToRRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "traditional", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "100000", + "description": "etp1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "10000", + "description": "Servers0:eth0" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "25000", + "description": "Servers1:eth0" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "40000", + "description": "Servers2:eth0" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "50000", + "description": "Servers3:eth0" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "Servers4:eth0" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "Servers5:eth0" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "Servers6:eth0" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "Servers7:eth0" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "Servers8:eth0" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "Servers9:eth0" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "Servers10:eth0" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "Servers11:eth0" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "Servers12:eth0" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "Servers13:eth0" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "Servers14:eth0" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "100000", + "description": "Servers15:eth0" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "100000", + "description": "Servers16:eth0" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "100000", + "description": "Servers17:eth0" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "100000", + "description": "Servers18:eth0" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "Servers19:eth0" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "Servers20:eth0" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "Servers21:eth0" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "Servers22:eth0" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "Servers23:eth0" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "description": "etp26" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "description": "etp27" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "description": "etp28" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA01T1:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA02T1:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_0" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t1-version_1_0_1.json b/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t1-version_1_0_1.json new file mode 100644 index 0000000000..4ecde4091a --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t1-version_1_0_1.json @@ -0,0 +1,1156 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "16777152" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "5242880" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "2097152" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "5242880" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "4096" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "0", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "18432", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "36864" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "30720", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "21504", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "39936" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "53248", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "71680" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "41984" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "75776", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "94208" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "41984" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "75776", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "94208" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "35840", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "54272" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "165888", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "184320" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet68": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet76": "40m", + "Ethernet72": "40m", + "Ethernet64": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet88": "40m", + "Ethernet116": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet84": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet28": "300m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet24": "300m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-C28D8", + "default_bgp_status": "up", + "type": "LeafRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T2:Ethernet1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA01T2:Ethernet2" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T2:Ethernet1" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA03T2:Ethernet2" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet1" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet2" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet1" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet2" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet1" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet2" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet1" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet2" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet1" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet2" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet1" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet2" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T0:Ethernet1" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA02T0:Ethernet1" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T0:Ethernet1" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA04T0:Ethernet1" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T0:Ethernet1" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA06T0:Ethernet1" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T0:Ethernet1" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA08T0:Ethernet1" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T0:Ethernet1" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp26", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA10T0:Ethernet1" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp27", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T0:Ethernet1" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp28", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA12T0:Ethernet1" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T0:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA14T0:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_1" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t1-version_1_0_2.json b/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t1-version_1_0_2.json new file mode 100644 index 0000000000..a28b299c3a --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t1-version_1_0_2.json @@ -0,0 +1,1156 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "16777152" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "5242880" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "2097152" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "5242880" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "4096" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "0", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "18432", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "36864" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "30720", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "21504", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "39936" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "53248", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "71680" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "41984" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "75776", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "94208" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "41984" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "75776", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "94208" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "35840", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "54272" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "165888", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "184320" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet68": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet76": "40m", + "Ethernet72": "40m", + "Ethernet64": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet88": "40m", + "Ethernet116": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet84": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet28": "300m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet24": "300m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-C28D8", + "default_bgp_status": "up", + "type": "LeafRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T2:Ethernet1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA01T2:Ethernet2" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T2:Ethernet1" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA03T2:Ethernet2" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet1" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet2" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet1" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet2" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet1" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet2" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet1" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet2" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet1" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet2" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet1" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet2" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T0:Ethernet1" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA02T0:Ethernet1" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T0:Ethernet1" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA04T0:Ethernet1" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T0:Ethernet1" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA06T0:Ethernet1" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T0:Ethernet1" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA08T0:Ethernet1" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T0:Ethernet1" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp26", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA10T0:Ethernet1" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp27", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T0:Ethernet1" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp28", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA12T0:Ethernet1" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T0:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA14T0:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_2" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t1-version_1_0_3.json b/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t1-version_1_0_3.json new file mode 100644 index 0000000000..57dc1333ad --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t1-version_1_0_3.json @@ -0,0 +1,1156 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "14024599" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "2097100" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "2097100" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "2097100" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "4096" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "0", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "18432", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "36864" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "30720", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "21504", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "39936" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "53248", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "71680" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "41984" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "75776", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "94208" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "41984" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "75776", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "94208" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "35840", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "54272" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "165888", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "184320" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet68": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet76": "40m", + "Ethernet72": "40m", + "Ethernet64": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet88": "40m", + "Ethernet116": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet84": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet28": "300m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet24": "300m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-C28D8", + "default_bgp_status": "up", + "type": "LeafRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T2:Ethernet1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA01T2:Ethernet2" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T2:Ethernet1" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA03T2:Ethernet2" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet1" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet2" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet1" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet2" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet1" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet2" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet1" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet2" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet1" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet2" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet1" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet2" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T0:Ethernet1" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA02T0:Ethernet1" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T0:Ethernet1" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA04T0:Ethernet1" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T0:Ethernet1" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA06T0:Ethernet1" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T0:Ethernet1" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA08T0:Ethernet1" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T0:Ethernet1" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp26", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA10T0:Ethernet1" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp27", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T0:Ethernet1" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp28", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA12T0:Ethernet1" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T0:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA14T0:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_3" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t1-version_1_0_4.json b/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t1-version_1_0_4.json new file mode 100644 index 0000000000..2aeea31c78 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t1-version_1_0_4.json @@ -0,0 +1,1156 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "3302912" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "3302912" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "3302912" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "36864", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "56320" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "31744", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "51200" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "48128", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "67584" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "32768", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "52224" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "59392", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "78848" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "66560", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "86016" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "38912", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "58368" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "104448", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "123904" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet68": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet76": "40m", + "Ethernet72": "40m", + "Ethernet64": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet88": "40m", + "Ethernet116": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet84": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet28": "300m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet24": "300m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-C28D8", + "default_bgp_status": "up", + "type": "LeafRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T2:Ethernet1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA01T2:Ethernet2" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T2:Ethernet1" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA03T2:Ethernet2" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet1" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet2" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet1" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet2" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet1" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet2" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet1" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet2" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet1" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet2" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet1" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet2" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T0:Ethernet1" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA02T0:Ethernet1" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T0:Ethernet1" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA04T0:Ethernet1" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T0:Ethernet1" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA06T0:Ethernet1" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T0:Ethernet1" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA08T0:Ethernet1" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T0:Ethernet1" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp26", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA10T0:Ethernet1" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp27", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T0:Ethernet1" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp28", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA12T0:Ethernet1" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T0:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA14T0:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_4" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t1-version_1_0_5.json b/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t1-version_1_0_5.json new file mode 100644 index 0000000000..4691b5722e --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t1-version_1_0_5.json @@ -0,0 +1,1157 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "4843008" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "1179648", + "type": "ingress", + "mode": "dynamic", + "size": "4843008" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "4843008" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "27648", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "24576", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "36864", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "45056", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "50176", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "78848", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet68": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet76": "40m", + "Ethernet72": "40m", + "Ethernet64": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet88": "40m", + "Ethernet116": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet84": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet28": "300m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet24": "300m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-C28D8", + "default_bgp_status": "up", + "type": "LeafRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T2:Ethernet1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA01T2:Ethernet2" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T2:Ethernet1" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA03T2:Ethernet2" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet1" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet2" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet1" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet2" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet1" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet2" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet1" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet2" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet1" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet2" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet1" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet2" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T0:Ethernet1" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA02T0:Ethernet1" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T0:Ethernet1" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA04T0:Ethernet1" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T0:Ethernet1" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA06T0:Ethernet1" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T0:Ethernet1" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA08T0:Ethernet1" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T0:Ethernet1" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp26", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA10T0:Ethernet1" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp27", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T0:Ethernet1" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp28", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA12T0:Ethernet1" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T0:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA14T0:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_5" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t1-version_2_0_0.json b/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t1-version_2_0_0.json new file mode 100644 index 0000000000..3ad73e8832 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t1-version_2_0_0.json @@ -0,0 +1,1158 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "4843008" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "1179648", + "type": "ingress", + "mode": "dynamic", + "size": "4843008" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "4843008" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "27648", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "24576", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "36864", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "45056", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "50176", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "78848", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet68": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet76": "40m", + "Ethernet72": "40m", + "Ethernet64": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet88": "40m", + "Ethernet116": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet84": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet28": "300m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet24": "300m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-C28D8", + "default_bgp_status": "up", + "type": "LeafRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "traditional", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T2:Ethernet1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA01T2:Ethernet2" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T2:Ethernet1" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA03T2:Ethernet2" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet1" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet2" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet1" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet2" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet1" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet2" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet1" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet2" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet1" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet2" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet1" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet2" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T0:Ethernet1" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA02T0:Ethernet1" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T0:Ethernet1" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA04T0:Ethernet1" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T0:Ethernet1" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA06T0:Ethernet1" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T0:Ethernet1" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA08T0:Ethernet1" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T0:Ethernet1" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp26", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA10T0:Ethernet1" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp27", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T0:Ethernet1" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp28", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA12T0:Ethernet1" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T0:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA14T0:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_0" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-single-pool-t0-version_1_0_4.json b/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-single-pool-t0-version_1_0_4.json new file mode 100644 index 0000000000..7b2d0cc635 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-single-pool-t0-version_1_0_4.json @@ -0,0 +1,1054 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "6687744" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "6687744" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "41984" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "41984" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "41984" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "41984" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "45056" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "43008" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet68": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet76": "5m", + "Ethernet72": "5m", + "Ethernet64": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet88": "5m", + "Ethernet116": "40m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet84": "5m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet28": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-D48C8", + "default_bgp_status": "up", + "type": "ToRRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "100000", + "description": "etp1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "10000", + "description": "Servers0:eth0" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "25000", + "description": "Servers1:eth0" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "40000", + "description": "Servers2:eth0" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "50000", + "description": "Servers3:eth0" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "Servers4:eth0" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "Servers5:eth0" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "Servers6:eth0" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "Servers7:eth0" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "Servers8:eth0" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "Servers9:eth0" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "Servers10:eth0" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "Servers11:eth0" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "Servers12:eth0" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "Servers13:eth0" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "Servers14:eth0" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "100000", + "description": "Servers15:eth0" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "100000", + "description": "Servers16:eth0" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "100000", + "description": "Servers17:eth0" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "100000", + "description": "Servers18:eth0" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "Servers19:eth0" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "Servers20:eth0" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "Servers21:eth0" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "Servers22:eth0" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "Servers23:eth0" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "description": "etp26" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "description": "etp27" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "description": "etp28" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA01T1:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA02T1:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_4" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-single-pool-t0-version_1_0_5.json b/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-single-pool-t0-version_1_0_5.json new file mode 100644 index 0000000000..8a78b6ad8e --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-single-pool-t0-version_1_0_5.json @@ -0,0 +1,1055 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "7719936" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "1032192", + "type": "ingress", + "mode": "dynamic", + "size": "7719936" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet68": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet76": "5m", + "Ethernet72": "5m", + "Ethernet64": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet88": "5m", + "Ethernet116": "40m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet84": "5m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet28": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-D48C8", + "default_bgp_status": "up", + "type": "ToRRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "100000", + "description": "etp1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "10000", + "description": "Servers0:eth0" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "25000", + "description": "Servers1:eth0" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "40000", + "description": "Servers2:eth0" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "50000", + "description": "Servers3:eth0" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "Servers4:eth0" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "Servers5:eth0" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "Servers6:eth0" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "Servers7:eth0" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "Servers8:eth0" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "Servers9:eth0" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "Servers10:eth0" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "Servers11:eth0" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "Servers12:eth0" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "Servers13:eth0" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "Servers14:eth0" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "100000", + "description": "Servers15:eth0" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "100000", + "description": "Servers16:eth0" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "100000", + "description": "Servers17:eth0" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "100000", + "description": "Servers18:eth0" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "Servers19:eth0" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "Servers20:eth0" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "Servers21:eth0" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "Servers22:eth0" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "Servers23:eth0" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "description": "etp26" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "description": "etp27" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "description": "etp28" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA01T1:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA02T1:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_5" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-single-pool-t0-version_2_0_0.json b/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-single-pool-t0-version_2_0_0.json new file mode 100644 index 0000000000..3a6b87e45e --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-single-pool-t0-version_2_0_0.json @@ -0,0 +1,1056 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "7719936" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "1032192", + "type": "ingress", + "mode": "dynamic", + "size": "7719936" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet68": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet76": "5m", + "Ethernet72": "5m", + "Ethernet64": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet88": "5m", + "Ethernet116": "40m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet84": "5m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet28": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-D48C8", + "default_bgp_status": "up", + "type": "ToRRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "traditional", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "100000", + "description": "etp1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "10000", + "description": "Servers0:eth0" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "25000", + "description": "Servers1:eth0" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "40000", + "description": "Servers2:eth0" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "50000", + "description": "Servers3:eth0" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "Servers4:eth0" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "Servers5:eth0" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "Servers6:eth0" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "Servers7:eth0" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "Servers8:eth0" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "Servers9:eth0" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "Servers10:eth0" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "Servers11:eth0" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "Servers12:eth0" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "Servers13:eth0" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "Servers14:eth0" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "100000", + "description": "Servers15:eth0" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "100000", + "description": "Servers16:eth0" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "100000", + "description": "Servers17:eth0" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "100000", + "description": "Servers18:eth0" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "Servers19:eth0" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "Servers20:eth0" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "Servers21:eth0" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "Servers22:eth0" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "Servers23:eth0" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "description": "etp26" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "description": "etp27" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "description": "etp28" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA01T1:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA02T1:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_0" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-single-pool-t1-version_1_0_4.json b/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-single-pool-t1-version_1_0_4.json new file mode 100644 index 0000000000..d14aad16a4 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-single-pool-t1-version_1_0_4.json @@ -0,0 +1,1151 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "8506368" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "8506368" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "41984" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "27648", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "47104" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "24576", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "44032" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "36864", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "56320" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "45056" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "45056", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "64512" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "45056" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "50176", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "69632" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "78848", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "98304" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet68": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet76": "40m", + "Ethernet72": "40m", + "Ethernet64": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet88": "40m", + "Ethernet116": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet84": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet28": "300m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet24": "300m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-D48C8", + "default_bgp_status": "up", + "type": "LeafRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T2:Ethernet1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA01T2:Ethernet2" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T2:Ethernet1" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA03T2:Ethernet2" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet1" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet2" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet1" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet2" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet1" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet2" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet1" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet2" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet1" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet2" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet1" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet2" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T0:Ethernet1" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA02T0:Ethernet1" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T0:Ethernet1" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA04T0:Ethernet1" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T0:Ethernet1" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA06T0:Ethernet1" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T0:Ethernet1" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA08T0:Ethernet1" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T0:Ethernet1" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp26", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA10T0:Ethernet1" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp27", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T0:Ethernet1" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp28", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA12T0:Ethernet1" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T0:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA14T0:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_4" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-single-pool-t1-version_1_0_5.json b/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-single-pool-t1-version_1_0_5.json new file mode 100644 index 0000000000..70e79d0273 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-single-pool-t1-version_1_0_5.json @@ -0,0 +1,1152 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "9686016" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "1179648", + "type": "ingress", + "mode": "dynamic", + "size": "9686016" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "27648", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "24576", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "36864", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "45056", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "50176", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "78848", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet68": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet76": "40m", + "Ethernet72": "40m", + "Ethernet64": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet88": "40m", + "Ethernet116": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet84": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet28": "300m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet24": "300m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-D48C8", + "default_bgp_status": "up", + "type": "LeafRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T2:Ethernet1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA01T2:Ethernet2" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T2:Ethernet1" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA03T2:Ethernet2" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet1" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet2" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet1" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet2" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet1" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet2" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet1" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet2" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet1" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet2" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet1" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet2" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T0:Ethernet1" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA02T0:Ethernet1" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T0:Ethernet1" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA04T0:Ethernet1" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T0:Ethernet1" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA06T0:Ethernet1" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T0:Ethernet1" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA08T0:Ethernet1" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T0:Ethernet1" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp26", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA10T0:Ethernet1" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp27", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T0:Ethernet1" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp28", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA12T0:Ethernet1" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T0:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA14T0:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_5" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-single-pool-t1-version_2_0_0.json b/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-single-pool-t1-version_2_0_0.json new file mode 100644 index 0000000000..00b7f625cc --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-single-pool-t1-version_2_0_0.json @@ -0,0 +1,1153 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "9686016" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "1179648", + "type": "ingress", + "mode": "dynamic", + "size": "9686016" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "27648", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "24576", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "36864", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "45056", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "50176", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "78848", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet68": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet76": "40m", + "Ethernet72": "40m", + "Ethernet64": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet88": "40m", + "Ethernet116": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet84": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet28": "300m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet24": "300m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-D48C8", + "default_bgp_status": "up", + "type": "LeafRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "traditional", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T2:Ethernet1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA01T2:Ethernet2" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T2:Ethernet1" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA03T2:Ethernet2" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet1" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet2" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet1" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet2" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet1" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet2" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet1" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet2" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet1" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet2" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet1" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet2" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T0:Ethernet1" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA02T0:Ethernet1" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T0:Ethernet1" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA04T0:Ethernet1" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T0:Ethernet1" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA06T0:Ethernet1" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T0:Ethernet1" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA08T0:Ethernet1" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T0:Ethernet1" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp26", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA10T0:Ethernet1" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp27", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T0:Ethernet1" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp28", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA12T0:Ethernet1" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T0:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA14T0:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_0" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t0-version_1_0_1.json b/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t0-version_1_0_1.json new file mode 100644 index 0000000000..78a23b0a12 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t0-version_1_0_1.json @@ -0,0 +1,1059 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "16777152" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "7340032" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "4194304" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "7340032" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "4096" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "0", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "41984" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "18432", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "36864" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "35840", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "54272" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet68": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet76": "5m", + "Ethernet72": "5m", + "Ethernet64": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet88": "5m", + "Ethernet116": "40m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet84": "5m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet28": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-D48C8", + "default_bgp_status": "up", + "type": "ToRRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "100000", + "description": "etp1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "10000", + "description": "Servers0:eth0" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "25000", + "description": "Servers1:eth0" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "40000", + "description": "Servers2:eth0" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "50000", + "description": "Servers3:eth0" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "Servers4:eth0" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "Servers5:eth0" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "Servers6:eth0" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "Servers7:eth0" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "Servers8:eth0" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "Servers9:eth0" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "Servers10:eth0" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "Servers11:eth0" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "Servers12:eth0" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "Servers13:eth0" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "Servers14:eth0" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "100000", + "description": "Servers15:eth0" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "100000", + "description": "Servers16:eth0" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "100000", + "description": "Servers17:eth0" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "100000", + "description": "Servers18:eth0" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "Servers19:eth0" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "Servers20:eth0" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "Servers21:eth0" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "Servers22:eth0" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "Servers23:eth0" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "description": "etp26" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "description": "etp27" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "description": "etp28" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA01T1:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA02T1:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_1" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t0-version_1_0_2.json b/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t0-version_1_0_2.json new file mode 100644 index 0000000000..fb9798b76a --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t0-version_1_0_2.json @@ -0,0 +1,1059 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "16777152" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "7340032" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "4194304" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "7340032" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "4096" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "0", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "41984" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "18432", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "36864" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "35840", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "54272" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet68": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet76": "5m", + "Ethernet72": "5m", + "Ethernet64": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet88": "5m", + "Ethernet116": "40m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet84": "5m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet28": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-D48C8", + "default_bgp_status": "up", + "type": "ToRRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "100000", + "description": "etp1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "10000", + "description": "Servers0:eth0" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "25000", + "description": "Servers1:eth0" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "40000", + "description": "Servers2:eth0" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "50000", + "description": "Servers3:eth0" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "Servers4:eth0" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "Servers5:eth0" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "Servers6:eth0" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "Servers7:eth0" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "Servers8:eth0" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "Servers9:eth0" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "Servers10:eth0" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "Servers11:eth0" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "Servers12:eth0" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "Servers13:eth0" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "Servers14:eth0" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "100000", + "description": "Servers15:eth0" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "100000", + "description": "Servers16:eth0" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "100000", + "description": "Servers17:eth0" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "100000", + "description": "Servers18:eth0" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "Servers19:eth0" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "Servers20:eth0" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "Servers21:eth0" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "Servers22:eth0" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "Servers23:eth0" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "description": "etp26" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "description": "etp27" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "description": "etp28" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA01T1:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA02T1:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_2" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t0-version_1_0_3.json b/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t0-version_1_0_3.json new file mode 100644 index 0000000000..8ea94389c5 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t0-version_1_0_3.json @@ -0,0 +1,1059 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "14024599" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "5029836" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "5029836" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "5029836" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "4096" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "0", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "41984" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "18432", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "36864" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "35840", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "54272" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet68": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet76": "5m", + "Ethernet72": "5m", + "Ethernet64": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet88": "5m", + "Ethernet116": "40m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet84": "5m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet28": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-D48C8", + "default_bgp_status": "up", + "type": "ToRRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "100000", + "description": "etp1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "10000", + "description": "Servers0:eth0" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "25000", + "description": "Servers1:eth0" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "40000", + "description": "Servers2:eth0" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "50000", + "description": "Servers3:eth0" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "Servers4:eth0" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "Servers5:eth0" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "Servers6:eth0" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "Servers7:eth0" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "Servers8:eth0" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "Servers9:eth0" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "Servers10:eth0" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "Servers11:eth0" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "Servers12:eth0" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "Servers13:eth0" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "Servers14:eth0" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "100000", + "description": "Servers15:eth0" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "100000", + "description": "Servers16:eth0" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "100000", + "description": "Servers17:eth0" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "100000", + "description": "Servers18:eth0" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "Servers19:eth0" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "Servers20:eth0" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "Servers21:eth0" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "Servers22:eth0" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "Servers23:eth0" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "description": "etp26" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "description": "etp27" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "description": "etp28" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA01T1:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA02T1:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_3" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t0-version_1_0_4.json b/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t0-version_1_0_4.json new file mode 100644 index 0000000000..ba1b139588 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t0-version_1_0_4.json @@ -0,0 +1,1059 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "4580864" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "4580864" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "4580864" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "30720", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "50176" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "38912", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "58368" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet68": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet76": "5m", + "Ethernet72": "5m", + "Ethernet64": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet88": "5m", + "Ethernet116": "40m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet84": "5m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet28": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-D48C8", + "default_bgp_status": "up", + "type": "ToRRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "100000", + "description": "etp1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "10000", + "description": "Servers0:eth0" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "25000", + "description": "Servers1:eth0" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "40000", + "description": "Servers2:eth0" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "50000", + "description": "Servers3:eth0" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "Servers4:eth0" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "Servers5:eth0" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "Servers6:eth0" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "Servers7:eth0" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "Servers8:eth0" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "Servers9:eth0" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "Servers10:eth0" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "Servers11:eth0" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "Servers12:eth0" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "Servers13:eth0" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "Servers14:eth0" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "100000", + "description": "Servers15:eth0" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "100000", + "description": "Servers16:eth0" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "100000", + "description": "Servers17:eth0" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "100000", + "description": "Servers18:eth0" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "Servers19:eth0" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "Servers20:eth0" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "Servers21:eth0" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "Servers22:eth0" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "Servers23:eth0" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "description": "etp26" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "description": "etp27" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "description": "etp28" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA01T1:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA02T1:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_4" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t0-version_1_0_5.json b/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t0-version_1_0_5.json new file mode 100644 index 0000000000..7651dbdfaa --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t0-version_1_0_5.json @@ -0,0 +1,1060 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "3859968" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "1032192", + "type": "ingress", + "mode": "dynamic", + "size": "3859968" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "3859968" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet68": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet76": "5m", + "Ethernet72": "5m", + "Ethernet64": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet88": "5m", + "Ethernet116": "40m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet84": "5m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet28": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-D48C8", + "default_bgp_status": "up", + "type": "ToRRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "100000", + "description": "etp1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "10000", + "description": "Servers0:eth0" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "25000", + "description": "Servers1:eth0" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "40000", + "description": "Servers2:eth0" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "50000", + "description": "Servers3:eth0" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "Servers4:eth0" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "Servers5:eth0" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "Servers6:eth0" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "Servers7:eth0" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "Servers8:eth0" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "Servers9:eth0" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "Servers10:eth0" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "Servers11:eth0" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "Servers12:eth0" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "Servers13:eth0" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "Servers14:eth0" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "100000", + "description": "Servers15:eth0" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "100000", + "description": "Servers16:eth0" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "100000", + "description": "Servers17:eth0" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "100000", + "description": "Servers18:eth0" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "Servers19:eth0" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "Servers20:eth0" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "Servers21:eth0" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "Servers22:eth0" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "Servers23:eth0" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "description": "etp26" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "description": "etp27" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "description": "etp28" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA01T1:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA02T1:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_5" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t0-version_2_0_0.json b/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t0-version_2_0_0.json new file mode 100644 index 0000000000..d5ae070107 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t0-version_2_0_0.json @@ -0,0 +1,1061 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "3859968" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "1032192", + "type": "ingress", + "mode": "dynamic", + "size": "3859968" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "3859968" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet68": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet76": "5m", + "Ethernet72": "5m", + "Ethernet64": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet88": "5m", + "Ethernet116": "40m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet84": "5m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet28": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-D48C8", + "default_bgp_status": "up", + "type": "ToRRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "traditional", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "100000", + "description": "etp1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "10000", + "description": "Servers0:eth0" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "25000", + "description": "Servers1:eth0" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "40000", + "description": "Servers2:eth0" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "50000", + "description": "Servers3:eth0" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "Servers4:eth0" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "Servers5:eth0" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "Servers6:eth0" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "Servers7:eth0" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "Servers8:eth0" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "Servers9:eth0" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "Servers10:eth0" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "Servers11:eth0" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "Servers12:eth0" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "Servers13:eth0" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "Servers14:eth0" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "100000", + "description": "Servers15:eth0" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "100000", + "description": "Servers16:eth0" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "100000", + "description": "Servers17:eth0" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "100000", + "description": "Servers18:eth0" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "Servers19:eth0" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "Servers20:eth0" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "Servers21:eth0" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "Servers22:eth0" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "Servers23:eth0" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "description": "etp26" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "description": "etp27" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "description": "etp28" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA01T1:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA02T1:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_0" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t1-version_1_0_1.json b/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t1-version_1_0_1.json new file mode 100644 index 0000000000..b085f4f6ed --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t1-version_1_0_1.json @@ -0,0 +1,1156 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "16777152" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "5242880" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "2097152" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "5242880" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "4096" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "0", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "18432", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "36864" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "30720", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "21504", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "39936" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "53248", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "71680" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "41984" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "75776", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "94208" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "41984" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "75776", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "94208" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "35840", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "54272" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "165888", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "184320" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet68": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet76": "40m", + "Ethernet72": "40m", + "Ethernet64": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet88": "40m", + "Ethernet116": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet84": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet28": "300m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet24": "300m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-D48C8", + "default_bgp_status": "up", + "type": "LeafRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T2:Ethernet1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA01T2:Ethernet2" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T2:Ethernet1" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA03T2:Ethernet2" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet1" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet2" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet1" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet2" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet1" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet2" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet1" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet2" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet1" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet2" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet1" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet2" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T0:Ethernet1" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA02T0:Ethernet1" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T0:Ethernet1" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA04T0:Ethernet1" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T0:Ethernet1" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA06T0:Ethernet1" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T0:Ethernet1" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA08T0:Ethernet1" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T0:Ethernet1" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp26", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA10T0:Ethernet1" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp27", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T0:Ethernet1" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp28", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA12T0:Ethernet1" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T0:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA14T0:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_1" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t1-version_1_0_2.json b/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t1-version_1_0_2.json new file mode 100644 index 0000000000..e80aafb08d --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t1-version_1_0_2.json @@ -0,0 +1,1156 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "16777152" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "5242880" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "2097152" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "5242880" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "4096" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "0", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "18432", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "36864" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "30720", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "21504", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "39936" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "53248", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "71680" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "41984" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "75776", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "94208" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "41984" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "75776", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "94208" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "35840", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "54272" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "165888", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "184320" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet68": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet76": "40m", + "Ethernet72": "40m", + "Ethernet64": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet88": "40m", + "Ethernet116": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet84": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet28": "300m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet24": "300m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-D48C8", + "default_bgp_status": "up", + "type": "LeafRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T2:Ethernet1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA01T2:Ethernet2" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T2:Ethernet1" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA03T2:Ethernet2" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet1" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet2" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet1" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet2" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet1" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet2" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet1" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet2" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet1" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet2" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet1" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet2" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T0:Ethernet1" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA02T0:Ethernet1" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T0:Ethernet1" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA04T0:Ethernet1" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T0:Ethernet1" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA06T0:Ethernet1" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T0:Ethernet1" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA08T0:Ethernet1" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T0:Ethernet1" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp26", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA10T0:Ethernet1" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp27", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T0:Ethernet1" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp28", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA12T0:Ethernet1" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T0:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA14T0:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_2" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t1-version_1_0_3.json b/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t1-version_1_0_3.json new file mode 100644 index 0000000000..00578b57f8 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t1-version_1_0_3.json @@ -0,0 +1,1156 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "14024599" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "2097100" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "2097100" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "2097100" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "4096" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "0", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "18432", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "36864" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "30720", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "21504", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "39936" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "53248", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "71680" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "41984" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "75776", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "94208" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "41984" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "75776", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "94208" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "35840", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "54272" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "165888", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "184320" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet68": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet76": "40m", + "Ethernet72": "40m", + "Ethernet64": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet88": "40m", + "Ethernet116": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet84": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet28": "300m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet24": "300m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-D48C8", + "default_bgp_status": "up", + "type": "LeafRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T2:Ethernet1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA01T2:Ethernet2" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T2:Ethernet1" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA03T2:Ethernet2" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet1" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet2" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet1" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet2" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet1" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet2" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet1" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet2" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet1" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet2" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet1" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet2" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T0:Ethernet1" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA02T0:Ethernet1" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T0:Ethernet1" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA04T0:Ethernet1" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T0:Ethernet1" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA06T0:Ethernet1" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T0:Ethernet1" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA08T0:Ethernet1" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T0:Ethernet1" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp26", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA10T0:Ethernet1" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp27", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T0:Ethernet1" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp28", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA12T0:Ethernet1" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T0:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA14T0:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_3" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t1-version_1_0_4.json b/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t1-version_1_0_4.json new file mode 100644 index 0000000000..808d4d90e0 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t1-version_1_0_4.json @@ -0,0 +1,1156 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "3302912" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "3302912" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "3302912" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "36864", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "56320" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "31744", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "51200" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "48128", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "67584" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "32768", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "52224" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "59392", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "78848" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "66560", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "86016" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "38912", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "58368" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "104448", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "123904" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet68": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet76": "40m", + "Ethernet72": "40m", + "Ethernet64": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet88": "40m", + "Ethernet116": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet84": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet28": "300m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet24": "300m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-D48C8", + "default_bgp_status": "up", + "type": "LeafRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T2:Ethernet1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA01T2:Ethernet2" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T2:Ethernet1" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA03T2:Ethernet2" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet1" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet2" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet1" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet2" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet1" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet2" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet1" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet2" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet1" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet2" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet1" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet2" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T0:Ethernet1" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA02T0:Ethernet1" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T0:Ethernet1" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA04T0:Ethernet1" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T0:Ethernet1" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA06T0:Ethernet1" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T0:Ethernet1" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA08T0:Ethernet1" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T0:Ethernet1" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp26", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA10T0:Ethernet1" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp27", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T0:Ethernet1" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp28", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA12T0:Ethernet1" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T0:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA14T0:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_4" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t1-version_1_0_5.json b/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t1-version_1_0_5.json new file mode 100644 index 0000000000..fae8861199 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t1-version_1_0_5.json @@ -0,0 +1,1157 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "4843008" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "1179648", + "type": "ingress", + "mode": "dynamic", + "size": "4843008" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "4843008" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "27648", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "24576", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "36864", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "45056", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "50176", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "78848", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet68": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet76": "40m", + "Ethernet72": "40m", + "Ethernet64": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet88": "40m", + "Ethernet116": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet84": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet28": "300m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet24": "300m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-D48C8", + "default_bgp_status": "up", + "type": "LeafRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T2:Ethernet1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA01T2:Ethernet2" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T2:Ethernet1" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA03T2:Ethernet2" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet1" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet2" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet1" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet2" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet1" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet2" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet1" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet2" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet1" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet2" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet1" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet2" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T0:Ethernet1" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA02T0:Ethernet1" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T0:Ethernet1" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA04T0:Ethernet1" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T0:Ethernet1" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA06T0:Ethernet1" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T0:Ethernet1" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA08T0:Ethernet1" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T0:Ethernet1" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp26", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA10T0:Ethernet1" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp27", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T0:Ethernet1" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp28", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA12T0:Ethernet1" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T0:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA14T0:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_5" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t1-version_2_0_0.json b/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t1-version_2_0_0.json new file mode 100644 index 0000000000..5eef111d71 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t1-version_2_0_0.json @@ -0,0 +1,1158 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "4843008" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "1179648", + "type": "ingress", + "mode": "dynamic", + "size": "4843008" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "4843008" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "27648", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "24576", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "36864", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "45056", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "50176", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "78848", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet68": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet76": "40m", + "Ethernet72": "40m", + "Ethernet64": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet88": "40m", + "Ethernet116": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet84": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet28": "300m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet24": "300m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-D48C8", + "default_bgp_status": "up", + "type": "LeafRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "traditional", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T2:Ethernet1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA01T2:Ethernet2" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T2:Ethernet1" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA03T2:Ethernet2" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet1" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet2" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet1" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet2" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet1" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet2" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet1" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet2" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet1" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet2" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet1" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet2" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T0:Ethernet1" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA02T0:Ethernet1" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T0:Ethernet1" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA04T0:Ethernet1" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T0:Ethernet1" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA06T0:Ethernet1" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T0:Ethernet1" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA08T0:Ethernet1" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T0:Ethernet1" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp26", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA10T0:Ethernet1" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp27", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T0:Ethernet1" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp28", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA12T0:Ethernet1" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T0:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA14T0:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_0" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-single-pool-t0-version_1_0_4.json b/tests/db_migrator_input/config_db/mellanox-sn2700-single-pool-t0-version_1_0_4.json new file mode 100644 index 0000000000..563344a3b2 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-single-pool-t0-version_1_0_4.json @@ -0,0 +1,1054 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "9489408" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "9489408" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "30720", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "50176" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "38912", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "58368" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet76": "5m", + "Ethernet72": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet28": "5m", + "Ethernet88": "5m", + "Ethernet24": "5m", + "Ethernet116": "40m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet84": "5m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet64": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet68": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700", + "default_bgp_status": "up", + "docker_routing_config_mode": "unified", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "type": "ToRRouter" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "10000", + "description": "etp1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "Servers0:eth0" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "Servers1:eth0" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "Servers2:eth0" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "Servers3:eth0" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "Servers4:eth0" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "Servers5:eth0" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "Servers6:eth0" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "Servers7:eth0" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "Servers8:eth0" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "Servers9:eth0" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "Servers10:eth0" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "Servers11:eth0" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "Servers12:eth0" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "Servers13:eth0" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "Servers14:eth0" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "100000", + "description": "Servers15:eth0" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "100000", + "description": "Servers16:eth0" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "100000", + "description": "Servers17:eth0" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "100000", + "description": "Servers18:eth0" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "Servers19:eth0" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "Servers20:eth0" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "Servers21:eth0" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "Servers22:eth0" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "Servers23:eth0" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "description": "etp26" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "description": "etp27" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "description": "etp28" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA01T1:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA02T1:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_4" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-single-pool-t0-version_1_0_5.json b/tests/db_migrator_input/config_db/mellanox-sn2700-single-pool-t0-version_1_0_5.json new file mode 100644 index 0000000000..3c52b54752 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-single-pool-t0-version_1_0_5.json @@ -0,0 +1,1055 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "10177536" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "688128", + "type": "ingress", + "mode": "dynamic", + "size": "10177536" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet76": "5m", + "Ethernet72": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet28": "5m", + "Ethernet88": "5m", + "Ethernet24": "5m", + "Ethernet116": "40m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet84": "5m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet64": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet68": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700", + "default_bgp_status": "up", + "docker_routing_config_mode": "unified", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "type": "ToRRouter" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "10000", + "description": "etp1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "Servers0:eth0" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "Servers1:eth0" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "Servers2:eth0" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "Servers3:eth0" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "Servers4:eth0" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "Servers5:eth0" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "Servers6:eth0" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "Servers7:eth0" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "Servers8:eth0" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "Servers9:eth0" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "Servers10:eth0" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "Servers11:eth0" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "Servers12:eth0" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "Servers13:eth0" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "Servers14:eth0" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "100000", + "description": "Servers15:eth0" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "100000", + "description": "Servers16:eth0" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "100000", + "description": "Servers17:eth0" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "100000", + "description": "Servers18:eth0" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "Servers19:eth0" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "Servers20:eth0" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "Servers21:eth0" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "Servers22:eth0" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "Servers23:eth0" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "description": "etp26" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "description": "etp27" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "description": "etp28" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA01T1:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA02T1:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_5" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-single-pool-t0-version_2_0_0.json b/tests/db_migrator_input/config_db/mellanox-sn2700-single-pool-t0-version_2_0_0.json new file mode 100644 index 0000000000..a454212ec8 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-single-pool-t0-version_2_0_0.json @@ -0,0 +1,1056 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "10177536" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "688128", + "type": "ingress", + "mode": "dynamic", + "size": "10177536" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet76": "5m", + "Ethernet72": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet28": "5m", + "Ethernet88": "5m", + "Ethernet24": "5m", + "Ethernet116": "40m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet84": "5m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet64": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet68": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700", + "default_bgp_status": "up", + "docker_routing_config_mode": "unified", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "traditional", + "deployment_id": "1", + "type": "ToRRouter" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "10000", + "description": "etp1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "Servers0:eth0" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "Servers1:eth0" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "Servers2:eth0" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "Servers3:eth0" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "Servers4:eth0" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "Servers5:eth0" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "Servers6:eth0" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "Servers7:eth0" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "Servers8:eth0" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "Servers9:eth0" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "Servers10:eth0" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "Servers11:eth0" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "Servers12:eth0" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "Servers13:eth0" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "Servers14:eth0" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "100000", + "description": "Servers15:eth0" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "100000", + "description": "Servers16:eth0" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "100000", + "description": "Servers17:eth0" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "100000", + "description": "Servers18:eth0" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "Servers19:eth0" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "Servers20:eth0" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "Servers21:eth0" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "Servers22:eth0" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "Servers23:eth0" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "description": "etp26" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "description": "etp27" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "description": "etp28" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA01T1:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA02T1:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_0" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-single-pool-t1-version_1_0_4.json b/tests/db_migrator_input/config_db/mellanox-sn2700-single-pool-t1-version_1_0_4.json new file mode 100644 index 0000000000..8aa8bbb1c0 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-single-pool-t1-version_1_0_4.json @@ -0,0 +1,1151 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "7719936" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "7719936" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "41984" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "27648", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "47104" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "24576", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "44032" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "36864", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "56320" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "45056" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "45056", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "64512" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "45056" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "50176", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "69632" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "78848", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "98304" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet68": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet76": "40m", + "Ethernet72": "40m", + "Ethernet64": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet88": "40m", + "Ethernet116": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet84": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet28": "300m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet24": "300m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700", + "default_bgp_status": "up", + "type": "LeafRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T2:Ethernet1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA01T2:Ethernet2" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T2:Ethernet1" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA03T2:Ethernet2" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet1" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet2" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet1" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet2" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet1" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet2" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet1" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet2" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet1" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet2" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet1" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet2" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T0:Ethernet1" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA02T0:Ethernet1" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T0:Ethernet1" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA04T0:Ethernet1" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T0:Ethernet1" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA06T0:Ethernet1" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T0:Ethernet1" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA08T0:Ethernet1" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T0:Ethernet1" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp26", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA10T0:Ethernet1" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp27", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T0:Ethernet1" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp28", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA12T0:Ethernet1" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T0:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA14T0:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_4" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-single-pool-t1-version_1_0_5.json b/tests/db_migrator_input/config_db/mellanox-sn2700-single-pool-t1-version_1_0_5.json new file mode 100644 index 0000000000..6ff848ca35 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-single-pool-t1-version_1_0_5.json @@ -0,0 +1,1152 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "9292800" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "1572864", + "type": "ingress", + "mode": "dynamic", + "size": "9292800" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "27648", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "24576", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "36864", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "45056", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "50176", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "78848", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet68": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet76": "40m", + "Ethernet72": "40m", + "Ethernet64": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet88": "40m", + "Ethernet116": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet84": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet28": "300m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet24": "300m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700", + "default_bgp_status": "up", + "type": "LeafRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T2:Ethernet1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA01T2:Ethernet2" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T2:Ethernet1" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA03T2:Ethernet2" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet1" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet2" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet1" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet2" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet1" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet2" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet1" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet2" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet1" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet2" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet1" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet2" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T0:Ethernet1" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA02T0:Ethernet1" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T0:Ethernet1" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA04T0:Ethernet1" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T0:Ethernet1" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA06T0:Ethernet1" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T0:Ethernet1" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA08T0:Ethernet1" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T0:Ethernet1" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp26", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA10T0:Ethernet1" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp27", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T0:Ethernet1" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp28", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA12T0:Ethernet1" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T0:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA14T0:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_5" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-single-pool-t1-version_2_0_0.json b/tests/db_migrator_input/config_db/mellanox-sn2700-single-pool-t1-version_2_0_0.json new file mode 100644 index 0000000000..cff776368e --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-single-pool-t1-version_2_0_0.json @@ -0,0 +1,1153 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "9292800" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "1572864", + "type": "ingress", + "mode": "dynamic", + "size": "9292800" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "27648", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "24576", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "36864", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "45056", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "50176", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "78848", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet68": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet76": "40m", + "Ethernet72": "40m", + "Ethernet64": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet88": "40m", + "Ethernet116": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet84": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet28": "300m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet24": "300m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700", + "default_bgp_status": "up", + "type": "LeafRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "traditional", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T2:Ethernet1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA01T2:Ethernet2" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T2:Ethernet1" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA03T2:Ethernet2" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet1" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet2" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet1" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet2" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet1" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet2" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet1" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet2" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet1" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet2" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet1" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet2" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T0:Ethernet1" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA02T0:Ethernet1" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T0:Ethernet1" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA04T0:Ethernet1" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T0:Ethernet1" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA06T0:Ethernet1" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T0:Ethernet1" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA08T0:Ethernet1" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T0:Ethernet1" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp26", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA10T0:Ethernet1" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp27", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T0:Ethernet1" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp28", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA12T0:Ethernet1" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T0:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA14T0:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_0" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-t0-version_1_0_1.json b/tests/db_migrator_input/config_db/mellanox-sn2700-t0-version_1_0_1.json new file mode 100644 index 0000000000..36cd08b23e --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-t0-version_1_0_1.json @@ -0,0 +1,1059 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "16777152" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "7340032" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "4194304" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "7340032" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "4096" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "0", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "41984" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "18432", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "36864" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "35840", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "54272" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet68": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet76": "5m", + "Ethernet72": "5m", + "Ethernet64": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet88": "5m", + "Ethernet116": "40m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet84": "5m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet28": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700", + "default_bgp_status": "up", + "type": "ToRRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "100000", + "description": "etp1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "10000", + "description": "Servers0:eth0" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "25000", + "description": "Servers1:eth0" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "40000", + "description": "Servers2:eth0" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "50000", + "description": "Servers3:eth0" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "Servers4:eth0" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "Servers5:eth0" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "Servers6:eth0" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "Servers7:eth0" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "Servers8:eth0" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "Servers9:eth0" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "Servers10:eth0" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "Servers11:eth0" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "Servers12:eth0" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "Servers13:eth0" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "Servers14:eth0" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "100000", + "description": "Servers15:eth0" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "100000", + "description": "Servers16:eth0" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "100000", + "description": "Servers17:eth0" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "100000", + "description": "Servers18:eth0" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "Servers19:eth0" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "Servers20:eth0" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "Servers21:eth0" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "Servers22:eth0" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "Servers23:eth0" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "description": "etp26" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "description": "etp27" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "description": "etp28" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA01T1:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA02T1:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_1" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-t0-version_1_0_2.json b/tests/db_migrator_input/config_db/mellanox-sn2700-t0-version_1_0_2.json new file mode 100644 index 0000000000..10e95a4f4a --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-t0-version_1_0_2.json @@ -0,0 +1,1059 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "16777152" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "7340032" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "4194304" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "7340032" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "4096" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "0", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "41984" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "18432", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "36864" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "35840", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "54272" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet68": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet76": "5m", + "Ethernet72": "5m", + "Ethernet64": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet88": "5m", + "Ethernet116": "40m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet84": "5m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet28": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700", + "default_bgp_status": "up", + "type": "ToRRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "100000", + "description": "etp1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "10000", + "description": "Servers0:eth0" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "25000", + "description": "Servers1:eth0" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "40000", + "description": "Servers2:eth0" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "50000", + "description": "Servers3:eth0" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "Servers4:eth0" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "Servers5:eth0" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "Servers6:eth0" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "Servers7:eth0" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "Servers8:eth0" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "Servers9:eth0" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "Servers10:eth0" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "Servers11:eth0" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "Servers12:eth0" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "Servers13:eth0" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "Servers14:eth0" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "100000", + "description": "Servers15:eth0" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "100000", + "description": "Servers16:eth0" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "100000", + "description": "Servers17:eth0" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "100000", + "description": "Servers18:eth0" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "Servers19:eth0" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "Servers20:eth0" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "Servers21:eth0" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "Servers22:eth0" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "Servers23:eth0" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "description": "etp26" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "description": "etp27" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "description": "etp28" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA01T1:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA02T1:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_2" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-t0-version_1_0_3.json b/tests/db_migrator_input/config_db/mellanox-sn2700-t0-version_1_0_3.json new file mode 100644 index 0000000000..0ede44f73b --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-t0-version_1_0_3.json @@ -0,0 +1,1059 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "14024599" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "5029836" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "5029836" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "5029836" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "4096" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "0", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "41984" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "18432", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "36864" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "35840", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "54272" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet68": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet76": "5m", + "Ethernet72": "5m", + "Ethernet64": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet88": "5m", + "Ethernet116": "40m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet84": "5m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet28": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700", + "default_bgp_status": "up", + "type": "ToRRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "100000", + "description": "etp1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "10000", + "description": "Servers0:eth0" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "25000", + "description": "Servers1:eth0" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "40000", + "description": "Servers2:eth0" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "50000", + "description": "Servers3:eth0" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "Servers4:eth0" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "Servers5:eth0" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "Servers6:eth0" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "Servers7:eth0" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "Servers8:eth0" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "Servers9:eth0" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "Servers10:eth0" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "Servers11:eth0" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "Servers12:eth0" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "Servers13:eth0" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "Servers14:eth0" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "100000", + "description": "Servers15:eth0" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "100000", + "description": "Servers16:eth0" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "100000", + "description": "Servers17:eth0" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "100000", + "description": "Servers18:eth0" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "Servers19:eth0" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "Servers20:eth0" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "Servers21:eth0" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "Servers22:eth0" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "Servers23:eth0" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "description": "etp26" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "description": "etp27" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "description": "etp28" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA01T1:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA02T1:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_3" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-t0-version_1_0_4.json b/tests/db_migrator_input/config_db/mellanox-sn2700-t0-version_1_0_4.json new file mode 100644 index 0000000000..988c883f1e --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-t0-version_1_0_4.json @@ -0,0 +1,1059 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "4580864" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "4580864" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "4580864" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "30720", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "50176" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "38912", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "58368" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet68": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet76": "5m", + "Ethernet72": "5m", + "Ethernet64": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet88": "5m", + "Ethernet116": "40m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet84": "5m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet28": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700", + "default_bgp_status": "up", + "type": "ToRRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "100000", + "description": "etp1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "10000", + "description": "Servers0:eth0" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "25000", + "description": "Servers1:eth0" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "40000", + "description": "Servers2:eth0" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "50000", + "description": "Servers3:eth0" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "Servers4:eth0" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "Servers5:eth0" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "Servers6:eth0" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "Servers7:eth0" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "Servers8:eth0" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "Servers9:eth0" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "Servers10:eth0" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "Servers11:eth0" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "Servers12:eth0" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "Servers13:eth0" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "Servers14:eth0" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "100000", + "description": "Servers15:eth0" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "100000", + "description": "Servers16:eth0" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "100000", + "description": "Servers17:eth0" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "100000", + "description": "Servers18:eth0" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "Servers19:eth0" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "Servers20:eth0" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "Servers21:eth0" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "Servers22:eth0" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "Servers23:eth0" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "description": "etp26" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "description": "etp27" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "description": "etp28" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA01T1:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA02T1:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_4" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-t0-version_1_0_5.json b/tests/db_migrator_input/config_db/mellanox-sn2700-t0-version_1_0_5.json new file mode 100644 index 0000000000..a04a3f0b8d --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-t0-version_1_0_5.json @@ -0,0 +1,1060 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "5088768" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "688128", + "type": "ingress", + "mode": "dynamic", + "size": "5088768" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "5088768" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet68": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet76": "5m", + "Ethernet72": "5m", + "Ethernet64": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet88": "5m", + "Ethernet116": "40m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet84": "5m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet28": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700", + "default_bgp_status": "up", + "type": "ToRRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "100000", + "description": "etp1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "10000", + "description": "Servers0:eth0" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "25000", + "description": "Servers1:eth0" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "40000", + "description": "Servers2:eth0" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "50000", + "description": "Servers3:eth0" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "Servers4:eth0" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "Servers5:eth0" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "Servers6:eth0" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "Servers7:eth0" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "Servers8:eth0" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "Servers9:eth0" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "Servers10:eth0" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "Servers11:eth0" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "Servers12:eth0" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "Servers13:eth0" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "Servers14:eth0" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "100000", + "description": "Servers15:eth0" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "100000", + "description": "Servers16:eth0" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "100000", + "description": "Servers17:eth0" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "100000", + "description": "Servers18:eth0" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "Servers19:eth0" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "Servers20:eth0" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "Servers21:eth0" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "Servers22:eth0" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "Servers23:eth0" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "description": "etp26" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "description": "etp27" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "description": "etp28" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA01T1:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA02T1:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_5" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-t0-version_2_0_0.json b/tests/db_migrator_input/config_db/mellanox-sn2700-t0-version_2_0_0.json new file mode 100644 index 0000000000..faea8e28eb --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-t0-version_2_0_0.json @@ -0,0 +1,1061 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "5088768" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "688128", + "type": "ingress", + "mode": "dynamic", + "size": "5088768" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "5088768" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet68": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet76": "5m", + "Ethernet72": "5m", + "Ethernet64": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet88": "5m", + "Ethernet116": "40m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet84": "5m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet28": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700", + "default_bgp_status": "up", + "type": "ToRRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "traditional", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "100000", + "description": "etp1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "10000", + "description": "Servers0:eth0" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "25000", + "description": "Servers1:eth0" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "40000", + "description": "Servers2:eth0" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "50000", + "description": "Servers3:eth0" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "Servers4:eth0" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "Servers5:eth0" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "Servers6:eth0" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "Servers7:eth0" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "Servers8:eth0" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "Servers9:eth0" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "Servers10:eth0" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "Servers11:eth0" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "Servers12:eth0" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "Servers13:eth0" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "Servers14:eth0" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "100000", + "description": "Servers15:eth0" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "100000", + "description": "Servers16:eth0" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "100000", + "description": "Servers17:eth0" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "100000", + "description": "Servers18:eth0" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "Servers19:eth0" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "Servers20:eth0" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "Servers21:eth0" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "Servers22:eth0" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "Servers23:eth0" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "description": "etp26" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "description": "etp27" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "description": "etp28" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA01T1:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA02T1:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_0" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-t1-version_1_0_1.json b/tests/db_migrator_input/config_db/mellanox-sn2700-t1-version_1_0_1.json new file mode 100644 index 0000000000..9e3bee3804 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-t1-version_1_0_1.json @@ -0,0 +1,1156 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "16777152" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "5242880" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "2097152" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "5242880" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "4096" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "0", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "18432", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "36864" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "30720", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "21504", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "39936" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "53248", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "71680" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "41984" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "75776", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "94208" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "41984" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "75776", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "94208" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "35840", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "54272" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "165888", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "184320" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet68": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet76": "40m", + "Ethernet72": "40m", + "Ethernet64": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet88": "40m", + "Ethernet116": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet84": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet28": "300m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet24": "300m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700", + "default_bgp_status": "up", + "type": "LeafRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T2:Ethernet1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA01T2:Ethernet2" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T2:Ethernet1" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA03T2:Ethernet2" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet1" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet2" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet1" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet2" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet1" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet2" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet1" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet2" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet1" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet2" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet1" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet2" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T0:Ethernet1" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA02T0:Ethernet1" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T0:Ethernet1" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA04T0:Ethernet1" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T0:Ethernet1" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA06T0:Ethernet1" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T0:Ethernet1" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA08T0:Ethernet1" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T0:Ethernet1" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp26", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA10T0:Ethernet1" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp27", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T0:Ethernet1" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp28", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA12T0:Ethernet1" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T0:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA14T0:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_1" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-t1-version_1_0_2.json b/tests/db_migrator_input/config_db/mellanox-sn2700-t1-version_1_0_2.json new file mode 100644 index 0000000000..d1635d9ff9 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-t1-version_1_0_2.json @@ -0,0 +1,1156 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "16777152" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "5242880" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "2097152" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "5242880" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "4096" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "0", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "18432", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "36864" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "30720", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "21504", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "39936" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "53248", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "71680" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "41984" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "75776", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "94208" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "41984" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "75776", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "94208" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "35840", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "54272" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "165888", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "184320" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet68": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet76": "40m", + "Ethernet72": "40m", + "Ethernet64": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet88": "40m", + "Ethernet116": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet84": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet28": "300m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet24": "300m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700", + "default_bgp_status": "up", + "type": "LeafRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T2:Ethernet1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA01T2:Ethernet2" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T2:Ethernet1" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA03T2:Ethernet2" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet1" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet2" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet1" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet2" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet1" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet2" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet1" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet2" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet1" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet2" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet1" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet2" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T0:Ethernet1" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA02T0:Ethernet1" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T0:Ethernet1" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA04T0:Ethernet1" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T0:Ethernet1" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA06T0:Ethernet1" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T0:Ethernet1" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA08T0:Ethernet1" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T0:Ethernet1" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp26", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA10T0:Ethernet1" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp27", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T0:Ethernet1" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp28", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA12T0:Ethernet1" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T0:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA14T0:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_2" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-t1-version_1_0_3.json b/tests/db_migrator_input/config_db/mellanox-sn2700-t1-version_1_0_3.json new file mode 100644 index 0000000000..9d189718a4 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-t1-version_1_0_3.json @@ -0,0 +1,1156 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "14024599" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "2097100" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "2097100" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "2097100" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "4096" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "0", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "18432", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "36864" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "30720", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "21504", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "39936" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "53248", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "71680" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "41984" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "75776", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "94208" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "41984" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "75776", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "94208" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "35840", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "54272" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "165888", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "184320" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet68": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet76": "40m", + "Ethernet72": "40m", + "Ethernet64": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet88": "40m", + "Ethernet116": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet84": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet28": "300m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet24": "300m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700", + "default_bgp_status": "up", + "type": "LeafRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T2:Ethernet1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA01T2:Ethernet2" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T2:Ethernet1" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA03T2:Ethernet2" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet1" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet2" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet1" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet2" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet1" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet2" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet1" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet2" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet1" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet2" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet1" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet2" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T0:Ethernet1" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA02T0:Ethernet1" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T0:Ethernet1" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA04T0:Ethernet1" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T0:Ethernet1" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA06T0:Ethernet1" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T0:Ethernet1" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA08T0:Ethernet1" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T0:Ethernet1" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp26", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA10T0:Ethernet1" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp27", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T0:Ethernet1" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp28", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA12T0:Ethernet1" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T0:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA14T0:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_3" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-t1-version_1_0_4.json b/tests/db_migrator_input/config_db/mellanox-sn2700-t1-version_1_0_4.json new file mode 100644 index 0000000000..cdc9630730 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-t1-version_1_0_4.json @@ -0,0 +1,1156 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "3302912" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "3302912" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "3302912" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "36864", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "56320" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "31744", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "51200" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "48128", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "67584" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "32768", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "52224" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "59392", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "78848" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "66560", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "86016" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "38912", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "58368" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "104448", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "123904" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet68": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet76": "40m", + "Ethernet72": "40m", + "Ethernet64": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet88": "40m", + "Ethernet116": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet84": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet28": "300m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet24": "300m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700", + "default_bgp_status": "up", + "type": "LeafRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T2:Ethernet1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA01T2:Ethernet2" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T2:Ethernet1" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA03T2:Ethernet2" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet1" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet2" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet1" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet2" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet1" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet2" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet1" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet2" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet1" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet2" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet1" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet2" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T0:Ethernet1" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA02T0:Ethernet1" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T0:Ethernet1" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA04T0:Ethernet1" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T0:Ethernet1" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA06T0:Ethernet1" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T0:Ethernet1" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA08T0:Ethernet1" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T0:Ethernet1" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp26", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA10T0:Ethernet1" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp27", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T0:Ethernet1" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp28", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA12T0:Ethernet1" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T0:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA14T0:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_4" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-t1-version_1_0_5.json b/tests/db_migrator_input/config_db/mellanox-sn2700-t1-version_1_0_5.json new file mode 100644 index 0000000000..1a743c9693 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-t1-version_1_0_5.json @@ -0,0 +1,1157 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "4646400" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "1572864", + "type": "ingress", + "mode": "dynamic", + "size": "4646400" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "4646400" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "27648", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "24576", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "36864", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "45056", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "50176", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "78848", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet68": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet76": "40m", + "Ethernet72": "40m", + "Ethernet64": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet88": "40m", + "Ethernet116": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet84": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet28": "300m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet24": "300m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700", + "default_bgp_status": "up", + "type": "LeafRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T2:Ethernet1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA01T2:Ethernet2" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T2:Ethernet1" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA03T2:Ethernet2" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet1" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet2" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet1" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet2" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet1" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet2" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet1" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet2" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet1" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet2" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet1" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet2" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T0:Ethernet1" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA02T0:Ethernet1" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T0:Ethernet1" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA04T0:Ethernet1" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T0:Ethernet1" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA06T0:Ethernet1" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T0:Ethernet1" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA08T0:Ethernet1" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T0:Ethernet1" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp26", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA10T0:Ethernet1" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp27", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T0:Ethernet1" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp28", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA12T0:Ethernet1" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T0:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA14T0:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_5" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-t1-version_2_0_0.json b/tests/db_migrator_input/config_db/mellanox-sn2700-t1-version_2_0_0.json new file mode 100644 index 0000000000..9125977994 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-t1-version_2_0_0.json @@ -0,0 +1,1158 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "4646400" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "1572864", + "type": "ingress", + "mode": "dynamic", + "size": "4646400" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "4646400" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "27648", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "24576", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "36864", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "45056", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "50176", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "78848", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet68": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet76": "40m", + "Ethernet72": "40m", + "Ethernet64": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet88": "40m", + "Ethernet116": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet84": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet28": "300m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet24": "300m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700", + "default_bgp_status": "up", + "type": "LeafRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "traditional", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T2:Ethernet1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA01T2:Ethernet2" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T2:Ethernet1" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA03T2:Ethernet2" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet1" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet2" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet1" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet2" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet1" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet2" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet1" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet2" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet1" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet2" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet1" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet2" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T0:Ethernet1" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA02T0:Ethernet1" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T0:Ethernet1" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA04T0:Ethernet1" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T0:Ethernet1" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA06T0:Ethernet1" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T0:Ethernet1" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA08T0:Ethernet1" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T0:Ethernet1" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp26", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA10T0:Ethernet1" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp27", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T0:Ethernet1" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp28", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA12T0:Ethernet1" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T0:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA14T0:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_0" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn3800-c64-t0-version_1_0_5.json b/tests/db_migrator_input/config_db/mellanox-sn3800-c64-t0-version_1_0_5.json new file mode 100644 index 0000000000..aebcee8eee --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn3800-c64-t0-version_1_0_5.json @@ -0,0 +1,1700 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet2|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet6|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet10|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet18|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet22|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet26|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet34|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet38|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet42|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet50|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet54|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet70|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "25866240" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "2523136", + "type": "ingress", + "mode": "dynamic", + "size": "25866240" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "28672", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "30720", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "32768", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "40960", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet2|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet2|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet6|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet10|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet18|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet22|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet26|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet34|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet38|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet42|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet50|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet54|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet70|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet54": "5m", + "Ethernet248": "5m", + "Ethernet246": "5m", + "Ethernet244": "5m", + "Ethernet240": "5m", + "Ethernet124": "5m", + "Ethernet122": "5m", + "Ethernet120": "5m", + "Ethernet128": "5m", + "Ethernet76": "5m", + "Ethernet74": "5m", + "Ethernet72": "5m", + "Ethernet70": "40m", + "Ethernet136": "5m", + "Ethernet132": "5m", + "Ethernet232": "5m", + "Ethernet230": "5m", + "Ethernet138": "5m", + "Ethernet236": "5m", + "Ethernet64": "40m", + "Ethernet66": "40m", + "Ethernet60": "5m", + "Ethernet68": "40m", + "Ethernet180": "5m", + "Ethernet182": "5m", + "Ethernet184": "5m", + "Ethernet186": "5m", + "Ethernet188": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet106": "5m", + "Ethernet58": "5m", + "Ethernet50": "5m", + "Ethernet52": "5m", + "Ethernet224": "5m", + "Ethernet56": "5m", + "Ethernet196": "5m", + "Ethernet192": "5m", + "Ethernet198": "5m", + "Ethernet116": "5m", + "Ethernet112": "5m", + "Ethernet48": "5m", + "Ethernet214": "5m", + "Ethernet216": "5m", + "Ethernet42": "5m", + "Ethernet40": "5m", + "Ethernet8": "5m", + "Ethernet2": "5m", + "Ethernet0": "5m", + "Ethernet6": "5m", + "Ethernet4": "5m", + "Ethernet200": "5m", + "Ethernet168": "5m", + "Ethernet204": "5m", + "Ethernet162": "5m", + "Ethernet208": "5m", + "Ethernet160": "5m", + "Ethernet166": "5m", + "Ethernet164": "5m", + "Ethernet38": "5m", + "Ethernet32": "5m", + "Ethernet36": "5m", + "Ethernet34": "5m", + "Ethernet178": "5m", + "Ethernet170": "5m", + "Ethernet172": "5m", + "Ethernet176": "5m", + "Ethernet28": "5m", + "Ethernet20": "5m", + "Ethernet22": "5m", + "Ethernet24": "5m", + "Ethernet26": "5m", + "Ethernet44": "5m", + "Ethernet212": "5m", + "Ethernet96": "5m", + "Ethernet90": "5m", + "Ethernet148": "5m", + "Ethernet92": "5m", + "Ethernet144": "5m", + "Ethernet140": "5m", + "Ethernet18": "5m", + "Ethernet16": "5m", + "Ethernet10": "5m", + "Ethernet12": "5m", + "Ethernet228": "5m", + "Ethernet88": "5m", + "Ethernet82": "5m", + "Ethernet80": "5m", + "Ethernet86": "5m", + "Ethernet84": "5m", + "Ethernet152": "5m", + "Ethernet156": "5m", + "Ethernet154": "5m", + "Ethernet220": "5m", + "Ethernet252": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN3800-C64", + "default_bgp_status": "up", + "docker_routing_config_mode": "separated", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3800-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "cloudtype": "None", + "type": "ToRRouter", + "deployment_id": "1" + }, + "PORT|Ethernet0": { + "index": "0", + "lanes": "0,1", + "description": "etp1a", + "mtu": "9100", + "alias": "etp1a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "1", + "lanes": "4,5", + "description": "Servers1:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "Servers2:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2b", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9", + "description": "Servers3:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "Servers4:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "3", + "lanes": "12,13,14,15", + "description": "Servers5:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet16": { + "index": "4", + "lanes": "16,17", + "description": "Servers6:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "Servers7:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "5", + "lanes": "20,21", + "description": "Servers8:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "Servers9:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "6", + "lanes": "24,25", + "description": "Servers10:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "Servers11:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "7", + "lanes": "28,29,30,31", + "description": "Servers12:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet32": { + "index": "8", + "lanes": "32,33", + "description": "Servers13:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "Servers14:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "9", + "lanes": "36,37", + "description": "Servers15:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "Servers16:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "10", + "lanes": "40,41", + "description": "Servers17:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "Servers18:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "11", + "lanes": "44,45,46,47", + "description": "Servers19:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet48": { + "index": "12", + "lanes": "48,49", + "description": "Servers20:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "Servers21:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "13", + "lanes": "52,53", + "description": "Servers22:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "Servers23:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "14", + "lanes": "56,57", + "description": "etp15a", + "mtu": "9100", + "alias": "etp15a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "etp15b", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "15", + "lanes": "60,61,62,63", + "description": "etp16", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet64": { + "index": "16", + "lanes": "64,65", + "description": "ARISTA01T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet66": { + "index": "16", + "lanes": "66,67", + "description": "ARISTA02T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA03T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA04T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "18", + "lanes": "72,73", + "description": "etp19a", + "mtu": "9100", + "alias": "etp19a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "20", + "lanes": "80,81", + "description": "etp21a", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "20", + "lanes": "82,83", + "description": "etp21b", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "22", + "lanes": "88,89", + "description": "etp23a", + "mtu": "9100", + "alias": "etp23a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "23", + "lanes": "92,93,94,95", + "description": "etp24", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet96": { + "index": "24", + "lanes": "96,97,98,99", + "description": "etp25", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "25", + "lanes": "100,101,102,103", + "description": "etp26", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "26", + "lanes": "104,105", + "description": "etp27a", + "mtu": "9100", + "alias": "etp27a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "27", + "lanes": "108,109,110,111", + "description": "etp28", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet112": { + "index": "28", + "lanes": "112,113,114,115", + "description": "etp29", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "29", + "lanes": "116,117,118,119", + "description": "etp30", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "30", + "lanes": "120,121", + "description": "etp31a", + "mtu": "9100", + "alias": "etp31a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "31", + "lanes": "124,125,126,127", + "description": "etp32", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "32", + "lanes": "128,129,130,131", + "description": "etp33", + "mtu": "9100", + "alias": "etp33", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "34", + "lanes": "136,137", + "description": "etp35a", + "mtu": "9100", + "alias": "etp35a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "36", + "lanes": "144,145,146,147", + "description": "etp37", + "mtu": "9100", + "alias": "etp37", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "38", + "lanes": "152,153", + "description": "etp39a", + "mtu": "9100", + "alias": "etp39a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "40", + "lanes": "160,161", + "description": "etp41a", + "mtu": "9100", + "alias": "etp41a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "42", + "lanes": "168,169", + "description": "etp43a", + "mtu": "9100", + "alias": "etp43a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "44", + "lanes": "176,177", + "description": "etp45a", + "mtu": "9100", + "alias": "etp45a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "46", + "lanes": "184,185", + "description": "etp47a", + "mtu": "9100", + "alias": "etp47a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "48", + "lanes": "192,193", + "description": "etp49a", + "mtu": "9100", + "alias": "etp49a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "50", + "lanes": "200,201", + "description": "etp51a", + "mtu": "9100", + "alias": "etp51a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "52", + "lanes": "208,209", + "description": "etp53a", + "mtu": "9100", + "alias": "etp53a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "54", + "lanes": "216,217", + "description": "etp55a", + "mtu": "9100", + "alias": "etp55a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "56", + "lanes": "224,225", + "description": "etp57a", + "mtu": "9100", + "alias": "etp57a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "58", + "lanes": "232,233", + "description": "etp59a", + "mtu": "9100", + "alias": "etp59a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "60", + "lanes": "240,241", + "description": "etp61a", + "mtu": "9100", + "alias": "etp61a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "62", + "lanes": "248,249", + "description": "etp63a", + "mtu": "9100", + "alias": "etp63a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_5" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn3800-c64-t0-version_2_0_0.json b/tests/db_migrator_input/config_db/mellanox-sn3800-c64-t0-version_2_0_0.json new file mode 100644 index 0000000000..ad152d235d --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn3800-c64-t0-version_2_0_0.json @@ -0,0 +1,1701 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet2|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet6|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet10|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet18|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet22|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet26|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet34|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet38|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet42|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet50|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet54|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet70|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "25866240" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "2523136", + "type": "ingress", + "mode": "dynamic", + "size": "25866240" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "28672", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "30720", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "32768", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "40960", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet2|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet2|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet6|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet10|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet18|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet22|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet26|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet34|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet38|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet42|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet50|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet54|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet70|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet54": "5m", + "Ethernet248": "5m", + "Ethernet246": "5m", + "Ethernet244": "5m", + "Ethernet240": "5m", + "Ethernet124": "5m", + "Ethernet122": "5m", + "Ethernet120": "5m", + "Ethernet128": "5m", + "Ethernet76": "5m", + "Ethernet74": "5m", + "Ethernet72": "5m", + "Ethernet70": "40m", + "Ethernet136": "5m", + "Ethernet132": "5m", + "Ethernet232": "5m", + "Ethernet230": "5m", + "Ethernet138": "5m", + "Ethernet236": "5m", + "Ethernet64": "40m", + "Ethernet66": "40m", + "Ethernet60": "5m", + "Ethernet68": "40m", + "Ethernet180": "5m", + "Ethernet182": "5m", + "Ethernet184": "5m", + "Ethernet186": "5m", + "Ethernet188": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet106": "5m", + "Ethernet58": "5m", + "Ethernet50": "5m", + "Ethernet52": "5m", + "Ethernet224": "5m", + "Ethernet56": "5m", + "Ethernet196": "5m", + "Ethernet192": "5m", + "Ethernet198": "5m", + "Ethernet116": "5m", + "Ethernet112": "5m", + "Ethernet48": "5m", + "Ethernet214": "5m", + "Ethernet216": "5m", + "Ethernet42": "5m", + "Ethernet40": "5m", + "Ethernet8": "5m", + "Ethernet2": "5m", + "Ethernet0": "5m", + "Ethernet6": "5m", + "Ethernet4": "5m", + "Ethernet200": "5m", + "Ethernet168": "5m", + "Ethernet204": "5m", + "Ethernet162": "5m", + "Ethernet208": "5m", + "Ethernet160": "5m", + "Ethernet166": "5m", + "Ethernet164": "5m", + "Ethernet38": "5m", + "Ethernet32": "5m", + "Ethernet36": "5m", + "Ethernet34": "5m", + "Ethernet178": "5m", + "Ethernet170": "5m", + "Ethernet172": "5m", + "Ethernet176": "5m", + "Ethernet28": "5m", + "Ethernet20": "5m", + "Ethernet22": "5m", + "Ethernet24": "5m", + "Ethernet26": "5m", + "Ethernet44": "5m", + "Ethernet212": "5m", + "Ethernet96": "5m", + "Ethernet90": "5m", + "Ethernet148": "5m", + "Ethernet92": "5m", + "Ethernet144": "5m", + "Ethernet140": "5m", + "Ethernet18": "5m", + "Ethernet16": "5m", + "Ethernet10": "5m", + "Ethernet12": "5m", + "Ethernet228": "5m", + "Ethernet88": "5m", + "Ethernet82": "5m", + "Ethernet80": "5m", + "Ethernet86": "5m", + "Ethernet84": "5m", + "Ethernet152": "5m", + "Ethernet156": "5m", + "Ethernet154": "5m", + "Ethernet220": "5m", + "Ethernet252": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN3800-C64", + "default_bgp_status": "up", + "docker_routing_config_mode": "separated", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3800-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "traditional", + "cloudtype": "None", + "type": "ToRRouter", + "deployment_id": "1" + }, + "PORT|Ethernet0": { + "index": "0", + "lanes": "0,1", + "description": "etp1a", + "mtu": "9100", + "alias": "etp1a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "1", + "lanes": "4,5", + "description": "Servers1:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "Servers2:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2b", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9", + "description": "Servers3:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "Servers4:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "3", + "lanes": "12,13,14,15", + "description": "Servers5:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet16": { + "index": "4", + "lanes": "16,17", + "description": "Servers6:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "Servers7:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "5", + "lanes": "20,21", + "description": "Servers8:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "Servers9:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "6", + "lanes": "24,25", + "description": "Servers10:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "Servers11:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "7", + "lanes": "28,29,30,31", + "description": "Servers12:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet32": { + "index": "8", + "lanes": "32,33", + "description": "Servers13:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "Servers14:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "9", + "lanes": "36,37", + "description": "Servers15:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "Servers16:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "10", + "lanes": "40,41", + "description": "Servers17:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "Servers18:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "11", + "lanes": "44,45,46,47", + "description": "Servers19:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet48": { + "index": "12", + "lanes": "48,49", + "description": "Servers20:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "Servers21:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "13", + "lanes": "52,53", + "description": "Servers22:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "Servers23:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "14", + "lanes": "56,57", + "description": "etp15a", + "mtu": "9100", + "alias": "etp15a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "etp15b", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "15", + "lanes": "60,61,62,63", + "description": "etp16", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet64": { + "index": "16", + "lanes": "64,65", + "description": "ARISTA01T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet66": { + "index": "16", + "lanes": "66,67", + "description": "ARISTA02T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA03T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA04T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "18", + "lanes": "72,73", + "description": "etp19a", + "mtu": "9100", + "alias": "etp19a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "20", + "lanes": "80,81", + "description": "etp21a", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "20", + "lanes": "82,83", + "description": "etp21b", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "22", + "lanes": "88,89", + "description": "etp23a", + "mtu": "9100", + "alias": "etp23a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "23", + "lanes": "92,93,94,95", + "description": "etp24", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet96": { + "index": "24", + "lanes": "96,97,98,99", + "description": "etp25", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "25", + "lanes": "100,101,102,103", + "description": "etp26", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "26", + "lanes": "104,105", + "description": "etp27a", + "mtu": "9100", + "alias": "etp27a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "27", + "lanes": "108,109,110,111", + "description": "etp28", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet112": { + "index": "28", + "lanes": "112,113,114,115", + "description": "etp29", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "29", + "lanes": "116,117,118,119", + "description": "etp30", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "30", + "lanes": "120,121", + "description": "etp31a", + "mtu": "9100", + "alias": "etp31a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "31", + "lanes": "124,125,126,127", + "description": "etp32", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "32", + "lanes": "128,129,130,131", + "description": "etp33", + "mtu": "9100", + "alias": "etp33", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "34", + "lanes": "136,137", + "description": "etp35a", + "mtu": "9100", + "alias": "etp35a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "36", + "lanes": "144,145,146,147", + "description": "etp37", + "mtu": "9100", + "alias": "etp37", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "38", + "lanes": "152,153", + "description": "etp39a", + "mtu": "9100", + "alias": "etp39a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "40", + "lanes": "160,161", + "description": "etp41a", + "mtu": "9100", + "alias": "etp41a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "42", + "lanes": "168,169", + "description": "etp43a", + "mtu": "9100", + "alias": "etp43a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "44", + "lanes": "176,177", + "description": "etp45a", + "mtu": "9100", + "alias": "etp45a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "46", + "lanes": "184,185", + "description": "etp47a", + "mtu": "9100", + "alias": "etp47a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "48", + "lanes": "192,193", + "description": "etp49a", + "mtu": "9100", + "alias": "etp49a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "50", + "lanes": "200,201", + "description": "etp51a", + "mtu": "9100", + "alias": "etp51a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "52", + "lanes": "208,209", + "description": "etp53a", + "mtu": "9100", + "alias": "etp53a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "54", + "lanes": "216,217", + "description": "etp55a", + "mtu": "9100", + "alias": "etp55a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "56", + "lanes": "224,225", + "description": "etp57a", + "mtu": "9100", + "alias": "etp57a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "58", + "lanes": "232,233", + "description": "etp59a", + "mtu": "9100", + "alias": "etp59a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "60", + "lanes": "240,241", + "description": "etp61a", + "mtu": "9100", + "alias": "etp61a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "62", + "lanes": "248,249", + "description": "etp63a", + "mtu": "9100", + "alias": "etp63a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_0" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn3800-c64-t1-version_1_0_5.json b/tests/db_migrator_input/config_db/mellanox-sn3800-c64-t1-version_1_0_5.json new file mode 100644 index 0000000000..fd91c04177 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn3800-c64-t1-version_1_0_5.json @@ -0,0 +1,1826 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet2|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet6|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet10|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet18|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet22|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet26|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet34|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet38|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet38|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet42|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet42|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet50|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet54|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet58|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet70|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "23900160" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "4489216", + "type": "ingress", + "mode": "dynamic", + "size": "23900160" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "26624", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "31744", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "30720", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "44032", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "55296", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "36864", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "63488", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "48128", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "102400", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet2|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet2|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet6|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet10|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet18|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet22|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet26|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet34|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet38|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet42|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet50|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet54|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet58|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet58|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet58|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet70|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet54": "40m", + "Ethernet248": "5m", + "Ethernet246": "5m", + "Ethernet244": "5m", + "Ethernet240": "5m", + "Ethernet124": "5m", + "Ethernet122": "5m", + "Ethernet120": "5m", + "Ethernet128": "5m", + "Ethernet76": "5m", + "Ethernet74": "5m", + "Ethernet72": "5m", + "Ethernet70": "40m", + "Ethernet136": "5m", + "Ethernet132": "5m", + "Ethernet232": "5m", + "Ethernet230": "5m", + "Ethernet138": "5m", + "Ethernet236": "5m", + "Ethernet64": "40m", + "Ethernet66": "40m", + "Ethernet60": "40m", + "Ethernet68": "40m", + "Ethernet180": "5m", + "Ethernet182": "5m", + "Ethernet184": "5m", + "Ethernet186": "5m", + "Ethernet188": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet106": "5m", + "Ethernet58": "40m", + "Ethernet50": "40m", + "Ethernet52": "40m", + "Ethernet224": "5m", + "Ethernet56": "40m", + "Ethernet196": "5m", + "Ethernet192": "5m", + "Ethernet198": "5m", + "Ethernet116": "5m", + "Ethernet112": "5m", + "Ethernet48": "40m", + "Ethernet214": "5m", + "Ethernet216": "5m", + "Ethernet42": "40m", + "Ethernet40": "40m", + "Ethernet8": "300m", + "Ethernet2": "300m", + "Ethernet0": "300m", + "Ethernet6": "300m", + "Ethernet4": "300m", + "Ethernet200": "5m", + "Ethernet168": "5m", + "Ethernet204": "5m", + "Ethernet162": "5m", + "Ethernet208": "5m", + "Ethernet160": "5m", + "Ethernet166": "5m", + "Ethernet164": "5m", + "Ethernet38": "40m", + "Ethernet32": "300m", + "Ethernet36": "40m", + "Ethernet34": "300m", + "Ethernet178": "5m", + "Ethernet170": "5m", + "Ethernet172": "5m", + "Ethernet176": "5m", + "Ethernet28": "300m", + "Ethernet20": "300m", + "Ethernet22": "300m", + "Ethernet24": "300m", + "Ethernet26": "300m", + "Ethernet44": "40m", + "Ethernet212": "5m", + "Ethernet96": "5m", + "Ethernet90": "5m", + "Ethernet148": "5m", + "Ethernet92": "5m", + "Ethernet144": "5m", + "Ethernet140": "5m", + "Ethernet18": "300m", + "Ethernet16": "300m", + "Ethernet10": "300m", + "Ethernet12": "300m", + "Ethernet228": "5m", + "Ethernet88": "5m", + "Ethernet82": "5m", + "Ethernet80": "5m", + "Ethernet86": "5m", + "Ethernet84": "5m", + "Ethernet152": "5m", + "Ethernet156": "5m", + "Ethernet154": "5m", + "Ethernet220": "5m", + "Ethernet252": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN3800-C64", + "default_bgp_status": "up", + "docker_routing_config_mode": "separated", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3800-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "cloudtype": "None", + "type": "LeafRouter", + "deployment_id": "1" + }, + "PORT|Ethernet0": { + "index": "0", + "lanes": "0,1", + "description": "ARISTA01T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "ARISTA01T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "1", + "lanes": "4,5", + "description": "ARISTA03T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "ARISTA03T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2b", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9", + "description": "ARISTA05T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "ARISTA05T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "3", + "lanes": "12,13,14,15", + "description": "ARISTA07T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet16": { + "index": "4", + "lanes": "16,17", + "description": "ARISTA07T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "ARISTA09T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "5", + "lanes": "20,21", + "description": "ARISTA09T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "ARISTA11T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "6", + "lanes": "24,25", + "description": "ARISTA11T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "ARISTA13T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "7", + "lanes": "28,29,30,31", + "description": "ARISTA13T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet32": { + "index": "8", + "lanes": "32,33", + "description": "ARISTA15T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "ARISTA15T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "9", + "lanes": "36,37", + "description": "ARISTA01T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "ARISTA02T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "10", + "lanes": "40,41", + "description": "ARISTA03T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11a", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "ARISTA04T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "11", + "lanes": "44,45,46,47", + "description": "ARISTA05T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet48": { + "index": "12", + "lanes": "48,49", + "description": "ARISTA06T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "ARISTA07T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "13", + "lanes": "52,53", + "description": "ARISTA08T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "ARISTA09T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "14", + "lanes": "56,57", + "description": "ARISTA10T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "15", + "lanes": "60,61,62,63", + "description": "ARISTA12T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet64": { + "index": "16", + "lanes": "64,65", + "description": "ARISTA13T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet66": { + "index": "16", + "lanes": "66,67", + "description": "ARISTA14T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA16T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "18", + "lanes": "72,73", + "description": "etp19a", + "mtu": "9100", + "alias": "etp19a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "20", + "lanes": "80,81", + "description": "etp21a", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "20", + "lanes": "82,83", + "description": "etp21b", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "22", + "lanes": "88,89", + "description": "etp23a", + "mtu": "9100", + "alias": "etp23a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "23", + "lanes": "92,93,94,95", + "description": "etp24", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet96": { + "index": "24", + "lanes": "96,97,98,99", + "description": "etp25", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "25", + "lanes": "100,101,102,103", + "description": "etp26", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "26", + "lanes": "104,105", + "description": "etp27a", + "mtu": "9100", + "alias": "etp27a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "27", + "lanes": "108,109,110,111", + "description": "etp28", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet112": { + "index": "28", + "lanes": "112,113,114,115", + "description": "etp29", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "29", + "lanes": "116,117,118,119", + "description": "etp30", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "30", + "lanes": "120,121", + "description": "etp31a", + "mtu": "9100", + "alias": "etp31a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "31", + "lanes": "124,125,126,127", + "description": "etp32", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "32", + "lanes": "128,129,130,131", + "description": "etp33", + "mtu": "9100", + "alias": "etp33", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "34", + "lanes": "136,137", + "description": "etp35a", + "mtu": "9100", + "alias": "etp35a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "36", + "lanes": "144,145,146,147", + "description": "etp37", + "mtu": "9100", + "alias": "etp37", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "38", + "lanes": "152,153", + "description": "etp39a", + "mtu": "9100", + "alias": "etp39a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "40", + "lanes": "160,161", + "description": "etp41a", + "mtu": "9100", + "alias": "etp41a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "42", + "lanes": "168,169", + "description": "etp43a", + "mtu": "9100", + "alias": "etp43a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "44", + "lanes": "176,177", + "description": "etp45a", + "mtu": "9100", + "alias": "etp45a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "46", + "lanes": "184,185", + "description": "etp47a", + "mtu": "9100", + "alias": "etp47a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "48", + "lanes": "192,193", + "description": "etp49a", + "mtu": "9100", + "alias": "etp49a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "50", + "lanes": "200,201", + "description": "etp51a", + "mtu": "9100", + "alias": "etp51a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "52", + "lanes": "208,209", + "description": "etp53a", + "mtu": "9100", + "alias": "etp53a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "54", + "lanes": "216,217", + "description": "etp55a", + "mtu": "9100", + "alias": "etp55a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "56", + "lanes": "224,225", + "description": "etp57a", + "mtu": "9100", + "alias": "etp57a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "58", + "lanes": "232,233", + "description": "etp59a", + "mtu": "9100", + "alias": "etp59a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "60", + "lanes": "240,241", + "description": "etp61a", + "mtu": "9100", + "alias": "etp61a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "62", + "lanes": "248,249", + "description": "etp63a", + "mtu": "9100", + "alias": "etp63a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_5" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn3800-c64-t1-version_2_0_0.json b/tests/db_migrator_input/config_db/mellanox-sn3800-c64-t1-version_2_0_0.json new file mode 100644 index 0000000000..6866f5e7ad --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn3800-c64-t1-version_2_0_0.json @@ -0,0 +1,1827 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet2|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet6|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet10|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet18|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet22|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet26|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet34|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet38|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet38|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet42|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet42|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet50|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet54|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet58|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet70|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "23900160" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "4489216", + "type": "ingress", + "mode": "dynamic", + "size": "23900160" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "26624", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "31744", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "30720", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "44032", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "55296", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "36864", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "63488", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "48128", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "102400", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet2|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet2|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet6|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet10|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet18|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet22|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet26|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet34|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet38|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet42|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet50|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet54|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet58|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet58|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet58|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet70|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet54": "40m", + "Ethernet248": "5m", + "Ethernet246": "5m", + "Ethernet244": "5m", + "Ethernet240": "5m", + "Ethernet124": "5m", + "Ethernet122": "5m", + "Ethernet120": "5m", + "Ethernet128": "5m", + "Ethernet76": "5m", + "Ethernet74": "5m", + "Ethernet72": "5m", + "Ethernet70": "40m", + "Ethernet136": "5m", + "Ethernet132": "5m", + "Ethernet232": "5m", + "Ethernet230": "5m", + "Ethernet138": "5m", + "Ethernet236": "5m", + "Ethernet64": "40m", + "Ethernet66": "40m", + "Ethernet60": "40m", + "Ethernet68": "40m", + "Ethernet180": "5m", + "Ethernet182": "5m", + "Ethernet184": "5m", + "Ethernet186": "5m", + "Ethernet188": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet106": "5m", + "Ethernet58": "40m", + "Ethernet50": "40m", + "Ethernet52": "40m", + "Ethernet224": "5m", + "Ethernet56": "40m", + "Ethernet196": "5m", + "Ethernet192": "5m", + "Ethernet198": "5m", + "Ethernet116": "5m", + "Ethernet112": "5m", + "Ethernet48": "40m", + "Ethernet214": "5m", + "Ethernet216": "5m", + "Ethernet42": "40m", + "Ethernet40": "40m", + "Ethernet8": "300m", + "Ethernet2": "300m", + "Ethernet0": "300m", + "Ethernet6": "300m", + "Ethernet4": "300m", + "Ethernet200": "5m", + "Ethernet168": "5m", + "Ethernet204": "5m", + "Ethernet162": "5m", + "Ethernet208": "5m", + "Ethernet160": "5m", + "Ethernet166": "5m", + "Ethernet164": "5m", + "Ethernet38": "40m", + "Ethernet32": "300m", + "Ethernet36": "40m", + "Ethernet34": "300m", + "Ethernet178": "5m", + "Ethernet170": "5m", + "Ethernet172": "5m", + "Ethernet176": "5m", + "Ethernet28": "300m", + "Ethernet20": "300m", + "Ethernet22": "300m", + "Ethernet24": "300m", + "Ethernet26": "300m", + "Ethernet44": "40m", + "Ethernet212": "5m", + "Ethernet96": "5m", + "Ethernet90": "5m", + "Ethernet148": "5m", + "Ethernet92": "5m", + "Ethernet144": "5m", + "Ethernet140": "5m", + "Ethernet18": "300m", + "Ethernet16": "300m", + "Ethernet10": "300m", + "Ethernet12": "300m", + "Ethernet228": "5m", + "Ethernet88": "5m", + "Ethernet82": "5m", + "Ethernet80": "5m", + "Ethernet86": "5m", + "Ethernet84": "5m", + "Ethernet152": "5m", + "Ethernet156": "5m", + "Ethernet154": "5m", + "Ethernet220": "5m", + "Ethernet252": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN3800-C64", + "default_bgp_status": "up", + "docker_routing_config_mode": "separated", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3800-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "traditional", + "cloudtype": "None", + "type": "LeafRouter", + "deployment_id": "1" + }, + "PORT|Ethernet0": { + "index": "0", + "lanes": "0,1", + "description": "ARISTA01T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "ARISTA01T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "1", + "lanes": "4,5", + "description": "ARISTA03T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "ARISTA03T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2b", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9", + "description": "ARISTA05T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "ARISTA05T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "3", + "lanes": "12,13,14,15", + "description": "ARISTA07T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet16": { + "index": "4", + "lanes": "16,17", + "description": "ARISTA07T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "ARISTA09T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "5", + "lanes": "20,21", + "description": "ARISTA09T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "ARISTA11T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "6", + "lanes": "24,25", + "description": "ARISTA11T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "ARISTA13T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "7", + "lanes": "28,29,30,31", + "description": "ARISTA13T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet32": { + "index": "8", + "lanes": "32,33", + "description": "ARISTA15T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "ARISTA15T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "9", + "lanes": "36,37", + "description": "ARISTA01T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "ARISTA02T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "10", + "lanes": "40,41", + "description": "ARISTA03T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11a", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "ARISTA04T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "11", + "lanes": "44,45,46,47", + "description": "ARISTA05T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet48": { + "index": "12", + "lanes": "48,49", + "description": "ARISTA06T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "ARISTA07T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "13", + "lanes": "52,53", + "description": "ARISTA08T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "ARISTA09T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "14", + "lanes": "56,57", + "description": "ARISTA10T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "15", + "lanes": "60,61,62,63", + "description": "ARISTA12T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet64": { + "index": "16", + "lanes": "64,65", + "description": "ARISTA13T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet66": { + "index": "16", + "lanes": "66,67", + "description": "ARISTA14T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA16T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "18", + "lanes": "72,73", + "description": "etp19a", + "mtu": "9100", + "alias": "etp19a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "20", + "lanes": "80,81", + "description": "etp21a", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "20", + "lanes": "82,83", + "description": "etp21b", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "22", + "lanes": "88,89", + "description": "etp23a", + "mtu": "9100", + "alias": "etp23a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "23", + "lanes": "92,93,94,95", + "description": "etp24", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet96": { + "index": "24", + "lanes": "96,97,98,99", + "description": "etp25", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "25", + "lanes": "100,101,102,103", + "description": "etp26", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "26", + "lanes": "104,105", + "description": "etp27a", + "mtu": "9100", + "alias": "etp27a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "27", + "lanes": "108,109,110,111", + "description": "etp28", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet112": { + "index": "28", + "lanes": "112,113,114,115", + "description": "etp29", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "29", + "lanes": "116,117,118,119", + "description": "etp30", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "30", + "lanes": "120,121", + "description": "etp31a", + "mtu": "9100", + "alias": "etp31a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "31", + "lanes": "124,125,126,127", + "description": "etp32", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "32", + "lanes": "128,129,130,131", + "description": "etp33", + "mtu": "9100", + "alias": "etp33", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "34", + "lanes": "136,137", + "description": "etp35a", + "mtu": "9100", + "alias": "etp35a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "36", + "lanes": "144,145,146,147", + "description": "etp37", + "mtu": "9100", + "alias": "etp37", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "38", + "lanes": "152,153", + "description": "etp39a", + "mtu": "9100", + "alias": "etp39a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "40", + "lanes": "160,161", + "description": "etp41a", + "mtu": "9100", + "alias": "etp41a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "42", + "lanes": "168,169", + "description": "etp43a", + "mtu": "9100", + "alias": "etp43a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "44", + "lanes": "176,177", + "description": "etp45a", + "mtu": "9100", + "alias": "etp45a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "46", + "lanes": "184,185", + "description": "etp47a", + "mtu": "9100", + "alias": "etp47a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "48", + "lanes": "192,193", + "description": "etp49a", + "mtu": "9100", + "alias": "etp49a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "50", + "lanes": "200,201", + "description": "etp51a", + "mtu": "9100", + "alias": "etp51a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "52", + "lanes": "208,209", + "description": "etp53a", + "mtu": "9100", + "alias": "etp53a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "54", + "lanes": "216,217", + "description": "etp55a", + "mtu": "9100", + "alias": "etp55a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "56", + "lanes": "224,225", + "description": "etp57a", + "mtu": "9100", + "alias": "etp57a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "58", + "lanes": "232,233", + "description": "etp59a", + "mtu": "9100", + "alias": "etp59a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "60", + "lanes": "240,241", + "description": "etp61a", + "mtu": "9100", + "alias": "etp61a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "62", + "lanes": "248,249", + "description": "etp63a", + "mtu": "9100", + "alias": "etp63a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_0" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn3800-d112c8-t0-version_1_0_5.json b/tests/db_migrator_input/config_db/mellanox-sn3800-d112c8-t0-version_1_0_5.json new file mode 100644 index 0000000000..f13e0e3dd4 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn3800-d112c8-t0-version_1_0_5.json @@ -0,0 +1,1980 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet2|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet6|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet10|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet10|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet18|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet18|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet22|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet22|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet26|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet26|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet34|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet34|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet38|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet38|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet42|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet42|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet50|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet50|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet54|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet54|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet58|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet70|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet70|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet74|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet82|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet86|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet90|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet106|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet122|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet128|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet132|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet136|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet138|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet140|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet144|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet148|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet152|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet154|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet156|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet160|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet162|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet164|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet166|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet168|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet170|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet172|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet176|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet178|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet180|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet182|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet184|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet186|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet188|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet192|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet196|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet198|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet200|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet204|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet208|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet212|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet214|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet216|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet220|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet224|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet228|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet230|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet232|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet236|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet240|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet244|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet246|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet248|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet252|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "20017152" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "3440640", + "type": "ingress", + "mode": "dynamic", + "size": "20017152" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "28672", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "30720", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "32768", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "36864", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "40960", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet2|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet2|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet6|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet10|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet18|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet22|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet26|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet34|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet38|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet42|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet50|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet54|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet70|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet54": "5m", + "Ethernet248": "5m", + "Ethernet246": "5m", + "Ethernet244": "5m", + "Ethernet240": "5m", + "Ethernet124": "5m", + "Ethernet122": "5m", + "Ethernet120": "5m", + "Ethernet128": "5m", + "Ethernet76": "5m", + "Ethernet74": "5m", + "Ethernet72": "5m", + "Ethernet70": "40m", + "Ethernet136": "5m", + "Ethernet132": "5m", + "Ethernet232": "5m", + "Ethernet230": "5m", + "Ethernet138": "5m", + "Ethernet236": "5m", + "Ethernet64": "40m", + "Ethernet66": "40m", + "Ethernet60": "5m", + "Ethernet68": "40m", + "Ethernet180": "5m", + "Ethernet182": "5m", + "Ethernet184": "5m", + "Ethernet186": "5m", + "Ethernet188": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet106": "5m", + "Ethernet58": "5m", + "Ethernet50": "5m", + "Ethernet52": "5m", + "Ethernet224": "5m", + "Ethernet56": "5m", + "Ethernet196": "5m", + "Ethernet192": "5m", + "Ethernet198": "5m", + "Ethernet116": "5m", + "Ethernet112": "5m", + "Ethernet48": "5m", + "Ethernet214": "5m", + "Ethernet216": "5m", + "Ethernet42": "5m", + "Ethernet40": "5m", + "Ethernet8": "5m", + "Ethernet2": "5m", + "Ethernet0": "5m", + "Ethernet6": "5m", + "Ethernet4": "5m", + "Ethernet200": "5m", + "Ethernet168": "5m", + "Ethernet204": "5m", + "Ethernet162": "5m", + "Ethernet208": "5m", + "Ethernet160": "5m", + "Ethernet166": "5m", + "Ethernet164": "5m", + "Ethernet38": "5m", + "Ethernet32": "5m", + "Ethernet36": "5m", + "Ethernet34": "5m", + "Ethernet178": "5m", + "Ethernet170": "5m", + "Ethernet172": "5m", + "Ethernet176": "5m", + "Ethernet28": "5m", + "Ethernet20": "5m", + "Ethernet22": "5m", + "Ethernet24": "5m", + "Ethernet26": "5m", + "Ethernet44": "5m", + "Ethernet212": "5m", + "Ethernet96": "5m", + "Ethernet90": "5m", + "Ethernet148": "5m", + "Ethernet92": "5m", + "Ethernet144": "5m", + "Ethernet140": "5m", + "Ethernet18": "5m", + "Ethernet16": "5m", + "Ethernet10": "5m", + "Ethernet12": "5m", + "Ethernet228": "5m", + "Ethernet88": "5m", + "Ethernet82": "5m", + "Ethernet80": "5m", + "Ethernet86": "5m", + "Ethernet84": "5m", + "Ethernet152": "5m", + "Ethernet156": "5m", + "Ethernet154": "5m", + "Ethernet220": "5m", + "Ethernet252": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN3800-D112C8", + "default_bgp_status": "up", + "docker_routing_config_mode": "separated", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3800-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "cloudtype": "None", + "type": "ToRRouter", + "deployment_id": "1" + }, + "PORT|Ethernet0": { + "index": "0", + "lanes": "0,1", + "description": "etp1a", + "mtu": "9100", + "alias": "etp1a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "1", + "lanes": "4,5", + "description": "Servers1:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "Servers2:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2b", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9", + "description": "Servers3:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "Servers4:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "3", + "lanes": "12,13,14,15", + "description": "Servers5:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet16": { + "index": "4", + "lanes": "16,17", + "description": "Servers6:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "Servers7:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "5", + "lanes": "20,21", + "description": "Servers8:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "Servers9:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "6", + "lanes": "24,25", + "description": "Servers10:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "Servers11:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "7", + "lanes": "28,29,30,31", + "description": "Servers12:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet32": { + "index": "8", + "lanes": "32,33", + "description": "Servers13:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "Servers14:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "9", + "lanes": "36,37", + "description": "Servers15:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "Servers16:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "10", + "lanes": "40,41", + "description": "Servers17:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "Servers18:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "11", + "lanes": "44,45,46,47", + "description": "Servers19:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet48": { + "index": "12", + "lanes": "48,49", + "description": "Servers20:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "Servers21:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "13", + "lanes": "52,53", + "description": "Servers22:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "Servers23:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "14", + "lanes": "56,57", + "description": "etp15a", + "mtu": "9100", + "alias": "etp15a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "etp15b", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "15", + "lanes": "60,61,62,63", + "description": "etp16", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet64": { + "index": "16", + "lanes": "64,65", + "description": "ARISTA01T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet66": { + "index": "16", + "lanes": "66,67", + "description": "ARISTA02T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA03T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA04T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "18", + "lanes": "72,73", + "description": "etp19a", + "mtu": "9100", + "alias": "etp19a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "20", + "lanes": "80,81", + "description": "etp21a", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "20", + "lanes": "82,83", + "description": "etp21b", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "22", + "lanes": "88,89", + "description": "etp23a", + "mtu": "9100", + "alias": "etp23a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "23", + "lanes": "92,93,94,95", + "description": "etp24", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet96": { + "index": "24", + "lanes": "96,97,98,99", + "description": "etp25", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "25", + "lanes": "100,101,102,103", + "description": "etp26", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "26", + "lanes": "104,105", + "description": "etp27a", + "mtu": "9100", + "alias": "etp27a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "27", + "lanes": "108,109,110,111", + "description": "etp28", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet112": { + "index": "28", + "lanes": "112,113,114,115", + "description": "etp29", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "29", + "lanes": "116,117,118,119", + "description": "etp30", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "30", + "lanes": "120,121", + "description": "etp31a", + "mtu": "9100", + "alias": "etp31a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "31", + "lanes": "124,125,126,127", + "description": "etp32", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "32", + "lanes": "128,129,130,131", + "description": "etp33", + "mtu": "9100", + "alias": "etp33", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "34", + "lanes": "136,137", + "description": "etp35a", + "mtu": "9100", + "alias": "etp35a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "36", + "lanes": "144,145,146,147", + "description": "etp37", + "mtu": "9100", + "alias": "etp37", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "38", + "lanes": "152,153", + "description": "etp39a", + "mtu": "9100", + "alias": "etp39a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "40", + "lanes": "160,161", + "description": "etp41a", + "mtu": "9100", + "alias": "etp41a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "42", + "lanes": "168,169", + "description": "etp43a", + "mtu": "9100", + "alias": "etp43a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "44", + "lanes": "176,177", + "description": "etp45a", + "mtu": "9100", + "alias": "etp45a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "46", + "lanes": "184,185", + "description": "etp47a", + "mtu": "9100", + "alias": "etp47a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "48", + "lanes": "192,193", + "description": "etp49a", + "mtu": "9100", + "alias": "etp49a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "50", + "lanes": "200,201", + "description": "etp51a", + "mtu": "9100", + "alias": "etp51a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "52", + "lanes": "208,209", + "description": "etp53a", + "mtu": "9100", + "alias": "etp53a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "54", + "lanes": "216,217", + "description": "etp55a", + "mtu": "9100", + "alias": "etp55a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "56", + "lanes": "224,225", + "description": "etp57a", + "mtu": "9100", + "alias": "etp57a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "58", + "lanes": "232,233", + "description": "etp59a", + "mtu": "9100", + "alias": "etp59a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "60", + "lanes": "240,241", + "description": "etp61a", + "mtu": "9100", + "alias": "etp61a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "62", + "lanes": "248,249", + "description": "etp63a", + "mtu": "9100", + "alias": "etp63a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_5" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn3800-d112c8-t0-version_2_0_0.json b/tests/db_migrator_input/config_db/mellanox-sn3800-d112c8-t0-version_2_0_0.json new file mode 100644 index 0000000000..c5e110a15a --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn3800-d112c8-t0-version_2_0_0.json @@ -0,0 +1,1981 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet2|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet6|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet10|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet10|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet18|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet18|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet22|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet22|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet26|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet26|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet34|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet34|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet38|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet38|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet42|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet42|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet50|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet50|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet54|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet54|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet58|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet70|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet70|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet74|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet82|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet86|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet90|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet106|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet122|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet128|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet132|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet136|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet138|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet140|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet144|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet148|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet152|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet154|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet156|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet160|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet162|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet164|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet166|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet168|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet170|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet172|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet176|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet178|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet180|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet182|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet184|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet186|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet188|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet192|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet196|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet198|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet200|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet204|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet208|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet212|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet214|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet216|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet220|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet224|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet228|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet230|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet232|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet236|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet240|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet244|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet246|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet248|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet252|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "20017152" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "3440640", + "type": "ingress", + "mode": "dynamic", + "size": "20017152" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "28672", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "30720", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "32768", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "36864", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "40960", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet2|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet2|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet6|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet10|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet18|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet22|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet26|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet34|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet38|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet42|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet50|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet54|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet70|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet54": "5m", + "Ethernet248": "5m", + "Ethernet246": "5m", + "Ethernet244": "5m", + "Ethernet240": "5m", + "Ethernet124": "5m", + "Ethernet122": "5m", + "Ethernet120": "5m", + "Ethernet128": "5m", + "Ethernet76": "5m", + "Ethernet74": "5m", + "Ethernet72": "5m", + "Ethernet70": "40m", + "Ethernet136": "5m", + "Ethernet132": "5m", + "Ethernet232": "5m", + "Ethernet230": "5m", + "Ethernet138": "5m", + "Ethernet236": "5m", + "Ethernet64": "40m", + "Ethernet66": "40m", + "Ethernet60": "5m", + "Ethernet68": "40m", + "Ethernet180": "5m", + "Ethernet182": "5m", + "Ethernet184": "5m", + "Ethernet186": "5m", + "Ethernet188": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet106": "5m", + "Ethernet58": "5m", + "Ethernet50": "5m", + "Ethernet52": "5m", + "Ethernet224": "5m", + "Ethernet56": "5m", + "Ethernet196": "5m", + "Ethernet192": "5m", + "Ethernet198": "5m", + "Ethernet116": "5m", + "Ethernet112": "5m", + "Ethernet48": "5m", + "Ethernet214": "5m", + "Ethernet216": "5m", + "Ethernet42": "5m", + "Ethernet40": "5m", + "Ethernet8": "5m", + "Ethernet2": "5m", + "Ethernet0": "5m", + "Ethernet6": "5m", + "Ethernet4": "5m", + "Ethernet200": "5m", + "Ethernet168": "5m", + "Ethernet204": "5m", + "Ethernet162": "5m", + "Ethernet208": "5m", + "Ethernet160": "5m", + "Ethernet166": "5m", + "Ethernet164": "5m", + "Ethernet38": "5m", + "Ethernet32": "5m", + "Ethernet36": "5m", + "Ethernet34": "5m", + "Ethernet178": "5m", + "Ethernet170": "5m", + "Ethernet172": "5m", + "Ethernet176": "5m", + "Ethernet28": "5m", + "Ethernet20": "5m", + "Ethernet22": "5m", + "Ethernet24": "5m", + "Ethernet26": "5m", + "Ethernet44": "5m", + "Ethernet212": "5m", + "Ethernet96": "5m", + "Ethernet90": "5m", + "Ethernet148": "5m", + "Ethernet92": "5m", + "Ethernet144": "5m", + "Ethernet140": "5m", + "Ethernet18": "5m", + "Ethernet16": "5m", + "Ethernet10": "5m", + "Ethernet12": "5m", + "Ethernet228": "5m", + "Ethernet88": "5m", + "Ethernet82": "5m", + "Ethernet80": "5m", + "Ethernet86": "5m", + "Ethernet84": "5m", + "Ethernet152": "5m", + "Ethernet156": "5m", + "Ethernet154": "5m", + "Ethernet220": "5m", + "Ethernet252": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN3800-D112C8", + "default_bgp_status": "up", + "docker_routing_config_mode": "separated", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3800-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "traditional", + "cloudtype": "None", + "type": "ToRRouter", + "deployment_id": "1" + }, + "PORT|Ethernet0": { + "index": "0", + "lanes": "0,1", + "description": "etp1a", + "mtu": "9100", + "alias": "etp1a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "1", + "lanes": "4,5", + "description": "Servers1:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "Servers2:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2b", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9", + "description": "Servers3:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "Servers4:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "3", + "lanes": "12,13,14,15", + "description": "Servers5:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet16": { + "index": "4", + "lanes": "16,17", + "description": "Servers6:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "Servers7:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "5", + "lanes": "20,21", + "description": "Servers8:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "Servers9:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "6", + "lanes": "24,25", + "description": "Servers10:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "Servers11:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "7", + "lanes": "28,29,30,31", + "description": "Servers12:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet32": { + "index": "8", + "lanes": "32,33", + "description": "Servers13:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "Servers14:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "9", + "lanes": "36,37", + "description": "Servers15:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "Servers16:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "10", + "lanes": "40,41", + "description": "Servers17:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "Servers18:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "11", + "lanes": "44,45,46,47", + "description": "Servers19:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet48": { + "index": "12", + "lanes": "48,49", + "description": "Servers20:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "Servers21:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "13", + "lanes": "52,53", + "description": "Servers22:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "Servers23:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "14", + "lanes": "56,57", + "description": "etp15a", + "mtu": "9100", + "alias": "etp15a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "etp15b", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "15", + "lanes": "60,61,62,63", + "description": "etp16", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet64": { + "index": "16", + "lanes": "64,65", + "description": "ARISTA01T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet66": { + "index": "16", + "lanes": "66,67", + "description": "ARISTA02T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA03T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA04T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "18", + "lanes": "72,73", + "description": "etp19a", + "mtu": "9100", + "alias": "etp19a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "20", + "lanes": "80,81", + "description": "etp21a", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "20", + "lanes": "82,83", + "description": "etp21b", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "22", + "lanes": "88,89", + "description": "etp23a", + "mtu": "9100", + "alias": "etp23a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "23", + "lanes": "92,93,94,95", + "description": "etp24", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet96": { + "index": "24", + "lanes": "96,97,98,99", + "description": "etp25", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "25", + "lanes": "100,101,102,103", + "description": "etp26", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "26", + "lanes": "104,105", + "description": "etp27a", + "mtu": "9100", + "alias": "etp27a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "27", + "lanes": "108,109,110,111", + "description": "etp28", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet112": { + "index": "28", + "lanes": "112,113,114,115", + "description": "etp29", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "29", + "lanes": "116,117,118,119", + "description": "etp30", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "30", + "lanes": "120,121", + "description": "etp31a", + "mtu": "9100", + "alias": "etp31a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "31", + "lanes": "124,125,126,127", + "description": "etp32", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "32", + "lanes": "128,129,130,131", + "description": "etp33", + "mtu": "9100", + "alias": "etp33", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "34", + "lanes": "136,137", + "description": "etp35a", + "mtu": "9100", + "alias": "etp35a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "36", + "lanes": "144,145,146,147", + "description": "etp37", + "mtu": "9100", + "alias": "etp37", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "38", + "lanes": "152,153", + "description": "etp39a", + "mtu": "9100", + "alias": "etp39a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "40", + "lanes": "160,161", + "description": "etp41a", + "mtu": "9100", + "alias": "etp41a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "42", + "lanes": "168,169", + "description": "etp43a", + "mtu": "9100", + "alias": "etp43a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "44", + "lanes": "176,177", + "description": "etp45a", + "mtu": "9100", + "alias": "etp45a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "46", + "lanes": "184,185", + "description": "etp47a", + "mtu": "9100", + "alias": "etp47a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "48", + "lanes": "192,193", + "description": "etp49a", + "mtu": "9100", + "alias": "etp49a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "50", + "lanes": "200,201", + "description": "etp51a", + "mtu": "9100", + "alias": "etp51a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "52", + "lanes": "208,209", + "description": "etp53a", + "mtu": "9100", + "alias": "etp53a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "54", + "lanes": "216,217", + "description": "etp55a", + "mtu": "9100", + "alias": "etp55a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "56", + "lanes": "224,225", + "description": "etp57a", + "mtu": "9100", + "alias": "etp57a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "58", + "lanes": "232,233", + "description": "etp59a", + "mtu": "9100", + "alias": "etp59a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "60", + "lanes": "240,241", + "description": "etp61a", + "mtu": "9100", + "alias": "etp61a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "62", + "lanes": "248,249", + "description": "etp63a", + "mtu": "9100", + "alias": "etp63a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_0" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn3800-d112c8-t1-version_1_0_5.json b/tests/db_migrator_input/config_db/mellanox-sn3800-d112c8-t1-version_1_0_5.json new file mode 100644 index 0000000000..4c29817a9f --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn3800-d112c8-t1-version_1_0_5.json @@ -0,0 +1,2098 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet2|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet6|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet10|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet10|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet18|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet18|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet22|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet22|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet26|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet26|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet34|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet34|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet38|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet38|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet42|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet42|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet50|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet50|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet54|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet54|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet58|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet58|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet70|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet70|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet74|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet82|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet86|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet90|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet106|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet122|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet128|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet132|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet136|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet138|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet140|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet144|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet148|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet152|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet154|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet156|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet160|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet162|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet164|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet166|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet168|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet170|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet172|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet176|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet178|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet180|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet182|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet184|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet186|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet188|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet192|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet196|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet198|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet200|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet204|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet208|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet212|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet214|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet216|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet220|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet224|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet228|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet230|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet232|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet236|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet240|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet244|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet246|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet248|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet252|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "19124224" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "4333568", + "type": "ingress", + "mode": "dynamic", + "size": "19124224" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "26624", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "31744", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "30720", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "44032", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "55296", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "32768", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "36864", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "63488", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "40960", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "48128", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "102400", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet2|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet2|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet6|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet10|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet18|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet22|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet26|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet34|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet38|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet42|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet50|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet54|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet58|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet58|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet58|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet70|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet54": "40m", + "Ethernet248": "5m", + "Ethernet246": "5m", + "Ethernet244": "5m", + "Ethernet240": "5m", + "Ethernet124": "5m", + "Ethernet122": "5m", + "Ethernet120": "5m", + "Ethernet128": "5m", + "Ethernet76": "5m", + "Ethernet74": "5m", + "Ethernet72": "5m", + "Ethernet70": "40m", + "Ethernet136": "5m", + "Ethernet132": "5m", + "Ethernet232": "5m", + "Ethernet230": "5m", + "Ethernet138": "5m", + "Ethernet236": "5m", + "Ethernet64": "40m", + "Ethernet66": "40m", + "Ethernet60": "40m", + "Ethernet68": "40m", + "Ethernet180": "5m", + "Ethernet182": "5m", + "Ethernet184": "5m", + "Ethernet186": "5m", + "Ethernet188": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet106": "5m", + "Ethernet58": "40m", + "Ethernet50": "40m", + "Ethernet52": "40m", + "Ethernet224": "5m", + "Ethernet56": "40m", + "Ethernet196": "5m", + "Ethernet192": "5m", + "Ethernet198": "5m", + "Ethernet116": "5m", + "Ethernet112": "5m", + "Ethernet48": "40m", + "Ethernet214": "5m", + "Ethernet216": "5m", + "Ethernet42": "40m", + "Ethernet40": "40m", + "Ethernet8": "300m", + "Ethernet2": "300m", + "Ethernet0": "300m", + "Ethernet6": "300m", + "Ethernet4": "300m", + "Ethernet200": "5m", + "Ethernet168": "5m", + "Ethernet204": "5m", + "Ethernet162": "5m", + "Ethernet208": "5m", + "Ethernet160": "5m", + "Ethernet166": "5m", + "Ethernet164": "5m", + "Ethernet38": "40m", + "Ethernet32": "300m", + "Ethernet36": "40m", + "Ethernet34": "300m", + "Ethernet178": "5m", + "Ethernet170": "5m", + "Ethernet172": "5m", + "Ethernet176": "5m", + "Ethernet28": "300m", + "Ethernet20": "300m", + "Ethernet22": "300m", + "Ethernet24": "300m", + "Ethernet26": "300m", + "Ethernet44": "40m", + "Ethernet212": "5m", + "Ethernet96": "5m", + "Ethernet90": "5m", + "Ethernet148": "5m", + "Ethernet92": "5m", + "Ethernet144": "5m", + "Ethernet140": "5m", + "Ethernet18": "300m", + "Ethernet16": "300m", + "Ethernet10": "300m", + "Ethernet12": "300m", + "Ethernet228": "5m", + "Ethernet88": "5m", + "Ethernet82": "5m", + "Ethernet80": "5m", + "Ethernet86": "5m", + "Ethernet84": "5m", + "Ethernet152": "5m", + "Ethernet156": "5m", + "Ethernet154": "5m", + "Ethernet220": "5m", + "Ethernet252": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN3800-D112C8", + "default_bgp_status": "up", + "docker_routing_config_mode": "separated", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3800-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "cloudtype": "None", + "type": "LeafRouter", + "deployment_id": "1" + }, + "PORT|Ethernet0": { + "index": "0", + "lanes": "0,1", + "description": "ARISTA01T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "ARISTA01T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "1", + "lanes": "4,5", + "description": "ARISTA03T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "ARISTA03T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2b", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9", + "description": "ARISTA05T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "ARISTA05T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "3", + "lanes": "12,13,14,15", + "description": "ARISTA07T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet16": { + "index": "4", + "lanes": "16,17", + "description": "ARISTA07T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "ARISTA09T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "5", + "lanes": "20,21", + "description": "ARISTA09T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "ARISTA11T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "6", + "lanes": "24,25", + "description": "ARISTA11T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "ARISTA13T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "7", + "lanes": "28,29,30,31", + "description": "ARISTA13T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet32": { + "index": "8", + "lanes": "32,33", + "description": "ARISTA15T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "ARISTA15T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "9", + "lanes": "36,37", + "description": "ARISTA01T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "ARISTA02T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "10", + "lanes": "40,41", + "description": "ARISTA03T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11a", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "ARISTA04T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "11", + "lanes": "44,45,46,47", + "description": "ARISTA05T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet48": { + "index": "12", + "lanes": "48,49", + "description": "ARISTA06T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "ARISTA07T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "13", + "lanes": "52,53", + "description": "ARISTA08T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "ARISTA09T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "14", + "lanes": "56,57", + "description": "ARISTA10T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "15", + "lanes": "60,61,62,63", + "description": "ARISTA12T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet64": { + "index": "16", + "lanes": "64,65", + "description": "ARISTA13T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet66": { + "index": "16", + "lanes": "66,67", + "description": "ARISTA14T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA16T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "18", + "lanes": "72,73", + "description": "etp19a", + "mtu": "9100", + "alias": "etp19a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "20", + "lanes": "80,81", + "description": "etp21a", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "20", + "lanes": "82,83", + "description": "etp21b", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "22", + "lanes": "88,89", + "description": "etp23a", + "mtu": "9100", + "alias": "etp23a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "23", + "lanes": "92,93,94,95", + "description": "etp24", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet96": { + "index": "24", + "lanes": "96,97,98,99", + "description": "etp25", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "25", + "lanes": "100,101,102,103", + "description": "etp26", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "26", + "lanes": "104,105", + "description": "etp27a", + "mtu": "9100", + "alias": "etp27a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "27", + "lanes": "108,109,110,111", + "description": "etp28", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet112": { + "index": "28", + "lanes": "112,113,114,115", + "description": "etp29", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "29", + "lanes": "116,117,118,119", + "description": "etp30", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "30", + "lanes": "120,121", + "description": "etp31a", + "mtu": "9100", + "alias": "etp31a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "31", + "lanes": "124,125,126,127", + "description": "etp32", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "32", + "lanes": "128,129,130,131", + "description": "etp33", + "mtu": "9100", + "alias": "etp33", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "34", + "lanes": "136,137", + "description": "etp35a", + "mtu": "9100", + "alias": "etp35a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "36", + "lanes": "144,145,146,147", + "description": "etp37", + "mtu": "9100", + "alias": "etp37", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "38", + "lanes": "152,153", + "description": "etp39a", + "mtu": "9100", + "alias": "etp39a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "40", + "lanes": "160,161", + "description": "etp41a", + "mtu": "9100", + "alias": "etp41a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "42", + "lanes": "168,169", + "description": "etp43a", + "mtu": "9100", + "alias": "etp43a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "44", + "lanes": "176,177", + "description": "etp45a", + "mtu": "9100", + "alias": "etp45a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "46", + "lanes": "184,185", + "description": "etp47a", + "mtu": "9100", + "alias": "etp47a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "48", + "lanes": "192,193", + "description": "etp49a", + "mtu": "9100", + "alias": "etp49a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "50", + "lanes": "200,201", + "description": "etp51a", + "mtu": "9100", + "alias": "etp51a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "52", + "lanes": "208,209", + "description": "etp53a", + "mtu": "9100", + "alias": "etp53a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "54", + "lanes": "216,217", + "description": "etp55a", + "mtu": "9100", + "alias": "etp55a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "56", + "lanes": "224,225", + "description": "etp57a", + "mtu": "9100", + "alias": "etp57a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "58", + "lanes": "232,233", + "description": "etp59a", + "mtu": "9100", + "alias": "etp59a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "60", + "lanes": "240,241", + "description": "etp61a", + "mtu": "9100", + "alias": "etp61a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "62", + "lanes": "248,249", + "description": "etp63a", + "mtu": "9100", + "alias": "etp63a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_5" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn3800-d112c8-t1-version_2_0_0.json b/tests/db_migrator_input/config_db/mellanox-sn3800-d112c8-t1-version_2_0_0.json new file mode 100644 index 0000000000..1a3822d3f3 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn3800-d112c8-t1-version_2_0_0.json @@ -0,0 +1,2099 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet2|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet6|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet10|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet10|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet18|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet18|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet22|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet22|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet26|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet26|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet34|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet34|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet38|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet38|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet42|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet42|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet50|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet50|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet54|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet54|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet58|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet58|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet70|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet70|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet74|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet82|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet86|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet90|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet106|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet122|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet128|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet132|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet136|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet138|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet140|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet144|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet148|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet152|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet154|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet156|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet160|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet162|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet164|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet166|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet168|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet170|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet172|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet176|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet178|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet180|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet182|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet184|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet186|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet188|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet192|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet196|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet198|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet200|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet204|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet208|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet212|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet214|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet216|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet220|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet224|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet228|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet230|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet232|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet236|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet240|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet244|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet246|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet248|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet252|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "19124224" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "4333568", + "type": "ingress", + "mode": "dynamic", + "size": "19124224" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "26624", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "31744", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "30720", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "44032", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "55296", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "32768", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "36864", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "63488", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "40960", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "48128", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "102400", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet2|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet2|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet6|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet10|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet18|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet22|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet26|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet34|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet38|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet42|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet50|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet54|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet58|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet58|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet58|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet70|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet54": "40m", + "Ethernet248": "5m", + "Ethernet246": "5m", + "Ethernet244": "5m", + "Ethernet240": "5m", + "Ethernet124": "5m", + "Ethernet122": "5m", + "Ethernet120": "5m", + "Ethernet128": "5m", + "Ethernet76": "5m", + "Ethernet74": "5m", + "Ethernet72": "5m", + "Ethernet70": "40m", + "Ethernet136": "5m", + "Ethernet132": "5m", + "Ethernet232": "5m", + "Ethernet230": "5m", + "Ethernet138": "5m", + "Ethernet236": "5m", + "Ethernet64": "40m", + "Ethernet66": "40m", + "Ethernet60": "40m", + "Ethernet68": "40m", + "Ethernet180": "5m", + "Ethernet182": "5m", + "Ethernet184": "5m", + "Ethernet186": "5m", + "Ethernet188": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet106": "5m", + "Ethernet58": "40m", + "Ethernet50": "40m", + "Ethernet52": "40m", + "Ethernet224": "5m", + "Ethernet56": "40m", + "Ethernet196": "5m", + "Ethernet192": "5m", + "Ethernet198": "5m", + "Ethernet116": "5m", + "Ethernet112": "5m", + "Ethernet48": "40m", + "Ethernet214": "5m", + "Ethernet216": "5m", + "Ethernet42": "40m", + "Ethernet40": "40m", + "Ethernet8": "300m", + "Ethernet2": "300m", + "Ethernet0": "300m", + "Ethernet6": "300m", + "Ethernet4": "300m", + "Ethernet200": "5m", + "Ethernet168": "5m", + "Ethernet204": "5m", + "Ethernet162": "5m", + "Ethernet208": "5m", + "Ethernet160": "5m", + "Ethernet166": "5m", + "Ethernet164": "5m", + "Ethernet38": "40m", + "Ethernet32": "300m", + "Ethernet36": "40m", + "Ethernet34": "300m", + "Ethernet178": "5m", + "Ethernet170": "5m", + "Ethernet172": "5m", + "Ethernet176": "5m", + "Ethernet28": "300m", + "Ethernet20": "300m", + "Ethernet22": "300m", + "Ethernet24": "300m", + "Ethernet26": "300m", + "Ethernet44": "40m", + "Ethernet212": "5m", + "Ethernet96": "5m", + "Ethernet90": "5m", + "Ethernet148": "5m", + "Ethernet92": "5m", + "Ethernet144": "5m", + "Ethernet140": "5m", + "Ethernet18": "300m", + "Ethernet16": "300m", + "Ethernet10": "300m", + "Ethernet12": "300m", + "Ethernet228": "5m", + "Ethernet88": "5m", + "Ethernet82": "5m", + "Ethernet80": "5m", + "Ethernet86": "5m", + "Ethernet84": "5m", + "Ethernet152": "5m", + "Ethernet156": "5m", + "Ethernet154": "5m", + "Ethernet220": "5m", + "Ethernet252": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN3800-D112C8", + "default_bgp_status": "up", + "docker_routing_config_mode": "separated", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3800-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "traditional", + "cloudtype": "None", + "type": "LeafRouter", + "deployment_id": "1" + }, + "PORT|Ethernet0": { + "index": "0", + "lanes": "0,1", + "description": "ARISTA01T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "ARISTA01T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "1", + "lanes": "4,5", + "description": "ARISTA03T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "ARISTA03T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2b", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9", + "description": "ARISTA05T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "ARISTA05T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "3", + "lanes": "12,13,14,15", + "description": "ARISTA07T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet16": { + "index": "4", + "lanes": "16,17", + "description": "ARISTA07T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "ARISTA09T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "5", + "lanes": "20,21", + "description": "ARISTA09T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "ARISTA11T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "6", + "lanes": "24,25", + "description": "ARISTA11T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "ARISTA13T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "7", + "lanes": "28,29,30,31", + "description": "ARISTA13T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet32": { + "index": "8", + "lanes": "32,33", + "description": "ARISTA15T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "ARISTA15T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "9", + "lanes": "36,37", + "description": "ARISTA01T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "ARISTA02T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "10", + "lanes": "40,41", + "description": "ARISTA03T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11a", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "ARISTA04T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "11", + "lanes": "44,45,46,47", + "description": "ARISTA05T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet48": { + "index": "12", + "lanes": "48,49", + "description": "ARISTA06T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "ARISTA07T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "13", + "lanes": "52,53", + "description": "ARISTA08T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "ARISTA09T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "14", + "lanes": "56,57", + "description": "ARISTA10T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "15", + "lanes": "60,61,62,63", + "description": "ARISTA12T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet64": { + "index": "16", + "lanes": "64,65", + "description": "ARISTA13T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet66": { + "index": "16", + "lanes": "66,67", + "description": "ARISTA14T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA16T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "18", + "lanes": "72,73", + "description": "etp19a", + "mtu": "9100", + "alias": "etp19a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "20", + "lanes": "80,81", + "description": "etp21a", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "20", + "lanes": "82,83", + "description": "etp21b", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "22", + "lanes": "88,89", + "description": "etp23a", + "mtu": "9100", + "alias": "etp23a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "23", + "lanes": "92,93,94,95", + "description": "etp24", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet96": { + "index": "24", + "lanes": "96,97,98,99", + "description": "etp25", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "25", + "lanes": "100,101,102,103", + "description": "etp26", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "26", + "lanes": "104,105", + "description": "etp27a", + "mtu": "9100", + "alias": "etp27a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "27", + "lanes": "108,109,110,111", + "description": "etp28", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet112": { + "index": "28", + "lanes": "112,113,114,115", + "description": "etp29", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "29", + "lanes": "116,117,118,119", + "description": "etp30", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "30", + "lanes": "120,121", + "description": "etp31a", + "mtu": "9100", + "alias": "etp31a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "31", + "lanes": "124,125,126,127", + "description": "etp32", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "32", + "lanes": "128,129,130,131", + "description": "etp33", + "mtu": "9100", + "alias": "etp33", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "34", + "lanes": "136,137", + "description": "etp35a", + "mtu": "9100", + "alias": "etp35a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "36", + "lanes": "144,145,146,147", + "description": "etp37", + "mtu": "9100", + "alias": "etp37", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "38", + "lanes": "152,153", + "description": "etp39a", + "mtu": "9100", + "alias": "etp39a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "40", + "lanes": "160,161", + "description": "etp41a", + "mtu": "9100", + "alias": "etp41a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "42", + "lanes": "168,169", + "description": "etp43a", + "mtu": "9100", + "alias": "etp43a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "44", + "lanes": "176,177", + "description": "etp45a", + "mtu": "9100", + "alias": "etp45a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "46", + "lanes": "184,185", + "description": "etp47a", + "mtu": "9100", + "alias": "etp47a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "48", + "lanes": "192,193", + "description": "etp49a", + "mtu": "9100", + "alias": "etp49a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "50", + "lanes": "200,201", + "description": "etp51a", + "mtu": "9100", + "alias": "etp51a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "52", + "lanes": "208,209", + "description": "etp53a", + "mtu": "9100", + "alias": "etp53a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "54", + "lanes": "216,217", + "description": "etp55a", + "mtu": "9100", + "alias": "etp55a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "56", + "lanes": "224,225", + "description": "etp57a", + "mtu": "9100", + "alias": "etp57a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "58", + "lanes": "232,233", + "description": "etp59a", + "mtu": "9100", + "alias": "etp59a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "60", + "lanes": "240,241", + "description": "etp61a", + "mtu": "9100", + "alias": "etp61a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "62", + "lanes": "248,249", + "description": "etp63a", + "mtu": "9100", + "alias": "etp63a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_0" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn3800-d24c52-t0-version_1_0_5.json b/tests/db_migrator_input/config_db/mellanox-sn3800-d24c52-t0-version_1_0_5.json new file mode 100644 index 0000000000..5c5d7ecc6c --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn3800-d24c52-t0-version_1_0_5.json @@ -0,0 +1,1700 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet2|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet6|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet10|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet18|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet22|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet26|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet34|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet38|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet42|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet50|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet54|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet70|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "24576000" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "2756608", + "type": "ingress", + "mode": "dynamic", + "size": "24576000" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "28672", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "30720", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "32768", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "40960", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet2|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet2|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet6|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet10|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet18|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet22|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet26|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet34|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet38|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet42|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet50|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet54|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet70|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet54": "5m", + "Ethernet248": "5m", + "Ethernet246": "5m", + "Ethernet244": "5m", + "Ethernet240": "5m", + "Ethernet124": "5m", + "Ethernet122": "5m", + "Ethernet120": "5m", + "Ethernet128": "5m", + "Ethernet76": "5m", + "Ethernet74": "5m", + "Ethernet72": "5m", + "Ethernet70": "40m", + "Ethernet136": "5m", + "Ethernet132": "5m", + "Ethernet232": "5m", + "Ethernet230": "5m", + "Ethernet138": "5m", + "Ethernet236": "5m", + "Ethernet64": "40m", + "Ethernet66": "40m", + "Ethernet60": "5m", + "Ethernet68": "40m", + "Ethernet180": "5m", + "Ethernet182": "5m", + "Ethernet184": "5m", + "Ethernet186": "5m", + "Ethernet188": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet106": "5m", + "Ethernet58": "5m", + "Ethernet50": "5m", + "Ethernet52": "5m", + "Ethernet224": "5m", + "Ethernet56": "5m", + "Ethernet196": "5m", + "Ethernet192": "5m", + "Ethernet198": "5m", + "Ethernet116": "5m", + "Ethernet112": "5m", + "Ethernet48": "5m", + "Ethernet214": "5m", + "Ethernet216": "5m", + "Ethernet42": "5m", + "Ethernet40": "5m", + "Ethernet8": "5m", + "Ethernet2": "5m", + "Ethernet0": "5m", + "Ethernet6": "5m", + "Ethernet4": "5m", + "Ethernet200": "5m", + "Ethernet168": "5m", + "Ethernet204": "5m", + "Ethernet162": "5m", + "Ethernet208": "5m", + "Ethernet160": "5m", + "Ethernet166": "5m", + "Ethernet164": "5m", + "Ethernet38": "5m", + "Ethernet32": "5m", + "Ethernet36": "5m", + "Ethernet34": "5m", + "Ethernet178": "5m", + "Ethernet170": "5m", + "Ethernet172": "5m", + "Ethernet176": "5m", + "Ethernet28": "5m", + "Ethernet20": "5m", + "Ethernet22": "5m", + "Ethernet24": "5m", + "Ethernet26": "5m", + "Ethernet44": "5m", + "Ethernet212": "5m", + "Ethernet96": "5m", + "Ethernet90": "5m", + "Ethernet148": "5m", + "Ethernet92": "5m", + "Ethernet144": "5m", + "Ethernet140": "5m", + "Ethernet18": "5m", + "Ethernet16": "5m", + "Ethernet10": "5m", + "Ethernet12": "5m", + "Ethernet228": "5m", + "Ethernet88": "5m", + "Ethernet82": "5m", + "Ethernet80": "5m", + "Ethernet86": "5m", + "Ethernet84": "5m", + "Ethernet152": "5m", + "Ethernet156": "5m", + "Ethernet154": "5m", + "Ethernet220": "5m", + "Ethernet252": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN3800-D24C52", + "default_bgp_status": "up", + "docker_routing_config_mode": "separated", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3800-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "cloudtype": "None", + "type": "ToRRouter", + "deployment_id": "1" + }, + "PORT|Ethernet0": { + "index": "0", + "lanes": "0,1", + "description": "etp1a", + "mtu": "9100", + "alias": "etp1a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "1", + "lanes": "4,5", + "description": "Servers1:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "Servers2:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2b", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9", + "description": "Servers3:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "Servers4:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "3", + "lanes": "12,13,14,15", + "description": "Servers5:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet16": { + "index": "4", + "lanes": "16,17", + "description": "Servers6:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "Servers7:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "5", + "lanes": "20,21", + "description": "Servers8:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "Servers9:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "6", + "lanes": "24,25", + "description": "Servers10:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "Servers11:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "7", + "lanes": "28,29,30,31", + "description": "Servers12:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet32": { + "index": "8", + "lanes": "32,33", + "description": "Servers13:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "Servers14:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "9", + "lanes": "36,37", + "description": "Servers15:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "Servers16:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "10", + "lanes": "40,41", + "description": "Servers17:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "Servers18:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "11", + "lanes": "44,45,46,47", + "description": "Servers19:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet48": { + "index": "12", + "lanes": "48,49", + "description": "Servers20:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "Servers21:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "13", + "lanes": "52,53", + "description": "Servers22:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "Servers23:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "14", + "lanes": "56,57", + "description": "etp15a", + "mtu": "9100", + "alias": "etp15a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "etp15b", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "15", + "lanes": "60,61,62,63", + "description": "etp16", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet64": { + "index": "16", + "lanes": "64,65", + "description": "ARISTA01T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet66": { + "index": "16", + "lanes": "66,67", + "description": "ARISTA02T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA03T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA04T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "18", + "lanes": "72,73", + "description": "etp19a", + "mtu": "9100", + "alias": "etp19a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "20", + "lanes": "80,81", + "description": "etp21a", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "20", + "lanes": "82,83", + "description": "etp21b", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "22", + "lanes": "88,89", + "description": "etp23a", + "mtu": "9100", + "alias": "etp23a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "23", + "lanes": "92,93,94,95", + "description": "etp24", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet96": { + "index": "24", + "lanes": "96,97,98,99", + "description": "etp25", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "25", + "lanes": "100,101,102,103", + "description": "etp26", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "26", + "lanes": "104,105", + "description": "etp27a", + "mtu": "9100", + "alias": "etp27a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "27", + "lanes": "108,109,110,111", + "description": "etp28", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet112": { + "index": "28", + "lanes": "112,113,114,115", + "description": "etp29", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "29", + "lanes": "116,117,118,119", + "description": "etp30", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "30", + "lanes": "120,121", + "description": "etp31a", + "mtu": "9100", + "alias": "etp31a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "31", + "lanes": "124,125,126,127", + "description": "etp32", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "32", + "lanes": "128,129,130,131", + "description": "etp33", + "mtu": "9100", + "alias": "etp33", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "34", + "lanes": "136,137", + "description": "etp35a", + "mtu": "9100", + "alias": "etp35a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "36", + "lanes": "144,145,146,147", + "description": "etp37", + "mtu": "9100", + "alias": "etp37", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "38", + "lanes": "152,153", + "description": "etp39a", + "mtu": "9100", + "alias": "etp39a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "40", + "lanes": "160,161", + "description": "etp41a", + "mtu": "9100", + "alias": "etp41a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "42", + "lanes": "168,169", + "description": "etp43a", + "mtu": "9100", + "alias": "etp43a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "44", + "lanes": "176,177", + "description": "etp45a", + "mtu": "9100", + "alias": "etp45a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "46", + "lanes": "184,185", + "description": "etp47a", + "mtu": "9100", + "alias": "etp47a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "48", + "lanes": "192,193", + "description": "etp49a", + "mtu": "9100", + "alias": "etp49a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "50", + "lanes": "200,201", + "description": "etp51a", + "mtu": "9100", + "alias": "etp51a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "52", + "lanes": "208,209", + "description": "etp53a", + "mtu": "9100", + "alias": "etp53a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "54", + "lanes": "216,217", + "description": "etp55a", + "mtu": "9100", + "alias": "etp55a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "56", + "lanes": "224,225", + "description": "etp57a", + "mtu": "9100", + "alias": "etp57a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "58", + "lanes": "232,233", + "description": "etp59a", + "mtu": "9100", + "alias": "etp59a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "60", + "lanes": "240,241", + "description": "etp61a", + "mtu": "9100", + "alias": "etp61a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "62", + "lanes": "248,249", + "description": "etp63a", + "mtu": "9100", + "alias": "etp63a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_5" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn3800-d24c52-t0-version_2_0_0.json b/tests/db_migrator_input/config_db/mellanox-sn3800-d24c52-t0-version_2_0_0.json new file mode 100644 index 0000000000..90034883b2 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn3800-d24c52-t0-version_2_0_0.json @@ -0,0 +1,1701 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet2|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet6|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet10|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet18|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet22|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet26|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet34|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet38|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet42|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet50|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet54|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet70|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "24576000" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "2756608", + "type": "ingress", + "mode": "dynamic", + "size": "24576000" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "28672", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "30720", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "32768", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "40960", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet2|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet2|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet6|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet10|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet18|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet22|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet26|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet34|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet38|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet42|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet50|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet54|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet70|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet54": "5m", + "Ethernet248": "5m", + "Ethernet246": "5m", + "Ethernet244": "5m", + "Ethernet240": "5m", + "Ethernet124": "5m", + "Ethernet122": "5m", + "Ethernet120": "5m", + "Ethernet128": "5m", + "Ethernet76": "5m", + "Ethernet74": "5m", + "Ethernet72": "5m", + "Ethernet70": "40m", + "Ethernet136": "5m", + "Ethernet132": "5m", + "Ethernet232": "5m", + "Ethernet230": "5m", + "Ethernet138": "5m", + "Ethernet236": "5m", + "Ethernet64": "40m", + "Ethernet66": "40m", + "Ethernet60": "5m", + "Ethernet68": "40m", + "Ethernet180": "5m", + "Ethernet182": "5m", + "Ethernet184": "5m", + "Ethernet186": "5m", + "Ethernet188": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet106": "5m", + "Ethernet58": "5m", + "Ethernet50": "5m", + "Ethernet52": "5m", + "Ethernet224": "5m", + "Ethernet56": "5m", + "Ethernet196": "5m", + "Ethernet192": "5m", + "Ethernet198": "5m", + "Ethernet116": "5m", + "Ethernet112": "5m", + "Ethernet48": "5m", + "Ethernet214": "5m", + "Ethernet216": "5m", + "Ethernet42": "5m", + "Ethernet40": "5m", + "Ethernet8": "5m", + "Ethernet2": "5m", + "Ethernet0": "5m", + "Ethernet6": "5m", + "Ethernet4": "5m", + "Ethernet200": "5m", + "Ethernet168": "5m", + "Ethernet204": "5m", + "Ethernet162": "5m", + "Ethernet208": "5m", + "Ethernet160": "5m", + "Ethernet166": "5m", + "Ethernet164": "5m", + "Ethernet38": "5m", + "Ethernet32": "5m", + "Ethernet36": "5m", + "Ethernet34": "5m", + "Ethernet178": "5m", + "Ethernet170": "5m", + "Ethernet172": "5m", + "Ethernet176": "5m", + "Ethernet28": "5m", + "Ethernet20": "5m", + "Ethernet22": "5m", + "Ethernet24": "5m", + "Ethernet26": "5m", + "Ethernet44": "5m", + "Ethernet212": "5m", + "Ethernet96": "5m", + "Ethernet90": "5m", + "Ethernet148": "5m", + "Ethernet92": "5m", + "Ethernet144": "5m", + "Ethernet140": "5m", + "Ethernet18": "5m", + "Ethernet16": "5m", + "Ethernet10": "5m", + "Ethernet12": "5m", + "Ethernet228": "5m", + "Ethernet88": "5m", + "Ethernet82": "5m", + "Ethernet80": "5m", + "Ethernet86": "5m", + "Ethernet84": "5m", + "Ethernet152": "5m", + "Ethernet156": "5m", + "Ethernet154": "5m", + "Ethernet220": "5m", + "Ethernet252": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN3800-D24C52", + "default_bgp_status": "up", + "docker_routing_config_mode": "separated", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3800-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "traditional", + "cloudtype": "None", + "type": "ToRRouter", + "deployment_id": "1" + }, + "PORT|Ethernet0": { + "index": "0", + "lanes": "0,1", + "description": "etp1a", + "mtu": "9100", + "alias": "etp1a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "1", + "lanes": "4,5", + "description": "Servers1:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "Servers2:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2b", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9", + "description": "Servers3:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "Servers4:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "3", + "lanes": "12,13,14,15", + "description": "Servers5:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet16": { + "index": "4", + "lanes": "16,17", + "description": "Servers6:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "Servers7:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "5", + "lanes": "20,21", + "description": "Servers8:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "Servers9:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "6", + "lanes": "24,25", + "description": "Servers10:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "Servers11:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "7", + "lanes": "28,29,30,31", + "description": "Servers12:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet32": { + "index": "8", + "lanes": "32,33", + "description": "Servers13:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "Servers14:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "9", + "lanes": "36,37", + "description": "Servers15:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "Servers16:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "10", + "lanes": "40,41", + "description": "Servers17:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "Servers18:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "11", + "lanes": "44,45,46,47", + "description": "Servers19:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet48": { + "index": "12", + "lanes": "48,49", + "description": "Servers20:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "Servers21:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "13", + "lanes": "52,53", + "description": "Servers22:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "Servers23:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "14", + "lanes": "56,57", + "description": "etp15a", + "mtu": "9100", + "alias": "etp15a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "etp15b", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "15", + "lanes": "60,61,62,63", + "description": "etp16", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet64": { + "index": "16", + "lanes": "64,65", + "description": "ARISTA01T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet66": { + "index": "16", + "lanes": "66,67", + "description": "ARISTA02T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA03T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA04T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "18", + "lanes": "72,73", + "description": "etp19a", + "mtu": "9100", + "alias": "etp19a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "20", + "lanes": "80,81", + "description": "etp21a", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "20", + "lanes": "82,83", + "description": "etp21b", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "22", + "lanes": "88,89", + "description": "etp23a", + "mtu": "9100", + "alias": "etp23a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "23", + "lanes": "92,93,94,95", + "description": "etp24", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet96": { + "index": "24", + "lanes": "96,97,98,99", + "description": "etp25", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "25", + "lanes": "100,101,102,103", + "description": "etp26", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "26", + "lanes": "104,105", + "description": "etp27a", + "mtu": "9100", + "alias": "etp27a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "27", + "lanes": "108,109,110,111", + "description": "etp28", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet112": { + "index": "28", + "lanes": "112,113,114,115", + "description": "etp29", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "29", + "lanes": "116,117,118,119", + "description": "etp30", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "30", + "lanes": "120,121", + "description": "etp31a", + "mtu": "9100", + "alias": "etp31a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "31", + "lanes": "124,125,126,127", + "description": "etp32", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "32", + "lanes": "128,129,130,131", + "description": "etp33", + "mtu": "9100", + "alias": "etp33", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "34", + "lanes": "136,137", + "description": "etp35a", + "mtu": "9100", + "alias": "etp35a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "36", + "lanes": "144,145,146,147", + "description": "etp37", + "mtu": "9100", + "alias": "etp37", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "38", + "lanes": "152,153", + "description": "etp39a", + "mtu": "9100", + "alias": "etp39a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "40", + "lanes": "160,161", + "description": "etp41a", + "mtu": "9100", + "alias": "etp41a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "42", + "lanes": "168,169", + "description": "etp43a", + "mtu": "9100", + "alias": "etp43a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "44", + "lanes": "176,177", + "description": "etp45a", + "mtu": "9100", + "alias": "etp45a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "46", + "lanes": "184,185", + "description": "etp47a", + "mtu": "9100", + "alias": "etp47a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "48", + "lanes": "192,193", + "description": "etp49a", + "mtu": "9100", + "alias": "etp49a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "50", + "lanes": "200,201", + "description": "etp51a", + "mtu": "9100", + "alias": "etp51a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "52", + "lanes": "208,209", + "description": "etp53a", + "mtu": "9100", + "alias": "etp53a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "54", + "lanes": "216,217", + "description": "etp55a", + "mtu": "9100", + "alias": "etp55a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "56", + "lanes": "224,225", + "description": "etp57a", + "mtu": "9100", + "alias": "etp57a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "58", + "lanes": "232,233", + "description": "etp59a", + "mtu": "9100", + "alias": "etp59a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "60", + "lanes": "240,241", + "description": "etp61a", + "mtu": "9100", + "alias": "etp61a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "62", + "lanes": "248,249", + "description": "etp63a", + "mtu": "9100", + "alias": "etp63a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_0" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn3800-d24c52-t1-version_1_0_5.json b/tests/db_migrator_input/config_db/mellanox-sn3800-d24c52-t1-version_1_0_5.json new file mode 100644 index 0000000000..883e13fc26 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn3800-d24c52-t1-version_1_0_5.json @@ -0,0 +1,1826 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet2|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet6|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet10|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet18|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet22|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet26|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet34|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet38|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet38|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet42|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet42|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet50|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet54|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet58|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet70|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "22597632" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "4734976", + "type": "ingress", + "mode": "dynamic", + "size": "22597632" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "26624", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "31744", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "30720", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "44032", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "55296", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "36864", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "63488", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "48128", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "102400", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet2|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet2|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet6|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet10|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet18|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet22|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet26|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet34|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet38|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet42|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet50|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet54|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet58|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet58|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet58|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet70|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet54": "40m", + "Ethernet248": "5m", + "Ethernet246": "5m", + "Ethernet244": "5m", + "Ethernet240": "5m", + "Ethernet124": "5m", + "Ethernet122": "5m", + "Ethernet120": "5m", + "Ethernet128": "5m", + "Ethernet76": "5m", + "Ethernet74": "5m", + "Ethernet72": "5m", + "Ethernet70": "40m", + "Ethernet136": "5m", + "Ethernet132": "5m", + "Ethernet232": "5m", + "Ethernet230": "5m", + "Ethernet138": "5m", + "Ethernet236": "5m", + "Ethernet64": "40m", + "Ethernet66": "40m", + "Ethernet60": "40m", + "Ethernet68": "40m", + "Ethernet180": "5m", + "Ethernet182": "5m", + "Ethernet184": "5m", + "Ethernet186": "5m", + "Ethernet188": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet106": "5m", + "Ethernet58": "40m", + "Ethernet50": "40m", + "Ethernet52": "40m", + "Ethernet224": "5m", + "Ethernet56": "40m", + "Ethernet196": "5m", + "Ethernet192": "5m", + "Ethernet198": "5m", + "Ethernet116": "5m", + "Ethernet112": "5m", + "Ethernet48": "40m", + "Ethernet214": "5m", + "Ethernet216": "5m", + "Ethernet42": "40m", + "Ethernet40": "40m", + "Ethernet8": "300m", + "Ethernet2": "300m", + "Ethernet0": "300m", + "Ethernet6": "300m", + "Ethernet4": "300m", + "Ethernet200": "5m", + "Ethernet168": "5m", + "Ethernet204": "5m", + "Ethernet162": "5m", + "Ethernet208": "5m", + "Ethernet160": "5m", + "Ethernet166": "5m", + "Ethernet164": "5m", + "Ethernet38": "40m", + "Ethernet32": "300m", + "Ethernet36": "40m", + "Ethernet34": "300m", + "Ethernet178": "5m", + "Ethernet170": "5m", + "Ethernet172": "5m", + "Ethernet176": "5m", + "Ethernet28": "300m", + "Ethernet20": "300m", + "Ethernet22": "300m", + "Ethernet24": "300m", + "Ethernet26": "300m", + "Ethernet44": "40m", + "Ethernet212": "5m", + "Ethernet96": "5m", + "Ethernet90": "5m", + "Ethernet148": "5m", + "Ethernet92": "5m", + "Ethernet144": "5m", + "Ethernet140": "5m", + "Ethernet18": "300m", + "Ethernet16": "300m", + "Ethernet10": "300m", + "Ethernet12": "300m", + "Ethernet228": "5m", + "Ethernet88": "5m", + "Ethernet82": "5m", + "Ethernet80": "5m", + "Ethernet86": "5m", + "Ethernet84": "5m", + "Ethernet152": "5m", + "Ethernet156": "5m", + "Ethernet154": "5m", + "Ethernet220": "5m", + "Ethernet252": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN3800-D24C52", + "default_bgp_status": "up", + "docker_routing_config_mode": "separated", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3800-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "cloudtype": "None", + "type": "LeafRouter", + "deployment_id": "1" + }, + "PORT|Ethernet0": { + "index": "0", + "lanes": "0,1", + "description": "ARISTA01T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "ARISTA01T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "1", + "lanes": "4,5", + "description": "ARISTA03T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "ARISTA03T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2b", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9", + "description": "ARISTA05T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "ARISTA05T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "3", + "lanes": "12,13,14,15", + "description": "ARISTA07T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet16": { + "index": "4", + "lanes": "16,17", + "description": "ARISTA07T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "ARISTA09T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "5", + "lanes": "20,21", + "description": "ARISTA09T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "ARISTA11T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "6", + "lanes": "24,25", + "description": "ARISTA11T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "ARISTA13T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "7", + "lanes": "28,29,30,31", + "description": "ARISTA13T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet32": { + "index": "8", + "lanes": "32,33", + "description": "ARISTA15T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "ARISTA15T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "9", + "lanes": "36,37", + "description": "ARISTA01T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "ARISTA02T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "10", + "lanes": "40,41", + "description": "ARISTA03T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11a", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "ARISTA04T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "11", + "lanes": "44,45,46,47", + "description": "ARISTA05T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet48": { + "index": "12", + "lanes": "48,49", + "description": "ARISTA06T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "ARISTA07T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "13", + "lanes": "52,53", + "description": "ARISTA08T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "ARISTA09T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "14", + "lanes": "56,57", + "description": "ARISTA10T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "15", + "lanes": "60,61,62,63", + "description": "ARISTA12T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet64": { + "index": "16", + "lanes": "64,65", + "description": "ARISTA13T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet66": { + "index": "16", + "lanes": "66,67", + "description": "ARISTA14T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA16T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "18", + "lanes": "72,73", + "description": "etp19a", + "mtu": "9100", + "alias": "etp19a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "20", + "lanes": "80,81", + "description": "etp21a", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "20", + "lanes": "82,83", + "description": "etp21b", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "22", + "lanes": "88,89", + "description": "etp23a", + "mtu": "9100", + "alias": "etp23a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "23", + "lanes": "92,93,94,95", + "description": "etp24", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet96": { + "index": "24", + "lanes": "96,97,98,99", + "description": "etp25", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "25", + "lanes": "100,101,102,103", + "description": "etp26", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "26", + "lanes": "104,105", + "description": "etp27a", + "mtu": "9100", + "alias": "etp27a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "27", + "lanes": "108,109,110,111", + "description": "etp28", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet112": { + "index": "28", + "lanes": "112,113,114,115", + "description": "etp29", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "29", + "lanes": "116,117,118,119", + "description": "etp30", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "30", + "lanes": "120,121", + "description": "etp31a", + "mtu": "9100", + "alias": "etp31a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "31", + "lanes": "124,125,126,127", + "description": "etp32", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "32", + "lanes": "128,129,130,131", + "description": "etp33", + "mtu": "9100", + "alias": "etp33", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "34", + "lanes": "136,137", + "description": "etp35a", + "mtu": "9100", + "alias": "etp35a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "36", + "lanes": "144,145,146,147", + "description": "etp37", + "mtu": "9100", + "alias": "etp37", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "38", + "lanes": "152,153", + "description": "etp39a", + "mtu": "9100", + "alias": "etp39a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "40", + "lanes": "160,161", + "description": "etp41a", + "mtu": "9100", + "alias": "etp41a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "42", + "lanes": "168,169", + "description": "etp43a", + "mtu": "9100", + "alias": "etp43a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "44", + "lanes": "176,177", + "description": "etp45a", + "mtu": "9100", + "alias": "etp45a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "46", + "lanes": "184,185", + "description": "etp47a", + "mtu": "9100", + "alias": "etp47a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "48", + "lanes": "192,193", + "description": "etp49a", + "mtu": "9100", + "alias": "etp49a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "50", + "lanes": "200,201", + "description": "etp51a", + "mtu": "9100", + "alias": "etp51a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "52", + "lanes": "208,209", + "description": "etp53a", + "mtu": "9100", + "alias": "etp53a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "54", + "lanes": "216,217", + "description": "etp55a", + "mtu": "9100", + "alias": "etp55a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "56", + "lanes": "224,225", + "description": "etp57a", + "mtu": "9100", + "alias": "etp57a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "58", + "lanes": "232,233", + "description": "etp59a", + "mtu": "9100", + "alias": "etp59a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "60", + "lanes": "240,241", + "description": "etp61a", + "mtu": "9100", + "alias": "etp61a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "62", + "lanes": "248,249", + "description": "etp63a", + "mtu": "9100", + "alias": "etp63a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_5" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn3800-d24c52-t1-version_2_0_0.json b/tests/db_migrator_input/config_db/mellanox-sn3800-d24c52-t1-version_2_0_0.json new file mode 100644 index 0000000000..f1240ff401 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn3800-d24c52-t1-version_2_0_0.json @@ -0,0 +1,1827 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet2|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet6|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet10|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet18|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet22|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet26|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet34|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet38|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet38|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet42|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet42|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet50|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet54|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet58|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet70|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "22597632" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "4734976", + "type": "ingress", + "mode": "dynamic", + "size": "22597632" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "26624", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "31744", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "30720", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "44032", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "55296", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "36864", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "63488", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "48128", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "102400", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet2|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet2|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet6|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet10|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet18|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet22|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet26|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet34|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet38|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet42|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet50|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet54|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet58|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet58|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet58|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet70|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet54": "40m", + "Ethernet248": "5m", + "Ethernet246": "5m", + "Ethernet244": "5m", + "Ethernet240": "5m", + "Ethernet124": "5m", + "Ethernet122": "5m", + "Ethernet120": "5m", + "Ethernet128": "5m", + "Ethernet76": "5m", + "Ethernet74": "5m", + "Ethernet72": "5m", + "Ethernet70": "40m", + "Ethernet136": "5m", + "Ethernet132": "5m", + "Ethernet232": "5m", + "Ethernet230": "5m", + "Ethernet138": "5m", + "Ethernet236": "5m", + "Ethernet64": "40m", + "Ethernet66": "40m", + "Ethernet60": "40m", + "Ethernet68": "40m", + "Ethernet180": "5m", + "Ethernet182": "5m", + "Ethernet184": "5m", + "Ethernet186": "5m", + "Ethernet188": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet106": "5m", + "Ethernet58": "40m", + "Ethernet50": "40m", + "Ethernet52": "40m", + "Ethernet224": "5m", + "Ethernet56": "40m", + "Ethernet196": "5m", + "Ethernet192": "5m", + "Ethernet198": "5m", + "Ethernet116": "5m", + "Ethernet112": "5m", + "Ethernet48": "40m", + "Ethernet214": "5m", + "Ethernet216": "5m", + "Ethernet42": "40m", + "Ethernet40": "40m", + "Ethernet8": "300m", + "Ethernet2": "300m", + "Ethernet0": "300m", + "Ethernet6": "300m", + "Ethernet4": "300m", + "Ethernet200": "5m", + "Ethernet168": "5m", + "Ethernet204": "5m", + "Ethernet162": "5m", + "Ethernet208": "5m", + "Ethernet160": "5m", + "Ethernet166": "5m", + "Ethernet164": "5m", + "Ethernet38": "40m", + "Ethernet32": "300m", + "Ethernet36": "40m", + "Ethernet34": "300m", + "Ethernet178": "5m", + "Ethernet170": "5m", + "Ethernet172": "5m", + "Ethernet176": "5m", + "Ethernet28": "300m", + "Ethernet20": "300m", + "Ethernet22": "300m", + "Ethernet24": "300m", + "Ethernet26": "300m", + "Ethernet44": "40m", + "Ethernet212": "5m", + "Ethernet96": "5m", + "Ethernet90": "5m", + "Ethernet148": "5m", + "Ethernet92": "5m", + "Ethernet144": "5m", + "Ethernet140": "5m", + "Ethernet18": "300m", + "Ethernet16": "300m", + "Ethernet10": "300m", + "Ethernet12": "300m", + "Ethernet228": "5m", + "Ethernet88": "5m", + "Ethernet82": "5m", + "Ethernet80": "5m", + "Ethernet86": "5m", + "Ethernet84": "5m", + "Ethernet152": "5m", + "Ethernet156": "5m", + "Ethernet154": "5m", + "Ethernet220": "5m", + "Ethernet252": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN3800-D24C52", + "default_bgp_status": "up", + "docker_routing_config_mode": "separated", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3800-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "traditional", + "cloudtype": "None", + "type": "LeafRouter", + "deployment_id": "1" + }, + "PORT|Ethernet0": { + "index": "0", + "lanes": "0,1", + "description": "ARISTA01T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "ARISTA01T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "1", + "lanes": "4,5", + "description": "ARISTA03T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "ARISTA03T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2b", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9", + "description": "ARISTA05T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "ARISTA05T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "3", + "lanes": "12,13,14,15", + "description": "ARISTA07T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet16": { + "index": "4", + "lanes": "16,17", + "description": "ARISTA07T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "ARISTA09T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "5", + "lanes": "20,21", + "description": "ARISTA09T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "ARISTA11T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "6", + "lanes": "24,25", + "description": "ARISTA11T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "ARISTA13T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "7", + "lanes": "28,29,30,31", + "description": "ARISTA13T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet32": { + "index": "8", + "lanes": "32,33", + "description": "ARISTA15T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "ARISTA15T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "9", + "lanes": "36,37", + "description": "ARISTA01T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "ARISTA02T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "10", + "lanes": "40,41", + "description": "ARISTA03T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11a", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "ARISTA04T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "11", + "lanes": "44,45,46,47", + "description": "ARISTA05T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet48": { + "index": "12", + "lanes": "48,49", + "description": "ARISTA06T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "ARISTA07T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "13", + "lanes": "52,53", + "description": "ARISTA08T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "ARISTA09T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "14", + "lanes": "56,57", + "description": "ARISTA10T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "15", + "lanes": "60,61,62,63", + "description": "ARISTA12T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet64": { + "index": "16", + "lanes": "64,65", + "description": "ARISTA13T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet66": { + "index": "16", + "lanes": "66,67", + "description": "ARISTA14T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA16T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "18", + "lanes": "72,73", + "description": "etp19a", + "mtu": "9100", + "alias": "etp19a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "20", + "lanes": "80,81", + "description": "etp21a", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "20", + "lanes": "82,83", + "description": "etp21b", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "22", + "lanes": "88,89", + "description": "etp23a", + "mtu": "9100", + "alias": "etp23a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "23", + "lanes": "92,93,94,95", + "description": "etp24", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet96": { + "index": "24", + "lanes": "96,97,98,99", + "description": "etp25", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "25", + "lanes": "100,101,102,103", + "description": "etp26", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "26", + "lanes": "104,105", + "description": "etp27a", + "mtu": "9100", + "alias": "etp27a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "27", + "lanes": "108,109,110,111", + "description": "etp28", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet112": { + "index": "28", + "lanes": "112,113,114,115", + "description": "etp29", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "29", + "lanes": "116,117,118,119", + "description": "etp30", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "30", + "lanes": "120,121", + "description": "etp31a", + "mtu": "9100", + "alias": "etp31a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "31", + "lanes": "124,125,126,127", + "description": "etp32", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "32", + "lanes": "128,129,130,131", + "description": "etp33", + "mtu": "9100", + "alias": "etp33", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "34", + "lanes": "136,137", + "description": "etp35a", + "mtu": "9100", + "alias": "etp35a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "36", + "lanes": "144,145,146,147", + "description": "etp37", + "mtu": "9100", + "alias": "etp37", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "38", + "lanes": "152,153", + "description": "etp39a", + "mtu": "9100", + "alias": "etp39a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "40", + "lanes": "160,161", + "description": "etp41a", + "mtu": "9100", + "alias": "etp41a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "42", + "lanes": "168,169", + "description": "etp43a", + "mtu": "9100", + "alias": "etp43a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "44", + "lanes": "176,177", + "description": "etp45a", + "mtu": "9100", + "alias": "etp45a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "46", + "lanes": "184,185", + "description": "etp47a", + "mtu": "9100", + "alias": "etp47a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "48", + "lanes": "192,193", + "description": "etp49a", + "mtu": "9100", + "alias": "etp49a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "50", + "lanes": "200,201", + "description": "etp51a", + "mtu": "9100", + "alias": "etp51a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "52", + "lanes": "208,209", + "description": "etp53a", + "mtu": "9100", + "alias": "etp53a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "54", + "lanes": "216,217", + "description": "etp55a", + "mtu": "9100", + "alias": "etp55a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "56", + "lanes": "224,225", + "description": "etp57a", + "mtu": "9100", + "alias": "etp57a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "58", + "lanes": "232,233", + "description": "etp59a", + "mtu": "9100", + "alias": "etp59a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "60", + "lanes": "240,241", + "description": "etp61a", + "mtu": "9100", + "alias": "etp61a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "62", + "lanes": "248,249", + "description": "etp63a", + "mtu": "9100", + "alias": "etp63a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_0" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn3800-d28c50-t0-version_1_0_5.json b/tests/db_migrator_input/config_db/mellanox-sn3800-d28c50-t0-version_1_0_5.json new file mode 100644 index 0000000000..0af2e481f3 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn3800-d28c50-t0-version_1_0_5.json @@ -0,0 +1,1700 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet2|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet6|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet10|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet18|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet22|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet26|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet34|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet38|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet42|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet50|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet54|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet70|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "24360960" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "2795520", + "type": "ingress", + "mode": "dynamic", + "size": "24360960" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "28672", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "30720", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "32768", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "40960", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet2|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet2|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet6|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet10|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet18|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet22|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet26|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet34|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet38|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet42|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet50|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet54|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet70|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet54": "5m", + "Ethernet248": "5m", + "Ethernet246": "5m", + "Ethernet244": "5m", + "Ethernet240": "5m", + "Ethernet124": "5m", + "Ethernet122": "5m", + "Ethernet120": "5m", + "Ethernet128": "5m", + "Ethernet76": "5m", + "Ethernet74": "5m", + "Ethernet72": "5m", + "Ethernet70": "40m", + "Ethernet136": "5m", + "Ethernet132": "5m", + "Ethernet232": "5m", + "Ethernet230": "5m", + "Ethernet138": "5m", + "Ethernet236": "5m", + "Ethernet64": "40m", + "Ethernet66": "40m", + "Ethernet60": "5m", + "Ethernet68": "40m", + "Ethernet180": "5m", + "Ethernet182": "5m", + "Ethernet184": "5m", + "Ethernet186": "5m", + "Ethernet188": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet106": "5m", + "Ethernet58": "5m", + "Ethernet50": "5m", + "Ethernet52": "5m", + "Ethernet224": "5m", + "Ethernet56": "5m", + "Ethernet196": "5m", + "Ethernet192": "5m", + "Ethernet198": "5m", + "Ethernet116": "5m", + "Ethernet112": "5m", + "Ethernet48": "5m", + "Ethernet214": "5m", + "Ethernet216": "5m", + "Ethernet42": "5m", + "Ethernet40": "5m", + "Ethernet8": "5m", + "Ethernet2": "5m", + "Ethernet0": "5m", + "Ethernet6": "5m", + "Ethernet4": "5m", + "Ethernet200": "5m", + "Ethernet168": "5m", + "Ethernet204": "5m", + "Ethernet162": "5m", + "Ethernet208": "5m", + "Ethernet160": "5m", + "Ethernet166": "5m", + "Ethernet164": "5m", + "Ethernet38": "5m", + "Ethernet32": "5m", + "Ethernet36": "5m", + "Ethernet34": "5m", + "Ethernet178": "5m", + "Ethernet170": "5m", + "Ethernet172": "5m", + "Ethernet176": "5m", + "Ethernet28": "5m", + "Ethernet20": "5m", + "Ethernet22": "5m", + "Ethernet24": "5m", + "Ethernet26": "5m", + "Ethernet44": "5m", + "Ethernet212": "5m", + "Ethernet96": "5m", + "Ethernet90": "5m", + "Ethernet148": "5m", + "Ethernet92": "5m", + "Ethernet144": "5m", + "Ethernet140": "5m", + "Ethernet18": "5m", + "Ethernet16": "5m", + "Ethernet10": "5m", + "Ethernet12": "5m", + "Ethernet228": "5m", + "Ethernet88": "5m", + "Ethernet82": "5m", + "Ethernet80": "5m", + "Ethernet86": "5m", + "Ethernet84": "5m", + "Ethernet152": "5m", + "Ethernet156": "5m", + "Ethernet154": "5m", + "Ethernet220": "5m", + "Ethernet252": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN3800-D28C50", + "default_bgp_status": "up", + "docker_routing_config_mode": "separated", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3800-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "cloudtype": "None", + "type": "ToRRouter", + "deployment_id": "1" + }, + "PORT|Ethernet0": { + "index": "0", + "lanes": "0,1", + "description": "etp1a", + "mtu": "9100", + "alias": "etp1a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "1", + "lanes": "4,5", + "description": "Servers1:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "Servers2:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2b", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9", + "description": "Servers3:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "Servers4:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "3", + "lanes": "12,13,14,15", + "description": "Servers5:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet16": { + "index": "4", + "lanes": "16,17", + "description": "Servers6:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "Servers7:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "5", + "lanes": "20,21", + "description": "Servers8:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "Servers9:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "6", + "lanes": "24,25", + "description": "Servers10:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "Servers11:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "7", + "lanes": "28,29,30,31", + "description": "Servers12:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet32": { + "index": "8", + "lanes": "32,33", + "description": "Servers13:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "Servers14:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "9", + "lanes": "36,37", + "description": "Servers15:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "Servers16:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "10", + "lanes": "40,41", + "description": "Servers17:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "Servers18:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "11", + "lanes": "44,45,46,47", + "description": "Servers19:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet48": { + "index": "12", + "lanes": "48,49", + "description": "Servers20:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "Servers21:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "13", + "lanes": "52,53", + "description": "Servers22:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "Servers23:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "14", + "lanes": "56,57", + "description": "etp15a", + "mtu": "9100", + "alias": "etp15a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "etp15b", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "15", + "lanes": "60,61,62,63", + "description": "etp16", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet64": { + "index": "16", + "lanes": "64,65", + "description": "ARISTA01T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet66": { + "index": "16", + "lanes": "66,67", + "description": "ARISTA02T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA03T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA04T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "18", + "lanes": "72,73", + "description": "etp19a", + "mtu": "9100", + "alias": "etp19a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "20", + "lanes": "80,81", + "description": "etp21a", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "20", + "lanes": "82,83", + "description": "etp21b", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "22", + "lanes": "88,89", + "description": "etp23a", + "mtu": "9100", + "alias": "etp23a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "23", + "lanes": "92,93,94,95", + "description": "etp24", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet96": { + "index": "24", + "lanes": "96,97,98,99", + "description": "etp25", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "25", + "lanes": "100,101,102,103", + "description": "etp26", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "26", + "lanes": "104,105", + "description": "etp27a", + "mtu": "9100", + "alias": "etp27a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "27", + "lanes": "108,109,110,111", + "description": "etp28", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet112": { + "index": "28", + "lanes": "112,113,114,115", + "description": "etp29", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "29", + "lanes": "116,117,118,119", + "description": "etp30", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "30", + "lanes": "120,121", + "description": "etp31a", + "mtu": "9100", + "alias": "etp31a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "31", + "lanes": "124,125,126,127", + "description": "etp32", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "32", + "lanes": "128,129,130,131", + "description": "etp33", + "mtu": "9100", + "alias": "etp33", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "34", + "lanes": "136,137", + "description": "etp35a", + "mtu": "9100", + "alias": "etp35a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "36", + "lanes": "144,145,146,147", + "description": "etp37", + "mtu": "9100", + "alias": "etp37", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "38", + "lanes": "152,153", + "description": "etp39a", + "mtu": "9100", + "alias": "etp39a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "40", + "lanes": "160,161", + "description": "etp41a", + "mtu": "9100", + "alias": "etp41a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "42", + "lanes": "168,169", + "description": "etp43a", + "mtu": "9100", + "alias": "etp43a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "44", + "lanes": "176,177", + "description": "etp45a", + "mtu": "9100", + "alias": "etp45a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "46", + "lanes": "184,185", + "description": "etp47a", + "mtu": "9100", + "alias": "etp47a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "48", + "lanes": "192,193", + "description": "etp49a", + "mtu": "9100", + "alias": "etp49a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "50", + "lanes": "200,201", + "description": "etp51a", + "mtu": "9100", + "alias": "etp51a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "52", + "lanes": "208,209", + "description": "etp53a", + "mtu": "9100", + "alias": "etp53a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "54", + "lanes": "216,217", + "description": "etp55a", + "mtu": "9100", + "alias": "etp55a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "56", + "lanes": "224,225", + "description": "etp57a", + "mtu": "9100", + "alias": "etp57a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "58", + "lanes": "232,233", + "description": "etp59a", + "mtu": "9100", + "alias": "etp59a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "60", + "lanes": "240,241", + "description": "etp61a", + "mtu": "9100", + "alias": "etp61a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "62", + "lanes": "248,249", + "description": "etp63a", + "mtu": "9100", + "alias": "etp63a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_5" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn3800-d28c50-t0-version_2_0_0.json b/tests/db_migrator_input/config_db/mellanox-sn3800-d28c50-t0-version_2_0_0.json new file mode 100644 index 0000000000..7183e5abe8 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn3800-d28c50-t0-version_2_0_0.json @@ -0,0 +1,1701 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet2|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet6|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet10|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet18|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet22|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet26|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet34|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet38|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet42|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet50|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet54|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet70|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "24360960" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "2795520", + "type": "ingress", + "mode": "dynamic", + "size": "24360960" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "28672", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "30720", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "32768", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "40960", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet2|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet2|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet6|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet10|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet18|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet22|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet26|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet34|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet38|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet42|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet50|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet54|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet70|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet54": "5m", + "Ethernet248": "5m", + "Ethernet246": "5m", + "Ethernet244": "5m", + "Ethernet240": "5m", + "Ethernet124": "5m", + "Ethernet122": "5m", + "Ethernet120": "5m", + "Ethernet128": "5m", + "Ethernet76": "5m", + "Ethernet74": "5m", + "Ethernet72": "5m", + "Ethernet70": "40m", + "Ethernet136": "5m", + "Ethernet132": "5m", + "Ethernet232": "5m", + "Ethernet230": "5m", + "Ethernet138": "5m", + "Ethernet236": "5m", + "Ethernet64": "40m", + "Ethernet66": "40m", + "Ethernet60": "5m", + "Ethernet68": "40m", + "Ethernet180": "5m", + "Ethernet182": "5m", + "Ethernet184": "5m", + "Ethernet186": "5m", + "Ethernet188": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet106": "5m", + "Ethernet58": "5m", + "Ethernet50": "5m", + "Ethernet52": "5m", + "Ethernet224": "5m", + "Ethernet56": "5m", + "Ethernet196": "5m", + "Ethernet192": "5m", + "Ethernet198": "5m", + "Ethernet116": "5m", + "Ethernet112": "5m", + "Ethernet48": "5m", + "Ethernet214": "5m", + "Ethernet216": "5m", + "Ethernet42": "5m", + "Ethernet40": "5m", + "Ethernet8": "5m", + "Ethernet2": "5m", + "Ethernet0": "5m", + "Ethernet6": "5m", + "Ethernet4": "5m", + "Ethernet200": "5m", + "Ethernet168": "5m", + "Ethernet204": "5m", + "Ethernet162": "5m", + "Ethernet208": "5m", + "Ethernet160": "5m", + "Ethernet166": "5m", + "Ethernet164": "5m", + "Ethernet38": "5m", + "Ethernet32": "5m", + "Ethernet36": "5m", + "Ethernet34": "5m", + "Ethernet178": "5m", + "Ethernet170": "5m", + "Ethernet172": "5m", + "Ethernet176": "5m", + "Ethernet28": "5m", + "Ethernet20": "5m", + "Ethernet22": "5m", + "Ethernet24": "5m", + "Ethernet26": "5m", + "Ethernet44": "5m", + "Ethernet212": "5m", + "Ethernet96": "5m", + "Ethernet90": "5m", + "Ethernet148": "5m", + "Ethernet92": "5m", + "Ethernet144": "5m", + "Ethernet140": "5m", + "Ethernet18": "5m", + "Ethernet16": "5m", + "Ethernet10": "5m", + "Ethernet12": "5m", + "Ethernet228": "5m", + "Ethernet88": "5m", + "Ethernet82": "5m", + "Ethernet80": "5m", + "Ethernet86": "5m", + "Ethernet84": "5m", + "Ethernet152": "5m", + "Ethernet156": "5m", + "Ethernet154": "5m", + "Ethernet220": "5m", + "Ethernet252": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN3800-D28C50", + "default_bgp_status": "up", + "docker_routing_config_mode": "separated", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3800-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "traditional", + "cloudtype": "None", + "type": "ToRRouter", + "deployment_id": "1" + }, + "PORT|Ethernet0": { + "index": "0", + "lanes": "0,1", + "description": "etp1a", + "mtu": "9100", + "alias": "etp1a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "1", + "lanes": "4,5", + "description": "Servers1:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "Servers2:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2b", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9", + "description": "Servers3:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "Servers4:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "3", + "lanes": "12,13,14,15", + "description": "Servers5:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet16": { + "index": "4", + "lanes": "16,17", + "description": "Servers6:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "Servers7:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "5", + "lanes": "20,21", + "description": "Servers8:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "Servers9:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "6", + "lanes": "24,25", + "description": "Servers10:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "Servers11:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "7", + "lanes": "28,29,30,31", + "description": "Servers12:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet32": { + "index": "8", + "lanes": "32,33", + "description": "Servers13:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "Servers14:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "9", + "lanes": "36,37", + "description": "Servers15:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "Servers16:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "10", + "lanes": "40,41", + "description": "Servers17:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "Servers18:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "11", + "lanes": "44,45,46,47", + "description": "Servers19:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet48": { + "index": "12", + "lanes": "48,49", + "description": "Servers20:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "Servers21:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "13", + "lanes": "52,53", + "description": "Servers22:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "Servers23:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "14", + "lanes": "56,57", + "description": "etp15a", + "mtu": "9100", + "alias": "etp15a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "etp15b", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "15", + "lanes": "60,61,62,63", + "description": "etp16", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet64": { + "index": "16", + "lanes": "64,65", + "description": "ARISTA01T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet66": { + "index": "16", + "lanes": "66,67", + "description": "ARISTA02T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA03T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA04T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "18", + "lanes": "72,73", + "description": "etp19a", + "mtu": "9100", + "alias": "etp19a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "20", + "lanes": "80,81", + "description": "etp21a", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "20", + "lanes": "82,83", + "description": "etp21b", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "22", + "lanes": "88,89", + "description": "etp23a", + "mtu": "9100", + "alias": "etp23a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "23", + "lanes": "92,93,94,95", + "description": "etp24", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet96": { + "index": "24", + "lanes": "96,97,98,99", + "description": "etp25", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "25", + "lanes": "100,101,102,103", + "description": "etp26", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "26", + "lanes": "104,105", + "description": "etp27a", + "mtu": "9100", + "alias": "etp27a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "27", + "lanes": "108,109,110,111", + "description": "etp28", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet112": { + "index": "28", + "lanes": "112,113,114,115", + "description": "etp29", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "29", + "lanes": "116,117,118,119", + "description": "etp30", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "30", + "lanes": "120,121", + "description": "etp31a", + "mtu": "9100", + "alias": "etp31a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "31", + "lanes": "124,125,126,127", + "description": "etp32", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "32", + "lanes": "128,129,130,131", + "description": "etp33", + "mtu": "9100", + "alias": "etp33", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "34", + "lanes": "136,137", + "description": "etp35a", + "mtu": "9100", + "alias": "etp35a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "36", + "lanes": "144,145,146,147", + "description": "etp37", + "mtu": "9100", + "alias": "etp37", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "38", + "lanes": "152,153", + "description": "etp39a", + "mtu": "9100", + "alias": "etp39a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "40", + "lanes": "160,161", + "description": "etp41a", + "mtu": "9100", + "alias": "etp41a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "42", + "lanes": "168,169", + "description": "etp43a", + "mtu": "9100", + "alias": "etp43a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "44", + "lanes": "176,177", + "description": "etp45a", + "mtu": "9100", + "alias": "etp45a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "46", + "lanes": "184,185", + "description": "etp47a", + "mtu": "9100", + "alias": "etp47a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "48", + "lanes": "192,193", + "description": "etp49a", + "mtu": "9100", + "alias": "etp49a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "50", + "lanes": "200,201", + "description": "etp51a", + "mtu": "9100", + "alias": "etp51a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "52", + "lanes": "208,209", + "description": "etp53a", + "mtu": "9100", + "alias": "etp53a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "54", + "lanes": "216,217", + "description": "etp55a", + "mtu": "9100", + "alias": "etp55a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "56", + "lanes": "224,225", + "description": "etp57a", + "mtu": "9100", + "alias": "etp57a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "58", + "lanes": "232,233", + "description": "etp59a", + "mtu": "9100", + "alias": "etp59a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "60", + "lanes": "240,241", + "description": "etp61a", + "mtu": "9100", + "alias": "etp61a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "62", + "lanes": "248,249", + "description": "etp63a", + "mtu": "9100", + "alias": "etp63a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_0" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn3800-d28c50-t1-version_1_0_5.json b/tests/db_migrator_input/config_db/mellanox-sn3800-d28c50-t1-version_1_0_5.json new file mode 100644 index 0000000000..7a8ae9c716 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn3800-d28c50-t1-version_1_0_5.json @@ -0,0 +1,1826 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet2|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet6|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet10|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet18|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet22|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet26|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet34|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet38|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet38|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet42|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet42|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet50|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet54|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet58|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet70|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "22380544" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "4775936", + "type": "ingress", + "mode": "dynamic", + "size": "22380544" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "26624", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "31744", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "30720", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "44032", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "55296", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "36864", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "63488", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "48128", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "102400", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet2|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet2|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet6|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet10|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet18|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet22|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet26|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet34|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet38|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet42|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet50|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet54|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet58|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet58|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet58|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet70|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet54": "40m", + "Ethernet248": "5m", + "Ethernet246": "5m", + "Ethernet244": "5m", + "Ethernet240": "5m", + "Ethernet124": "5m", + "Ethernet122": "5m", + "Ethernet120": "5m", + "Ethernet128": "5m", + "Ethernet76": "5m", + "Ethernet74": "5m", + "Ethernet72": "5m", + "Ethernet70": "40m", + "Ethernet136": "5m", + "Ethernet132": "5m", + "Ethernet232": "5m", + "Ethernet230": "5m", + "Ethernet138": "5m", + "Ethernet236": "5m", + "Ethernet64": "40m", + "Ethernet66": "40m", + "Ethernet60": "40m", + "Ethernet68": "40m", + "Ethernet180": "5m", + "Ethernet182": "5m", + "Ethernet184": "5m", + "Ethernet186": "5m", + "Ethernet188": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet106": "5m", + "Ethernet58": "40m", + "Ethernet50": "40m", + "Ethernet52": "40m", + "Ethernet224": "5m", + "Ethernet56": "40m", + "Ethernet196": "5m", + "Ethernet192": "5m", + "Ethernet198": "5m", + "Ethernet116": "5m", + "Ethernet112": "5m", + "Ethernet48": "40m", + "Ethernet214": "5m", + "Ethernet216": "5m", + "Ethernet42": "40m", + "Ethernet40": "40m", + "Ethernet8": "300m", + "Ethernet2": "300m", + "Ethernet0": "300m", + "Ethernet6": "300m", + "Ethernet4": "300m", + "Ethernet200": "5m", + "Ethernet168": "5m", + "Ethernet204": "5m", + "Ethernet162": "5m", + "Ethernet208": "5m", + "Ethernet160": "5m", + "Ethernet166": "5m", + "Ethernet164": "5m", + "Ethernet38": "40m", + "Ethernet32": "300m", + "Ethernet36": "40m", + "Ethernet34": "300m", + "Ethernet178": "5m", + "Ethernet170": "5m", + "Ethernet172": "5m", + "Ethernet176": "5m", + "Ethernet28": "300m", + "Ethernet20": "300m", + "Ethernet22": "300m", + "Ethernet24": "300m", + "Ethernet26": "300m", + "Ethernet44": "40m", + "Ethernet212": "5m", + "Ethernet96": "5m", + "Ethernet90": "5m", + "Ethernet148": "5m", + "Ethernet92": "5m", + "Ethernet144": "5m", + "Ethernet140": "5m", + "Ethernet18": "300m", + "Ethernet16": "300m", + "Ethernet10": "300m", + "Ethernet12": "300m", + "Ethernet228": "5m", + "Ethernet88": "5m", + "Ethernet82": "5m", + "Ethernet80": "5m", + "Ethernet86": "5m", + "Ethernet84": "5m", + "Ethernet152": "5m", + "Ethernet156": "5m", + "Ethernet154": "5m", + "Ethernet220": "5m", + "Ethernet252": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN3800-D28C50", + "default_bgp_status": "up", + "docker_routing_config_mode": "separated", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3800-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "cloudtype": "None", + "type": "LeafRouter", + "deployment_id": "1" + }, + "PORT|Ethernet0": { + "index": "0", + "lanes": "0,1", + "description": "ARISTA01T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "ARISTA01T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "1", + "lanes": "4,5", + "description": "ARISTA03T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "ARISTA03T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2b", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9", + "description": "ARISTA05T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "ARISTA05T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "3", + "lanes": "12,13,14,15", + "description": "ARISTA07T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet16": { + "index": "4", + "lanes": "16,17", + "description": "ARISTA07T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "ARISTA09T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "5", + "lanes": "20,21", + "description": "ARISTA09T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "ARISTA11T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "6", + "lanes": "24,25", + "description": "ARISTA11T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "ARISTA13T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "7", + "lanes": "28,29,30,31", + "description": "ARISTA13T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet32": { + "index": "8", + "lanes": "32,33", + "description": "ARISTA15T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "ARISTA15T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "9", + "lanes": "36,37", + "description": "ARISTA01T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "ARISTA02T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "10", + "lanes": "40,41", + "description": "ARISTA03T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11a", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "ARISTA04T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "11", + "lanes": "44,45,46,47", + "description": "ARISTA05T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet48": { + "index": "12", + "lanes": "48,49", + "description": "ARISTA06T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "ARISTA07T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "13", + "lanes": "52,53", + "description": "ARISTA08T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "ARISTA09T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "14", + "lanes": "56,57", + "description": "ARISTA10T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "15", + "lanes": "60,61,62,63", + "description": "ARISTA12T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet64": { + "index": "16", + "lanes": "64,65", + "description": "ARISTA13T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet66": { + "index": "16", + "lanes": "66,67", + "description": "ARISTA14T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA16T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "18", + "lanes": "72,73", + "description": "etp19a", + "mtu": "9100", + "alias": "etp19a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "20", + "lanes": "80,81", + "description": "etp21a", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "20", + "lanes": "82,83", + "description": "etp21b", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "22", + "lanes": "88,89", + "description": "etp23a", + "mtu": "9100", + "alias": "etp23a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "23", + "lanes": "92,93,94,95", + "description": "etp24", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet96": { + "index": "24", + "lanes": "96,97,98,99", + "description": "etp25", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "25", + "lanes": "100,101,102,103", + "description": "etp26", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "26", + "lanes": "104,105", + "description": "etp27a", + "mtu": "9100", + "alias": "etp27a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "27", + "lanes": "108,109,110,111", + "description": "etp28", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet112": { + "index": "28", + "lanes": "112,113,114,115", + "description": "etp29", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "29", + "lanes": "116,117,118,119", + "description": "etp30", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "30", + "lanes": "120,121", + "description": "etp31a", + "mtu": "9100", + "alias": "etp31a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "31", + "lanes": "124,125,126,127", + "description": "etp32", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "32", + "lanes": "128,129,130,131", + "description": "etp33", + "mtu": "9100", + "alias": "etp33", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "34", + "lanes": "136,137", + "description": "etp35a", + "mtu": "9100", + "alias": "etp35a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "36", + "lanes": "144,145,146,147", + "description": "etp37", + "mtu": "9100", + "alias": "etp37", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "38", + "lanes": "152,153", + "description": "etp39a", + "mtu": "9100", + "alias": "etp39a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "40", + "lanes": "160,161", + "description": "etp41a", + "mtu": "9100", + "alias": "etp41a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "42", + "lanes": "168,169", + "description": "etp43a", + "mtu": "9100", + "alias": "etp43a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "44", + "lanes": "176,177", + "description": "etp45a", + "mtu": "9100", + "alias": "etp45a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "46", + "lanes": "184,185", + "description": "etp47a", + "mtu": "9100", + "alias": "etp47a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "48", + "lanes": "192,193", + "description": "etp49a", + "mtu": "9100", + "alias": "etp49a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "50", + "lanes": "200,201", + "description": "etp51a", + "mtu": "9100", + "alias": "etp51a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "52", + "lanes": "208,209", + "description": "etp53a", + "mtu": "9100", + "alias": "etp53a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "54", + "lanes": "216,217", + "description": "etp55a", + "mtu": "9100", + "alias": "etp55a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "56", + "lanes": "224,225", + "description": "etp57a", + "mtu": "9100", + "alias": "etp57a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "58", + "lanes": "232,233", + "description": "etp59a", + "mtu": "9100", + "alias": "etp59a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "60", + "lanes": "240,241", + "description": "etp61a", + "mtu": "9100", + "alias": "etp61a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "62", + "lanes": "248,249", + "description": "etp63a", + "mtu": "9100", + "alias": "etp63a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_5" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn3800-d28c50-t1-version_2_0_0.json b/tests/db_migrator_input/config_db/mellanox-sn3800-d28c50-t1-version_2_0_0.json new file mode 100644 index 0000000000..76b2710014 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn3800-d28c50-t1-version_2_0_0.json @@ -0,0 +1,1827 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet2|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet6|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet10|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet18|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet22|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet26|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet34|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet38|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet38|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet42|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet42|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet50|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet54|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet58|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet70|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "22380544" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "4775936", + "type": "ingress", + "mode": "dynamic", + "size": "22380544" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "26624", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "31744", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "30720", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "44032", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "55296", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "36864", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "63488", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "48128", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "102400", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet2|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet2|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet6|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet10|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet18|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet22|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet26|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet34|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet38|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet42|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet50|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet54|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet58|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet58|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet58|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet70|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet54": "40m", + "Ethernet248": "5m", + "Ethernet246": "5m", + "Ethernet244": "5m", + "Ethernet240": "5m", + "Ethernet124": "5m", + "Ethernet122": "5m", + "Ethernet120": "5m", + "Ethernet128": "5m", + "Ethernet76": "5m", + "Ethernet74": "5m", + "Ethernet72": "5m", + "Ethernet70": "40m", + "Ethernet136": "5m", + "Ethernet132": "5m", + "Ethernet232": "5m", + "Ethernet230": "5m", + "Ethernet138": "5m", + "Ethernet236": "5m", + "Ethernet64": "40m", + "Ethernet66": "40m", + "Ethernet60": "40m", + "Ethernet68": "40m", + "Ethernet180": "5m", + "Ethernet182": "5m", + "Ethernet184": "5m", + "Ethernet186": "5m", + "Ethernet188": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet106": "5m", + "Ethernet58": "40m", + "Ethernet50": "40m", + "Ethernet52": "40m", + "Ethernet224": "5m", + "Ethernet56": "40m", + "Ethernet196": "5m", + "Ethernet192": "5m", + "Ethernet198": "5m", + "Ethernet116": "5m", + "Ethernet112": "5m", + "Ethernet48": "40m", + "Ethernet214": "5m", + "Ethernet216": "5m", + "Ethernet42": "40m", + "Ethernet40": "40m", + "Ethernet8": "300m", + "Ethernet2": "300m", + "Ethernet0": "300m", + "Ethernet6": "300m", + "Ethernet4": "300m", + "Ethernet200": "5m", + "Ethernet168": "5m", + "Ethernet204": "5m", + "Ethernet162": "5m", + "Ethernet208": "5m", + "Ethernet160": "5m", + "Ethernet166": "5m", + "Ethernet164": "5m", + "Ethernet38": "40m", + "Ethernet32": "300m", + "Ethernet36": "40m", + "Ethernet34": "300m", + "Ethernet178": "5m", + "Ethernet170": "5m", + "Ethernet172": "5m", + "Ethernet176": "5m", + "Ethernet28": "300m", + "Ethernet20": "300m", + "Ethernet22": "300m", + "Ethernet24": "300m", + "Ethernet26": "300m", + "Ethernet44": "40m", + "Ethernet212": "5m", + "Ethernet96": "5m", + "Ethernet90": "5m", + "Ethernet148": "5m", + "Ethernet92": "5m", + "Ethernet144": "5m", + "Ethernet140": "5m", + "Ethernet18": "300m", + "Ethernet16": "300m", + "Ethernet10": "300m", + "Ethernet12": "300m", + "Ethernet228": "5m", + "Ethernet88": "5m", + "Ethernet82": "5m", + "Ethernet80": "5m", + "Ethernet86": "5m", + "Ethernet84": "5m", + "Ethernet152": "5m", + "Ethernet156": "5m", + "Ethernet154": "5m", + "Ethernet220": "5m", + "Ethernet252": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN3800-D28C50", + "default_bgp_status": "up", + "docker_routing_config_mode": "separated", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3800-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "traditional", + "cloudtype": "None", + "type": "LeafRouter", + "deployment_id": "1" + }, + "PORT|Ethernet0": { + "index": "0", + "lanes": "0,1", + "description": "ARISTA01T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "ARISTA01T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "1", + "lanes": "4,5", + "description": "ARISTA03T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "ARISTA03T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2b", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9", + "description": "ARISTA05T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "ARISTA05T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "3", + "lanes": "12,13,14,15", + "description": "ARISTA07T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet16": { + "index": "4", + "lanes": "16,17", + "description": "ARISTA07T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "ARISTA09T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "5", + "lanes": "20,21", + "description": "ARISTA09T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "ARISTA11T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "6", + "lanes": "24,25", + "description": "ARISTA11T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "ARISTA13T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "7", + "lanes": "28,29,30,31", + "description": "ARISTA13T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet32": { + "index": "8", + "lanes": "32,33", + "description": "ARISTA15T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "ARISTA15T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "9", + "lanes": "36,37", + "description": "ARISTA01T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "ARISTA02T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "10", + "lanes": "40,41", + "description": "ARISTA03T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11a", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "ARISTA04T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "11", + "lanes": "44,45,46,47", + "description": "ARISTA05T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet48": { + "index": "12", + "lanes": "48,49", + "description": "ARISTA06T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "ARISTA07T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "13", + "lanes": "52,53", + "description": "ARISTA08T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "ARISTA09T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "14", + "lanes": "56,57", + "description": "ARISTA10T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "15", + "lanes": "60,61,62,63", + "description": "ARISTA12T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet64": { + "index": "16", + "lanes": "64,65", + "description": "ARISTA13T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet66": { + "index": "16", + "lanes": "66,67", + "description": "ARISTA14T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA16T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "18", + "lanes": "72,73", + "description": "etp19a", + "mtu": "9100", + "alias": "etp19a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "20", + "lanes": "80,81", + "description": "etp21a", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "20", + "lanes": "82,83", + "description": "etp21b", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "22", + "lanes": "88,89", + "description": "etp23a", + "mtu": "9100", + "alias": "etp23a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "23", + "lanes": "92,93,94,95", + "description": "etp24", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet96": { + "index": "24", + "lanes": "96,97,98,99", + "description": "etp25", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "25", + "lanes": "100,101,102,103", + "description": "etp26", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "26", + "lanes": "104,105", + "description": "etp27a", + "mtu": "9100", + "alias": "etp27a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "27", + "lanes": "108,109,110,111", + "description": "etp28", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet112": { + "index": "28", + "lanes": "112,113,114,115", + "description": "etp29", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "29", + "lanes": "116,117,118,119", + "description": "etp30", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "30", + "lanes": "120,121", + "description": "etp31a", + "mtu": "9100", + "alias": "etp31a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "31", + "lanes": "124,125,126,127", + "description": "etp32", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "32", + "lanes": "128,129,130,131", + "description": "etp33", + "mtu": "9100", + "alias": "etp33", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "34", + "lanes": "136,137", + "description": "etp35a", + "mtu": "9100", + "alias": "etp35a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "36", + "lanes": "144,145,146,147", + "description": "etp37", + "mtu": "9100", + "alias": "etp37", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "38", + "lanes": "152,153", + "description": "etp39a", + "mtu": "9100", + "alias": "etp39a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "40", + "lanes": "160,161", + "description": "etp41a", + "mtu": "9100", + "alias": "etp41a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "42", + "lanes": "168,169", + "description": "etp43a", + "mtu": "9100", + "alias": "etp43a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "44", + "lanes": "176,177", + "description": "etp45a", + "mtu": "9100", + "alias": "etp45a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "46", + "lanes": "184,185", + "description": "etp47a", + "mtu": "9100", + "alias": "etp47a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "48", + "lanes": "192,193", + "description": "etp49a", + "mtu": "9100", + "alias": "etp49a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "50", + "lanes": "200,201", + "description": "etp51a", + "mtu": "9100", + "alias": "etp51a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "52", + "lanes": "208,209", + "description": "etp53a", + "mtu": "9100", + "alias": "etp53a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "54", + "lanes": "216,217", + "description": "etp55a", + "mtu": "9100", + "alias": "etp55a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "56", + "lanes": "224,225", + "description": "etp57a", + "mtu": "9100", + "alias": "etp57a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "58", + "lanes": "232,233", + "description": "etp59a", + "mtu": "9100", + "alias": "etp59a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "60", + "lanes": "240,241", + "description": "etp61a", + "mtu": "9100", + "alias": "etp61a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "62", + "lanes": "248,249", + "description": "etp63a", + "mtu": "9100", + "alias": "etp63a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_0" + } +} diff --git a/tests/db_migrator_input/config_db/non-default-config-expected.json b/tests/db_migrator_input/config_db/non-default-config-expected.json new file mode 100644 index 0000000000..a31a50b45e --- /dev/null +++ b/tests/db_migrator_input/config_db/non-default-config-expected.json @@ -0,0 +1,1120 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13000000" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "7340032" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "4194304" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "7340032" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "4096" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "0", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "41984" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "18432", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "36864" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "35840", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "54272" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet76": "5m", + "Ethernet72": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet28": "5m", + "Ethernet88": "5m", + "Ethernet24": "5m", + "Ethernet116": "40m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet84": "5m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet64": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet68": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN2700", + "default_bgp_status": "up", + "docker_routing_config_mode": "unified", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "traditional", + "deployment_id": "1", + "type": "ToRRouter" + }, + "PORT|Ethernet0": { + "index": "1", + "lanes": "0,1,2,3", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1", + "admin_status": "up", + "speed": "10000", + "description": "etp1" + }, + "PORT|Ethernet4": { + "index": "2", + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "Servers0:eth0" + }, + "PORT|Ethernet8": { + "index": "3", + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "Servers1:eth0" + }, + "PORT|Ethernet12": { + "index": "4", + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "Servers2:eth0" + }, + "PORT|Ethernet16": { + "index": "5", + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "Servers3:eth0" + }, + "PORT|Ethernet20": { + "index": "6", + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "Servers4:eth0" + }, + "PORT|Ethernet24": { + "index": "7", + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "Servers5:eth0" + }, + "PORT|Ethernet28": { + "index": "8", + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "Servers6:eth0" + }, + "PORT|Ethernet32": { + "index": "9", + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "Servers7:eth0" + }, + "PORT|Ethernet36": { + "index": "10", + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "Servers8:eth0" + }, + "PORT|Ethernet40": { + "index": "11", + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "Servers9:eth0" + }, + "PORT|Ethernet44": { + "index": "12", + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "Servers10:eth0" + }, + "PORT|Ethernet48": { + "index": "13", + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "Servers11:eth0" + }, + "PORT|Ethernet52": { + "index": "14", + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "Servers12:eth0" + }, + "PORT|Ethernet56": { + "index": "15", + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "Servers13:eth0" + }, + "PORT|Ethernet60": { + "index": "16", + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "Servers14:eth0" + }, + "PORT|Ethernet64": { + "index": "17", + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "100000", + "description": "Servers15:eth0" + }, + "PORT|Ethernet68": { + "index": "18", + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "100000", + "description": "Servers16:eth0" + }, + "PORT|Ethernet72": { + "index": "19", + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "100000", + "description": "Servers17:eth0" + }, + "PORT|Ethernet76": { + "index": "20", + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "100000", + "description": "Servers18:eth0" + }, + "PORT|Ethernet80": { + "index": "21", + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "Servers19:eth0" + }, + "PORT|Ethernet84": { + "index": "22", + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "Servers20:eth0" + }, + "PORT|Ethernet88": { + "index": "23", + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "Servers21:eth0" + }, + "PORT|Ethernet92": { + "index": "24", + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "Servers22:eth0" + }, + "PORT|Ethernet96": { + "index": "25", + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "Servers23:eth0" + }, + "PORT|Ethernet100": { + "index": "26", + "lanes": "100,101,102,103", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp26", + "admin_status": "up", + "speed": "100000", + "description": "etp26" + }, + "PORT|Ethernet104": { + "index": "27", + "lanes": "104,105,106,107", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp27", + "admin_status": "up", + "speed": "100000", + "description": "etp27" + }, + "PORT|Ethernet108": { + "index": "28", + "lanes": "108,109,110,111", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp28", + "admin_status": "up", + "speed": "100000", + "description": "etp28" + }, + "PORT|Ethernet112": { + "index": "29", + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA01T1:Ethernet1" + }, + "PORT|Ethernet116": { + "index": "30", + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA02T1:Ethernet1" + }, + "PORT|Ethernet120": { + "index": "31", + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "index": "32", + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_0" + } +} diff --git a/tests/db_migrator_input/config_db/non-default-config-input.json b/tests/db_migrator_input/config_db/non-default-config-input.json new file mode 100644 index 0000000000..8862a9247e --- /dev/null +++ b/tests/db_migrator_input/config_db/non-default-config-input.json @@ -0,0 +1,1059 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13000000" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "7340032" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "4194304" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "7340032" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "4096" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "0", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "16384", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "34816" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "41984" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "18432", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "36864" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "18432", + "dynamic_th": "0", + "xoff": "35840", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "54272" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet76": "5m", + "Ethernet72": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet28": "5m", + "Ethernet88": "5m", + "Ethernet24": "5m", + "Ethernet116": "40m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet84": "5m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet64": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet68": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN2700", + "default_bgp_status": "up", + "docker_routing_config_mode": "unified", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "type": "ToRRouter" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "10000", + "description": "etp1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "Servers0:eth0" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "Servers1:eth0" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "Servers2:eth0" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "Servers3:eth0" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "Servers4:eth0" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "Servers5:eth0" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "Servers6:eth0" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "Servers7:eth0" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "Servers8:eth0" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "Servers9:eth0" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "Servers10:eth0" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "Servers11:eth0" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "Servers12:eth0" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "Servers13:eth0" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "Servers14:eth0" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "100000", + "description": "Servers15:eth0" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "100000", + "description": "Servers16:eth0" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "100000", + "description": "Servers17:eth0" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "100000", + "description": "Servers18:eth0" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "Servers19:eth0" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "Servers20:eth0" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "Servers21:eth0" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "Servers22:eth0" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "Servers23:eth0" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "description": "etp26" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "description": "etp27" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "description": "etp28" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA01T1:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA02T1:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_1" + } +} diff --git a/tests/db_migrator_input/config_db/non-default-lossless-profile-in-pg-expected.json b/tests/db_migrator_input/config_db/non-default-lossless-profile-in-pg-expected.json new file mode 100644 index 0000000000..21532e1900 --- /dev/null +++ b/tests/db_migrator_input/config_db/non-default-lossless-profile-in-pg-expected.json @@ -0,0 +1,2013 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_200000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet128|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet128|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet136|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet136|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet144|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet144|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet152|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet152|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet160|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet160|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet168|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet168|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet176|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet176|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet184|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet184|3-4": { + "profile": "[BUFFER_PROFILE|test_profile]" + }, + "BUFFER_PG|Ethernet192|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet192|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet200|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet208|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet216|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet224|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet224|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_40m_profile]" + }, + "BUFFER_PG|Ethernet232|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet232|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_40m_profile]" + }, + "BUFFER_PG|Ethernet240|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet240|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet248|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet248|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "60817392" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "26451968" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "26451968" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "26451968" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet128": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet136": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet144": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet152": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet160": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet168": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet176": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet184": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet192": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet224": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet232": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet240": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet248": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet128": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet136": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet144": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet152": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet160": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet168": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet176": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet184": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet192": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet224": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet232": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet240": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet248": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "32768", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "52224" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "32768", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "52224" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "44032", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "63488" + }, + "BUFFER_PROFILE|pg_lossless_200000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "35840", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "55296" + }, + "BUFFER_PROFILE|pg_lossless_400000_5m_profile": { + "xon": "37888", + "dynamic_th": "0", + "xoff": "38912", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "86016" + }, + "BUFFER_PROFILE|pg_lossless_400000_40m_profile": { + "xon": "37888", + "dynamic_th": "0", + "xoff": "77824", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "124928" + }, + "BUFFER_PROFILE|test_profile": { + "xon": "37888", + "dynamic_th": "0", + "xoff": "77824", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "124928" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet128|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet128|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet128|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet136|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet136|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet136|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet144|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet144|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet144|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet152|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet152|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet152|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet160|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet160|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet160|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet168|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet168|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet168|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet176|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet176|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet176|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet184|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet184|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet184|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet192|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet192|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet192|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet224|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet224|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet224|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet232|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet232|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet232|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet240|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet240|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet240|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet248|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet248|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet248|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet184": "5m", + "Ethernet0": "5m", + "Ethernet248": "40m", + "Ethernet104": "5m", + "Ethernet240": "40m", + "Ethernet200": "5m", + "Ethernet168": "5m", + "Ethernet120": "5m", + "Ethernet144": "5m", + "Ethernet208": "5m", + "Ethernet160": "5m", + "Ethernet224": "40m", + "Ethernet56": "5m", + "Ethernet128": "5m", + "Ethernet72": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet192": "5m", + "Ethernet96": "5m", + "Ethernet88": "5m", + "Ethernet80": "5m", + "Ethernet112": "5m", + "Ethernet152": "5m", + "Ethernet136": "5m", + "Ethernet48": "5m", + "Ethernet232": "40m", + "Ethernet216": "5m", + "Ethernet176": "5m", + "Ethernet40": "5m", + "Ethernet64": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN4700", + "default_bgp_status": "up", + "type": "ToRRouter", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn4700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "separated", + "cloudtype": "None", + "buffer_model": "traditional" + }, + "PORT|Ethernet0": { + "index": "1", + "lanes": "0,1,2,3,4,5,6,7", + "description": "etp1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "10000", + "fec": "rs" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "ARISTA01T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1b", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "2", + "lanes": "4,5,6,7", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2", + "pfc_asym": "off", + "speed": "25000", + "fec": "rs" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "ARISTA03T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2b", + "admin_status": "up", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9,10,11,12,13,14,15", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2", + "pfc_asym": "off", + "speed": "25000", + "fec": "rs" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "ARISTA05T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "4", + "lanes": "12,13,14,15", + "description": "Servers2:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet16": { + "index": "3", + "lanes": "16,17,18,19,20,21,22,23", + "description": "Servers1:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3", + "pfc_asym": "off", + "speed": "50000", + "fec": "rs" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "ARISTA09T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "6", + "lanes": "20,21,22,23", + "description": "Servers4:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6", + "pfc_asym": "off", + "speed": "200000", + "fec": "rs" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "ARISTA11T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "4", + "lanes": "24,25,26,27,28,29,30,31", + "description": "Servers2:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "ARISTA13T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "8", + "lanes": "28,29,30,31", + "description": "Servers6:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet32": { + "index": "5", + "lanes": "32,33,34,35,36,37,38,39", + "description": "Servers3:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "ARISTA15T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "10", + "lanes": "36,37,38,39", + "description": "Servers8:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "ARISTA02T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10b", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "6", + "lanes": "40,41,42,43,44,45,46,47", + "description": "Servers4:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6", + "pfc_asym": "off", + "speed": "200000", + "fec": "rs" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "ARISTA04T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "12", + "lanes": "44,45,46,47", + "description": "Servers10:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet48": { + "index": "7", + "lanes": "48,49,50,51,52,53,54,55", + "description": "Servers5:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "ARISTA07T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "14", + "lanes": "52,53,54,55", + "description": "Servers12:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "ARISTA09T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "8", + "lanes": "56,57,58,59,60,61,62,63", + "description": "Servers6:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "16", + "lanes": "60,61,62,63", + "description": "Servers14:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet64": { + "index": "9", + "lanes": "64,65,66,67,68,69,70,71", + "description": "Servers7:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet65": { + "index": "17", + "lanes": "65", + "description": "Servers16:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet66": { + "index": "17", + "lanes": "66", + "description": "Servers17:eth0", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17c", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet67": { + "index": "17", + "lanes": "67", + "description": "Servers18:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17d", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "10", + "lanes": "72,73,74,75,76,77,78,79", + "description": "Servers8:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "admin_status": "up", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "11", + "lanes": "80,81,82,83,84,85,86,87", + "description": "Servers9:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "21", + "lanes": "82,83", + "description": "Servers20:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "admin_status": "up", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "12", + "lanes": "88,89,90,91,92,93,94,95", + "description": "Servers10:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "24", + "lanes": "92,93,94,95", + "description": "Servers22:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet96": { + "index": "13", + "lanes": "96,97,98,99,100,101,102,103", + "description": "Servers11:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "26", + "lanes": "100,101,102,103", + "description": "etp26", + "admin_status": "up", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "14", + "lanes": "104,105,106,107,108,109,110,111", + "description": "Servers12:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "28", + "lanes": "108,109,110,111", + "description": "etp28", + "admin_status": "up", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet112": { + "index": "15", + "lanes": "112,113,114,115,116,117,118,119", + "description": "Servers13:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "30", + "lanes": "116,117,118,119", + "description": "ARISTA02T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "16", + "lanes": "120,121,122,123,124,125,126,127", + "description": "Servers14:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "32", + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "17", + "lanes": "128,129,130,131,132,133,134,135", + "description": "Servers15:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "18", + "lanes": "136,137,138,139,140,141,142,143", + "description": "Servers16:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "19", + "lanes": "144,145,146,147,148,149,150,151", + "description": "Servers17:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp19", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "20", + "lanes": "152,153,154,155,156,157,158,159", + "description": "Servers18:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "21", + "lanes": "160,161,162,163,164,165,166,167", + "description": "Servers19:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "22", + "lanes": "168,169,170,171,172,173,174,175", + "description": "Servers20:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp22", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "23", + "lanes": "176,177,178,179,180,181,182,183", + "description": "Servers21:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp23", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "24", + "lanes": "184,185,186,187,188,189,190,191", + "description": "Servers22:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "25", + "lanes": "192,193,194,195,196,197,198,199", + "description": "Servers23:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "26", + "lanes": "200,201,202,203,204,205,206,207", + "description": "etp26", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "27", + "lanes": "208,209,210,211,212,213,214,215", + "description": "etp27", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "28", + "lanes": "216,217,218,219,220,221,222,223", + "description": "etp28", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "29", + "lanes": "224,225,226,227,228,229,230,231", + "description": "ARISTA01T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "30", + "lanes": "232,233,234,235,236,237,238,239", + "description": "ARISTA02T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "31", + "lanes": "240,241,242,243,244,245,246,247", + "description": "ARISTA03T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp31", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "32", + "lanes": "248,249,250,251,252,253,254,255", + "description": "ARISTA04T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_0" + } +} diff --git a/tests/db_migrator_input/config_db/non-default-lossless-profile-in-pg-input.json b/tests/db_migrator_input/config_db/non-default-lossless-profile-in-pg-input.json new file mode 100644 index 0000000000..3e6e7ae721 --- /dev/null +++ b/tests/db_migrator_input/config_db/non-default-lossless-profile-in-pg-input.json @@ -0,0 +1,2012 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_200000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet128|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet128|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet136|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet136|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet144|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet144|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet152|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet152|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet160|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet160|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet168|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet168|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet176|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet176|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet184|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet184|3-4": { + "profile": "[BUFFER_PROFILE|test_profile]" + }, + "BUFFER_PG|Ethernet192|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet192|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet200|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet208|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet216|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet224|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet224|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_40m_profile]" + }, + "BUFFER_PG|Ethernet232|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet232|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_40m_profile]" + }, + "BUFFER_PG|Ethernet240|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet240|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet248|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet248|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "60817392" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "26451968" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "26451968" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "26451968" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet128": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet136": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet144": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet152": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet160": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet168": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet176": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet184": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet192": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet224": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet232": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet240": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet248": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet128": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet136": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet144": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet152": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet160": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet168": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet176": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet184": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet192": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet224": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet232": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet240": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet248": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "32768", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "52224" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "32768", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "52224" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "44032", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "63488" + }, + "BUFFER_PROFILE|pg_lossless_200000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "35840", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "55296" + }, + "BUFFER_PROFILE|pg_lossless_400000_5m_profile": { + "xon": "37888", + "dynamic_th": "0", + "xoff": "38912", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "86016" + }, + "BUFFER_PROFILE|pg_lossless_400000_40m_profile": { + "xon": "37888", + "dynamic_th": "0", + "xoff": "77824", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "124928" + }, + "BUFFER_PROFILE|test_profile": { + "xon": "37888", + "dynamic_th": "0", + "xoff": "77824", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "124928" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet128|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet128|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet128|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet136|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet136|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet136|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet144|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet144|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet144|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet152|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet152|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet152|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet160|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet160|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet160|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet168|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet168|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet168|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet176|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet176|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet176|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet184|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet184|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet184|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet192|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet192|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet192|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet224|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet224|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet224|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet232|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet232|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet232|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet240|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet240|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet240|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet248|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet248|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet248|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet184": "5m", + "Ethernet0": "5m", + "Ethernet248": "40m", + "Ethernet104": "5m", + "Ethernet240": "40m", + "Ethernet200": "5m", + "Ethernet168": "5m", + "Ethernet120": "5m", + "Ethernet144": "5m", + "Ethernet208": "5m", + "Ethernet160": "5m", + "Ethernet224": "40m", + "Ethernet56": "5m", + "Ethernet128": "5m", + "Ethernet72": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet192": "5m", + "Ethernet96": "5m", + "Ethernet88": "5m", + "Ethernet80": "5m", + "Ethernet112": "5m", + "Ethernet152": "5m", + "Ethernet136": "5m", + "Ethernet48": "5m", + "Ethernet232": "40m", + "Ethernet216": "5m", + "Ethernet176": "5m", + "Ethernet40": "5m", + "Ethernet64": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN4700", + "default_bgp_status": "up", + "type": "ToRRouter", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn4700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "separated", + "cloudtype": "None" + }, + "PORT|Ethernet0": { + "index": "1", + "lanes": "0,1,2,3,4,5,6,7", + "description": "etp1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "10000", + "fec": "rs" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "ARISTA01T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1b", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "2", + "lanes": "4,5,6,7", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2", + "pfc_asym": "off", + "speed": "25000", + "fec": "rs" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "ARISTA03T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2b", + "admin_status": "up", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9,10,11,12,13,14,15", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2", + "pfc_asym": "off", + "speed": "25000", + "fec": "rs" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "ARISTA05T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "4", + "lanes": "12,13,14,15", + "description": "Servers2:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet16": { + "index": "3", + "lanes": "16,17,18,19,20,21,22,23", + "description": "Servers1:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3", + "pfc_asym": "off", + "speed": "50000", + "fec": "rs" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "ARISTA09T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "6", + "lanes": "20,21,22,23", + "description": "Servers4:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6", + "pfc_asym": "off", + "speed": "200000", + "fec": "rs" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "ARISTA11T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "4", + "lanes": "24,25,26,27,28,29,30,31", + "description": "Servers2:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "ARISTA13T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "8", + "lanes": "28,29,30,31", + "description": "Servers6:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet32": { + "index": "5", + "lanes": "32,33,34,35,36,37,38,39", + "description": "Servers3:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "ARISTA15T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "10", + "lanes": "36,37,38,39", + "description": "Servers8:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "ARISTA02T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10b", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "6", + "lanes": "40,41,42,43,44,45,46,47", + "description": "Servers4:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6", + "pfc_asym": "off", + "speed": "200000", + "fec": "rs" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "ARISTA04T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "12", + "lanes": "44,45,46,47", + "description": "Servers10:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet48": { + "index": "7", + "lanes": "48,49,50,51,52,53,54,55", + "description": "Servers5:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "ARISTA07T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "14", + "lanes": "52,53,54,55", + "description": "Servers12:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "ARISTA09T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "8", + "lanes": "56,57,58,59,60,61,62,63", + "description": "Servers6:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "16", + "lanes": "60,61,62,63", + "description": "Servers14:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet64": { + "index": "9", + "lanes": "64,65,66,67,68,69,70,71", + "description": "Servers7:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet65": { + "index": "17", + "lanes": "65", + "description": "Servers16:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet66": { + "index": "17", + "lanes": "66", + "description": "Servers17:eth0", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17c", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet67": { + "index": "17", + "lanes": "67", + "description": "Servers18:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17d", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "10", + "lanes": "72,73,74,75,76,77,78,79", + "description": "Servers8:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "admin_status": "up", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "11", + "lanes": "80,81,82,83,84,85,86,87", + "description": "Servers9:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "21", + "lanes": "82,83", + "description": "Servers20:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "admin_status": "up", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "12", + "lanes": "88,89,90,91,92,93,94,95", + "description": "Servers10:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "24", + "lanes": "92,93,94,95", + "description": "Servers22:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet96": { + "index": "13", + "lanes": "96,97,98,99,100,101,102,103", + "description": "Servers11:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "26", + "lanes": "100,101,102,103", + "description": "etp26", + "admin_status": "up", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "14", + "lanes": "104,105,106,107,108,109,110,111", + "description": "Servers12:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "28", + "lanes": "108,109,110,111", + "description": "etp28", + "admin_status": "up", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet112": { + "index": "15", + "lanes": "112,113,114,115,116,117,118,119", + "description": "Servers13:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "30", + "lanes": "116,117,118,119", + "description": "ARISTA02T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "16", + "lanes": "120,121,122,123,124,125,126,127", + "description": "Servers14:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "32", + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "17", + "lanes": "128,129,130,131,132,133,134,135", + "description": "Servers15:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "18", + "lanes": "136,137,138,139,140,141,142,143", + "description": "Servers16:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "19", + "lanes": "144,145,146,147,148,149,150,151", + "description": "Servers17:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp19", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "20", + "lanes": "152,153,154,155,156,157,158,159", + "description": "Servers18:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "21", + "lanes": "160,161,162,163,164,165,166,167", + "description": "Servers19:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "22", + "lanes": "168,169,170,171,172,173,174,175", + "description": "Servers20:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp22", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "23", + "lanes": "176,177,178,179,180,181,182,183", + "description": "Servers21:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp23", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "24", + "lanes": "184,185,186,187,188,189,190,191", + "description": "Servers22:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "25", + "lanes": "192,193,194,195,196,197,198,199", + "description": "Servers23:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "26", + "lanes": "200,201,202,203,204,205,206,207", + "description": "etp26", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "27", + "lanes": "208,209,210,211,212,213,214,215", + "description": "etp27", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "28", + "lanes": "216,217,218,219,220,221,222,223", + "description": "etp28", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "29", + "lanes": "224,225,226,227,228,229,230,231", + "description": "ARISTA01T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "30", + "lanes": "232,233,234,235,236,237,238,239", + "description": "ARISTA02T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "31", + "lanes": "240,241,242,243,244,245,246,247", + "description": "ARISTA03T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp31", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "32", + "lanes": "248,249,250,251,252,253,254,255", + "description": "ARISTA04T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_5" + } +} diff --git a/tests/db_migrator_input/config_db/non-default-lossy-profile-in-pg-expected.json b/tests/db_migrator_input/config_db/non-default-lossy-profile-in-pg-expected.json new file mode 100644 index 0000000000..0b06f0541d --- /dev/null +++ b/tests/db_migrator_input/config_db/non-default-lossy-profile-in-pg-expected.json @@ -0,0 +1,2011 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_test_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_200000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet128|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet128|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet136|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet136|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet144|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet144|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet152|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet152|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet160|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet160|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet168|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet168|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet176|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet176|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet184|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet184|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet192|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet192|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet200|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet208|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet216|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet224|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet224|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_40m_profile]" + }, + "BUFFER_PG|Ethernet232|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet232|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_40m_profile]" + }, + "BUFFER_PG|Ethernet240|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet240|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet248|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet248|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "60817392" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "26451968" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "26451968" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "26451968" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet128": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet136": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet144": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet152": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet160": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet168": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet176": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet184": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet192": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet224": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet232": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet240": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet248": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet128": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet136": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet144": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet152": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet160": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet168": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet176": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet184": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet192": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet224": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet232": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet240": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet248": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_test_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "32768", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "52224" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "32768", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "52224" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "44032", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "63488" + }, + "BUFFER_PROFILE|pg_lossless_200000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "35840", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "55296" + }, + "BUFFER_PROFILE|pg_lossless_400000_5m_profile": { + "xon": "37888", + "dynamic_th": "0", + "xoff": "38912", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "86016" + }, + "BUFFER_PROFILE|pg_lossless_400000_40m_profile": { + "xon": "37888", + "dynamic_th": "0", + "xoff": "77824", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "124928" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet128|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet128|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet128|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet136|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet136|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet136|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet144|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet144|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet144|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet152|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet152|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet152|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet160|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet160|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet160|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet168|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet168|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet168|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet176|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet176|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet176|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet184|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet184|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet184|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet192|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet192|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet192|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet224|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet224|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet224|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet232|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet232|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet232|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet240|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet240|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet240|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet248|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet248|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet248|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet184": "5m", + "Ethernet0": "5m", + "Ethernet248": "40m", + "Ethernet104": "5m", + "Ethernet240": "40m", + "Ethernet200": "5m", + "Ethernet168": "5m", + "Ethernet120": "5m", + "Ethernet144": "5m", + "Ethernet208": "5m", + "Ethernet160": "5m", + "Ethernet224": "40m", + "Ethernet56": "5m", + "Ethernet128": "5m", + "Ethernet72": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet192": "5m", + "Ethernet96": "5m", + "Ethernet88": "5m", + "Ethernet80": "5m", + "Ethernet112": "5m", + "Ethernet152": "5m", + "Ethernet136": "5m", + "Ethernet48": "5m", + "Ethernet232": "40m", + "Ethernet216": "5m", + "Ethernet176": "5m", + "Ethernet40": "5m", + "Ethernet64": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN4700", + "default_bgp_status": "up", + "type": "ToRRouter", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn4700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "separated", + "cloudtype": "None", + "buffer_model": "traditional" + }, + "PORT|Ethernet0": { + "index": "1", + "lanes": "0,1,2,3,4,5,6,7", + "description": "etp1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "10000", + "fec": "rs" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "ARISTA01T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1b", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "2", + "lanes": "4,5,6,7", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2", + "pfc_asym": "off", + "speed": "25000", + "fec": "rs" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "ARISTA03T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2b", + "admin_status": "up", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9,10,11,12,13,14,15", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2", + "pfc_asym": "off", + "speed": "25000", + "fec": "rs" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "ARISTA05T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "4", + "lanes": "12,13,14,15", + "description": "Servers2:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet16": { + "index": "3", + "lanes": "16,17,18,19,20,21,22,23", + "description": "Servers1:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3", + "pfc_asym": "off", + "speed": "50000", + "fec": "rs" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "ARISTA09T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "6", + "lanes": "20,21,22,23", + "description": "Servers4:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6", + "pfc_asym": "off", + "speed": "200000", + "fec": "rs" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "ARISTA11T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "4", + "lanes": "24,25,26,27,28,29,30,31", + "description": "Servers2:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "ARISTA13T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "8", + "lanes": "28,29,30,31", + "description": "Servers6:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet32": { + "index": "5", + "lanes": "32,33,34,35,36,37,38,39", + "description": "Servers3:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "ARISTA15T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "10", + "lanes": "36,37,38,39", + "description": "Servers8:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "ARISTA02T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10b", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "6", + "lanes": "40,41,42,43,44,45,46,47", + "description": "Servers4:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6", + "pfc_asym": "off", + "speed": "200000", + "fec": "rs" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "ARISTA04T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "12", + "lanes": "44,45,46,47", + "description": "Servers10:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet48": { + "index": "7", + "lanes": "48,49,50,51,52,53,54,55", + "description": "Servers5:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "ARISTA07T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "14", + "lanes": "52,53,54,55", + "description": "Servers12:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "ARISTA09T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "8", + "lanes": "56,57,58,59,60,61,62,63", + "description": "Servers6:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "16", + "lanes": "60,61,62,63", + "description": "Servers14:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet64": { + "index": "9", + "lanes": "64,65,66,67,68,69,70,71", + "description": "Servers7:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet65": { + "index": "17", + "lanes": "65", + "description": "Servers16:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet66": { + "index": "17", + "lanes": "66", + "description": "Servers17:eth0", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17c", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet67": { + "index": "17", + "lanes": "67", + "description": "Servers18:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17d", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "10", + "lanes": "72,73,74,75,76,77,78,79", + "description": "Servers8:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "admin_status": "up", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "11", + "lanes": "80,81,82,83,84,85,86,87", + "description": "Servers9:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "21", + "lanes": "82,83", + "description": "Servers20:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "admin_status": "up", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "12", + "lanes": "88,89,90,91,92,93,94,95", + "description": "Servers10:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "24", + "lanes": "92,93,94,95", + "description": "Servers22:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet96": { + "index": "13", + "lanes": "96,97,98,99,100,101,102,103", + "description": "Servers11:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "26", + "lanes": "100,101,102,103", + "description": "etp26", + "admin_status": "up", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "14", + "lanes": "104,105,106,107,108,109,110,111", + "description": "Servers12:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "28", + "lanes": "108,109,110,111", + "description": "etp28", + "admin_status": "up", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet112": { + "index": "15", + "lanes": "112,113,114,115,116,117,118,119", + "description": "Servers13:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "30", + "lanes": "116,117,118,119", + "description": "ARISTA02T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "16", + "lanes": "120,121,122,123,124,125,126,127", + "description": "Servers14:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "32", + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "17", + "lanes": "128,129,130,131,132,133,134,135", + "description": "Servers15:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "18", + "lanes": "136,137,138,139,140,141,142,143", + "description": "Servers16:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "19", + "lanes": "144,145,146,147,148,149,150,151", + "description": "Servers17:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp19", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "20", + "lanes": "152,153,154,155,156,157,158,159", + "description": "Servers18:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "21", + "lanes": "160,161,162,163,164,165,166,167", + "description": "Servers19:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "22", + "lanes": "168,169,170,171,172,173,174,175", + "description": "Servers20:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp22", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "23", + "lanes": "176,177,178,179,180,181,182,183", + "description": "Servers21:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp23", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "24", + "lanes": "184,185,186,187,188,189,190,191", + "description": "Servers22:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "25", + "lanes": "192,193,194,195,196,197,198,199", + "description": "Servers23:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "26", + "lanes": "200,201,202,203,204,205,206,207", + "description": "etp26", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "27", + "lanes": "208,209,210,211,212,213,214,215", + "description": "etp27", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "28", + "lanes": "216,217,218,219,220,221,222,223", + "description": "etp28", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "29", + "lanes": "224,225,226,227,228,229,230,231", + "description": "ARISTA01T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "30", + "lanes": "232,233,234,235,236,237,238,239", + "description": "ARISTA02T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "31", + "lanes": "240,241,242,243,244,245,246,247", + "description": "ARISTA03T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp31", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "32", + "lanes": "248,249,250,251,252,253,254,255", + "description": "ARISTA04T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_0" + } +} diff --git a/tests/db_migrator_input/config_db/non-default-lossy-profile-in-pg-input.json b/tests/db_migrator_input/config_db/non-default-lossy-profile-in-pg-input.json new file mode 100644 index 0000000000..e271590f49 --- /dev/null +++ b/tests/db_migrator_input/config_db/non-default-lossy-profile-in-pg-input.json @@ -0,0 +1,2010 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_test_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_200000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet128|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet128|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet136|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet136|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet144|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet144|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet152|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet152|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet160|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet160|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet168|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet168|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet176|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet176|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet184|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet184|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet192|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet192|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet200|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet208|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet216|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet224|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet224|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_40m_profile]" + }, + "BUFFER_PG|Ethernet232|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet232|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_40m_profile]" + }, + "BUFFER_PG|Ethernet240|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet240|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet248|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet248|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "60817392" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "26451968" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "26451968" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "26451968" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet128": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet136": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet144": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet152": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet160": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet168": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet176": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet184": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet192": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet224": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet232": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet240": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet248": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet128": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet136": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet144": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet152": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet160": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet168": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet176": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet184": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet192": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet224": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet232": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet240": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet248": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_test_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "32768", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "52224" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "32768", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "52224" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "44032", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "63488" + }, + "BUFFER_PROFILE|pg_lossless_200000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "35840", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "55296" + }, + "BUFFER_PROFILE|pg_lossless_400000_5m_profile": { + "xon": "37888", + "dynamic_th": "0", + "xoff": "38912", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "86016" + }, + "BUFFER_PROFILE|pg_lossless_400000_40m_profile": { + "xon": "37888", + "dynamic_th": "0", + "xoff": "77824", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "124928" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet128|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet128|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet128|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet136|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet136|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet136|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet144|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet144|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet144|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet152|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet152|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet152|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet160|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet160|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet160|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet168|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet168|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet168|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet176|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet176|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet176|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet184|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet184|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet184|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet192|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet192|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet192|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet224|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet224|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet224|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet232|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet232|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet232|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet240|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet240|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet240|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet248|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet248|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet248|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet184": "5m", + "Ethernet0": "5m", + "Ethernet248": "40m", + "Ethernet104": "5m", + "Ethernet240": "40m", + "Ethernet200": "5m", + "Ethernet168": "5m", + "Ethernet120": "5m", + "Ethernet144": "5m", + "Ethernet208": "5m", + "Ethernet160": "5m", + "Ethernet224": "40m", + "Ethernet56": "5m", + "Ethernet128": "5m", + "Ethernet72": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet192": "5m", + "Ethernet96": "5m", + "Ethernet88": "5m", + "Ethernet80": "5m", + "Ethernet112": "5m", + "Ethernet152": "5m", + "Ethernet136": "5m", + "Ethernet48": "5m", + "Ethernet232": "40m", + "Ethernet216": "5m", + "Ethernet176": "5m", + "Ethernet40": "5m", + "Ethernet64": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN4700", + "default_bgp_status": "up", + "type": "ToRRouter", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn4700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "separated", + "cloudtype": "None" + }, + "PORT|Ethernet0": { + "index": "1", + "lanes": "0,1,2,3,4,5,6,7", + "description": "etp1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "10000", + "fec": "rs" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "ARISTA01T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1b", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "2", + "lanes": "4,5,6,7", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2", + "pfc_asym": "off", + "speed": "25000", + "fec": "rs" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "ARISTA03T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2b", + "admin_status": "up", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9,10,11,12,13,14,15", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2", + "pfc_asym": "off", + "speed": "25000", + "fec": "rs" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "ARISTA05T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "4", + "lanes": "12,13,14,15", + "description": "Servers2:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet16": { + "index": "3", + "lanes": "16,17,18,19,20,21,22,23", + "description": "Servers1:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3", + "pfc_asym": "off", + "speed": "50000", + "fec": "rs" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "ARISTA09T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "6", + "lanes": "20,21,22,23", + "description": "Servers4:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6", + "pfc_asym": "off", + "speed": "200000", + "fec": "rs" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "ARISTA11T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "4", + "lanes": "24,25,26,27,28,29,30,31", + "description": "Servers2:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "ARISTA13T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "8", + "lanes": "28,29,30,31", + "description": "Servers6:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet32": { + "index": "5", + "lanes": "32,33,34,35,36,37,38,39", + "description": "Servers3:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "ARISTA15T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "10", + "lanes": "36,37,38,39", + "description": "Servers8:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "ARISTA02T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10b", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "6", + "lanes": "40,41,42,43,44,45,46,47", + "description": "Servers4:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6", + "pfc_asym": "off", + "speed": "200000", + "fec": "rs" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "ARISTA04T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "12", + "lanes": "44,45,46,47", + "description": "Servers10:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet48": { + "index": "7", + "lanes": "48,49,50,51,52,53,54,55", + "description": "Servers5:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "ARISTA07T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "14", + "lanes": "52,53,54,55", + "description": "Servers12:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "ARISTA09T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "8", + "lanes": "56,57,58,59,60,61,62,63", + "description": "Servers6:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "16", + "lanes": "60,61,62,63", + "description": "Servers14:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet64": { + "index": "9", + "lanes": "64,65,66,67,68,69,70,71", + "description": "Servers7:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet65": { + "index": "17", + "lanes": "65", + "description": "Servers16:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet66": { + "index": "17", + "lanes": "66", + "description": "Servers17:eth0", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17c", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet67": { + "index": "17", + "lanes": "67", + "description": "Servers18:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17d", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "10", + "lanes": "72,73,74,75,76,77,78,79", + "description": "Servers8:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "admin_status": "up", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "11", + "lanes": "80,81,82,83,84,85,86,87", + "description": "Servers9:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "21", + "lanes": "82,83", + "description": "Servers20:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "admin_status": "up", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "12", + "lanes": "88,89,90,91,92,93,94,95", + "description": "Servers10:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "24", + "lanes": "92,93,94,95", + "description": "Servers22:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet96": { + "index": "13", + "lanes": "96,97,98,99,100,101,102,103", + "description": "Servers11:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "26", + "lanes": "100,101,102,103", + "description": "etp26", + "admin_status": "up", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "14", + "lanes": "104,105,106,107,108,109,110,111", + "description": "Servers12:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "28", + "lanes": "108,109,110,111", + "description": "etp28", + "admin_status": "up", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet112": { + "index": "15", + "lanes": "112,113,114,115,116,117,118,119", + "description": "Servers13:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "30", + "lanes": "116,117,118,119", + "description": "ARISTA02T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "16", + "lanes": "120,121,122,123,124,125,126,127", + "description": "Servers14:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "32", + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "17", + "lanes": "128,129,130,131,132,133,134,135", + "description": "Servers15:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "18", + "lanes": "136,137,138,139,140,141,142,143", + "description": "Servers16:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "19", + "lanes": "144,145,146,147,148,149,150,151", + "description": "Servers17:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp19", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "20", + "lanes": "152,153,154,155,156,157,158,159", + "description": "Servers18:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "21", + "lanes": "160,161,162,163,164,165,166,167", + "description": "Servers19:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "22", + "lanes": "168,169,170,171,172,173,174,175", + "description": "Servers20:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp22", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "23", + "lanes": "176,177,178,179,180,181,182,183", + "description": "Servers21:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp23", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "24", + "lanes": "184,185,186,187,188,189,190,191", + "description": "Servers22:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "25", + "lanes": "192,193,194,195,196,197,198,199", + "description": "Servers23:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "26", + "lanes": "200,201,202,203,204,205,206,207", + "description": "etp26", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "27", + "lanes": "208,209,210,211,212,213,214,215", + "description": "etp27", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "28", + "lanes": "216,217,218,219,220,221,222,223", + "description": "etp28", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "29", + "lanes": "224,225,226,227,228,229,230,231", + "description": "ARISTA01T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "30", + "lanes": "232,233,234,235,236,237,238,239", + "description": "ARISTA02T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "31", + "lanes": "240,241,242,243,244,245,246,247", + "description": "ARISTA03T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp31", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "32", + "lanes": "248,249,250,251,252,253,254,255", + "description": "ARISTA04T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_5" + } +} diff --git a/tests/db_migrator_input/config_db/non-default-pg-expected.json b/tests/db_migrator_input/config_db/non-default-pg-expected.json new file mode 100644 index 0000000000..725d7fb37c --- /dev/null +++ b/tests/db_migrator_input/config_db/non-default-pg-expected.json @@ -0,0 +1,2009 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|6": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_200000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet128|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet128|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet136|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet136|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet144|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet144|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet152|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet152|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet160|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet160|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet168|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet168|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet176|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet176|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet184|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet184|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet192|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet192|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet200|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet208|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet216|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet224|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet224|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_40m_profile]" + }, + "BUFFER_PG|Ethernet232|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet232|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_40m_profile]" + }, + "BUFFER_PG|Ethernet240|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet240|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet248|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet248|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "60817392" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "26451968" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "26451968" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "26451968" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet128": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet136": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet144": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet152": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet160": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet168": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet176": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet184": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet192": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet224": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet232": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet240": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet248": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet128": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet136": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet144": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet152": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet160": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet168": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet176": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet184": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet192": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet224": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet232": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet240": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet248": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "32768", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "52224" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "32768", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "52224" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "44032", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "63488" + }, + "BUFFER_PROFILE|pg_lossless_200000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "35840", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "55296" + }, + "BUFFER_PROFILE|pg_lossless_400000_5m_profile": { + "xon": "37888", + "dynamic_th": "0", + "xoff": "38912", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "86016" + }, + "BUFFER_PROFILE|pg_lossless_400000_40m_profile": { + "xon": "37888", + "dynamic_th": "0", + "xoff": "77824", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "124928" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet128|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet128|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet128|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet136|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet136|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet136|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet144|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet144|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet144|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet152|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet152|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet152|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet160|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet160|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet160|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet168|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet168|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet168|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet176|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet176|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet176|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet184|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet184|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet184|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet192|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet192|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet192|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet224|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet224|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet224|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet232|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet232|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet232|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet240|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet240|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet240|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet248|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet248|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet248|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet184": "5m", + "Ethernet0": "5m", + "Ethernet248": "40m", + "Ethernet104": "5m", + "Ethernet240": "40m", + "Ethernet200": "5m", + "Ethernet168": "5m", + "Ethernet120": "5m", + "Ethernet144": "5m", + "Ethernet208": "5m", + "Ethernet160": "5m", + "Ethernet224": "40m", + "Ethernet56": "5m", + "Ethernet128": "5m", + "Ethernet72": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet192": "5m", + "Ethernet96": "5m", + "Ethernet88": "5m", + "Ethernet80": "5m", + "Ethernet112": "5m", + "Ethernet152": "5m", + "Ethernet136": "5m", + "Ethernet48": "5m", + "Ethernet232": "40m", + "Ethernet216": "5m", + "Ethernet176": "5m", + "Ethernet40": "5m", + "Ethernet64": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN4700", + "default_bgp_status": "up", + "type": "ToRRouter", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn4700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "separated", + "cloudtype": "None", + "buffer_model": "traditional" + }, + "PORT|Ethernet0": { + "index": "1", + "lanes": "0,1,2,3,4,5,6,7", + "description": "etp1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "10000", + "fec": "rs" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "ARISTA01T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1b", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "2", + "lanes": "4,5,6,7", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2", + "pfc_asym": "off", + "speed": "25000", + "fec": "rs" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "ARISTA03T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2b", + "admin_status": "up", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9,10,11,12,13,14,15", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2", + "pfc_asym": "off", + "speed": "25000", + "fec": "rs" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "ARISTA05T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "4", + "lanes": "12,13,14,15", + "description": "Servers2:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet16": { + "index": "3", + "lanes": "16,17,18,19,20,21,22,23", + "description": "Servers1:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3", + "pfc_asym": "off", + "speed": "50000", + "fec": "rs" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "ARISTA09T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "6", + "lanes": "20,21,22,23", + "description": "Servers4:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6", + "pfc_asym": "off", + "speed": "200000", + "fec": "rs" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "ARISTA11T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "4", + "lanes": "24,25,26,27,28,29,30,31", + "description": "Servers2:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "ARISTA13T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "8", + "lanes": "28,29,30,31", + "description": "Servers6:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet32": { + "index": "5", + "lanes": "32,33,34,35,36,37,38,39", + "description": "Servers3:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "ARISTA15T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "10", + "lanes": "36,37,38,39", + "description": "Servers8:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "ARISTA02T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10b", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "6", + "lanes": "40,41,42,43,44,45,46,47", + "description": "Servers4:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6", + "pfc_asym": "off", + "speed": "200000", + "fec": "rs" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "ARISTA04T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "12", + "lanes": "44,45,46,47", + "description": "Servers10:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet48": { + "index": "7", + "lanes": "48,49,50,51,52,53,54,55", + "description": "Servers5:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "ARISTA07T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "14", + "lanes": "52,53,54,55", + "description": "Servers12:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "ARISTA09T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "8", + "lanes": "56,57,58,59,60,61,62,63", + "description": "Servers6:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "16", + "lanes": "60,61,62,63", + "description": "Servers14:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet64": { + "index": "9", + "lanes": "64,65,66,67,68,69,70,71", + "description": "Servers7:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet65": { + "index": "17", + "lanes": "65", + "description": "Servers16:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet66": { + "index": "17", + "lanes": "66", + "description": "Servers17:eth0", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17c", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet67": { + "index": "17", + "lanes": "67", + "description": "Servers18:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17d", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "10", + "lanes": "72,73,74,75,76,77,78,79", + "description": "Servers8:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "admin_status": "up", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "11", + "lanes": "80,81,82,83,84,85,86,87", + "description": "Servers9:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "21", + "lanes": "82,83", + "description": "Servers20:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "admin_status": "up", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "12", + "lanes": "88,89,90,91,92,93,94,95", + "description": "Servers10:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "24", + "lanes": "92,93,94,95", + "description": "Servers22:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet96": { + "index": "13", + "lanes": "96,97,98,99,100,101,102,103", + "description": "Servers11:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "26", + "lanes": "100,101,102,103", + "description": "etp26", + "admin_status": "up", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "14", + "lanes": "104,105,106,107,108,109,110,111", + "description": "Servers12:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "28", + "lanes": "108,109,110,111", + "description": "etp28", + "admin_status": "up", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet112": { + "index": "15", + "lanes": "112,113,114,115,116,117,118,119", + "description": "Servers13:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "30", + "lanes": "116,117,118,119", + "description": "ARISTA02T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "16", + "lanes": "120,121,122,123,124,125,126,127", + "description": "Servers14:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "32", + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "17", + "lanes": "128,129,130,131,132,133,134,135", + "description": "Servers15:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "18", + "lanes": "136,137,138,139,140,141,142,143", + "description": "Servers16:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "19", + "lanes": "144,145,146,147,148,149,150,151", + "description": "Servers17:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp19", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "20", + "lanes": "152,153,154,155,156,157,158,159", + "description": "Servers18:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "21", + "lanes": "160,161,162,163,164,165,166,167", + "description": "Servers19:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "22", + "lanes": "168,169,170,171,172,173,174,175", + "description": "Servers20:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp22", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "23", + "lanes": "176,177,178,179,180,181,182,183", + "description": "Servers21:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp23", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "24", + "lanes": "184,185,186,187,188,189,190,191", + "description": "Servers22:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "25", + "lanes": "192,193,194,195,196,197,198,199", + "description": "Servers23:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "26", + "lanes": "200,201,202,203,204,205,206,207", + "description": "etp26", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "27", + "lanes": "208,209,210,211,212,213,214,215", + "description": "etp27", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "28", + "lanes": "216,217,218,219,220,221,222,223", + "description": "etp28", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "29", + "lanes": "224,225,226,227,228,229,230,231", + "description": "ARISTA01T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "30", + "lanes": "232,233,234,235,236,237,238,239", + "description": "ARISTA02T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "31", + "lanes": "240,241,242,243,244,245,246,247", + "description": "ARISTA03T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp31", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "32", + "lanes": "248,249,250,251,252,253,254,255", + "description": "ARISTA04T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_0" + } +} diff --git a/tests/db_migrator_input/config_db/non-default-pg-input.json b/tests/db_migrator_input/config_db/non-default-pg-input.json new file mode 100644 index 0000000000..b1ca63c370 --- /dev/null +++ b/tests/db_migrator_input/config_db/non-default-pg-input.json @@ -0,0 +1,2008 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|6": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_200000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet128|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet128|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet136|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet136|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet144|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet144|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet152|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet152|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet160|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet160|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet168|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet168|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet176|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet176|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet184|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet184|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet192|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet192|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet200|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet208|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet216|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet224|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet224|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_40m_profile]" + }, + "BUFFER_PG|Ethernet232|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet232|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_40m_profile]" + }, + "BUFFER_PG|Ethernet240|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet240|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet248|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet248|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "60817392" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "26451968" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "26451968" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "26451968" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet128": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet136": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet144": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet152": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet160": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet168": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet176": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet184": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet192": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet224": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet232": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet240": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet248": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet128": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet136": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet144": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet152": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet160": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet168": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet176": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet184": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet192": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet224": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet232": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet240": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet248": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "32768", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "52224" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "32768", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "52224" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "44032", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "63488" + }, + "BUFFER_PROFILE|pg_lossless_200000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "35840", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "55296" + }, + "BUFFER_PROFILE|pg_lossless_400000_5m_profile": { + "xon": "37888", + "dynamic_th": "0", + "xoff": "38912", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "86016" + }, + "BUFFER_PROFILE|pg_lossless_400000_40m_profile": { + "xon": "37888", + "dynamic_th": "0", + "xoff": "77824", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "124928" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet128|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet128|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet128|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet136|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet136|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet136|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet144|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet144|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet144|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet152|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet152|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet152|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet160|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet160|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet160|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet168|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet168|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet168|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet176|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet176|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet176|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet184|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet184|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet184|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet192|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet192|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet192|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet224|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet224|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet224|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet232|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet232|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet232|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet240|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet240|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet240|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet248|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet248|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet248|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet184": "5m", + "Ethernet0": "5m", + "Ethernet248": "40m", + "Ethernet104": "5m", + "Ethernet240": "40m", + "Ethernet200": "5m", + "Ethernet168": "5m", + "Ethernet120": "5m", + "Ethernet144": "5m", + "Ethernet208": "5m", + "Ethernet160": "5m", + "Ethernet224": "40m", + "Ethernet56": "5m", + "Ethernet128": "5m", + "Ethernet72": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet192": "5m", + "Ethernet96": "5m", + "Ethernet88": "5m", + "Ethernet80": "5m", + "Ethernet112": "5m", + "Ethernet152": "5m", + "Ethernet136": "5m", + "Ethernet48": "5m", + "Ethernet232": "40m", + "Ethernet216": "5m", + "Ethernet176": "5m", + "Ethernet40": "5m", + "Ethernet64": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN4700", + "default_bgp_status": "up", + "type": "ToRRouter", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn4700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "separated", + "cloudtype": "None" + }, + "PORT|Ethernet0": { + "index": "1", + "lanes": "0,1,2,3,4,5,6,7", + "description": "etp1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "10000", + "fec": "rs" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "ARISTA01T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1b", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "2", + "lanes": "4,5,6,7", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2", + "pfc_asym": "off", + "speed": "25000", + "fec": "rs" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "ARISTA03T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2b", + "admin_status": "up", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9,10,11,12,13,14,15", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2", + "pfc_asym": "off", + "speed": "25000", + "fec": "rs" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "ARISTA05T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "4", + "lanes": "12,13,14,15", + "description": "Servers2:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet16": { + "index": "3", + "lanes": "16,17,18,19,20,21,22,23", + "description": "Servers1:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3", + "pfc_asym": "off", + "speed": "50000", + "fec": "rs" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "ARISTA09T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "6", + "lanes": "20,21,22,23", + "description": "Servers4:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6", + "pfc_asym": "off", + "speed": "200000", + "fec": "rs" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "ARISTA11T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "4", + "lanes": "24,25,26,27,28,29,30,31", + "description": "Servers2:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "ARISTA13T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "8", + "lanes": "28,29,30,31", + "description": "Servers6:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet32": { + "index": "5", + "lanes": "32,33,34,35,36,37,38,39", + "description": "Servers3:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "ARISTA15T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "10", + "lanes": "36,37,38,39", + "description": "Servers8:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "ARISTA02T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10b", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "6", + "lanes": "40,41,42,43,44,45,46,47", + "description": "Servers4:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6", + "pfc_asym": "off", + "speed": "200000", + "fec": "rs" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "ARISTA04T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "12", + "lanes": "44,45,46,47", + "description": "Servers10:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet48": { + "index": "7", + "lanes": "48,49,50,51,52,53,54,55", + "description": "Servers5:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "ARISTA07T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "14", + "lanes": "52,53,54,55", + "description": "Servers12:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "ARISTA09T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "8", + "lanes": "56,57,58,59,60,61,62,63", + "description": "Servers6:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "16", + "lanes": "60,61,62,63", + "description": "Servers14:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet64": { + "index": "9", + "lanes": "64,65,66,67,68,69,70,71", + "description": "Servers7:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet65": { + "index": "17", + "lanes": "65", + "description": "Servers16:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet66": { + "index": "17", + "lanes": "66", + "description": "Servers17:eth0", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17c", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet67": { + "index": "17", + "lanes": "67", + "description": "Servers18:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17d", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "10", + "lanes": "72,73,74,75,76,77,78,79", + "description": "Servers8:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "admin_status": "up", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "11", + "lanes": "80,81,82,83,84,85,86,87", + "description": "Servers9:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "21", + "lanes": "82,83", + "description": "Servers20:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "admin_status": "up", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "12", + "lanes": "88,89,90,91,92,93,94,95", + "description": "Servers10:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "24", + "lanes": "92,93,94,95", + "description": "Servers22:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet96": { + "index": "13", + "lanes": "96,97,98,99,100,101,102,103", + "description": "Servers11:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "26", + "lanes": "100,101,102,103", + "description": "etp26", + "admin_status": "up", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "14", + "lanes": "104,105,106,107,108,109,110,111", + "description": "Servers12:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "28", + "lanes": "108,109,110,111", + "description": "etp28", + "admin_status": "up", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet112": { + "index": "15", + "lanes": "112,113,114,115,116,117,118,119", + "description": "Servers13:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "30", + "lanes": "116,117,118,119", + "description": "ARISTA02T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "16", + "lanes": "120,121,122,123,124,125,126,127", + "description": "Servers14:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "32", + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "17", + "lanes": "128,129,130,131,132,133,134,135", + "description": "Servers15:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "18", + "lanes": "136,137,138,139,140,141,142,143", + "description": "Servers16:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "19", + "lanes": "144,145,146,147,148,149,150,151", + "description": "Servers17:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp19", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "20", + "lanes": "152,153,154,155,156,157,158,159", + "description": "Servers18:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "21", + "lanes": "160,161,162,163,164,165,166,167", + "description": "Servers19:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "22", + "lanes": "168,169,170,171,172,173,174,175", + "description": "Servers20:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp22", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "23", + "lanes": "176,177,178,179,180,181,182,183", + "description": "Servers21:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp23", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "24", + "lanes": "184,185,186,187,188,189,190,191", + "description": "Servers22:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "25", + "lanes": "192,193,194,195,196,197,198,199", + "description": "Servers23:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "26", + "lanes": "200,201,202,203,204,205,206,207", + "description": "etp26", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "27", + "lanes": "208,209,210,211,212,213,214,215", + "description": "etp27", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "28", + "lanes": "216,217,218,219,220,221,222,223", + "description": "etp28", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "29", + "lanes": "224,225,226,227,228,229,230,231", + "description": "ARISTA01T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "30", + "lanes": "232,233,234,235,236,237,238,239", + "description": "ARISTA02T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "31", + "lanes": "240,241,242,243,244,245,246,247", + "description": "ARISTA03T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp31", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "32", + "lanes": "248,249,250,251,252,253,254,255", + "description": "ARISTA04T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_5" + } +} diff --git a/tests/db_migrator_input/config_db/non-default-xoff-expected.json b/tests/db_migrator_input/config_db/non-default-xoff-expected.json new file mode 100644 index 0000000000..d43257431f --- /dev/null +++ b/tests/db_migrator_input/config_db/non-default-xoff-expected.json @@ -0,0 +1,1986 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet2|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet6|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet10|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet10|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet18|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet18|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet22|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet22|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet26|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet26|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet34|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet34|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet38|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet38|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet42|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet42|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet50|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet50|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet54|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet54|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet58|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet70|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet70|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet74|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet82|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet86|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet90|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet106|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet122|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet128|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet132|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet136|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet138|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet140|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet144|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet148|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet152|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet154|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet156|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet160|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet162|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet164|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet166|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet168|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet170|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet172|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet176|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet178|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet180|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet182|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet184|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet186|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet188|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet192|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet196|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet198|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet200|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet204|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet208|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet212|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet214|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet216|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet220|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet224|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet228|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet230|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet232|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet236|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet240|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet244|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet246|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet248|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet252|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13924352" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "1200000", + "type": "ingress", + "mode": "dynamic", + "size": "13924352" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "13924352" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "34816", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "54272" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "38912", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "58368" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "41984", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "61440" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "45056", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "64512" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "50176", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "69632" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "56320", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "75776" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet2|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet2|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet6|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet10|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet18|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet22|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet26|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet34|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet38|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet42|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet50|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet54|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet70|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet54": "5m", + "Ethernet248": "5m", + "Ethernet246": "5m", + "Ethernet244": "5m", + "Ethernet240": "5m", + "Ethernet124": "5m", + "Ethernet122": "5m", + "Ethernet120": "5m", + "Ethernet128": "5m", + "Ethernet76": "5m", + "Ethernet74": "5m", + "Ethernet72": "5m", + "Ethernet70": "40m", + "Ethernet136": "5m", + "Ethernet132": "5m", + "Ethernet232": "5m", + "Ethernet230": "5m", + "Ethernet138": "5m", + "Ethernet236": "5m", + "Ethernet64": "40m", + "Ethernet66": "40m", + "Ethernet60": "5m", + "Ethernet68": "40m", + "Ethernet180": "5m", + "Ethernet182": "5m", + "Ethernet184": "5m", + "Ethernet186": "5m", + "Ethernet188": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet106": "5m", + "Ethernet58": "5m", + "Ethernet50": "5m", + "Ethernet52": "5m", + "Ethernet224": "5m", + "Ethernet56": "5m", + "Ethernet196": "5m", + "Ethernet192": "5m", + "Ethernet198": "5m", + "Ethernet116": "5m", + "Ethernet112": "5m", + "Ethernet48": "5m", + "Ethernet214": "5m", + "Ethernet216": "5m", + "Ethernet42": "5m", + "Ethernet40": "5m", + "Ethernet8": "5m", + "Ethernet2": "5m", + "Ethernet0": "5m", + "Ethernet6": "5m", + "Ethernet4": "5m", + "Ethernet200": "5m", + "Ethernet168": "5m", + "Ethernet204": "5m", + "Ethernet162": "5m", + "Ethernet208": "5m", + "Ethernet160": "5m", + "Ethernet166": "5m", + "Ethernet164": "5m", + "Ethernet38": "5m", + "Ethernet32": "5m", + "Ethernet36": "5m", + "Ethernet34": "5m", + "Ethernet178": "5m", + "Ethernet170": "5m", + "Ethernet172": "5m", + "Ethernet176": "5m", + "Ethernet28": "5m", + "Ethernet20": "5m", + "Ethernet22": "5m", + "Ethernet24": "5m", + "Ethernet26": "5m", + "Ethernet44": "5m", + "Ethernet212": "5m", + "Ethernet96": "5m", + "Ethernet90": "5m", + "Ethernet148": "5m", + "Ethernet92": "5m", + "Ethernet144": "5m", + "Ethernet140": "5m", + "Ethernet18": "5m", + "Ethernet16": "5m", + "Ethernet10": "5m", + "Ethernet12": "5m", + "Ethernet228": "5m", + "Ethernet88": "5m", + "Ethernet82": "5m", + "Ethernet80": "5m", + "Ethernet86": "5m", + "Ethernet84": "5m", + "Ethernet152": "5m", + "Ethernet156": "5m", + "Ethernet154": "5m", + "Ethernet220": "5m", + "Ethernet252": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN3800", + "default_bgp_status": "up", + "docker_routing_config_mode": "separated", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3800-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "traditional", + "cloudtype": "None", + "type": "ToRRouter", + "deployment_id": "1" + }, + "PORT|Ethernet0": { + "index": "0", + "lanes": "0,1", + "description": "etp1a", + "mtu": "9100", + "alias": "etp1a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "1", + "lanes": "4,5", + "description": "Servers1:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "Servers2:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2b", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9", + "description": "Servers3:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "Servers4:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "3", + "lanes": "12,13,14,15", + "description": "Servers5:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet16": { + "index": "4", + "lanes": "16,17", + "description": "Servers6:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "Servers7:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "5", + "lanes": "20,21", + "description": "Servers8:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "Servers9:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "6", + "lanes": "24,25", + "description": "Servers10:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "Servers11:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "7", + "lanes": "28,29,30,31", + "description": "Servers12:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet32": { + "index": "8", + "lanes": "32,33", + "description": "Servers13:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "Servers14:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "9", + "lanes": "36,37", + "description": "Servers15:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "Servers16:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "10", + "lanes": "40,41", + "description": "Servers17:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "Servers18:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "11", + "lanes": "44,45,46,47", + "description": "Servers19:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet48": { + "index": "12", + "lanes": "48,49", + "description": "Servers20:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "Servers21:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "13", + "lanes": "52,53", + "description": "Servers22:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "Servers23:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "14", + "lanes": "56,57", + "description": "etp15a", + "mtu": "9100", + "alias": "etp15a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "etp15b", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "15", + "lanes": "60,61,62,63", + "description": "etp16", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet64": { + "index": "16", + "lanes": "64,65", + "description": "ARISTA01T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet66": { + "index": "16", + "lanes": "66,67", + "description": "ARISTA02T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA03T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA04T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "18", + "lanes": "72,73", + "description": "etp19a", + "mtu": "9100", + "alias": "etp19a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "20", + "lanes": "80,81", + "description": "etp21a", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "20", + "lanes": "82,83", + "description": "etp21b", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "22", + "lanes": "88,89", + "description": "etp23a", + "mtu": "9100", + "alias": "etp23a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "23", + "lanes": "92,93,94,95", + "description": "etp24", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet96": { + "index": "24", + "lanes": "96,97,98,99", + "description": "etp25", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "25", + "lanes": "100,101,102,103", + "description": "etp26", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "26", + "lanes": "104,105", + "description": "etp27a", + "mtu": "9100", + "alias": "etp27a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "27", + "lanes": "108,109,110,111", + "description": "etp28", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet112": { + "index": "28", + "lanes": "112,113,114,115", + "description": "etp29", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "29", + "lanes": "116,117,118,119", + "description": "etp30", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "30", + "lanes": "120,121", + "description": "etp31a", + "mtu": "9100", + "alias": "etp31a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "31", + "lanes": "124,125,126,127", + "description": "etp32", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "32", + "lanes": "128,129,130,131", + "description": "etp33", + "mtu": "9100", + "alias": "etp33", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "34", + "lanes": "136,137", + "description": "etp35a", + "mtu": "9100", + "alias": "etp35a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "36", + "lanes": "144,145,146,147", + "description": "etp37", + "mtu": "9100", + "alias": "etp37", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "38", + "lanes": "152,153", + "description": "etp39a", + "mtu": "9100", + "alias": "etp39a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "40", + "lanes": "160,161", + "description": "etp41a", + "mtu": "9100", + "alias": "etp41a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "42", + "lanes": "168,169", + "description": "etp43a", + "mtu": "9100", + "alias": "etp43a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "44", + "lanes": "176,177", + "description": "etp45a", + "mtu": "9100", + "alias": "etp45a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "46", + "lanes": "184,185", + "description": "etp47a", + "mtu": "9100", + "alias": "etp47a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "48", + "lanes": "192,193", + "description": "etp49a", + "mtu": "9100", + "alias": "etp49a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "50", + "lanes": "200,201", + "description": "etp51a", + "mtu": "9100", + "alias": "etp51a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "52", + "lanes": "208,209", + "description": "etp53a", + "mtu": "9100", + "alias": "etp53a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "54", + "lanes": "216,217", + "description": "etp55a", + "mtu": "9100", + "alias": "etp55a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "56", + "lanes": "224,225", + "description": "etp57a", + "mtu": "9100", + "alias": "etp57a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "58", + "lanes": "232,233", + "description": "etp59a", + "mtu": "9100", + "alias": "etp59a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "60", + "lanes": "240,241", + "description": "etp61a", + "mtu": "9100", + "alias": "etp61a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "62", + "lanes": "248,249", + "description": "etp63a", + "mtu": "9100", + "alias": "etp63a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_0" + } +} diff --git a/tests/db_migrator_input/config_db/non-default-xoff-input.json b/tests/db_migrator_input/config_db/non-default-xoff-input.json new file mode 100644 index 0000000000..7f8089c8c2 --- /dev/null +++ b/tests/db_migrator_input/config_db/non-default-xoff-input.json @@ -0,0 +1,1985 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet2|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet6|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet10|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet10|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet18|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet18|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet22|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet22|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet26|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet26|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet34|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet34|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet38|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet38|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet42|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet42|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet50|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet50|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet54|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet54|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet58|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet70|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet70|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet74|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet82|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet86|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet90|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet106|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet122|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet128|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet132|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet136|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet138|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet140|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet144|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet148|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet152|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet154|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet156|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet160|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet162|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet164|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet166|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet168|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet170|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet172|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet176|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet178|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet180|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet182|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet184|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet186|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet188|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet192|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet196|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet198|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet200|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet204|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet208|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet212|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet214|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet216|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet220|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet224|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet228|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet230|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet232|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet236|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet240|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet244|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet246|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet248|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet252|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13924352" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "1200000", + "type": "ingress", + "mode": "dynamic", + "size": "13924352" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "13924352" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "34816", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "54272" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "38912", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "58368" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "41984", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "61440" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "45056", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "64512" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "50176", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "69632" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "56320", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "75776" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet2|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet2|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet6|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet10|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet18|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet22|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet26|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet34|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet38|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet42|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet50|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet54|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet70|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet54": "5m", + "Ethernet248": "5m", + "Ethernet246": "5m", + "Ethernet244": "5m", + "Ethernet240": "5m", + "Ethernet124": "5m", + "Ethernet122": "5m", + "Ethernet120": "5m", + "Ethernet128": "5m", + "Ethernet76": "5m", + "Ethernet74": "5m", + "Ethernet72": "5m", + "Ethernet70": "40m", + "Ethernet136": "5m", + "Ethernet132": "5m", + "Ethernet232": "5m", + "Ethernet230": "5m", + "Ethernet138": "5m", + "Ethernet236": "5m", + "Ethernet64": "40m", + "Ethernet66": "40m", + "Ethernet60": "5m", + "Ethernet68": "40m", + "Ethernet180": "5m", + "Ethernet182": "5m", + "Ethernet184": "5m", + "Ethernet186": "5m", + "Ethernet188": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet106": "5m", + "Ethernet58": "5m", + "Ethernet50": "5m", + "Ethernet52": "5m", + "Ethernet224": "5m", + "Ethernet56": "5m", + "Ethernet196": "5m", + "Ethernet192": "5m", + "Ethernet198": "5m", + "Ethernet116": "5m", + "Ethernet112": "5m", + "Ethernet48": "5m", + "Ethernet214": "5m", + "Ethernet216": "5m", + "Ethernet42": "5m", + "Ethernet40": "5m", + "Ethernet8": "5m", + "Ethernet2": "5m", + "Ethernet0": "5m", + "Ethernet6": "5m", + "Ethernet4": "5m", + "Ethernet200": "5m", + "Ethernet168": "5m", + "Ethernet204": "5m", + "Ethernet162": "5m", + "Ethernet208": "5m", + "Ethernet160": "5m", + "Ethernet166": "5m", + "Ethernet164": "5m", + "Ethernet38": "5m", + "Ethernet32": "5m", + "Ethernet36": "5m", + "Ethernet34": "5m", + "Ethernet178": "5m", + "Ethernet170": "5m", + "Ethernet172": "5m", + "Ethernet176": "5m", + "Ethernet28": "5m", + "Ethernet20": "5m", + "Ethernet22": "5m", + "Ethernet24": "5m", + "Ethernet26": "5m", + "Ethernet44": "5m", + "Ethernet212": "5m", + "Ethernet96": "5m", + "Ethernet90": "5m", + "Ethernet148": "5m", + "Ethernet92": "5m", + "Ethernet144": "5m", + "Ethernet140": "5m", + "Ethernet18": "5m", + "Ethernet16": "5m", + "Ethernet10": "5m", + "Ethernet12": "5m", + "Ethernet228": "5m", + "Ethernet88": "5m", + "Ethernet82": "5m", + "Ethernet80": "5m", + "Ethernet86": "5m", + "Ethernet84": "5m", + "Ethernet152": "5m", + "Ethernet156": "5m", + "Ethernet154": "5m", + "Ethernet220": "5m", + "Ethernet252": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN3800", + "default_bgp_status": "up", + "docker_routing_config_mode": "separated", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3800-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "cloudtype": "None", + "type": "ToRRouter", + "deployment_id": "1" + }, + "PORT|Ethernet0": { + "index": "0", + "lanes": "0,1", + "description": "etp1a", + "mtu": "9100", + "alias": "etp1a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "1", + "lanes": "4,5", + "description": "Servers1:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "Servers2:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2b", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9", + "description": "Servers3:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "Servers4:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "3", + "lanes": "12,13,14,15", + "description": "Servers5:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet16": { + "index": "4", + "lanes": "16,17", + "description": "Servers6:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "Servers7:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "5", + "lanes": "20,21", + "description": "Servers8:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "Servers9:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "6", + "lanes": "24,25", + "description": "Servers10:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "Servers11:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "7", + "lanes": "28,29,30,31", + "description": "Servers12:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet32": { + "index": "8", + "lanes": "32,33", + "description": "Servers13:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "Servers14:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "9", + "lanes": "36,37", + "description": "Servers15:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "Servers16:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "10", + "lanes": "40,41", + "description": "Servers17:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "Servers18:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "11", + "lanes": "44,45,46,47", + "description": "Servers19:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet48": { + "index": "12", + "lanes": "48,49", + "description": "Servers20:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "Servers21:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "13", + "lanes": "52,53", + "description": "Servers22:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "Servers23:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "14", + "lanes": "56,57", + "description": "etp15a", + "mtu": "9100", + "alias": "etp15a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "etp15b", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "15", + "lanes": "60,61,62,63", + "description": "etp16", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet64": { + "index": "16", + "lanes": "64,65", + "description": "ARISTA01T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet66": { + "index": "16", + "lanes": "66,67", + "description": "ARISTA02T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA03T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA04T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "18", + "lanes": "72,73", + "description": "etp19a", + "mtu": "9100", + "alias": "etp19a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "20", + "lanes": "80,81", + "description": "etp21a", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "20", + "lanes": "82,83", + "description": "etp21b", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "22", + "lanes": "88,89", + "description": "etp23a", + "mtu": "9100", + "alias": "etp23a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "23", + "lanes": "92,93,94,95", + "description": "etp24", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet96": { + "index": "24", + "lanes": "96,97,98,99", + "description": "etp25", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "25", + "lanes": "100,101,102,103", + "description": "etp26", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "26", + "lanes": "104,105", + "description": "etp27a", + "mtu": "9100", + "alias": "etp27a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "27", + "lanes": "108,109,110,111", + "description": "etp28", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet112": { + "index": "28", + "lanes": "112,113,114,115", + "description": "etp29", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "29", + "lanes": "116,117,118,119", + "description": "etp30", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "30", + "lanes": "120,121", + "description": "etp31a", + "mtu": "9100", + "alias": "etp31a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "31", + "lanes": "124,125,126,127", + "description": "etp32", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "32", + "lanes": "128,129,130,131", + "description": "etp33", + "mtu": "9100", + "alias": "etp33", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "34", + "lanes": "136,137", + "description": "etp35a", + "mtu": "9100", + "alias": "etp35a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "36", + "lanes": "144,145,146,147", + "description": "etp37", + "mtu": "9100", + "alias": "etp37", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "38", + "lanes": "152,153", + "description": "etp39a", + "mtu": "9100", + "alias": "etp39a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "40", + "lanes": "160,161", + "description": "etp41a", + "mtu": "9100", + "alias": "etp41a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "42", + "lanes": "168,169", + "description": "etp43a", + "mtu": "9100", + "alias": "etp43a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "44", + "lanes": "176,177", + "description": "etp45a", + "mtu": "9100", + "alias": "etp45a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "46", + "lanes": "184,185", + "description": "etp47a", + "mtu": "9100", + "alias": "etp47a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "48", + "lanes": "192,193", + "description": "etp49a", + "mtu": "9100", + "alias": "etp49a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "50", + "lanes": "200,201", + "description": "etp51a", + "mtu": "9100", + "alias": "etp51a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "52", + "lanes": "208,209", + "description": "etp53a", + "mtu": "9100", + "alias": "etp53a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "54", + "lanes": "216,217", + "description": "etp55a", + "mtu": "9100", + "alias": "etp55a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "56", + "lanes": "224,225", + "description": "etp57a", + "mtu": "9100", + "alias": "etp57a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "58", + "lanes": "232,233", + "description": "etp59a", + "mtu": "9100", + "alias": "etp59a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "60", + "lanes": "240,241", + "description": "etp61a", + "mtu": "9100", + "alias": "etp61a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "62", + "lanes": "248,249", + "description": "etp63a", + "mtu": "9100", + "alias": "etp63a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_4" + } +} diff --git a/tests/db_migrator_input/init_cfg.json b/tests/db_migrator_input/init_cfg.json new file mode 100644 index 0000000000..2c63c08510 --- /dev/null +++ b/tests/db_migrator_input/init_cfg.json @@ -0,0 +1,2 @@ +{ +} diff --git a/tests/db_migrator_input/state_db.json b/tests/db_migrator_input/state_db.json new file mode 100644 index 0000000000..ec8925aa37 --- /dev/null +++ b/tests/db_migrator_input/state_db.json @@ -0,0 +1,5 @@ +{ + "WARM_RESTART_ENABLE_TABLE|system": { + "enable": "true" + } +} diff --git a/tests/db_migrator_test.py b/tests/db_migrator_test.py new file mode 100644 index 0000000000..100cffada1 --- /dev/null +++ b/tests/db_migrator_test.py @@ -0,0 +1,178 @@ +import os +import pytest +import sys + +from swsssdk import SonicV2Connector +from sonic_py_common import device_info + +from .mock_tables import dbconnector + +import config.main as config +from utilities_common.db import Db + +test_path = os.path.dirname(os.path.abspath(__file__)) +mock_db_path = os.path.join(test_path, "db_migrator_input") +modules_path = os.path.dirname(test_path) +scripts_path = os.path.join(modules_path, "scripts") +sys.path.insert(0, test_path) +sys.path.insert(0, modules_path) +sys.path.insert(0, scripts_path) + +os.environ["PATH"] += os.pathsep + scripts_path + +def get_sonic_version_info_mlnx(): + return {'asic_type': 'mellanox'} + + +class TestMellanoxBufferMigrator(object): + @classmethod + def setup_class(cls): + cls.config_db_tables_to_verify = ['BUFFER_POOL', 'BUFFER_PROFILE', 'BUFFER_PG', 'DEFAULT_LOSSLESS_BUFFER_PARAMETER', 'LOSSLESS_TRAFFIC_PATTERN', 'VERSIONS', 'DEVICE_METADATA'] + cls.appl_db_tables_to_verify = ['BUFFER_POOL_TABLE:*', 'BUFFER_PROFILE_TABLE:*', 'BUFFER_PG_TABLE:*', 'BUFFER_QUEUE:*', 'BUFFER_PORT_INGRESS_PROFILE_LIST:*', 'BUFFER_PORT_EGRESS_PROFILE_LIST:*'] + cls.warm_reboot_from_version = 'version_1_0_5' + cls.warm_reboot_to_version = 'version_2_0_0' + + cls.version_list = ['version_1_0_1', 'version_1_0_2', 'version_1_0_3', 'version_1_0_4', 'version_1_0_5', 'version_2_0_0'] + + os.environ['UTILITIES_UNIT_TESTING'] = "2" + + @classmethod + def teardown_class(cls): + os.environ['UTILITIES_UNIT_TESTING'] = "0" + + def make_db_name_by_sku_topo_version(self, sku, topo, version): + return sku + '-' + topo + '-' + version + + def mock_dedicated_config_db(self, filename): + jsonfile = os.path.join(mock_db_path, 'config_db', filename) + dbconnector.dedicated_dbs['CONFIG_DB'] = jsonfile + db = Db() + return db + + def mock_dedicated_state_db(self): + dbconnector.dedicated_dbs['STATE_DB'] = os.path.join(mock_db_path, 'state_db') + + def mock_dedicated_appl_db(self, filename): + jsonfile = os.path.join(mock_db_path, 'appl_db', filename) + dbconnector.dedicated_dbs['APPL_DB'] = jsonfile + appl_db = SonicV2Connector(host='127.0.0.1') + appl_db.connect(appl_db.APPL_DB) + return appl_db + + def clear_dedicated_mock_dbs(self): + dbconnector.dedicated_dbs['CONFIG_DB'] = None + dbconnector.dedicated_dbs['STATE_DB'] = None + dbconnector.dedicated_dbs['APPL_DB'] = None + + def check_config_db(self, result, expected): + for table in self.config_db_tables_to_verify: + assert result.get_table(table) == expected.get_table(table) + + def check_appl_db(self, result, expected): + for table in self.appl_db_tables_to_verify: + keys = expected.keys(expected.APPL_DB, table) + if keys is None: + continue + for key in keys: + assert expected.get_all(expected.APPL_DB, key) == result.get_all(result.APPL_DB, key) + + @pytest.mark.parametrize('scenario', + ['empty-config', + 'non-default-config', + 'non-default-xoff', + 'non-default-lossless-profile-in-pg', + 'non-default-lossy-profile-in-pg', + 'non-default-pg' + ]) + def test_mellanox_buffer_migrator_negative_cold_reboot(self, scenario): + db_before_migrate = scenario + '-input' + db_after_migrate = scenario + '-expected' + device_info.get_sonic_version_info = get_sonic_version_info_mlnx + db = self.mock_dedicated_config_db(db_before_migrate) + import db_migrator + dbmgtr = db_migrator.DBMigrator(None) + dbmgtr.migrate() + expected_db = self.mock_dedicated_config_db(db_after_migrate) + self.check_config_db(dbmgtr.configDB, expected_db.cfgdb) + assert not dbmgtr.mellanox_buffer_migrator.is_buffer_config_default + + @pytest.mark.parametrize('sku_version', + [('ACS-MSN2700', 'version_1_0_1'), + ('Mellanox-SN2700', 'version_1_0_1'), + ('Mellanox-SN2700-Single-Pool', 'version_1_0_4'), + ('Mellanox-SN2700-C28D8', 'version_1_0_1'), + ('Mellanox-SN2700-C28D8-Single-Pool', 'version_1_0_4'), + ('Mellanox-SN2700-D48C8', 'version_1_0_1'), + ('Mellanox-SN2700-D48C8-Single-Pool', 'version_1_0_4'), + ('ACS-MSN3700', 'version_1_0_2'), + ('ACS-MSN3800', 'version_1_0_5'), + ('Mellanox-SN3800-C64', 'version_1_0_5'), + ('Mellanox-SN3800-D112C8', 'version_1_0_5'), + ('Mellanox-SN3800-D24C52', 'version_1_0_5'), + ('Mellanox-SN3800-D28C50', 'version_1_0_5'), + ('ACS-MSN4700', 'version_1_0_4') + ]) + @pytest.mark.parametrize('topo', ['t0', 't1']) + def test_mellanox_buffer_migrator_for_cold_reboot(self, sku_version, topo): + device_info.get_sonic_version_info = get_sonic_version_info_mlnx + sku, start_version = sku_version + version = start_version + start_index = self.version_list.index(start_version) + # Eventually, the config db should be migrated to the latest version + expected_db = self.mock_dedicated_config_db(self.make_db_name_by_sku_topo_version(sku, topo, self.version_list[-1])) + + # start_version represents the database version from which the SKU is supported + # For each SKU, + # migration from any version between start_version and the current version (inclusive) to the current version will be verified + for version in self.version_list[start_index:]: + _ = self.mock_dedicated_config_db(self.make_db_name_by_sku_topo_version(sku, topo, version)) + import db_migrator + dbmgtr = db_migrator.DBMigrator(None) + dbmgtr.migrate() + self.check_config_db(dbmgtr.configDB, expected_db.cfgdb) + assert dbmgtr.mellanox_buffer_migrator.is_buffer_config_default + + self.clear_dedicated_mock_dbs() + + def mellanox_buffer_migrator_warm_reboot_runner(self, input_config_db, input_appl_db, expected_config_db, expected_appl_db, is_buffer_config_default_expected): + expected_config_db = self.mock_dedicated_config_db(expected_config_db) + expected_appl_db = self.mock_dedicated_appl_db(expected_appl_db) + self.mock_dedicated_state_db() + _ = self.mock_dedicated_config_db(input_config_db) + _ = self.mock_dedicated_appl_db(input_appl_db) + + import db_migrator + dbmgtr = db_migrator.DBMigrator(None) + dbmgtr.migrate() + assert dbmgtr.mellanox_buffer_migrator.is_buffer_config_default == is_buffer_config_default_expected + self.check_config_db(dbmgtr.configDB, expected_config_db.cfgdb) + self.check_appl_db(dbmgtr.appDB, expected_appl_db) + + self.clear_dedicated_mock_dbs() + + @pytest.mark.parametrize('sku', + ['ACS-MSN2700', + 'Mellanox-SN2700', 'Mellanox-SN2700-Single-Pool', 'Mellanox-SN2700-C28D8', 'Mellanox-SN2700-C28D8-Single-Pool', + 'Mellanox-SN2700-D48C8', 'Mellanox-SN2700-D48C8-Single-Pool', + 'ACS-MSN3700', + 'ACS-MSN3800', + 'Mellanox-SN3800-C64', + 'Mellanox-SN3800-D112C8', + 'Mellanox-SN3800-D24C52', + 'Mellanox-SN3800-D28C50', + 'ACS-MSN4700' + ]) + @pytest.mark.parametrize('topo', ['t0', 't1']) + def test_mellanox_buffer_migrator_for_warm_reboot(self, sku, topo): + device_info.get_sonic_version_info = get_sonic_version_info_mlnx + # Eventually, the config db should be migrated to the latest version + expected_db_name = self.make_db_name_by_sku_topo_version(sku, topo, self.warm_reboot_to_version) + input_db_name = self.make_db_name_by_sku_topo_version(sku, topo, self.warm_reboot_from_version) + self.mellanox_buffer_migrator_warm_reboot_runner(input_db_name, input_db_name, expected_db_name, expected_db_name, True) + + def test_mellanox_buffer_migrator_negative_nondefault_for_warm_reboot(self): + expected_config_db = 'non-default-config-expected' + expected_appl_db = 'non-default-expected' + input_config_db = 'non-default-config-input' + input_appl_db = 'non-default-input' + self.mellanox_buffer_migrator_warm_reboot_runner(input_config_db, input_appl_db, expected_config_db, expected_appl_db, False) diff --git a/tests/mock_tables/config_db.json b/tests/mock_tables/config_db.json index a535a93ec9..359a40bb3c 100644 --- a/tests/mock_tables/config_db.json +++ b/tests/mock_tables/config_db.json @@ -1433,7 +1433,8 @@ "pfc_enable": "3,4" }, "DEFAULT_LOSSLESS_BUFFER_PARAMETER|AZURE": { - "default_dynamic_th": "0" + "default_dynamic_th": "0", + "over_subscribe_ratio": "2" }, "KUBERNETES_MASTER|SERVER": { "ip": "10.3.157.24", diff --git a/tests/mock_tables/dbconnector.py b/tests/mock_tables/dbconnector.py index 646b3b055b..30a9f5a653 100644 --- a/tests/mock_tables/dbconnector.py +++ b/tests/mock_tables/dbconnector.py @@ -13,6 +13,7 @@ topo = None +dedicated_dbs = {} def clean_up_config(): # Set SonicDBConfig variables to initial state @@ -47,7 +48,11 @@ def connect_SonicV2Connector(self, db_name, retry_on=True): # add the namespace to kwargs for testing multi asic self.dbintf.redis_kwargs['namespace'] = self.namespace # Mock DB filename for unit-test - self.dbintf.redis_kwargs['db_name'] = db_name + global dedicated_dbs + if dedicated_dbs and dedicated_dbs.get(db_name): + self.dbintf.redis_kwargs['db_name'] = dedicated_dbs[db_name] + else: + self.dbintf.redis_kwargs['db_name'] = db_name self.dbintf.redis_kwargs['decode_responses'] = True _old_connect_SonicV2Connector(self, db_name, retry_on) diff --git a/tests/mock_tables/state_db.json b/tests/mock_tables/state_db.json index c15a1b353d..2b2dba66fa 100644 --- a/tests/mock_tables/state_db.json +++ b/tests/mock_tables/state_db.json @@ -444,6 +444,9 @@ "xoff": "32768", "size": "51200" }, + "BUFFER_MAX_PARAM_TABLE|global": { + "mmu_size": "13945824" + }, "CHASSIS_MIDPLANE_TABLE|SUPERVISOR0": { "ip_address": "192.168.1.100", "access": "True" From 794cdd3f2f1dbb8f3e95a97e64305a8738338071 Mon Sep 17 00:00:00 2001 From: Qi Luo Date: Mon, 8 Feb 2021 11:55:42 -0800 Subject: [PATCH 070/342] Fix: initialize SonicDBConfig differently for single or multi_asic (#1409) **- What I did** Fixes https://github.com/Azure/sonic-buildimage/issues/6708 This bug is exposed by https://github.com/Azure/sonic-utilities/pull/1392. Previously the `config` command will call `SonicDBConfig.load_sonic_global_db_config()` even on a single ASIC platform, and it will silently failed. After exposed, it will fail with error syslog message: ``` admin@sonic:~$ sudo config save Existing files will be overwritten, continue? [y/N]: ^CAborted! Feb 8 03:23:48.729434 sonic ERR sniffer: :- initializeGlobalConfig: Sonic database config global file doesn't exist at /var/run/redis/sonic-db/database_global.json ``` **- How to verify it** Tested on DUT --- config/main.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/config/main.py b/config/main.py index 2e8c1393a1..5adf913eda 100644 --- a/config/main.py +++ b/config/main.py @@ -931,7 +931,11 @@ def config(ctx): platform.add_command(mlnx.mlnx) # Load the global config file database_global.json once. - SonicDBConfig.load_sonic_global_db_config() + num_asic = multi_asic.get_num_asics() + if num_asic > 1: + SonicDBConfig.load_sonic_global_db_config() + else: + SonicDBConfig.initialize() if os.geteuid() != 0: exit("Root privileges are required for this operation") From e48eb55ce7ce966e8cf13604eb64f13d77c2973d Mon Sep 17 00:00:00 2001 From: Sujin Kang Date: Mon, 8 Feb 2021 20:02:42 -0800 Subject: [PATCH 071/342] [pcieutil] Remove the warning message and change the config file location (#1362) - What I did Fixes Azure/sonic-buildimage#6437 - How I did it Changed the configuration file path from plugin to platform directory - How to verify it Verify on the device --- pcieutil/main.py | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/pcieutil/main.py b/pcieutil/main.py index 3c250e24a7..807675493b 100644 --- a/pcieutil/main.py +++ b/pcieutil/main.py @@ -26,7 +26,7 @@ # Global platform-specific psuutil class instance platform_pcieutil = None -platform_plugins_path = None +platform_path = None log = logger.Logger(SYSLOG_IDENTIFIER) @@ -46,22 +46,16 @@ def print_result(name, result): def load_platform_pcieutil(): global platform_pcieutil - global platform_plugins_path + global platform_path # Load platform module from source try: platform_path, _ = device_info.get_paths_to_platform_and_hwsku_dirs() - platform_plugins_path = os.path.join(platform_path, "plugins") - sys.path.append(os.path.abspath(platform_plugins_path)) - from pcieutil import PcieUtil + from sonic_platform_base.sonic_pcie.pcie_common import PcieUtil + platform_pcieutil = PcieUtil(platform_path) except ImportError as e: - log.log_warning("Failed to load platform-specific PcieUtil module. Falling back to the common implementation") - try: - from sonic_platform_base.sonic_pcie.pcie_common import PcieUtil - platform_pcieutil = PcieUtil(platform_plugins_path) - except ImportError as e: - log.log_error("Failed to load default PcieUtil module. Error : {}".format(str(e)), True) - raise e + log.log_error("Failed to load default PcieUtil module. Error : {}".format(str(e)), True) + raise e # ==================== CLI commands and groups ==================== @@ -298,7 +292,7 @@ def check(): def generate(): '''Generate config file with current pci device''' platform_pcieutil.dump_conf_yaml() - click.echo("Generate config file pcie.yaml under path %s" % platform_plugins_path) + click.echo("Generated config file '{}/pcie.yaml'".format(platform_path)) if __name__ == '__main__': From a85d708575557e6cff64c9f891f5ea395c9b4ef2 Mon Sep 17 00:00:00 2001 From: Ze Gan Date: Tue, 9 Feb 2021 14:13:03 +0800 Subject: [PATCH 072/342] [config reload]: Restart macsec container (#1410) Add macsec service to list of services to clear fail count and restart after config reload - How to verify it config reload on a device with the macsec service and container running. Verify macsec container comes back up after config reload is finished. config reload on a device without the macsec service and container. Verify config reload proceeds normally. Signed-off-by: Ze Gan --- config/main.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/config/main.py b/config/main.py index 5adf913eda..9ff8ce634b 100644 --- a/config/main.py +++ b/config/main.py @@ -769,7 +769,8 @@ def _reset_failed_services(config_db): 'swss', 'syncd', 'teamd', - 'telemetry' + 'telemetry', + 'macsec', ] disabled_services = _get_disabled_services_list(config_db) @@ -798,7 +799,8 @@ def _restart_services(config_db): 'nat', 'sflow', 'restapi', - 'telemetry' + 'telemetry', + 'macsec', ] disabled_services = _get_disabled_services_list(config_db) From a02190b69703acdf9618af2e227409844c43814a Mon Sep 17 00:00:00 2001 From: Eran Dahan Date: Tue, 9 Feb 2021 20:07:53 +0200 Subject: [PATCH 073/342] Revert "Add FW dump with new SAI implementation (#1338)" (#1407) This reverts commit b10622e08fd0a92dd22688b023f7dbbef498aceb. **What I did** revert changes to call sdkdump and replace with old call to mstdump **How I did it** reverting a previous commit [Mellanox] Add FW dump with new SAI implementation and remove mst dump #1338 **How to verify it** run techsupport --- scripts/generate_dump | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/scripts/generate_dump b/scripts/generate_dump index 92d95dd246..79489eb2f3 100755 --- a/scripts/generate_dump +++ b/scripts/generate_dump @@ -711,12 +711,11 @@ collect_mellanox() { ${CMD_PREFIX}docker exec syncd tar Ccf $(dirname $sai_dump_filename) - $(basename $sai_dump_filename) | tar Cxf /tmp/ - save_file $sai_dump_filename sai_sdk_dump true - file_list_string=$(${CMD_PREFIX}docker exec -it syncd ls -l /tmp | grep sdkdump | awk '{print $9}' | tr -d '\r') - file_list_array=( $file_list_string ) - for element in "${file_list_array[@]}" - do - docker cp syncd:/tmp/$element /tmp - save_file /tmp/$element sai_sdk_dump true + local mst_dump_filename="/tmp/mstdump" + local max_dump_count="3" + for i in $(seq 1 $max_dump_count); do + ${CMD_PREFIX}/usr/bin/mstdump /dev/mst/mt*conf0 > "${mst_dump_filename}${i}" + save_file "${mst_dump_filename}${i}" mstdump true done } From 78968a1275b5c5c3a867ca94f24a79f9ffaa499d Mon Sep 17 00:00:00 2001 From: Joe LeVeque Date: Tue, 9 Feb 2021 18:41:09 -0800 Subject: [PATCH 074/342] Import 'mock' module from 'unittest' library (#1415) As of Python 3, `mock` is part of `unittest` in the Python standard library. Since sonic-utilities is now Python 3-only, we should import it this way everywhere. --- tests/config_dpb_test.py | 2 +- tests/config_mgmt_test.py | 9 ++++----- tests/reboot_cause_test.py | 4 +++- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/tests/config_dpb_test.py b/tests/config_dpb_test.py index 4977c9ffd1..dedcc0641d 100644 --- a/tests/config_dpb_test.py +++ b/tests/config_dpb_test.py @@ -1,8 +1,8 @@ import json import os from imp import load_source +from unittest import mock -import mock import pytest from click.testing import CliRunner from utilities_common.db import Db diff --git a/tests/config_mgmt_test.py b/tests/config_mgmt_test.py index b1c794faf1..adeca71d4e 100644 --- a/tests/config_mgmt_test.py +++ b/tests/config_mgmt_test.py @@ -1,14 +1,13 @@ import imp import os import sys +from unittest import mock, TestCase # import file under test i.e. config_mgmt.py imp.load_source('config_mgmt', \ os.path.join(os.path.dirname(__file__), '..', 'config', 'config_mgmt.py')) import config_mgmt -from unittest import TestCase -from mock import MagicMock, call from json import dump from copy import deepcopy @@ -108,8 +107,8 @@ def config_mgmt_dpb(self, curConfig): self.writeJson(curConfig, config_mgmt.CONFIG_DB_JSON_FILE) cmdpb = config_mgmt.ConfigMgmtDPB(source=config_mgmt.CONFIG_DB_JSON_FILE) # mock funcs - cmdpb.writeConfigDB = MagicMock(return_value=True) - cmdpb._verifyAsicDB = MagicMock(return_value=True) + cmdpb.writeConfigDB = mock.MagicMock(return_value=True) + cmdpb._verifyAsicDB = mock.MagicMock(return_value=True) from .mock_tables import dbconnector return cmdpb @@ -218,7 +217,7 @@ def checkResult(self, cmdpb, delConfig, addConfig): Return: void ''' - calls = [call(delConfig), call(addConfig)] + calls = [mock.call(delConfig), mock.call(addConfig)] assert cmdpb.writeConfigDB.call_count == 2 cmdpb.writeConfigDB.assert_has_calls(calls, any_order=False) return diff --git a/tests/reboot_cause_test.py b/tests/reboot_cause_test.py index 53e4a5b2d2..6ecc248dd5 100644 --- a/tests/reboot_cause_test.py +++ b/tests/reboot_cause_test.py @@ -1,8 +1,10 @@ import os import sys import textwrap -import mock +from unittest import mock + from click.testing import CliRunner + from .mock_tables import dbconnector test_path = os.path.dirname(os.path.abspath(__file__)) From ac9720fd0ecf2382a503d5aa0931105117b33d00 Mon Sep 17 00:00:00 2001 From: Joe LeVeque Date: Wed, 10 Feb 2021 03:44:50 -0800 Subject: [PATCH 075/342] [GitHub] Tweak PR and issue templates (#1419) Tweak GitHub issue and pull request templates - Rename files to align with new standard - Use markdown headings rather than bolded bullets --- .github/ISSUE_TEMPLATE.md | 60 -------------------------------- .github/PULL_REQUEST_TEMPLATE.md | 32 ----------------- .github/issue_template.md | 60 ++++++++++++++++++++++++++++++++ .github/pull_request_template.md | 32 +++++++++++++++++ 4 files changed, 92 insertions(+), 92 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE.md delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md create mode 100644 .github/issue_template.md create mode 100644 .github/pull_request_template.md diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md deleted file mode 100644 index 8915ca213f..0000000000 --- a/.github/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,60 +0,0 @@ - - -**Description** - - - -**Steps to reproduce the issue** -1. -2. -3. - -**Describe the results you received** - - -**Describe the results you expected** - - -**Additional information you deem important (e.g. issue happens only occasionally)** - - -**Output of `show version`** - -``` -(paste your output here) -``` - - - diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index 8dbc11e0a0..0000000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,32 +0,0 @@ - - -**- What I did** - -**- How I did it** - -**- How to verify it** - -**- Previous command output (if the output of a command-line utility has changed)** - -**- New command output (if the output of a command-line utility has changed)** - diff --git a/.github/issue_template.md b/.github/issue_template.md new file mode 100644 index 0000000000..46cd56af6f --- /dev/null +++ b/.github/issue_template.md @@ -0,0 +1,60 @@ + + +#### Description + + + +## Steps to reproduce the issue +1. +2. +3. + +#### Describe the results you received + + +#### Describe the results you expected + + +#### Additional information you deem important (e.g. issue happens only occasionally) + + +#### Output of `show version` + +``` +(paste your output here) +``` + + + diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 0000000000..3b4edc9dd8 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,32 @@ + + +#### What I did + +#### How I did it + +#### How to verify it + +#### Previous command output (if the output of a command-line utility has changed) + +#### New command output (if the output of a command-line utility has changed) + From eb70ebc8da22c6a88b410ea0ad9f178f09ad985b Mon Sep 17 00:00:00 2001 From: Joe LeVeque Date: Wed, 10 Feb 2021 05:29:21 -0800 Subject: [PATCH 076/342] [ci] Test and build package using Azure Pipelines (#1406) --- .artifactignore | 2 ++ .coveragerc | 29 +++++++++++++++++++ azure-pipelines.yml | 70 +++++++++++++++++++++++++++++++++++++++++---- pytest.ini | 4 +-- 4 files changed, 97 insertions(+), 8 deletions(-) create mode 100644 .artifactignore create mode 100644 .coveragerc diff --git a/.artifactignore b/.artifactignore new file mode 100644 index 0000000000..5ccfaaba30 --- /dev/null +++ b/.artifactignore @@ -0,0 +1,2 @@ +**/* +!dist/*.whl diff --git a/.coveragerc b/.coveragerc new file mode 100644 index 0000000000..9850900d18 --- /dev/null +++ b/.coveragerc @@ -0,0 +1,29 @@ +[run] +branch = True +source = + acl_loader + clear + config + connect + consutil + counterpoll + crm + debug + fdbutil + fwutil + pcieutil + pddf_fanutil + pddf_ledutil + pddf_psuutil + pddf_thermalutil + pfc + pfcwd + psuutil + scripts + sfputil + show + sonic_installer + ssdutil + undebug + utilities_common + watchdogutil diff --git a/azure-pipelines.yml b/azure-pipelines.yml index ccfebe05f4..ff2a4bd8ab 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -9,11 +9,71 @@ trigger: pool: vmImage: ubuntu-20.04 +container: + image: sonicdev-microsoft.azurecr.io:443/sonic-slave-buster:latest + options: --privileged + steps: -- script: echo Hello, world! - displayName: 'Run a one-line script' +- task: DownloadPipelineArtifact@2 + inputs: + source: specific + project: build + pipeline: 1 + artifact: sonic-buildimage.kvm + runVersion: 'latestFromBranch' + runBranch: 'refs/heads/master' + displayName: "Download artifacts from latest sonic-buildimage build" + +- script: | + set -xe + sudo dpkg -i libnl-3-200_*.deb + sudo dpkg -i libnl-genl-3-200_*.deb + sudo dpkg -i libnl-route-3-200_*.deb + sudo dpkg -i libnl-nf-3-200_*.deb + sudo dpkg -i libhiredis0.14_*.deb + sudo dpkg -i libswsscommon_1.0.0_amd64.deb + sudo dpkg -i python3-swsscommon_1.0.0_amd64.deb + sudo dpkg -i libyang_1.0.73_amd64.deb + sudo dpkg -i libyang-cpp_1.0.73_amd64.deb + sudo dpkg -i python3-yang_1.0.73_amd64.deb + workingDirectory: $(Pipeline.Workspace)/target/debs/buster/ + displayName: 'Install Debian dependencies' + +- script: | + set -xe + sudo pip3 install swsssdk-2.0.1-py3-none-any.whl + sudo pip3 install sonic_py_common-1.0-py3-none-any.whl + sudo pip3 install sonic_config_engine-1.0-py3-none-any.whl + sudo pip3 install sonic_platform_common-1.0-py3-none-any.whl + sudo pip3 install sonic_yang_mgmt-1.0-py3-none-any.whl + sudo pip3 install sonic_yang_models-1.0-py3-none-any.whl + workingDirectory: $(Pipeline.Workspace)/target/python-wheels/ + displayName: 'Install Python dependencies' - script: | - echo Add other tasks to build, test, and deploy your project. - echo See https://aka.ms/yaml - displayName: 'Run a multi-line script' + python3 setup.py test + displayName: 'Test Python 3' + +- task: PublishTestResults@2 + inputs: + testResultsFiles: '$(System.DefaultWorkingDirectory)/test-results.xml' + testRunTitle: Python 3 + failTaskOnFailedTests: true + condition: succeededOrFailed() + displayName: 'Publish Python 3 test results' + +- task: PublishCodeCoverageResults@1 + inputs: + codeCoverageTool: Cobertura + summaryFileLocation: '$(System.DefaultWorkingDirectory)/coverage.xml' + reportDirectory: '$(System.DefaultWorkingDirectory)/htmlcov/' + displayName: 'Publish Python 3 test coverage' + +- script: | + set -e + python3 setup.py bdist_wheel + displayName: 'Build Python 3 wheel' + +- publish: '$(System.DefaultWorkingDirectory)/dist/' + artifact: wheels + displayName: "Publish Python wheels" diff --git a/pytest.ini b/pytest.ini index 40d110e3b0..836f5437df 100644 --- a/pytest.ini +++ b/pytest.ini @@ -1,4 +1,2 @@ [pytest] -filterwarnings = - ignore::DeprecationWarning -addopts = --cov=acl_loader --cov=clear --cov=config --cov=connect --cov=consutil --cov=counterpoll --cov=crm --cov=debug --cov=fdbutil --cov=fwutil --cov=pcieutil --cov=pfcwd --cov=psuutil --cov=pddf_fanutil --cov=pddf_ledutil --cov=pddf_psuutil --cov=pddf_thermalutil --cov=scripts --cov=sfputil --cov=show --cov=sonic_installer --cov=ssdutil --cov=utilities_common --cov=watchdogutil --cov-report html --cov-report term --cov-report xml +addopts = --cov-config=.coveragerc --cov --cov-report html --cov-report term --cov-report xml --junitxml=test-results.xml -v From f5b8a1e4d0999ccfe812db59b18dd474c0556ec8 Mon Sep 17 00:00:00 2001 From: Lawrence Lee Date: Wed, 10 Feb 2021 12:06:18 -0800 Subject: [PATCH 077/342] [show mux]: Sort output by intf name (#1418) Signed-off-by: Lawrence Lee --- show/muxcable.py | 9 +++++---- tests/muxcable_test.py | 26 +++++++++++++------------- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/show/muxcable.py b/show/muxcable.py index fd2abaf526..07443080ef 100644 --- a/show/muxcable.py +++ b/show/muxcable.py @@ -4,6 +4,7 @@ import click import utilities_common.cli as clicommon +from natsort import natsorted from sonic_py_common import multi_asic from swsscommon.swsscommon import SonicV2Connector, ConfigDBConnector from tabulate import tabulate @@ -189,7 +190,7 @@ def status(port, json_output): port_status_dict["MUX_CABLE"] = {} for namespace in namespaces: asic_id = multi_asic.get_asic_index_from_namespace(namespace) - for key in port_table_keys[asic_id]: + for key in natsorted(port_table_keys[asic_id]): port = key.split("|")[1] muxcable_info_dict[asic_id] = per_npu_statedb[asic_id].get_all( per_npu_statedb[asic_id].STATE_DB, 'MUX_CABLE_TABLE|{}'.format(port)) @@ -200,7 +201,7 @@ def status(port, json_output): print_data = [] for namespace in namespaces: asic_id = multi_asic.get_asic_index_from_namespace(namespace) - for key in port_table_keys[asic_id]: + for key in natsorted(port_table_keys[asic_id]): port = key.split("|")[1] muxcable_info_dict[asic_id] = per_npu_statedb[asic_id].get_all( per_npu_statedb[asic_id].STATE_DB, 'MUX_CABLE_TABLE|{}'.format(port)) @@ -316,7 +317,7 @@ def config(port, json_output): port_status_dict["MUX_CABLE"]["PORTS"] = {} for namespace in namespaces: asic_id = multi_asic.get_asic_index_from_namespace(namespace) - for port in port_mux_tbl_keys[asic_id]: + for port in natsorted(port_mux_tbl_keys[asic_id]): create_json_dump_per_port_config(port_status_dict, per_npu_configdb, asic_id, port) click.echo("{}".format(json.dumps(port_status_dict, indent=4))) @@ -325,7 +326,7 @@ def config(port, json_output): print_peer_tor = [] for namespace in namespaces: asic_id = multi_asic.get_asic_index_from_namespace(namespace) - for port in port_mux_tbl_keys[asic_id]: + for port in natsorted(port_mux_tbl_keys[asic_id]): create_table_dump_per_port_config(print_data, per_npu_configdb, asic_id, port) headers = ['SWITCH_NAME', 'PEER_TOR'] diff --git a/tests/muxcable_test.py b/tests/muxcable_test.py index 0639fca7aa..f6f35e7b8c 100644 --- a/tests/muxcable_test.py +++ b/tests/muxcable_test.py @@ -23,20 +23,16 @@ tabular_data_status_output_expected = """\ PORT STATUS HEALTH ---------- -------- -------- -Ethernet32 active HEALTHY Ethernet0 active HEALTHY Ethernet4 standby HEALTHY Ethernet8 standby HEALTHY Ethernet12 unknown HEALTHY +Ethernet32 active HEALTHY """ json_data_status_output_expected = """\ { "MUX_CABLE": { - "Ethernet32": { - "STATUS": "active", - "HEALTH": "HEALTHY" - }, "Ethernet0": { "STATUS": "active", "HEALTH": "HEALTHY" @@ -52,6 +48,10 @@ "Ethernet12": { "STATUS": "unknown", "HEALTH": "HEALTHY" + }, + "Ethernet32": { + "STATUS": "active", + "HEALTH": "HEALTHY" } } } @@ -64,11 +64,11 @@ sonic-switch 10.2.2.2 port state ipv4 ipv6 ---------- ------- -------- -------- -Ethernet32 auto 10.1.1.1 fc00::75 Ethernet0 active 10.2.1.1 e800::46 Ethernet4 auto 10.3.1.1 e801::46 Ethernet8 active 10.4.1.1 e802::46 Ethernet12 active 10.4.1.1 e802::46 +Ethernet32 auto 10.1.1.1 fc00::75 """ json_data_status_config_output_expected = """\ @@ -76,13 +76,6 @@ "MUX_CABLE": { "PEER_TOR": "10.2.2.2", "PORTS": { - "Ethernet32": { - "STATE": "auto", - "SERVER": { - "IPv4": "10.1.1.1", - "IPv6": "fc00::75" - } - }, "Ethernet0": { "STATE": "active", "SERVER": { @@ -110,6 +103,13 @@ "IPv4": "10.4.1.1", "IPv6": "e802::46" } + }, + "Ethernet32": { + "STATE": "auto", + "SERVER": { + "IPv4": "10.1.1.1", + "IPv6": "fc00::75" + } } } } From 23fa39c84355702bee44682849ae5546651033d8 Mon Sep 17 00:00:00 2001 From: arlakshm <55814491+arlakshm@users.noreply.github.com> Date: Wed, 10 Feb 2021 16:05:22 -0800 Subject: [PATCH 078/342] [multi-asic] show ip interface changes for multi asic (#1396) Signed-off-by: Arvindsrinivasan Lakshmi Narasimhan - What I did The PR has changes to support command show ip interface for multi asic platform. - How I did it The following changes are done in this PR The code for show ip interface has been moved from show/main.py to scripts\ipintutil - Modify the code to support both single and multi asic platform - To do this the library pyroute2 is used to get interface information in each namespace - Add the following options for multi asic [-n, --namespace] to allow user to display the information for given namespaces If this option is not present the information from all the namespaces will be displayed [-d, --display] to allow user to display information related both internal and external interfaces If this option is not present only external interfaces/neighbors will be display - Add unit tests for single and multi asic --- scripts/ipintutil | 273 ++++++++++++++++++++++++++ setup.py | 2 + show/main.py | 188 ++---------------- tests/mock_tables/config_db.json | 22 +++ tests/mock_tables/mock_multi_asic.py | 71 +++++++ tests/mock_tables/mock_single_asic.py | 64 ++++++ tests/show_ip_int_test.py | 156 +++++++++++++++ utilities_common/cli.py | 7 + utilities_common/multi_asic.py | 24 +++ 9 files changed, 636 insertions(+), 171 deletions(-) create mode 100755 scripts/ipintutil create mode 100644 tests/show_ip_int_test.py diff --git a/scripts/ipintutil b/scripts/ipintutil new file mode 100755 index 0000000000..1762ddbac1 --- /dev/null +++ b/scripts/ipintutil @@ -0,0 +1,273 @@ +#!/usr/bin/env python3 + +import os +import subprocess +import sys + +import netaddr +import netifaces +from natsort import natsorted +from tabulate import tabulate + +from sonic_py_common import multi_asic +from swsssdk import ConfigDBConnector, SonicDBConfig +from utilities_common import constants +from utilities_common import multi_asic as multi_asic_util + + +try: + if os.environ["UTILITIES_UNIT_TESTING"] == "2": + + modules_path = os.path.join(os.path.dirname(__file__), "..") + tests_path = os.path.join(modules_path, "tests") + sys.path.insert(0, modules_path) + sys.path.insert(0, tests_path) + import mock_tables.dbconnector + if os.environ["UTILITIES_UNIT_TESTING_TOPOLOGY"] == "multi_asic": + import mock_tables.mock_multi_asic + mock_tables.dbconnector.load_namespace_config() + else: + import mock_tables.mock_single_asic +except KeyError: + pass + + +def get_bgp_peer(): + """ + collects local and bgp neighbor ip along with device name in below format + { + 'local_addr1':['neighbor_device1_name', 'neighbor_device1_ip'], + 'local_addr2':['neighbor_device2_name', 'neighbor_device2_ip'] + } + """ + bgp_peer = {} + config_db = ConfigDBConnector() + config_db.connect() + data = config_db.get_table('BGP_NEIGHBOR') + + for neighbor_ip in data.keys(): + local_addr = data[neighbor_ip]['local_addr'] + neighbor_name = data[neighbor_ip]['name'] + bgp_peer.setdefault(local_addr, [neighbor_name, neighbor_ip]) + return bgp_peer + + +def skip_ip_intf_display(interface, display_option): + if display_option != constants.DISPLAY_ALL: + if interface.startswith('Ethernet') and multi_asic.is_port_internal(interface): + return True + elif interface.startswith('PortChannel') and multi_asic.is_port_channel_internal(interface): + return True + elif interface.startswith('Loopback4096'): + return True + elif interface.startswith('eth0'): + return True + elif interface.startswith('veth'): + return True + return False + + +def get_if_admin_state(iface, namespace): + """ + Given an interface name, return its admin state reported by the kernel + """ + cmd = "cat /sys/class/net/{0}/flags".format(iface) + if namespace != constants.DEFAULT_NAMESPACE: + cmd = "sudo ip netns exec {} {}".format(namespace, cmd) + try: + proc = subprocess.Popen( + cmd, + shell=True, + stderr=subprocess.STDOUT, + stdout=subprocess.PIPE, + text=True) + state_file = proc.communicate()[0] + proc.wait() + + except OSError: + print("Error: unable to get admin state for {}".format(iface)) + return "error" + + try: + content = state_file.rstrip() + flags = int(content, 16) + except ValueError: + return "error" + + if flags & 0x1: + return "up" + else: + return "down" + + +def get_if_oper_state(iface, namespace): + """ + Given an interface name, return its oper state reported by the kernel. + """ + cmd = "cat /sys/class/net/{0}/carrier".format(iface) + if namespace != constants.DEFAULT_NAMESPACE: + cmd = "sudo ip netns exec {} {}".format(namespace, cmd) + try: + proc = subprocess.Popen( + cmd, + shell=True, + stderr=subprocess.STDOUT, + stdout=subprocess.PIPE, + text=True) + state_file = proc.communicate()[0] + proc.wait() + + except OSError: + print("Error: unable to get oper state for {}".format(iface)) + return "error" + + oper_state = state_file.rstrip() + if oper_state == "1": + return "up" + else: + return "down" + + +def get_if_master(iface): + """ + Given an interface name, return its master reported by the kernel. + """ + oper_file = "/sys/class/net/{0}/master" + if os.path.exists(oper_file.format(iface)): + real_path = os.path.realpath(oper_file.format(iface)) + return os.path.basename(real_path) + else: + return "" + + +def get_ip_intfs_in_namespace(af, namespace, display): + """ + Get all the ip intefaces from the kernel for the given namespace + """ + ip_intfs = {} + interfaces = multi_asic_util.multi_asic_get_ip_intf_from_ns(namespace) + bgp_peer = get_bgp_peer() + for iface in interfaces: + ip_intf_attr = [] + if namespace != constants.DEFAULT_NAMESPACE and skip_ip_intf_display(iface, display): + continue + ipaddresses = multi_asic_util.multi_asic_get_ip_intf_addr_from_ns(namespace, iface) + if af in ipaddresses: + ifaddresses = [] + bgp_neighs = {} + ip_intf_attr = [] + for ipaddr in ipaddresses[af]: + neighbor_name = 'N/A' + neighbor_ip = 'N/A' + local_ip = str(ipaddr['addr']) + if af == netifaces.AF_INET: + netmask = netaddr.IPAddress(ipaddr['netmask']).netmask_bits() + else: + netmask = ipaddr['netmask'].split('/', 1)[-1] + local_ip_with_mask = "{}/{}".format(local_ip, str(netmask)) + ifaddresses.append(["", local_ip_with_mask]) + try: + neighbor_name = bgp_peer[local_ip][0] + neighbor_ip = bgp_peer[local_ip][1] + except KeyError: + pass + + bgp_neighs.update({local_ip_with_mask: [neighbor_name, neighbor_ip]}) + + if len(ifaddresses) > 0: + admin = get_if_admin_state(iface, namespace) + oper = get_if_oper_state(iface, namespace) + master = get_if_master(iface) + + ip_intf_attr = { + "vrf": master, + "ipaddr": natsorted(ifaddresses), + "admin": admin, + "oper": oper, + "bgp_neighs": bgp_neighs, + "ns": namespace + } + + ip_intfs[iface] = ip_intf_attr + return ip_intfs + + +def display_ip_intfs(ip_intfs): + header = ['Interface', 'Master', 'IPv4 address/mask', + 'Admin/Oper', 'BGP Neighbor', 'Neighbor IP'] + data = [] + for ip_intf, v in natsorted(ip_intfs.items()): + ip_address = v['ipaddr'][0][1] + neighbour_name = v['bgp_neighs'][ip_address][0] + neighbour_ip = v['bgp_neighs'][ip_address][1] + data.append([ip_intf, v['vrf'], v['ipaddr'][0][1], v['admin'] + "/" + v['oper'], neighbour_name, neighbour_ip]) + for ifaddr in v['ipaddr'][1:]: + neighbour_name = v['bgp_neighs'][ifaddr[1]][0] + neighbour_ip = v['bgp_neighs'][ifaddr[1]][1] + data.append(["", "", ifaddr[1], "", neighbour_name, neighbour_ip]) + print(tabulate(data, header, tablefmt="simple", stralign='left', missingval="")) + + +def get_ip_intfs(af, namespace, display): + ''' + Get all the ip interface present on the device. + This include ip interfaces on the host as well as ip + interfaces in each network namespace + ''' + device = multi_asic_util.MultiAsic(namespace_option=namespace, + display_option=display) + namespace_list = device.get_ns_list_based_on_options() + + # for single asic devices there is one namespace DEFAULT_NAMESPACE + # for multi asic devices, there is one network namespace + # for each asic and one on the host + if device.is_multi_asic: + namespace_list.append(constants.DEFAULT_NAMESPACE) + + ip_intfs = {} + for namespace in namespace_list: + ip_intfs_in_ns = get_ip_intfs_in_namespace(af, namespace, display) + # multi asic device can have same ip interface in different namespace + # so remove the duplicates + if device.is_multi_asic: + for ip_intf, v in ip_intfs_in_ns.items(): + if ip_intf in ip_intfs: + if v['ipaddr'] != ip_intfs[ip_intf]['ipaddr']: + ip_intfs[ip_intf]['ipaddr'] += (v['ipaddr']) + ip_intfs[ip_intf]['bgp_neighs'].update(v['bgp_neighs']) + continue + else: + ip_intfs[ip_intf] = v + else: + ip_intfs.update(ip_intfs_in_ns) + return ip_intfs + + +def main(): + # This script gets the ip interfaces from different linux + # network namespaces. This can be only done from root user. + if os.geteuid() != 0 and os.environ.get("UTILITIES_UNIT_TESTING", "0") != "2": + sys.exit("Root privileges required for this operation") + + parser = multi_asic_util.multi_asic_args() + parser.add_argument('-a', '--address_family', type=str, help='ipv4 or ipv6 interfaces', default="ipv4") + args = parser.parse_args() + namespace = args.namespace + display = args.display + + if args.address_family == "ipv4": + af = netifaces.AF_INET + elif args.address_family == "ipv6": + af = netifaces.AF_INET6 + else: + sys.exit("Invalid argument -a {}".format(args.address_family)) + + SonicDBConfig.load_sonic_global_db_config() + ip_intfs = get_ip_intfs(af, namespace, display) + display_ip_intfs(ip_intfs) + + sys.exit(0) + + +if __name__ == "__main__": + main() diff --git a/setup.py b/setup.py index b795adb1ea..8018efd82c 100644 --- a/setup.py +++ b/setup.py @@ -90,6 +90,7 @@ 'scripts/generate_dump', 'scripts/intfutil', 'scripts/intfstat', + 'scripts/ipintutil', 'scripts/lldpshow', 'scripts/log_ssd_health', 'scripts/mellanox_buffer_migrator.py', @@ -158,6 +159,7 @@ 'netaddr==0.8.0', 'netifaces==0.10.7', 'pexpect==4.8.0', + 'pyroute2==0.5.14', 'requests==2.25.0', 'sonic-platform-common', 'sonic-py-common', diff --git a/show/main.py b/show/main.py index 2d4ab881a5..4a1cc0d855 100644 --- a/show/main.py +++ b/show/main.py @@ -5,7 +5,6 @@ import re import click -import netifaces import utilities_common.cli as clicommon import utilities_common.multi_asic as multi_asic_util from natsort import natsorted @@ -713,65 +712,6 @@ def ip(): pass -# -# get_if_admin_state -# -# Given an interface name, return its admin state reported by the kernel. -# -def get_if_admin_state(iface): - admin_file = "/sys/class/net/{0}/flags" - - try: - state_file = open(admin_file.format(iface), "r") - except IOError as e: - print("Error: unable to open file: %s" % str(e)) - return "error" - - content = state_file.readline().rstrip() - flags = int(content, 16) - - if flags & 0x1: - return "up" - else: - return "down" - - -# -# get_if_oper_state -# -# Given an interface name, return its oper state reported by the kernel. -# -def get_if_oper_state(iface): - oper_file = "/sys/class/net/{0}/carrier" - - try: - state_file = open(oper_file.format(iface), "r") - except IOError as e: - print("Error: unable to open file: %s" % str(e)) - return "error" - - oper_state = state_file.readline().rstrip() - if oper_state == "1": - return "up" - else: - return "down" - - -# -# get_if_master -# -# Given an interface name, return its master reported by the kernel. -# -def get_if_master(iface): - oper_file = "/sys/class/net/{0}/master" - - if os.path.exists(oper_file.format(iface)): - real_path = os.path.realpath(oper_file.format(iface)) - return os.path.basename(real_path) - else: - return "" - - # # 'show ip interfaces' command # @@ -780,75 +720,14 @@ def get_if_master(iface): # excluded. # @ip.command() -def interfaces(): - """Show interfaces IPv4 address""" - import netaddr - header = ['Interface', 'Master', 'IPv4 address/mask', 'Admin/Oper', 'BGP Neighbor', 'Neighbor IP'] - data = [] - bgp_peer = get_bgp_peer() - - interfaces = natsorted(netifaces.interfaces()) - - for iface in interfaces: - ipaddresses = netifaces.ifaddresses(iface) - - if netifaces.AF_INET in ipaddresses: - ifaddresses = [] - neighbor_info = [] - for ipaddr in ipaddresses[netifaces.AF_INET]: - neighbor_name = 'N/A' - neighbor_ip = 'N/A' - local_ip = str(ipaddr['addr']) - netmask = netaddr.IPAddress(ipaddr['netmask']).netmask_bits() - ifaddresses.append(["", local_ip + "/" + str(netmask)]) - try: - neighbor_name = bgp_peer[local_ip][0] - neighbor_ip = bgp_peer[local_ip][1] - except Exception: - pass - neighbor_info.append([neighbor_name, neighbor_ip]) - - if len(ifaddresses) > 0: - admin = get_if_admin_state(iface) - if admin == "up": - oper = get_if_oper_state(iface) - else: - oper = "down" - master = get_if_master(iface) - if clicommon.get_interface_naming_mode() == "alias": - iface = iface_alias_converter.name_to_alias(iface) - - data.append([iface, master, ifaddresses[0][1], admin + "/" + oper, neighbor_info[0][0], neighbor_info[0][1]]) - neighbor_info.pop(0) - - for ifaddr in ifaddresses[1:]: - data.append(["", "", ifaddr[1], admin + "/" + oper, neighbor_info[0][0], neighbor_info[0][1]]) - neighbor_info.pop(0) - - print(tabulate(data, header, tablefmt="simple", stralign='left', missingval="")) - -# get bgp peering info -def get_bgp_peer(): - """ - collects local and bgp neighbor ip along with device name in below format - { - 'local_addr1':['neighbor_device1_name', 'neighbor_device1_ip'], - 'local_addr2':['neighbor_device2_name', 'neighbor_device2_ip'] - } - """ - config_db = ConfigDBConnector() - config_db.connect() - bgp_peer = {} - bgp_neighbor_tables = ['BGP_NEIGHBOR', 'BGP_INTERNAL_NEIGHBOR'] - - for table in bgp_neighbor_tables: - data = config_db.get_table(table) - for neighbor_ip in data: - local_addr = data[neighbor_ip]['local_addr'] - neighbor_name = data[neighbor_ip]['name'] - bgp_peer.setdefault(local_addr, [neighbor_name, neighbor_ip]) +@multi_asic_util.multi_asic_click_options +def interfaces(namespace, display): + cmd = "sudo ipintutil -a ipv4" + if namespace is not None: + cmd += " -n {}".format(namespace) - return bgp_peer + cmd += " -d {}".format(display) + clicommon.run_command(cmd) # # 'route' subcommand ("show ip route") @@ -924,49 +803,16 @@ def prefix_list(prefix_list_name, verbose): # excluded. # @ipv6.command() -def interfaces(): - """Show interfaces IPv6 address""" - header = ['Interface', 'Master', 'IPv6 address/mask', 'Admin/Oper', 'BGP Neighbor', 'Neighbor IP'] - data = [] - bgp_peer = get_bgp_peer() - - interfaces = natsorted(netifaces.interfaces()) - - for iface in interfaces: - ipaddresses = netifaces.ifaddresses(iface) - - if netifaces.AF_INET6 in ipaddresses: - ifaddresses = [] - neighbor_info = [] - for ipaddr in ipaddresses[netifaces.AF_INET6]: - neighbor_name = 'N/A' - neighbor_ip = 'N/A' - local_ip = str(ipaddr['addr']) - netmask = ipaddr['netmask'].split('/', 1)[-1] - ifaddresses.append(["", local_ip + "/" + str(netmask)]) - try: - neighbor_name = bgp_peer[local_ip][0] - neighbor_ip = bgp_peer[local_ip][1] - except Exception: - pass - neighbor_info.append([neighbor_name, neighbor_ip]) - - if len(ifaddresses) > 0: - admin = get_if_admin_state(iface) - if admin == "up": - oper = get_if_oper_state(iface) - else: - oper = "down" - master = get_if_master(iface) - if clicommon.get_interface_naming_mode() == "alias": - iface = iface_alias_converter.name_to_alias(iface) - data.append([iface, master, ifaddresses[0][1], admin + "/" + oper, neighbor_info[0][0], neighbor_info[0][1]]) - neighbor_info.pop(0) - for ifaddr in ifaddresses[1:]: - data.append(["", "", ifaddr[1], admin + "/" + oper, neighbor_info[0][0], neighbor_info[0][1]]) - neighbor_info.pop(0) - - print(tabulate(data, header, tablefmt="simple", stralign='left', missingval="")) +@multi_asic_util.multi_asic_click_options +def interfaces(namespace, display): + cmd = "sudo ipintutil -a ipv6" + + if namespace is not None: + cmd += " -n {}".format(namespace) + + cmd += " -d {}".format(display) + + clicommon.run_command(cmd) # diff --git a/tests/mock_tables/config_db.json b/tests/mock_tables/config_db.json index 359a40bb3c..34ec788994 100644 --- a/tests/mock_tables/config_db.json +++ b/tests/mock_tables/config_db.json @@ -1456,5 +1456,27 @@ "wred_red_enable": "true", "yellow_drop_probability": "5", "red_drop_probability": "5" + }, + "BGP_NEIGHBOR|20.1.1.5": { + "rrclient": "0", + "name": "T2-Peer", + "local_addr": "20.1.1.1", + "nhopself": "0", + "admin_status": "up", + "holdtime": "10", + "asn": "65200", + "keepalive": "3" + }, + "BGP_NEIGHBOR|30.1.1.5": { + "rrclient": "0", + "name": "T0-Peer", + "local_addr": "30.1.1.1", + "nhopself": "0", + "admin_status": "up", + "holdtime": "10", + "asn": "65200", + "keepalive": "3" } + + } diff --git a/tests/mock_tables/mock_multi_asic.py b/tests/mock_tables/mock_multi_asic.py index 3e875af36a..46f943369d 100644 --- a/tests/mock_tables/mock_multi_asic.py +++ b/tests/mock_tables/mock_multi_asic.py @@ -2,6 +2,57 @@ from unittest import mock from sonic_py_common import multi_asic +from utilities_common import multi_asic as multi_asic_util + +mock_intf_table = { + '': { + 'eth0': { + 2: [{'addr': '10.1.1.1', 'netmask': '255.255.255.0', 'broadcast': '10.1.1.1'}], + 10: [{'addr': '3100::1', 'netmask': 'ffff:ffff:ffff:ffff::/64'}] + }, + 'lo': { + 2: [{'addr': '127.0.0.1', 'netmask': '255.0.0.0', 'broadcast': '127.255.255.255'}], + 10: [{'addr': '::1', 'netmask':'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff/128'}] + } + }, + 'asic0': { + 'Loopback0': { + 17: [{'addr': '62:a5:9d:f4:16:96', 'broadcast': 'ff:ff:ff:ff:ff:ff'}], + 2: [{'addr': '40.1.1.1', 'netmask': '255.255.255.255', 'broadcast': '40.1.1.1'}], + 10: [{'addr': 'fe80::60a5:9dff:fef4:1696%Loopback0', 'netmask': 'ffff:ffff:ffff:ffff::/64'}] + }, + 'PortChannel0001': { + 17: [{'addr': '82:fd:d1:5b:45:2f', 'broadcast': 'ff:ff:ff:ff:ff:ff'}], + 2: [{'addr': '20.1.1.1', 'netmask': '255.255.255.0', 'broadcast': '20.1.1.1'}], + 10: [{'addr': 'aa00::1', 'netmask': 'ffff:ffff:ffff:ffff::/64'}, {'addr': 'fe80::80fd:d1ff:fe5b:452f', 'netmask': 'ffff:ffff:ffff:ffff::/64'}] + }, + 'Loopback4096': { + 2: [{'addr': '1.1.1.1', 'netmask': '255.255.255.0', 'broadcast': '1.1.1.1'}] + }, + 'veth@eth1': { + 2: [{'addr': '192.1.1.1', 'netmask': '255.255.255.0', 'broadcast': '192.1.1.1'}] + } + }, + 'asic1': { + 'Loopback0': { + 17: [{'addr': '62:a5:9d:f4:16:96', 'broadcast': 'ff:ff:ff:ff:ff:ff'}], + 2: [{'addr': '40.1.1.1', 'netmask': '255.255.255.255', 'broadcast': '40.1.1.1'}], + 10: [{'addr': 'fe80::60a5:9dff:fef4:1696%Loopback0', 'netmask': 'ffff:ffff:ffff:ffff::/64'}] + }, + 'PortChannel0002': { + 17: [{'addr': '82:fd:d1:5b:45:2f', 'broadcast': 'ff:ff:ff:ff:ff:ff'}], + 2: [{'addr': '30.1.1.1', 'netmask': '255.255.255.0', 'broadcast': '30.1.1.1'}], + 10: [{'addr': 'bb00::1', 'netmask': 'ffff:ffff:ffff:ffff::/64'}, {'addr': 'fe80::80fd:abff:fe5b:452f', 'netmask': 'ffff:ffff:ffff:ffff::/64'}] + }, + 'Loopback4096': { + 2: [{'addr': '2.1.1.1', 'netmask': '255.255.255.0', 'broadcast': '2.1.1.1'}] + }, + 'veth@eth2': { + 2: [{'addr': '193.1.1.1', 'netmask': '255.255.255.0', 'broadcast': '193.1.1.1'}] + } + } +} + def mock_get_num_asics(): return 2 @@ -15,7 +66,27 @@ def mock_get_namespace_list(namespace=None): return ['asic0', 'asic1'] +def mock_multi_asic_get_ip_intf_from_ns(namespace): + interfaces = [] + try: + interfaces = list(mock_intf_table[namespace].keys()) + except KeyError: + pass + return interfaces + + +def mock_multi_asic_get_ip_intf_addr_from_ns(namespace, iface): + ipaddresses = [] + try: + ipaddresses = mock_intf_table[namespace][iface] + except KeyError: + pass + return ipaddresses + + multi_asic.get_num_asics = mock_get_num_asics multi_asic.is_multi_asic = mock_is_multi_asic multi_asic.get_namespace_list = mock_get_namespace_list multi_asic.get_namespaces_from_linux = mock_get_namespace_list +multi_asic_util.multi_asic_get_ip_intf_from_ns = mock_multi_asic_get_ip_intf_from_ns +multi_asic_util.multi_asic_get_ip_intf_addr_from_ns = mock_multi_asic_get_ip_intf_addr_from_ns diff --git a/tests/mock_tables/mock_single_asic.py b/tests/mock_tables/mock_single_asic.py index f6607cf362..08c2157c9d 100644 --- a/tests/mock_tables/mock_single_asic.py +++ b/tests/mock_tables/mock_single_asic.py @@ -2,6 +2,49 @@ from unittest import mock from sonic_py_common import multi_asic +from utilities_common import multi_asic as multi_asic_util + +mock_intf_table = { + '': { + 'eth0': { + 2: [{'addr': '10.1.1.1', 'netmask': '255.255.255.0', 'broadcast': '10.1.1.1'}], + 10: [{'addr': '3100::1', 'netmask': 'ffff:ffff:ffff:ffff::/64'}] + }, + 'Ethernet0': { + 17: [{'addr': '82:fd:d1:5b:45:2f', 'broadcast': 'ff:ff:ff:ff:ff:ff'}], + 2: [ + {'addr': '20.1.1.1', 'netmask': '255.255.255.0', 'broadcast': '20.1.1.1'}, + {'addr': '21.1.1.1', 'netmask': '255.255.255.0', 'broadcast': '21.1.1.1'} + ], + 10: [ + {'addr': 'aa00::1', 'netmask': 'ffff:ffff:ffff:ffff::/64'}, + {'addr': '2100::1', 'netmask': 'ffff:ffff:ffff:ffff::/64'}, + {'addr': 'fe80::64be:a1ff:fe85:c6c4%Ethernet0', 'netmask': 'ffff:ffff:ffff:ffff::/64'} + ] + }, + 'PortChannel0001': { + 17: [{'addr': '82:fd:d1:5b:45:2f', 'broadcast': 'ff:ff:ff:ff:ff:ff'}], + 2: [{'addr': '30.1.1.1', 'netmask': '255.255.255.0', 'broadcast': '30.1.1.1'}], + 10: [ + {'addr': 'ab00::1', 'netmask': 'ffff:ffff:ffff:ffff::/64'}, + {'addr': 'fe80::cc8d:60ff:fe08:139f%PortChannel0001', 'netmask': 'ffff:ffff:ffff:ffff::/64'} + ] + }, + 'Vlan100': { + 17: [{'addr': '82:fd:d1:5b:45:2f', 'broadcast': 'ff:ff:ff:ff:ff:ff'}], + 2: [{'addr': '40.1.1.1', 'netmask': '255.255.255.0', 'broadcast': '30.1.1.1'}], + 10: [ + {'addr': 'cc00::1', 'netmask': 'ffff:ffff:ffff:ffff::/64'}, + {'addr': 'fe80::c029:3fff:fe41:cf56%Vlan100', 'netmask': 'ffff:ffff:ffff:ffff::/64'} + ] + }, + 'lo': { + 2: [{'addr': '127.0.0.1', 'netmask': '255.0.0.0', 'broadcast': '127.255.255.255'}], + 10: [{'addr': '::1', 'netmask':'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff/128'}] + } + } +} + def mock_get_num_asics(): return 1 @@ -12,6 +55,27 @@ def mock_is_multi_asic(): def mock_get_namespace_list(namespace=None): return [''] + +def mock_single_asic_get_ip_intf_from_ns(namespace): + interfaces = [] + try: + interfaces = list(mock_intf_table[namespace].keys()) + except KeyError: + pass + return interfaces + + +def mock_single_asic_get_ip_intf_addr_from_ns(namespace, iface): + ipaddresses = [] + try: + ipaddresses = mock_intf_table[namespace][iface] + except KeyError: + pass + return ipaddresses + + multi_asic.is_multi_asic = mock_is_multi_asic multi_asic.get_num_asics = mock_get_num_asics multi_asic.get_namespace_list = mock_get_namespace_list +multi_asic_util.multi_asic_get_ip_intf_from_ns = mock_single_asic_get_ip_intf_from_ns +multi_asic_util.multi_asic_get_ip_intf_addr_from_ns = mock_single_asic_get_ip_intf_addr_from_ns \ No newline at end of file diff --git a/tests/show_ip_int_test.py b/tests/show_ip_int_test.py new file mode 100644 index 0000000000..31350d3ea5 --- /dev/null +++ b/tests/show_ip_int_test.py @@ -0,0 +1,156 @@ +import os +import pytest +import subprocess +from click.testing import CliRunner + +import show.main as show +from .utils import get_result_and_return_code + +root_path = os.path.dirname(os.path.abspath(__file__)) +modules_path = os.path.dirname(root_path) +scripts_path = os.path.join(modules_path, "scripts") + +show_ipv4_intf_with_multple_ips = """\ +Interface Master IPv4 address/mask Admin/Oper BGP Neighbor Neighbor IP +--------------- -------- ------------------- ------------ -------------- ------------- +Ethernet0 20.1.1.1/24 error/down T2-Peer 20.1.1.5 + 21.1.1.1/24 N/A N/A +PortChannel0001 30.1.1.1/24 error/down T0-Peer 30.1.1.5 +Vlan100 40.1.1.1/24 error/down N/A N/A""" + +show_ipv6_intf_with_multiple_ips = """\ +Interface Master IPv4 address/mask Admin/Oper BGP Neighbor Neighbor IP +--------------- -------- -------------------------------------------- ------------ -------------- ------------- +Ethernet0 2100::1/64 error/down N/A N/A + aa00::1/64 N/A N/A + fe80::64be:a1ff:fe85:c6c4%Ethernet0/64 N/A N/A +PortChannel0001 ab00::1/64 error/down N/A N/A + fe80::cc8d:60ff:fe08:139f%PortChannel0001/64 N/A N/A +Vlan100 cc00::1/64 error/down N/A N/A + fe80::c029:3fff:fe41:cf56%Vlan100/64 N/A N/A""" + +show_multi_asic_ip_intf = """\ +Interface Master IPv4 address/mask Admin/Oper BGP Neighbor Neighbor IP +--------------- -------- ------------------- ------------ -------------- ------------- +Loopback0 40.1.1.1/32 error/down N/A N/A +PortChannel0001 20.1.1.1/24 error/down T2-Peer 20.1.1.5""" + +show_multi_asic_ipv6_intf = """\ +Interface Master IPv4 address/mask Admin/Oper BGP Neighbor Neighbor IP +--------------- -------- -------------------------------------- ------------ -------------- ------------- +Loopback0 fe80::60a5:9dff:fef4:1696%Loopback0/64 error/down N/A N/A +PortChannel0001 aa00::1/64 error/down N/A N/A + fe80::80fd:d1ff:fe5b:452f/64 N/A N/A""" + +show_multi_asic_ip_intf_all = """\ +Interface Master IPv4 address/mask Admin/Oper BGP Neighbor Neighbor IP +--------------- -------- ------------------- ------------ -------------- ------------- +Loopback0 40.1.1.1/32 error/down N/A N/A +Loopback4096 1.1.1.1/24 error/down N/A N/A + 2.1.1.1/24 N/A N/A +PortChannel0001 20.1.1.1/24 error/down T2-Peer 20.1.1.5 +PortChannel0002 30.1.1.1/24 error/down T0-Peer 30.1.1.5 +veth@eth1 192.1.1.1/24 error/down N/A N/A +veth@eth2 193.1.1.1/24 error/down N/A N/A""" + +show_multi_asic_ipv6_intf_all = """\ +Interface Master IPv4 address/mask Admin/Oper BGP Neighbor Neighbor IP +--------------- -------- -------------------------------------- ------------ -------------- ------------- +Loopback0 fe80::60a5:9dff:fef4:1696%Loopback0/64 error/down N/A N/A +PortChannel0001 aa00::1/64 error/down N/A N/A + fe80::80fd:d1ff:fe5b:452f/64 N/A N/A +PortChannel0002 bb00::1/64 error/down N/A N/A + fe80::80fd:abff:fe5b:452f/64 N/A N/A""" + +show_error_invalid_af = """Invalid argument -a ipv5""" + + +@pytest.fixture(scope="class") +def setup_teardown_single_asic(): + os.environ["PATH"] += os.pathsep + scripts_path + os.environ["UTILITIES_UNIT_TESTING"] = "2" + os.environ["UTILITIES_UNIT_TESTING_TOPOLOGY"] = "" + yield + + os.environ["UTILITIES_UNIT_TESTING"] = "0" + + +@pytest.fixture(scope="class") +def setup_teardown_multi_asic(): + os.environ["PATH"] += os.pathsep + scripts_path + os.environ["UTILITIES_UNIT_TESTING"] = "2" + os.environ["UTILITIES_UNIT_TESTING_TOPOLOGY"] = "multi_asic" + yield + os.environ["UTILITIES_UNIT_TESTING"] = "0" + os.environ["UTILITIES_UNIT_TESTING_TOPOLOGY"] = "" + + +def verify_output(output, expected_output): + lines = output.splitlines() + ignored_intfs = ['eth0', 'lo'] + for intf in ignored_intfs: + # the output should have line to display the ip address of eth0 and lo + assert len([line for line in lines if line.startswith(intf)]) == 1 + + new_output = '\n'.join([line for line in lines if not any(i in line for i in ignored_intfs)]) + print(new_output) + assert new_output == expected_output + + +@pytest.mark.usefixtures('setup_teardown_single_asic') +class TestShowIpInt(object): + + def test_show_ip_intf_v4(self): + return_code, result = get_result_and_return_code(" ipintutil") + assert return_code == 0 + verify_output(result, show_ipv4_intf_with_multple_ips) + + def test_show_ip_intf_v6(self): + return_code, result = get_result_and_return_code(" ipintutil -a ipv6") + + assert return_code == 0 + verify_output(result, show_ipv6_intf_with_multiple_ips) + + def test_show_intf_invalid_af_option(self): + return_code, result = get_result_and_return_code(" ipintutil -a ipv5") + assert return_code == 1 + assert result == show_error_invalid_af + + +@pytest.mark.usefixtures('setup_teardown_multi_asic') +class TestMultiAsicShowIpInt(object): + + def test_show_ip_intf_v4(self): + return_code, result = get_result_and_return_code("ipintutil") + assert return_code == 0 + verify_output(result, show_multi_asic_ip_intf) + + def test_show_ip_intf_v4_asic0(self): + return_code, result = get_result_and_return_code("ipintutil -n asic0") + assert return_code == 0 + verify_output(result, show_multi_asic_ip_intf) + + def test_show_ip_intf_v4_all(self): + return_code, result = get_result_and_return_code("ipintutil -d all") + assert return_code == 0 + verify_output(result, show_multi_asic_ip_intf_all) + + def test_show_ip_intf_v6(self): + return_code, result = get_result_and_return_code("ipintutil -a ipv6") + assert return_code == 0 + verify_output(result, show_multi_asic_ipv6_intf) + + def test_show_ip_intf_v6_asic0(self): + return_code, result = get_result_and_return_code("ipintutil -a ipv6 -n asic0") + assert return_code == 0 + verify_output(result, show_multi_asic_ipv6_intf) + + def test_show_ip_intf_v6_all(self): + return_code, result = get_result_and_return_code("ipintutil -a ipv6 -d all") + assert return_code == 0 + verify_output(result, show_multi_asic_ipv6_intf_all) + + def test_show_intf_invalid_af_option(self): + return_code, result = get_result_and_return_code(" ipintutil -a ipv5") + assert return_code == 1 + assert result == show_error_invalid_af diff --git a/utilities_common/cli.py b/utilities_common/cli.py index 495bf7d5e6..4046d097d3 100644 --- a/utilities_common/cli.py +++ b/utilities_common/cli.py @@ -465,6 +465,13 @@ def run_command_in_alias_mode(command): if "Vlan" in output: output = output.replace('Vlan', ' Vlan') print_output_in_alias_mode(output, index) + elif command.startswith("sudo ipintutil"): + """show ip(v6) int""" + index = 0 + if output.startswith("Interface"): + output = output.replace("Interface", "Interface".rjust( + iface_alias_converter.alias_max_length)) + print_output_in_alias_mode(output, index) else: """ diff --git a/utilities_common/multi_asic.py b/utilities_common/multi_asic.py index 51a6a18b65..5d7d9f3517 100644 --- a/utilities_common/multi_asic.py +++ b/utilities_common/multi_asic.py @@ -2,6 +2,9 @@ import functools import click +import netifaces +import pyroute2 +from natsort import natsorted from sonic_py_common import multi_asic from utilities_common import constants @@ -148,3 +151,24 @@ def multi_asic_args(parser=None): parser.add_argument('-n', '--namespace', default=None, help='Display interfaces for specific namespace') return parser + +def multi_asic_get_ip_intf_from_ns(namespace): + if namespace != constants.DEFAULT_NAMESPACE: + pyroute2.netns.pushns(namespace) + interfaces = natsorted(netifaces.interfaces()) + + if namespace != constants.DEFAULT_NAMESPACE: + pyroute2.netns.popns() + + return interfaces + + +def multi_asic_get_ip_intf_addr_from_ns(namespace, iface): + if namespace != constants.DEFAULT_NAMESPACE: + pyroute2.netns.pushns(namespace) + ipaddresses = netifaces.ifaddresses(iface) + + if namespace != constants.DEFAULT_NAMESPACE: + pyroute2.netns.popns() + + return ipaddresses From 73e28b98ece3ea590dab69bae97db7504425c041 Mon Sep 17 00:00:00 2001 From: Qi Luo Date: Thu, 11 Feb 2021 15:05:10 -0800 Subject: [PATCH 079/342] Fix: initialize SonicDBConfig differently for single or multi_asic (continued) (#1417) **- What I did** This bug is exposed by https://github.com/Azure/sonic-utilities/pull/1392. Previously the `config` command will call `SonicDBConfig.load_sonic_global_db_config()` even on a single ASIC platform, and it will silently failed. After exposed, it will fail with error syslog message: ``` Feb 9 05:04:46.462361 vlab-01 ERR python3: :- initializeGlobalConfig: Sonic database config global file doesn't exist at /var/run/redis/sonic-db/database_global.json ``` **- How to verify it** Unit test and test in DUT. --- acl_loader/main.py | 11 ++++++++--- crm/main.py | 11 ++++++++--- scripts/db_migrator.py | 2 ++ scripts/lldpshow | 8 ++++++-- scripts/portconfig | 2 ++ 5 files changed, 26 insertions(+), 8 deletions(-) diff --git a/acl_loader/main.py b/acl_loader/main.py index 0d8386f5c7..e0df7eec8b 100644 --- a/acl_loader/main.py +++ b/acl_loader/main.py @@ -9,7 +9,7 @@ import tabulate import pyangbind.lib.pybindJSON as pybindJSON from natsort import natsorted -from sonic_py_common import device_info +from sonic_py_common import device_info, multi_asic from swsscommon.swsscommon import SonicV2Connector, ConfigDBConnector, SonicDBConfig @@ -114,8 +114,13 @@ def __init__(self): self.tables_db_info = {} self.rules_db_info = {} self.rules_info = {} - # Load global db config. This call is no-op in single npu platforms - SonicDBConfig.load_sonic_global_db_config() + + if multi_asic.is_multi_asic(): + # Load global db config + SonicDBConfig.load_sonic_global_db_config() + else: + SonicDBConfig.initialize() + self.sessions_db_info = {} self.configdb = ConfigDBConnector() self.configdb.connect() diff --git a/crm/main.py b/crm/main.py index caf0108b12..fdde198b1a 100644 --- a/crm/main.py +++ b/crm/main.py @@ -211,15 +211,20 @@ def cli(ctx): # Use the db object if given as input. db = None if ctx.obj is None else ctx.obj.cfgdb + # Note: SonicDBConfig may be already initialized in unit test, then skip + if not SonicDBConfig.isInit(): + if multi_asic.is_multi_asic(): + # Load the global config file database_global.json once. + SonicDBConfig.load_sonic_global_db_config() + else: + SonicDBConfig.initialize() + context = { "crm": Crm(db) } ctx.obj = context - # Load the global config file database_global.json once. - SonicDBConfig.load_sonic_global_db_config() - @cli.group() @click.pass_context def config(ctx): diff --git a/scripts/db_migrator.py b/scripts/db_migrator.py index c5d8232e4a..6e18ca4034 100755 --- a/scripts/db_migrator.py +++ b/scripts/db_migrator.py @@ -555,6 +555,8 @@ def main(): if args.namespace is not None: SonicDBConfig.load_sonic_global_db_config(namespace=args.namespace) + else: + SonicDBConfig.initialize() if socket_path: dbmgtr = DBMigrator(namespace, socket=socket_path) diff --git a/scripts/lldpshow b/scripts/lldpshow index b6682b8df1..c41e78db00 100755 --- a/scripts/lldpshow +++ b/scripts/lldpshow @@ -25,7 +25,7 @@ import subprocess import sys import xml.etree.ElementTree as ET -from sonic_py_common import device_info +from sonic_py_common import device_info, multi_asic from swsscommon.swsscommon import ConfigDBConnector, SonicDBConfig from tabulate import tabulate @@ -47,7 +47,11 @@ class Lldpshow(object): # So far only find Router and Bridge two capabilities in lldpctl, so any other capacility types will be read as Other # if further capability type is supported like WLAN, can just add the tag definition here self.ctags = {'Router': 'R', 'Bridge': 'B'} - SonicDBConfig.load_sonic_global_db_config() + + if multi_asic.is_multi_asic(): + SonicDBConfig.load_sonic_global_db_config() + else: + SonicDBConfig.initialize() # For multi-asic platforms we will get only front-panel interface to display namespaces = device_info.get_all_namespaces() diff --git a/scripts/portconfig b/scripts/portconfig index 9a7cc545a3..b22e547101 100755 --- a/scripts/portconfig +++ b/scripts/portconfig @@ -82,6 +82,8 @@ def main(): if args.namespace is not None: SonicDBConfig.load_sonic_global_db_config(namespace=args.namespace) + else: + SonicDBConfig.initialize() try: port = portconfig(args.verbose, args.port, args.namespace) From c7e46c9a9c6d9f9108e9e27ecf6effb2b8727414 Mon Sep 17 00:00:00 2001 From: Joe LeVeque Date: Thu, 11 Feb 2021 16:02:46 -0800 Subject: [PATCH 080/342] Fix deprecation warnings (#1423) #### What I did Fix Python deprecation warnings as reported by pytest #### How I did it Convert strings which include escape sequences into raw strings --- config/config_mgmt.py | 3 +-- config/main.py | 4 ++-- scripts/route_check.py | 2 +- tests/sku_create_test.py | 4 ++-- 4 files changed, 6 insertions(+), 7 deletions(-) diff --git a/config/config_mgmt.py b/config/config_mgmt.py index a8f933b85a..194c8aefc9 100644 --- a/config/config_mgmt.py +++ b/config/config_mgmt.py @@ -582,8 +582,7 @@ def _searchKeysInConfig(self, In, Out, skeys): for skey in skeys: # pattern is very specific to current primary keys in # config DB, may need to be updated later. - pattern = '^' + skey + '\|' + '|' + skey + '$' + \ - '|' + '^' + skey + '$' + pattern = r'^{0}\||{0}$|^{0}$'.format(skey) reg = re.compile(pattern) if reg.search(key): # In primary key, only 1 match can be found, so return diff --git a/config/main.py b/config/main.py index 9ff8ce634b..fd59f8ea66 100644 --- a/config/main.py +++ b/config/main.py @@ -640,7 +640,7 @@ def _change_hostname(hostname): if current_hostname != hostname: clicommon.run_command('echo {} > /etc/hostname'.format(hostname), display_cmd=True) clicommon.run_command('hostname -F /etc/hostname', display_cmd=True) - clicommon.run_command('sed -i "/\s{}$/d" /etc/hosts'.format(current_hostname), display_cmd=True) + clicommon.run_command(r'sed -i "/\s{}$/d" /etc/hosts'.format(current_hostname), display_cmd=True) clicommon.run_command('echo "127.0.0.1 {}" >> /etc/hosts'.format(hostname), display_cmd=True) def _clear_qos(): @@ -1990,7 +1990,7 @@ def vrf_add_management_vrf(config_db): Iface Destination Gateway Flags RefCnt Use Metric Mask MTU Window IRTT eth0 00000000 01803B0A 0003 0 0 202 00000000 0 0 0 """ - cmd = "cat /proc/net/route | grep -E \"eth0\s+00000000\s+[0-9A-Z]+\s+[0-9]+\s+[0-9]+\s+[0-9]+\s+202\" | wc -l" + cmd = r"cat /proc/net/route | grep -E \"eth0\s+00000000\s+[0-9A-Z]+\s+[0-9]+\s+[0-9]+\s+[0-9]+\s+202\" | wc -l" proc = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE) output = proc.communicate() if int(output[0]) >= 1: diff --git a/scripts/route_check.py b/scripts/route_check.py index aaa0c33c3e..0db9f1ed69 100755 --- a/scripts/route_check.py +++ b/scripts/route_check.py @@ -320,7 +320,7 @@ def filter_out_local_interfaces(keys): :return keys filtered out of local """ rt = [] - local_if_re = ['eth0', 'lo', 'docker0', 'tun0', 'Loopback\d+'] + local_if_re = [r'eth0', r'lo', r'docker0', r'tun0', r'Loopback\d+'] db = swsscommon.DBConnector(APPL_DB_NAME, 0) tbl = swsscommon.Table(db, 'ROUTE_TABLE') diff --git a/tests/sku_create_test.py b/tests/sku_create_test.py index 8f43964441..a948b26a1e 100644 --- a/tests/sku_create_test.py +++ b/tests/sku_create_test.py @@ -36,8 +36,8 @@ def are_file_contents_same(self,fname1,fname2): #Loop if either fname1 or fname2 has not reached EOF while f1_line!='' or f2_line!='': - f1_line = re.sub('[\s+]','',f1_line) - f2_line = re.sub('[\s+]','',f2_line) + f1_line = re.sub(r'[\s+]', '', f1_line) + f2_line = re.sub(r'[\s+]', '', f2_line) if f1_line!=f2_line: f1.close() From 4309ca61eda64d8762f2bd96b52cbec91a4efbca Mon Sep 17 00:00:00 2001 From: Ying Xie Date: Fri, 12 Feb 2021 08:35:50 -0800 Subject: [PATCH 081/342] [storyteller] sort output by time and improve lag support (#1430) What I did sort output by time improve lag support according to event format changes add an option to sort the log files by a field of file name (after log files got moved or copied, sorting by timestamp is no longer reliable). Signed-off-by: Ying Xie ying.xie@microsoft.com How to verify it run 'sudo storyteller --since "2021-2-10" -c lag' on a dut --- scripts/storyteller | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/scripts/storyteller b/scripts/storyteller index 38e4783ef0..b342c722c5 100755 --- a/scripts/storyteller +++ b/scripts/storyteller @@ -17,7 +17,7 @@ regex_dict = { 'bgp' : 'bgpcfgd', 'crash' : r'what\|unexpected exception\|notify_OA_about_syncd_exception\|SIG\|not expected', 'interface' : r'updatePortOperStatus\|Configure .* to', - 'lag' : r'link becomes\|addLag', + 'lag' : r'link becomes\|addLag\|PortChannel.*oper state', 'reboot' : r'BOOT\|rc.local\|old_config\|minigraph.xml\|Rebooting\|reboot\|executeOperationsOnAsic\|getAsicView\|dumpVidToAsicOperatioId\|neighbor_adv\|Pausing\|shutdown\|warm', 'service' : r'Starting\|Stopping\|Started\|Stopped', } @@ -44,9 +44,13 @@ def build_options(after=0, before=0, context=0): return ' '.join(x for x in options) -def find_log(logpath, log, regex, after=0, before=0, context=0): +def find_log(logpath, log, regex, after=0, before=0, context=0, field=0): options = build_options(after, before, context) - cmd = 'find -L {}/{}* -newer {} | xargs zgrep -a {} "{}"'.format(logpath, log, reference_file, options, regex) + if field <= 0: + cmd = 'find -L {}/{}* -newer {} | xargs ls -rt | xargs zgrep -a {} "{}"'.format(logpath, log, reference_file, options, regex) + else: + cmd = 'find -L {0}/{1}* -newer {2} | sort -rn -t . -k {3},{3} | xargs zgrep -a {4} "{5}"'.format(logpath, log, reference_file, field, options, regex) + _, out, _ = exec_cmd(cmd) ''' Opportunity to improve: @@ -92,8 +96,10 @@ def main(): type=int, required=False, default=0) parser.add_argument('-C', '--context', help='Show N lines before and after match', type=int, required=False, default=0) - parser.add_argument('-S', '--since', help='Filter logs since the given date', + parser.add_argument('-s', '--since', help='Filter logs since the given date', type=str, required=False, default="@0") + parser.add_argument('-f', '--sortfield', help='Use Nth field separted by "." in file name to sort. e.g. syslog.1.gz: -f 2, swss.rec.2.gz: -f 3, default 0: sort by timestamp', + type=int, required=False, default=0) args = parser.parse_args() @@ -106,7 +112,7 @@ def main(): reg = build_regex(category) configure_time_filter(since) - find_log(log_path, log, reg, args.after, args.before, args.context) + find_log(log_path, log, reg, args.after, args.before, args.context, args.sortfield) if __name__ == '__main__': From 18cd8ba58349cb632b635bcd1f853eab9f231600 Mon Sep 17 00:00:00 2001 From: lguohan Date: Fri, 12 Feb 2021 11:03:16 -0800 Subject: [PATCH 082/342] [ci]: download from sonic-buildimage.vs artifact (#1428) https://github.com/Azure/sonic-buildimage/pull/6768/ change the kvm artifact name from kvm to vs Signed-off-by: Guohan Lu --- azure-pipelines.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index ff2a4bd8ab..a055086ea3 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -19,7 +19,7 @@ steps: source: specific project: build pipeline: 1 - artifact: sonic-buildimage.kvm + artifact: sonic-buildimage.vs runVersion: 'latestFromBranch' runBranch: 'refs/heads/master' displayName: "Download artifacts from latest sonic-buildimage build" From 42cab68df8682d26de0a073c90b32c2276e990b5 Mon Sep 17 00:00:00 2001 From: Joe LeVeque Date: Sat, 13 Feb 2021 12:09:50 -0800 Subject: [PATCH 083/342] [consutil] Look for udevprefix.conf file under platform dir, not plugins (#1431) #### What I did Config files do not belong under `/plugins/` directory. That directory is intended for (now-deprecated) platform-related Python plugins. The directory will be removed in the near future. #### How I did it Look for udevprefix.conf file directly under the respective platform directory instead. Also clean up and reorganize imports NOTE: When this submodule is updated in sonic-buildimage, related files will need to be updated. Currently only platform/broadcom/sonic-platform-modules-cel/haliburton/script/udev_prefix.sh --- consutil/lib.py | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/consutil/lib.py b/consutil/lib.py index d1aee008df..56f4a63596 100644 --- a/consutil/lib.py +++ b/consutil/lib.py @@ -4,16 +4,14 @@ # Helper code for CLI for interacting with switches via console device # -try: - import click - import re - import subprocess - import pexpect - import sys - import os - from sonic_py_common import device_info -except ImportError as e: - raise ImportError("%s - required module not found" % str(e)) +import os +import pexpect +import re +import subprocess +import sys + +import click +from sonic_py_common import device_info ERR_DISABLE = 1 ERR_CMD = 2 @@ -46,7 +44,7 @@ PICOCOM_READY = "Terminal ready" PICOCOM_BUSY = "Resource temporarily unavailable" -FILENAME = "udevprefix.conf" +UDEV_PREFIX_CONF_FILENAME = "udevprefix.conf" TIMEOUT_SEC = 0.2 @@ -266,10 +264,10 @@ class SysInfoProvider(object): @staticmethod def init_device_prefix(): platform_path, _ = device_info.get_paths_to_platform_and_hwsku_dirs() - PLUGIN_PATH = "/".join([platform_path, "plugins", FILENAME]) + UDEV_PREFIX_CONF_FILE_PATH = os.path.join(platform_path, UDEV_PREFIX_CONF_FILENAME) - if os.path.exists(PLUGIN_PATH): - fp = open(PLUGIN_PATH, 'r') + if os.path.exists(UDEV_PREFIX_CONF_FILE_PATH): + fp = open(UDEV_PREFIX_CONF_FILE_PATH, 'r') lines = fp.readlines() SysInfoProvider.DEVICE_PREFIX = "/dev/" + lines[0].rstrip() From cf577cc53cfe86d12904a1c4229866c6e66e3f28 Mon Sep 17 00:00:00 2001 From: Joe LeVeque Date: Tue, 16 Feb 2021 09:21:40 -0800 Subject: [PATCH 084/342] [decode-syseeprom] Refactor to utilize sonic-platform package (#1435) Refactor decode-syseeprom utility to use sonic-platform package in lieu of old, deprecated platform plugins. --- scripts/decode-syseeprom | 368 ++++++++++++++++++++++++--------------- 1 file changed, 230 insertions(+), 138 deletions(-) diff --git a/scripts/decode-syseeprom b/scripts/decode-syseeprom index ed9fd00f69..089b652771 100755 --- a/scripts/decode-syseeprom +++ b/scripts/decode-syseeprom @@ -1,177 +1,269 @@ #!/usr/bin/env python3 +""" + Command-line utility for obtaining system EEPROM data + It can either read the information directly from the EEPROM + or read information cached in State DB via syseerpomd +""" + ############################################################################# # # This is the main script that handles eeprom encoding and decoding # -try: - import glob - import optparse - import os - import sys - import warnings - from importlib.machinery import SourceFileLoader - - from sonic_py_common import device_info -except ImportError as e: - raise ImportError (str(e) + "- required module not found") - -PLATFORM_ROOT = '/usr/share/sonic/device' -CACHE_ROOT = '/var/cache/sonic/decode-syseeprom' -CACHE_FILE = 'syseeprom_cache' +import optparse +import os +import re +import sys -def main(): - support_eeprom_db = True - if not os.geteuid() == 0: - raise RuntimeError("must be root to run") +import sonic_platform +from sonic_platform_base.sonic_eeprom.eeprom_tlvinfo import TlvInfoDecoder +from sonic_py_common import device_info +from swsscommon import swsscommon +from tabulate import tabulate - # Get platform name - platform = device_info.get_platform() - platform_path = '/'.join([PLATFORM_ROOT, platform]) +EEPROM_INFO_TABLE = 'EEPROM_INFO' - # - # Currently we only support board eeprom decode. - # - (opts, args) = get_cmdline_opts() - # - # load the target class file and instantiate the object - # +def instantiate_eeprom_object(): + eeprom = None + try: - m = SourceFileLoader('eeprom','/'.join([platform_path, 'plugins', 'eeprom.py'])).load_module() - except IOError: - raise IOError("cannot load module: " + '/'.join([platform_path, 'plugins', 'eeprom.py'])) + eeprom = sonic_platform.platform.Platform().get_chassis().get_eeprom() + except Exception as e: + log.log_error('Failed to obtain EEPROM object due to {}'.format(repr(e))) + eeprom = None - class_ = getattr(m, 'board') - t = class_('board', '','','') + return eeprom - # Currently, don't support eeprom db on Arista platform - platforms_without_eeprom_db = ['arista', 'kvm'] - if any(platform in platform_path for platform in platforms_without_eeprom_db)\ - or getattr(t, 'read_eeprom_db', None) is None: - support_eeprom_db = False - # - # execute the command - # - run(t, opts, args, support_eeprom_db) +def read_and_print_eeprom(): + eeprom = instantiate_eeprom_object() + if not eeprom: + return False + + sys_eeprom_data = eeprom.read_eeprom() + eeprom.decode_eeprom(sys_eeprom_data) + + +def print_eeprom_dict(tlv_dict): + ''' + Pretty print EEPROM contents from a dictionary + ''' + if not tlv_dict: + print('Unable to retrieve system EEPROM info') + return + + print('TlvInfo Header:') + print(' Id String: {}'.format(tlv_dict['header']['id'])) + print(' Version: {}'.format(tlv_dict['header']['version'])) + print(' Total Length: {}'.format(tlv_dict['header']['length'])) + + tlv_table_header = ['TLV Name', 'Code', 'Len', 'Value'] + tlv_table_body = [] + for tlv in tlv_dict['tlv_list']: + tlv_table_body.append([tlv['name'], tlv['code'].upper(), tlv['length'], tlv['value']]) + + print(tabulate(tlv_table_body, tlv_table_header, tablefmt='simple')) + + print('') + + if tlv_dict['checksum_valid']: + print('(checksum valid)') + else: + print('(*** checksum invalid)') + + +def read_eeprom_from_db(): + tlv_dict = {} + + state_db = swsscommon.DBConnector('STATE_DB', 0) + tbl = swsscommon.Table(state_db, EEPROM_INFO_TABLE) + + status, fvs = tbl.get('State') + status = bool(status) + data = dict(fvs) + if not status or data.get('Initialized', '0') != '1': + return None + + status, fvs = tbl.get('TlvHeader') + status = bool(status) + if not status: + return None + + data = dict(fvs) + tlv_dict['header'] = {} + tlv_dict['header']['id'] = data.get('Id String', 'N/A') + tlv_dict['header']['version'] = data.get('Version', 'N/A') + tlv_dict['header']['length'] = data.get('Total Length', 'N/A') + + tlv_dict['tlv_list'] = [] + for tlv_code in range(TlvInfoDecoder._TLV_CODE_PRODUCT_NAME, TlvInfoDecoder._TLV_CODE_SERVICE_TAG + 1): + tlv_code_string = '0x{:02x}'.format(tlv_code) + status, fvs = tbl.get(tlv_code_string) + status = bool(status) + if not status: + continue + + data = dict(fvs) + tlv = {} + tlv['code'] = tlv_code_string + tlv['name'] = data.get('Name', 'N/A') + tlv['length'] = data.get('Len', 'N/A') + tlv['value'] = data.get('Value', 'N/A') + tlv_dict['tlv_list'].append(tlv) + + status, fvs = tbl.get('Checksum') + tlv_dict['checksum_valid'] = dict(fvs).get('Valid', '0') == '1' + + return tlv_dict + + +def get_tlv_value_from_db(tlv_code): + state_db = swsscommon.DBConnector('STATE_DB', 0) + tbl = swsscommon.Table(state_db, EEPROM_INFO_TABLE) + + status, fvs = tbl.get('State') + status = bool(status) + data = dict(fvs) + if not status or data.get('Initialized', '0') != '1': + print('Failed to read system EEPROM info from DB') + return None + + tlv_code_string = '0x{:02x}'.format(tlv_code) + status, fvs = tbl.get(tlv_code_string) + status = bool(status) + if not status: + print('Failed to read system EEPROM info from DB') + return None + + return dict(fvs).get('Value') + + +def print_mgmt_mac(use_db=False): + base_mac_addr = None + if use_db: + base_mac_addr = get_tlv_value_from_db(TlvInfoDecoder._TLV_CODE_MAC_BASE) + else: + eeprom = instantiate_eeprom_object() + if not eeprom: + print('Failed to read system EEPROM info') + return + + # TODO: Some vendors override eeprom.base_mac_addr() such that it doesn't take EEPROM data + # as a parameter. Refactor sonic_eeprom such that the function reads the EEPROM data itself + # and doesn't require the parameter (this will also require modifying some vendor's implementations. + try: + base_mac_addr = eeprom.base_mac_addr() + except TypeError: + base_mac_addr = eeprom.base_mac_addr(eeprom.read_eeprom()) + + if base_mac_addr: + print(base_mac_addr) + + +def print_serial(use_db=False): + serial = None + if use_db: + serial = get_tlv_value_from_db(TlvInfoDecoder._TLV_CODE_SERIAL_NUMBER) + else: + eeprom = instantiate_eeprom_object() + if not eeprom: + print('Failed to read system EEPROM info') + return + + # TODO: Some vendors override eeprom.serial_number_str() such that it doesn't take EEPROM data + # as a parameter. Refactor sonic_eeprom such that the function reads the EEPROM data itself + # and doesn't require the parameter (this will also require modifying some vendor's implementations. + try: + serial = eeprom.serial_number_str() + except TypeError: + serial = eeprom.serial_number_str(eeprom.read_eeprom()) + + print(serial) + + +def print_model(use_db=False): + model = None + if use_db: + model = get_tlv_value_from_db(TlvInfoDecoder._TLV_CODE_PRODUCT_NAME) + else: + eeprom = instantiate_eeprom_object() + if not eeprom: + print('Failed to read system EEPROM info') + return + + # TODO: Some vendors override eeprom.modelstr() such that it doesn't take EEPROM data + # as a parameter. Refactor sonic_eeprom such that the function reads the EEPROM data itself + # and doesn't require the parameter (this will also require modifying some vendor's implementations. + try: + model = eeprom.modelstr() + except TypeError: + model = eeprom.modelstr(eeprom.read_eeprom()) + + print(model) - return 0 #------------------------------------------------------------------------------- # # sets global variable "optcfg" # def get_cmdline_opts(): - optcfg = optparse.OptionParser(usage="usage: %s [-s][-m]" % sys.argv[0]) - optcfg.add_option("-d", dest="db", action="store_true", - default=False, help="print eeprom from database") - optcfg.add_option("-s", dest="serial", action="store_true", - default=False, help="print device serial number/service tag") - optcfg.add_option("-p", dest="modelstr", action="store_true", default=False, - help="print the device product name") - optcfg.add_option("-m", dest="mgmtmac", action="store_true", default=False, - help="print the base mac address for management interfaces") - optcfg.add_option("--init", dest="init", action="store_true", default=False, - help="clear and initialize board eeprom cache") + optcfg = optparse.OptionParser(usage='usage: {} [-s][-m]'.format(sys.argv[0])) + optcfg.add_option('-d', dest='db', action='store_true', + default=False, help='print eeprom from database') + optcfg.add_option('-s', dest='serial', action='store_true', + default=False, help='print device serial number/service tag') + optcfg.add_option('-p', dest='modelstr', action='store_true', default=False, + help='print the device product name') + optcfg.add_option('-m', dest='mgmtmac', action='store_true', default=False, + help='print the base mac address for management interfaces') return optcfg.parse_args() -#------------------------------------------------------------------------------- -# -# Run -# -def run(target, opts, args, support_eeprom_db): - if support_eeprom_db and opts.db: - err = target.read_eeprom_db() - if err: - # Failed to read EEPROM information from database. Read from cache file - pass - else: - return 0 +def main(): + support_eeprom_db = True + if not os.geteuid() == 0: + print('Root privileges are required for this operation') + return 1 - status = target.check_status() - if status != 'ok': - sys.stderr.write("Device is not ready: " + status + "\n") - exit(0) + (opts, args) = get_cmdline_opts() - if not os.path.exists(CACHE_ROOT): - try: - os.makedirs(CACHE_ROOT) - except OSError: - pass - if opts.init: - for file in glob.glob(os.path.join(CACHE_ROOT, '*')): - os.remove(file) - - # - # only the eeprom classes that inherit from eeprom_base - # support caching. Others will work normally - # - try: - target.set_cache_name(os.path.join(CACHE_ROOT, CACHE_FILE)) - except Exception: - pass + use_db = opts.db and support_eeprom_db - e = target.read_eeprom() - if e is None : - return 0 + # Get platform name + platform = device_info.get_platform() - try: - target.update_cache(e) - except Exception: - pass - - if opts.init: - err = target.update_eeprom_db(e) - if err: - print("Failed to update eeprom database") - return -1 - elif opts.mgmtmac: - mm = target.mgmtaddrstr(e) - if mm != None: - print(mm) + # Currently, don't support eeprom db on Arista platform + platforms_without_eeprom_db = ['.*arista.*', '.*kvm.*'] + if any(re.match(p, platform) for p in platforms_without_eeprom_db): + support_eeprom_db = False + + if opts.mgmtmac: + print_mgmt_mac(use_db) elif opts.serial: - try: - serial = target.serial_number_str(e) - except NotImplementedError as e: - print(e) - else: - print(serial or "Undefined.") + print_serial(use_db) elif opts.modelstr: - mm = target.modelstr(e) - if mm != None: - print(mm) + print_model(use_db) else: - target.decode_eeprom(e) - (is_valid, valid_crc) = target.is_checksum_valid(e) - if is_valid: - print('(checksum valid)') + if use_db: + tlv_dict = read_eeprom_from_db() + if not tlv_dict: + print('Failed to read system EEPROM info from DB') + return 2 + print_eeprom_dict(tlv_dict) else: - print('(*** checksum invalid)') - # + ', should be 0x' + binascii.b2a_hex(array('I', [valid_crc])).upper() + ')' + read_and_print_eeprom() + return 0 -# -# formats warnings -# -def mywarn(message, category, filename, lineno, line=None): - return '%s:%s : %s : %s\n' % (filename, lineno, category.__name__, message) - -#-------------------- -# -# execution check -# -if __name__ == "__main__": +if __name__ == '__main__': try: - warnings.simplefilter("always") - warnings.formatwarning = mywarn - exit(main()) + sys.exit(main()) except KeyboardInterrupt: - sys.stderr.write("\nInterrupted\n") - exit(1) + print('\nInterrupted\n', file=sys.stderr) + sys.exit(3) except (RuntimeError, OSError, IOError) as errstr: - sys.stderr.write("%s : ERROR : %s\n" % (sys.argv[0], str(errstr))) - exit(1) + print('{}: ERROR : {}\n'.format(sys.argv[0], str(errstr)), file=sys.stderr) + sys.exit(4) From 310d2035e9a126efa455e7b3ebb76b05c95d2ce2 Mon Sep 17 00:00:00 2001 From: Joe LeVeque Date: Tue, 16 Feb 2021 09:24:40 -0800 Subject: [PATCH 085/342] [psuutil] Refactor to utilize sonic-platform package (#1434) #### What I did Refactor psuutil to use sonic-platform package in lieu of old, deprecated platform plugins. The psuutil utility is still useful, as psushow only reads and displays PSU data from State DB. However, this utility provides us the ability to read directly from the PSUs which is helpful for debugging. #### How I did it - Complete refactor to use sonic-platform package - Add more output columns to display (Model, Serial, Voltage, Current, Power) - Bump version to 2.0 - Add basic unit tests --- psuutil/main.py | 152 +++++++++++++++++++++++------------------- tests/psuutil_test.py | 21 ++++++ 2 files changed, 105 insertions(+), 68 deletions(-) create mode 100644 tests/psuutil_test.py diff --git a/psuutil/main.py b/psuutil/main.py index 9e03b4ffd9..e725cfc32f 100644 --- a/psuutil/main.py +++ b/psuutil/main.py @@ -5,26 +5,25 @@ # Command-line utility for interacting with PSU in SONiC # -try: - import imp - import os - import sys +import os +import sys - import click - from sonic_py_common import device_info, logger - from tabulate import tabulate -except ImportError as e: - raise ImportError("%s - required module not found" % str(e)) +import click +import sonic_platform +from sonic_py_common import logger +from tabulate import tabulate -VERSION = '1.0' + +VERSION = '2.0' SYSLOG_IDENTIFIER = "psuutil" -PLATFORM_SPECIFIC_MODULE_NAME = "psuutil" -PLATFORM_SPECIFIC_CLASS_NAME = "PsuUtil" -# Global platform-specific psuutil class instance -platform_psuutil = None +ERROR_PERMISSIONS = 1 +ERROR_CHASSIS_LOAD = 2 +ERROR_NOT_IMPLEMENTED = 3 +# Global platform-specific Chassis class instance +platform_chassis = None # Global logger instance log = logger.Logger(SYSLOG_IDENTIFIER) @@ -32,28 +31,20 @@ # ==================== Methods for initialization ==================== -# Loads platform specific psuutil module from source -def load_platform_psuutil(): - global platform_psuutil - - # Load platform module from source - platform_path, _ = device_info.get_paths_to_platform_and_hwsku_dirs() +# Instantiate platform-specific Chassis class +def load_platform_chassis(): + global platform_chassis + # Load new platform api class try: - module_file = os.path.join(platform_path, "plugins", PLATFORM_SPECIFIC_MODULE_NAME + ".py") - module = imp.load_source(PLATFORM_SPECIFIC_MODULE_NAME, module_file) - except IOError as e: - log.log_error("Failed to load platform module '%s': %s" % (PLATFORM_SPECIFIC_MODULE_NAME, str(e)), True) - return -1 + platform_chassis = sonic_platform.platform.Platform().get_chassis() + except Exception as e: + log.log_error("Failed to instantiate Chassis due to {}".format(repr(e))) - try: - platform_psuutil_class = getattr(module, PLATFORM_SPECIFIC_CLASS_NAME) - platform_psuutil = platform_psuutil_class() - except AttributeError as e: - log.log_error("Failed to instantiate '%s' class: %s" % (PLATFORM_SPECIFIC_CLASS_NAME, str(e)), True) - return -2 + if not platform_chassis: + return False - return 0 + return True # ==================== CLI commands and groups ==================== @@ -66,63 +57,88 @@ def cli(): if os.geteuid() != 0: click.echo("Root privileges are required for this operation") - sys.exit(1) + sys.exit(ERROR_PERMISSIONS) - # Load platform-specific psuutil class - err = load_platform_psuutil() - if err != 0: - sys.exit(2) - -# 'version' subcommand + # Load platform-specific Chassis class + if not load_platform_chassis(): + sys.exit(ERROR_CHASSIS_LOAD) +# 'version' subcommand @cli.command() def version(): """Display version info""" click.echo("psuutil version {0}".format(VERSION)) -# 'numpsus' subcommand - +# 'numpsus' subcommand @cli.command() def numpsus(): """Display number of supported PSUs on device""" - click.echo(str(platform_psuutil.get_num_psus())) - -# 'status' subcommand + num_psus = platform_chassis.get_num_psus() + click.echo(str(num_psus)) +# 'status' subcommand @cli.command() -@click.option('-i', '--index', default=-1, type=int, help="the index of PSU") +@click.option('-i', '--index', default=-1, type=int, help='Index of the PSU') def status(index): """Display PSU status""" - supported_psu = list(range(1, platform_psuutil.get_num_psus() + 1)) - psu_ids = [] - if (index < 0): - psu_ids = supported_psu - else: - psu_ids = [index] - - header = ['PSU', 'Status'] + header = ['PSU', 'Model', 'Serial', 'Voltage (V)', 'Current (A)', 'Power (W)', 'Status', 'LED'] status_table = [] - for psu in psu_ids: - msg = "" - psu_name = "PSU {}".format(psu) - if psu not in supported_psu: - click.echo("Error! The {} is not available on the platform.\n" - "Number of supported PSU - {}.".format(psu_name, platform_psuutil.get_num_psus())) - continue - presence = platform_psuutil.get_psu_presence(psu) - if presence: - oper_status = platform_psuutil.get_psu_status(psu) - msg = 'OK' if oper_status else "NOT OK" - else: - msg = 'NOT PRESENT' - status_table.append([psu_name, msg]) + psu_list = platform_chassis.get_all_psus() + + for psu in psu_list: + psu_name = psu.get_name() + status = 'NOT PRESENT' + model = 'N/A' + serial = 'N/A' + voltage = 'N/A' + current = 'N/A' + power = 'N/A' + led_color = 'N/A' + + if psu.get_presence(): + try: + status = 'OK' if psu.get_powergood_status() else 'NOT OK' + except NotImplementedError: + status = 'UNKNOWN' + + try: + model = psu.get_model() + except NotImplementedError: + pass + + try: + serial = psu.get_serial() + except NotImplementedError: + pass + + try: + voltage = psu.get_voltage() + except NotImplementedError: + pass + + try: + current = psu.get_current() + except NotImplementedError: + pass + + try: + power = psu.get_power() + except NotImplementedError: + pass + + try: + led_color = psu.get_status_led() + except NotImplementedError: + pass + + status_table.append([psu_name, model, serial, voltage, current, power, status, led_color]) if status_table: - click.echo(tabulate(status_table, header, tablefmt="simple")) + click.echo(tabulate(status_table, header, tablefmt='simple', floatfmt='.2f')) if __name__ == '__main__': diff --git a/tests/psuutil_test.py b/tests/psuutil_test.py new file mode 100644 index 0000000000..34d8aa37d1 --- /dev/null +++ b/tests/psuutil_test.py @@ -0,0 +1,21 @@ +import sys +import os +from unittest import mock + +import pytest +from click.testing import CliRunner + +test_path = os.path.dirname(os.path.abspath(__file__)) +modules_path = os.path.dirname(test_path) +sys.path.insert(0, modules_path) + +sys.modules['sonic_platform'] = mock.MagicMock() +import psuutil.main as psuutil + + +class TestPsuutil(object): + + def test_version(self): + runner = CliRunner() + result = runner.invoke(psuutil.cli.commands['version'], []) + assert result.output.rstrip() == 'psuutil version {}'.format(psuutil.VERSION) From 327b29287675925b6816be9fc41f5f58cd6b7b84 Mon Sep 17 00:00:00 2001 From: maulik_patel_innovium Date: Tue, 16 Feb 2021 22:58:10 +0530 Subject: [PATCH 086/342] [show] Issue in CLI output alignment with shorter alias names in intf naming mode "alias" #1397 (#1411) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #### What I did Added fix for Issue in CLI output alignment with shorter alias names in intf naming mode "alias" #### How I did it Added code to remove last few extra characters from string (-------…) using Slicing & Positive Indexing in python, to match the width to alias's name(not interface) --- utilities_common/cli.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/utilities_common/cli.py b/utilities_common/cli.py index 4046d097d3..ed103649e4 100644 --- a/utilities_common/cli.py +++ b/utilities_common/cli.py @@ -351,6 +351,8 @@ def print_output_in_alias_mode(output, index): if output.startswith("---"): word = output.split() dword = word[index] + if(len(dword) > iface_alias_converter.alias_max_length): + dword = dword[:len(dword) - iface_alias_converter.alias_max_length] underline = dword.rjust(iface_alias_converter.alias_max_length, '-') word[index] = underline From 6d1ed6ce683fc8a4d4436c072f5df265aeb0c2be Mon Sep 17 00:00:00 2001 From: Dmytro Date: Wed, 17 Feb 2021 00:05:11 +0200 Subject: [PATCH 087/342] [config] Prevent deleting VLAN with IP addresses. (#1429) Warn user while deleting VLAN if it has IP addresses. Signed-off-by: d-dashkov --- config/vlan.py | 6 ++++++ tests/vlan_test.py | 17 +++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/config/vlan.py b/config/vlan.py index eabb2b7101..b455ae4812 100644 --- a/config/vlan.py +++ b/config/vlan.py @@ -46,6 +46,12 @@ def del_vlan(db, vid): if clicommon.check_if_vlanid_exist(db.cfgdb, vlan) == False: ctx.fail("{} does not exist".format(vlan)) + intf_table = db.cfgdb.get_table('VLAN_INTERFACE') + for intf_key in intf_table: + if ((type(intf_key) is str and intf_key == 'Vlan{}'.format(vid)) or + (type(intf_key) is tuple and intf_key[0] == 'Vlan{}'.format(vid))): + ctx.fail("{} can not be removed. First remove IP addresses assigned to this VLAN".format(vlan)) + keys = [ (k, v) for k, v in db.cfgdb.get_table('VLAN_MEMBER') if k == 'Vlan{}'.format(vid) ] for k in keys: db.cfgdb.set_entry('VLAN_MEMBER', k, None) diff --git a/tests/vlan_test.py b/tests/vlan_test.py index 32ca0a06e7..6d47e72e62 100644 --- a/tests/vlan_test.py +++ b/tests/vlan_test.py @@ -319,6 +319,23 @@ def test_config_vlan_add_rif_portchannel_member(self): def test_config_vlan_del_vlan(self): runner = CliRunner() db = Db() + obj = {'config_db':db.cfgdb} + + # del vlan with IP + result = runner.invoke(config.config.commands["vlan"].commands["del"], ["1000"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code != 0 + assert "Error: Vlan1000 can not be removed. First remove IP addresses assigned to this VLAN" in result.output + + # remove vlan IP`s + result = runner.invoke(config.config.commands["interface"].commands["ip"].commands["remove"], ["Vlan1000", "192.168.0.1/21"], obj=obj) + print(result.exit_code, result.output) + assert result.exit_code != 0 + + result = runner.invoke(config.config.commands["interface"].commands["ip"].commands["remove"], ["Vlan1000", "fc02:1000::1/64"], obj=obj) + print(result.exit_code, result.output) + assert result.exit_code != 0 result = runner.invoke(config.config.commands["vlan"].commands["del"], ["1000"], obj=db) print(result.exit_code) From 9332b8e7152176017e177749768dc122aa5fb63e Mon Sep 17 00:00:00 2001 From: Andriy Yurkiv <70649192+ayurkiv-nvda@users.noreply.github.com> Date: Wed, 17 Feb 2021 02:59:37 +0200 Subject: [PATCH 088/342] Add new cli for SAI_INGRESS_PRIORITY_GROUP_STAT_DROPPED_PACKETS counter in counterpoll utility (#1355) Signed-off-by: Andriy Yurkiv depends on: Azure/sonic-buildimage#6444 Azure/sonic-swss#1600 - What I did Added new option for "counterpoll" utility - How I did it Enhance counterpoll utility for SAI_INGRESS_PRIORITY_GROUP_STAT_DROPPED_PACKETS Add new CLI command and extend the show command. - How to verify it To test it use QoS test. run the pfcxontest and Pfcxofftest, drop can be triggered in either of the test. It runs in ptf32 topo and requires RPC image. admin@arc-switch1041:~$ counterpoll pg-drop enable --> to enable the new counter admin@arc-switch1041:~$ counterpoll show --> check new INGRESS_PG_STAT_DROP counter status --- counterpoll/main.py | 43 ++++++++++++++++++++++++++++++++ tests/counterpoll_test.py | 34 +++++++++++++++++++++++++ tests/mock_tables/config_db.json | 4 +++ 3 files changed, 81 insertions(+) diff --git a/counterpoll/main.py b/counterpoll/main.py index 93daf4df9e..ff9ca49dd4 100644 --- a/counterpoll/main.py +++ b/counterpoll/main.py @@ -5,6 +5,7 @@ BUFFER_POOL_WATERMARK = "BUFFER_POOL_WATERMARK" PORT_BUFFER_DROP = "PORT_BUFFER_DROP" +PG_DROP = "PG_DROP" DISABLE = "disable" ENABLE = "enable" DEFLT_60_SEC= "default (60000)" @@ -123,6 +124,45 @@ def disable(): port_info['FLEX_COUNTER_STATUS'] = DISABLE configdb.mod_entry("FLEX_COUNTER_TABLE", PORT_BUFFER_DROP, port_info) +# Ingress PG drop packet stat +@cli.group() +@click.pass_context +def pg_drop(ctx): + """ Ingress PG drop counter commands """ + ctx.obj = swsssdk.ConfigDBConnector() + ctx.obj.connect() + +@pg_drop.command() +@click.argument('poll_interval', type=click.IntRange(1000, 30000)) +@click.pass_context +def interval(ctx, poll_interval): + """ + Set pg_drop packets counter query interval + interval is between 1s and 30s. + """ + + port_info = {} + port_info['POLL_INTERVAL'] = poll_interval + ctx.obj.mod_entry("FLEX_COUNTER_TABLE", PG_DROP, port_info) + +@pg_drop.command() +@click.pass_context +def enable(ctx): + """ Enable pg_drop counter query """ + + port_info = {} + port_info['FLEX_COUNTER_STATUS'] = ENABLE + ctx.obj.mod_entry("FLEX_COUNTER_TABLE", PG_DROP, port_info) + +@pg_drop.command() +@click.pass_context +def disable(ctx): + """ Disable pg_drop counter query """ + + port_info = {} + port_info['FLEX_COUNTER_STATUS'] = DISABLE + ctx.obj.mod_entry("FLEX_COUNTER_TABLE", PG_DROP, port_info) + # RIF counter commands @cli.group() def rif(): @@ -212,6 +252,7 @@ def show(): rif_info = configdb.get_entry('FLEX_COUNTER_TABLE', 'RIF') queue_wm_info = configdb.get_entry('FLEX_COUNTER_TABLE', 'QUEUE_WATERMARK') pg_wm_info = configdb.get_entry('FLEX_COUNTER_TABLE', 'PG_WATERMARK') + pg_drop_info = configdb.get_entry('FLEX_COUNTER_TABLE', PG_DROP) buffer_pool_wm_info = configdb.get_entry('FLEX_COUNTER_TABLE', BUFFER_POOL_WATERMARK) header = ("Type", "Interval (in ms)", "Status") @@ -228,6 +269,8 @@ def show(): data.append(["QUEUE_WATERMARK_STAT", queue_wm_info.get("POLL_INTERVAL", DEFLT_10_SEC), queue_wm_info.get("FLEX_COUNTER_STATUS", DISABLE)]) if pg_wm_info: data.append(["PG_WATERMARK_STAT", pg_wm_info.get("POLL_INTERVAL", DEFLT_10_SEC), pg_wm_info.get("FLEX_COUNTER_STATUS", DISABLE)]) + if pg_drop_info: + data.append(['PG_DROP_STAT', pg_drop_info.get("POLL_INTERVAL", DEFLT_10_SEC), pg_drop_info.get("FLEX_COUNTER_STATUS", DISABLE)]) if buffer_pool_wm_info: data.append(["BUFFER_POOL_WATERMARK_STAT", buffer_pool_wm_info.get("POLL_INTERVAL", DEFLT_10_SEC), buffer_pool_wm_info.get("FLEX_COUNTER_STATUS", DISABLE)]) diff --git a/tests/counterpoll_test.py b/tests/counterpoll_test.py index 476fc96de5..371b984472 100644 --- a/tests/counterpoll_test.py +++ b/tests/counterpoll_test.py @@ -6,6 +6,7 @@ import time from click.testing import CliRunner from shutil import copyfile +from utilities_common.db import Db test_path = os.path.dirname(os.path.abspath(__file__)) modules_path = os.path.dirname(test_path) @@ -24,6 +25,7 @@ PORT_BUFFER_DROP 60000 enable QUEUE_WATERMARK_STAT 10000 enable PG_WATERMARK_STAT 10000 enable +PG_DROP_STAT 10000 enable """ class TestCounterpoll(object): @@ -53,6 +55,14 @@ def test_port_buffer_drop_interval_too_short(self): assert result.exit_code == 2 assert expected in result.output + def test_pg_drop_interval_too_long(self): + runner = CliRunner() + result = runner.invoke(counterpoll.cli.commands["pg-drop"].commands["interval"], ["50000"]) + print(result.output) + expected = "Invalid value for \"POLL_INTERVAL\": 50000 is not in the valid range of 1000 to 30000." + assert result.exit_code == 2 + assert expected in result.output + @pytest.fixture(scope='class') def _get_config_db_file(self): sample_config_db_file = os.path.join(test_path, "counterpoll_input", "config_db.json") @@ -75,6 +85,30 @@ def test_update_counter_config_db_status(self, status, _get_config_db_file): for counter, counter_config in config_db["FLEX_COUNTER_TABLE"].items(): assert counter_config["FLEX_COUNTER_STATUS"] == status + @pytest.mark.parametrize("status", ["disable", "enable"]) + def test_update_pg_drop_status(self, status): + runner = CliRunner() + db = Db() + + result = runner.invoke(counterpoll.cli.commands["pg-drop"].commands[status], [], obj=db.cfgdb) + print(result.exit_code, result.output) + assert result.exit_code == 0 + + table = db.cfgdb.get_table('FLEX_COUNTER_TABLE') + assert status == table["PG_DROP"]["FLEX_COUNTER_STATUS"] + + def test_update_pg_drop_interval(self): + runner = CliRunner() + db = Db() + test_interval = "20000" + + result = runner.invoke(counterpoll.cli.commands["pg-drop"].commands["interval"], [test_interval], obj=db.cfgdb) + print(result.exit_code, result.output) + assert result.exit_code == 0 + + table = db.cfgdb.get_table('FLEX_COUNTER_TABLE') + assert test_interval == table["PG_DROP"]["POLL_INTERVAL"] + @classmethod def teardown_class(cls): print("TEARDOWN") diff --git a/tests/mock_tables/config_db.json b/tests/mock_tables/config_db.json index 34ec788994..858fe349b2 100644 --- a/tests/mock_tables/config_db.json +++ b/tests/mock_tables/config_db.json @@ -1263,6 +1263,10 @@ "POLL_INTERVAL": "10000", "FLEX_COUNTER_STATUS": "enable" }, + "FLEX_COUNTER_TABLE|PG_DROP": { + "POLL_INTERVAL": "10000", + "FLEX_COUNTER_STATUS": "enable" + }, "PFC_WD|Ethernet0": { "action": "drop", "detection_time": "600", From e3017a028e918b53043d83e7804f7650fd969351 Mon Sep 17 00:00:00 2001 From: Joe LeVeque Date: Wed, 17 Feb 2021 18:31:58 -0800 Subject: [PATCH 089/342] [sfpshow] Cleanup (#1405) Clean up sfpshow utility - Reword header docstring and comments - Unify formatting - Rename variables and constants - Use `+=` for string concatenation to reduce line length - Pass through `autopep8 --max-line-length 120` --- scripts/sfpshow | 629 ++++++++++++++++++++++++++---------------------- 1 file changed, 340 insertions(+), 289 deletions(-) diff --git a/scripts/sfpshow b/scripts/sfpshow index 64ec647078..119e1252e9 100755 --- a/scripts/sfpshow +++ b/scripts/sfpshow @@ -1,23 +1,23 @@ #!/usr/bin/env python3 """ - Script to show sfp eeprom and presence status. - Not like sfputil this scripts get the sfp data from DB directly. + Script to show SFP EEPROM and presence status. + This script gets the SFP data from State DB, unlike sfputil + which accesses the transceiver directly. """ -import sys -import click -import re -import operator + import os +import re +import sys +import click from natsort import natsorted -from tabulate import tabulate - -from utilities_common import multi_asic as multi_asic_util from sonic_py_common.interface import front_panel_prefix, backplane_prefix from sonic_py_common import multi_asic +from tabulate import tabulate +from utilities_common import multi_asic as multi_asic_util -# Mock the redis for unit test purposes # +# Mock the redis DB for unit test purposes try: if os.environ["UTILITIES_UNIT_TESTING"] == "2": modules_path = os.path.join(os.path.dirname(__file__), "..") @@ -31,151 +31,206 @@ try: except KeyError: pass -qsfp_data_map = {'model': 'Vendor PN', - 'vendor_oui': 'Vendor OUI', - 'vendor_date': 'Vendor Date Code(YYYY-MM-DD Lot)', - 'manufacturer': 'Vendor Name', - 'hardware_rev': 'Vendor Rev', - 'serial': 'Vendor SN', - 'type': 'Identifier', - 'ext_identifier': 'Extended Identifier', - 'ext_rateselect_compliance': 'Extended RateSelect Compliance', - 'cable_length': 'cable_length', - 'cable_type': 'Length', - 'nominal_bit_rate': 'Nominal Bit Rate(100Mbs)', - 'specification_compliance': 'Specification compliance', - 'encoding': 'Encoding', - 'connector': 'Connector', - 'application_advertisement': 'Application Advertisement' - } - -sfp_dom_channel_monitor_map = {'rx1power': 'RXPower', - 'tx1bias': 'TXBias', - 'tx1power': 'TXPower'} - -sfp_dom_channel_threshold_map = { - 'txpowerhighalarm': 'TxPowerHighAlarm', - 'txpowerlowalarm': 'TxPowerLowAlarm', - 'txpowerhighwarning': 'TxPowerHighWarning', - 'txpowerlowwarning': 'TxPowerLowWarning', - 'rxpowerhighalarm': 'RxPowerHighAlarm', - 'rxpowerlowalarm': 'RxPowerLowAlarm', - 'rxpowerhighwarning': 'RxPowerHighWarning', - 'rxpowerlowwarning': 'RxPowerLowWarning', - 'txbiashighalarm': 'TxBiasHighAlarm', - 'txbiaslowalarm': 'TxBiasLowAlarm', - 'txbiashighwarning': 'TxBiasHighWarning', - 'txbiaslowwarning': 'TxBiasLowWarning', - } - -qsfp_dom_channel_threshold_map = { - 'rxpowerhighalarm': 'RxPowerHighAlarm', - 'rxpowerlowalarm': 'RxPowerLowAlarm', - 'rxpowerhighwarning': 'RxPowerHighWarning', - 'rxpowerlowwarning': 'RxPowerLowWarning', - 'txbiashighalarm': 'TxBiasHighAlarm', - 'txbiaslowalarm': 'TxBiasLowAlarm', - 'txbiashighwarning': 'TxBiasHighWarning', - 'txbiaslowwarning': 'TxBiasLowWarning', - } - -dom_module_threshold_map = { - 'temphighalarm': 'TempHighAlarm', - 'templowalarm': 'TempLowAlarm', - 'temphighwarning':'TempHighWarning', - 'templowwarning': 'TempLowWarning', - 'vcchighalarm': 'VccHighAlarm', - 'vcclowalarm': 'VccLowAlarm', - 'vcchighwarning': 'VccHighWarning', - 'vcclowwarning': 'VccLowWarning' - } - -qsfp_dom_channel_monitor_map = {'rx1power': 'RX1Power', 'rx2power': 'RX2Power', - 'rx3power': 'RX3Power', 'rx4power': 'RX4Power', - 'tx1bias': 'TX1Bias', 'tx2bias': 'TX2Bias', - 'tx3bias': 'TX3Bias', 'tx4bias': 'TX4Bias', - 'tx1power': 'TX1Power', 'tx2power': 'TX2Power', - 'tx3power': 'TX3Power', 'tx4power': 'TX4Power'} - -qsfp_dd_dom_channel_monitor_map = {'rx1power': 'RX1Power', 'rx2power': 'RX2Power', - 'rx3power': 'RX3Power', 'rx4power': 'RX4Power', - 'rx5power': 'RX5Power', 'rx6power': 'RX6Power', - 'rx7power': 'RX7Power', 'rx8power': 'RX8Power', - 'tx1bias': 'TX1Bias', 'tx2bias': 'TX2Bias', - 'tx3bias': 'TX3Bias', 'tx4bias': 'TX4Bias', - 'tx5bias': 'TX5Bias', 'tx6bias': 'TX6Bias', - 'tx7bias': 'TX7Bias', 'tx8bias': 'TX8Bias', - 'tx1power': 'TX1Power', 'tx2power': 'TX2Power', - 'tx3power': 'TX3Power', 'tx4power': 'TX4Power', - 'tx5power': 'TX5Power', 'tx6power': 'TX6Power', - 'tx7power': 'TX7Power', 'tx8power': 'TX8Power'} - -dom_module_monitor_map = {'temperature': 'Temperature', 'voltage': 'Vcc'} - -dom_channel_threshold_unit_map = { - 'txpowerhighalarm': 'dBm', - 'txpowerlowalarm': 'dBm', - 'txpowerhighwarning': 'dBm', - 'txpowerlowwarning': 'dBm', - 'rxpowerhighalarm': 'dBm', - 'rxpowerlowalarm': 'dBm', - 'rxpowerhighwarning': 'dBm', - 'rxpowerlowwarning': 'dBm', - 'txbiashighalarm': 'mA', - 'txbiaslowalarm': 'mA', - 'txbiashighwarning': 'mA', - 'txbiaslowwarning': 'mA', - } - -dom_module_threshold_unit_map = { - 'temphighalarm': 'C', - 'templowalarm': 'C', - 'temphighwarning': 'C', - 'templowwarning': 'C', - 'vcchighalarm': 'Volts', - 'vcclowalarm': 'Volts', - 'vcchighwarning': 'Volts', - 'vcclowwarning': 'Volts' - } - -dom_value_unit_map = {'rx1power': 'dBm', 'rx2power': 'dBm', - 'rx3power': 'dBm', 'rx4power': 'dBm', - 'tx1bias': 'mA', 'tx2bias': 'mA', - 'tx3bias': 'mA', 'tx4bias': 'mA', - 'tx1power': 'dBm', 'tx2power': 'dBm', - 'tx3power': 'dBm', 'tx4power': 'dBm', - 'temperature': 'C', 'voltage': 'Volts'} - -qsfp_dd_dom_value_unit_map = {'rx1power': 'dBm', 'rx2power': 'dBm', - 'rx3power': 'dBm', 'rx4power': 'dBm', - 'rx5power': 'dBm', 'rx6power': 'dBm', - 'rx7power': 'dBm', 'rx8power': 'dBm', - 'tx1bias': 'mA', 'tx2bias': 'mA', - 'tx3bias': 'mA', 'tx4bias': 'mA', - 'tx5bias': 'mA', 'tx6bias': 'mA', - 'tx7bias': 'mA', 'tx8bias': 'mA', - 'tx1power': 'dBm', 'tx2power': 'dBm', - 'tx3power': 'dBm', 'tx4power': 'dBm', - 'tx5power': 'dBm', 'tx6power': 'dBm', - 'tx7power': 'dBm', 'tx8power': 'dBm', - 'temperature': 'C', 'voltage': 'Volts'} +# TODO: We should share these maps and the formatting functions between sfputil and sfpshow +QSFP_DATA_MAP = { + 'model': 'Vendor PN', + 'vendor_oui': 'Vendor OUI', + 'vendor_date': 'Vendor Date Code(YYYY-MM-DD Lot)', + 'manufacturer': 'Vendor Name', + 'hardware_rev': 'Vendor Rev', + 'serial': 'Vendor SN', + 'type': 'Identifier', + 'ext_identifier': 'Extended Identifier', + 'ext_rateselect_compliance': 'Extended RateSelect Compliance', + 'cable_length': 'cable_length', + 'cable_type': 'Length', + 'nominal_bit_rate': 'Nominal Bit Rate(100Mbs)', + 'specification_compliance': 'Specification compliance', + 'encoding': 'Encoding', + 'connector': 'Connector', + 'application_advertisement': 'Application Advertisement' +} + +SFP_DOM_CHANNEL_MONITOR_MAP = { + 'rx1power': 'RXPower', + 'tx1bias': 'TXBias', + 'tx1power': 'TXPower' +} + +SFP_DOM_CHANNEL_THRESHOLD_MAP = { + 'txpowerhighalarm': 'TxPowerHighAlarm', + 'txpowerlowalarm': 'TxPowerLowAlarm', + 'txpowerhighwarning': 'TxPowerHighWarning', + 'txpowerlowwarning': 'TxPowerLowWarning', + 'rxpowerhighalarm': 'RxPowerHighAlarm', + 'rxpowerlowalarm': 'RxPowerLowAlarm', + 'rxpowerhighwarning': 'RxPowerHighWarning', + 'rxpowerlowwarning': 'RxPowerLowWarning', + 'txbiashighalarm': 'TxBiasHighAlarm', + 'txbiaslowalarm': 'TxBiasLowAlarm', + 'txbiashighwarning': 'TxBiasHighWarning', + 'txbiaslowwarning': 'TxBiasLowWarning' +} + +QSFP_DOM_CHANNEL_THRESHOLD_MAP = { + 'rxpowerhighalarm': 'RxPowerHighAlarm', + 'rxpowerlowalarm': 'RxPowerLowAlarm', + 'rxpowerhighwarning': 'RxPowerHighWarning', + 'rxpowerlowwarning': 'RxPowerLowWarning', + 'txbiashighalarm': 'TxBiasHighAlarm', + 'txbiaslowalarm': 'TxBiasLowAlarm', + 'txbiashighwarning': 'TxBiasHighWarning', + 'txbiaslowwarning': 'TxBiasLowWarning' +} + +DOM_MODULE_THRESHOLD_MAP = { + 'temphighalarm': 'TempHighAlarm', + 'templowalarm': 'TempLowAlarm', + 'temphighwarning': 'TempHighWarning', + 'templowwarning': 'TempLowWarning', + 'vcchighalarm': 'VccHighAlarm', + 'vcclowalarm': 'VccLowAlarm', + 'vcchighwarning': 'VccHighWarning', + 'vcclowwarning': 'VccLowWarning' +} + +QSFP_DOM_CHANNEL_MONITOR_MAP = { + 'rx1power': 'RX1Power', + 'rx2power': 'RX2Power', + 'rx3power': 'RX3Power', + 'rx4power': 'RX4Power', + 'tx1bias': 'TX1Bias', + 'tx2bias': 'TX2Bias', + 'tx3bias': 'TX3Bias', + 'tx4bias': 'TX4Bias', + 'tx1power': 'TX1Power', + 'tx2power': 'TX2Power', + 'tx3power': 'TX3Power', + 'tx4power': 'TX4Power' +} + +QSFP_DD_DOM_CHANNEL_MONITOR_MAP = { + 'rx1power': 'RX1Power', + 'rx2power': 'RX2Power', + 'rx3power': 'RX3Power', + 'rx4power': 'RX4Power', + 'rx5power': 'RX5Power', + 'rx6power': 'RX6Power', + 'rx7power': 'RX7Power', + 'rx8power': 'RX8Power', + 'tx1bias': 'TX1Bias', + 'tx2bias': 'TX2Bias', + 'tx3bias': 'TX3Bias', + 'tx4bias': 'TX4Bias', + 'tx5bias': 'TX5Bias', + 'tx6bias': 'TX6Bias', + 'tx7bias': 'TX7Bias', + 'tx8bias': 'TX8Bias', + 'tx1power': 'TX1Power', + 'tx2power': 'TX2Power', + 'tx3power': 'TX3Power', + 'tx4power': 'TX4Power', + 'tx5power': 'TX5Power', + 'tx6power': 'TX6Power', + 'tx7power': 'TX7Power', + 'tx8power': 'TX8Power' +} + +DOM_MODULE_MONITOR_MAP = { + 'temperature': 'Temperature', + 'voltage': 'Vcc' +} + +DOM_CHANNEL_THRESHOLD_UNIT_MAP = { + 'txpowerhighalarm': 'dBm', + 'txpowerlowalarm': 'dBm', + 'txpowerhighwarning': 'dBm', + 'txpowerlowwarning': 'dBm', + 'rxpowerhighalarm': 'dBm', + 'rxpowerlowalarm': 'dBm', + 'rxpowerhighwarning': 'dBm', + 'rxpowerlowwarning': 'dBm', + 'txbiashighalarm': 'mA', + 'txbiaslowalarm': 'mA', + 'txbiashighwarning': 'mA', + 'txbiaslowwarning': 'mA' +} + +DOM_MODULE_THRESHOLD_UNIT_MAP = { + 'temphighalarm': 'C', + 'templowalarm': 'C', + 'temphighwarning': 'C', + 'templowwarning': 'C', + 'vcchighalarm': 'Volts', + 'vcclowalarm': 'Volts', + 'vcchighwarning': 'Volts', + 'vcclowwarning': 'Volts' +} + +DOM_VALUE_UNIT_MAP = { + 'rx1power': 'dBm', + 'rx2power': 'dBm', + 'rx3power': 'dBm', + 'rx4power': 'dBm', + 'tx1bias': 'mA', + 'tx2bias': 'mA', + 'tx3bias': 'mA', + 'tx4bias': 'mA', + 'tx1power': 'dBm', + 'tx2power': 'dBm', + 'tx3power': 'dBm', + 'tx4power': 'dBm', + 'temperature': 'C', + 'voltage': 'Volts' +} + +QSFP_DD_DOM_VALUE_UNIT_MAP = { + 'rx1power': 'dBm', + 'rx2power': 'dBm', + 'rx3power': 'dBm', + 'rx4power': 'dBm', + 'rx5power': 'dBm', + 'rx6power': 'dBm', + 'rx7power': 'dBm', + 'rx8power': 'dBm', + 'tx1bias': 'mA', + 'tx2bias': 'mA', + 'tx3bias': 'mA', + 'tx4bias': 'mA', + 'tx5bias': 'mA', + 'tx6bias': 'mA', + 'tx7bias': 'mA', + 'tx8bias': 'mA', + 'tx1power': 'dBm', + 'tx2power': 'dBm', + 'tx3power': 'dBm', + 'tx4power': 'dBm', + 'tx5power': 'dBm', + 'tx6power': 'dBm', + 'tx7power': 'dBm', + 'tx8power': 'dBm', + 'temperature': 'C', + 'voltage': 'Volts' +} + def display_invalid_intf_eeprom(intf_name): - output = intf_name + ': ' + 'SFP EEPROM Not detected' + '\n' + output = intf_name + ': SFP EEPROM Not detected\n' click.echo(output) + def display_invalid_intf_presence(intf_name): header = ['Port', 'Presence'] port_table = [] port_table.append((intf_name, 'Not present')) click.echo(tabulate(port_table, header)) + class SFPShow(object): def __init__(self, intf_name, namespace_option, dump_dom=False): - super(SFPShow,self).__init__() + super(SFPShow, self).__init__() self.db = None - self.config_db = None self.intf_name = intf_name self.dump_dom = dump_dom self.table = [] @@ -185,180 +240,172 @@ class SFPShow(object): # Convert dict values to cli output string def format_dict_value_to_string(self, sorted_key_table, dom_info_dict, dom_value_map, - dom_unit_map, alignment = 0): - out_put='' - ident = ' ' - seperator = ": " + dom_unit_map, alignment=0): + output = '' + indent = ' ' * 8 + separator = ": " for key in sorted_key_table: if dom_info_dict is not None and key in dom_info_dict and dom_info_dict[key] != 'N/A': - current_val = (ident + ident + - dom_value_map[key]) - current_val = (current_val + seperator.rjust(len(seperator) + - alignment - len(dom_value_map[key]))) - if dom_info_dict[key] == 'Unknown': - current_val = (current_val + dom_info_dict[key]) + value = dom_info_dict[key] + units = '' + if type(value) != str or (value != 'Unknown' and not value.endswith(dom_unit_map[key])): + units = dom_unit_map[key] + output += '{}{}{}{}{}\n'.format((indent * 2), + dom_value_map[key], + separator.rjust(len(separator) + alignment - len(dom_value_map[key])), + value, + units) + return output + + # Convert sfp info in DB to cli output string + def convert_sfp_info_to_output_string(self, sfp_info_dict): + indent = ' ' * 8 + output = '' + + sorted_qsfp_data_map_keys = sorted(QSFP_DATA_MAP, key=QSFP_DATA_MAP.get) + for key in sorted_qsfp_data_map_keys: + if key == 'cable_type': + output += '{}{}: {}\n'.format(indent, sfp_info_dict['cable_type'], sfp_info_dict['cable_length']) + elif key == 'cable_length': + pass + elif key == 'specification_compliance': + if sfp_info_dict['type'] == "QSFP-DD Double Density 8X Pluggable Transceiver": + output += '{}{}: {}\n'.format(indent, QSFP_DATA_MAP[key], sfp_info_dict[key]) else: - current_val = (current_val + dom_info_dict[key] + - dom_unit_map[key]) - out_put = out_put + current_val + '\n' - return out_put + output += '{}{}:\n'.format(indent, QSFP_DATA_MAP['specification_compliance']) + spefic_compliance_dict = eval(sfp_info_dict['specification_compliance']) + sorted_compliance_key_table = natsorted(spefic_compliance_dict) + for compliance_key in sorted_compliance_key_table: + output += '{}{}: {}\n'.format((indent * 2), compliance_key, spefic_compliance_dict[compliance_key]) + else: + output += '{}{}: {}\n'.format(indent, QSFP_DATA_MAP[key], sfp_info_dict[key]) + + return output - # Convert dom sensor info in DB to cli output string + # Convert DOM sensor info in DB to CLI output string def convert_dom_to_output_string(self, sfp_type, dom_info_dict): - ident = ' ' - out_put_dom = '' - newline_ident = ': ' + '\n' + indent = ' ' * 8 + output_dom = '' channel_threshold_align = 18 module_threshold_align = 15 if sfp_type.startswith('QSFP'): - #Channel Monitor + # Channel Monitor if sfp_type.startswith('QSFP-DD'): - out_put_dom = (out_put_dom + ident + 'ChannelMonitorValues' - + newline_ident) - sorted_key_table = natsorted(qsfp_dd_dom_channel_monitor_map) - out_put_channel = self.format_dict_value_to_string( - sorted_key_table, dom_info_dict, - qsfp_dd_dom_channel_monitor_map, - qsfp_dd_dom_value_unit_map) - out_put_dom = out_put_dom + out_put_channel + output_dom += (indent + 'ChannelMonitorValues:\n') + sorted_key_table = natsorted(QSFP_DD_DOM_CHANNEL_MONITOR_MAP) + output_channel = self.format_dict_value_to_string( + sorted_key_table, dom_info_dict, + QSFP_DD_DOM_CHANNEL_MONITOR_MAP, + QSFP_DD_DOM_VALUE_UNIT_MAP) + output_dom += output_channel else: - out_put_dom = (out_put_dom + ident + 'ChannelMonitorValues' - + newline_ident) - sorted_key_table = natsorted(qsfp_dom_channel_monitor_map) - out_put_channel = self.format_dict_value_to_string( - sorted_key_table, dom_info_dict, - qsfp_dom_channel_monitor_map, - dom_value_unit_map) - out_put_dom = out_put_dom + out_put_channel - - #Channel Threshold + output_dom += (indent + 'ChannelMonitorValues:\n') + sorted_key_table = natsorted(QSFP_DOM_CHANNEL_MONITOR_MAP) + output_channel = self.format_dict_value_to_string( + sorted_key_table, dom_info_dict, + QSFP_DOM_CHANNEL_MONITOR_MAP, + DOM_VALUE_UNIT_MAP) + output_dom += output_channel + + # Channel Threshold if sfp_type.startswith('QSFP-DD'): - dom_map = sfp_dom_channel_threshold_map + dom_map = SFP_DOM_CHANNEL_THRESHOLD_MAP else: - dom_map = qsfp_dom_channel_threshold_map + dom_map = QSFP_DOM_CHANNEL_THRESHOLD_MAP - out_put_dom = (out_put_dom + ident + 'ChannelThresholdValues' - + newline_ident) + output_dom += (indent + 'ChannelThresholdValues:\n') sorted_key_table = natsorted(dom_map) - out_put_channel_threshold = self.format_dict_value_to_string( - sorted_key_table, dom_info_dict, - dom_map, - dom_channel_threshold_unit_map, - channel_threshold_align) - out_put_dom = out_put_dom + out_put_channel_threshold + output_channel_threshold = self.format_dict_value_to_string( + sorted_key_table, dom_info_dict, + dom_map, + DOM_CHANNEL_THRESHOLD_UNIT_MAP, + channel_threshold_align) + output_dom += output_channel_threshold # Module Monitor - out_put_dom = (out_put_dom + ident + 'ModuleMonitorValues' - + newline_ident) - sorted_key_table = natsorted(dom_module_monitor_map) - out_put_module = self.format_dict_value_to_string( - sorted_key_table, dom_info_dict, - dom_module_monitor_map, - dom_value_unit_map) - out_put_dom = out_put_dom + out_put_module - - #Module Threshold - out_put_dom = (out_put_dom + ident + 'ModuleThresholdValues' - + newline_ident) - sorted_key_table = natsorted(dom_module_threshold_map) - out_put_module_threshold = self.format_dict_value_to_string( - sorted_key_table, dom_info_dict, - dom_module_threshold_map, - dom_module_threshold_unit_map, - module_threshold_align) - out_put_dom = out_put_dom + out_put_module_threshold + output_dom += (indent + 'ModuleMonitorValues:\n') + sorted_key_table = natsorted(DOM_MODULE_MONITOR_MAP) + output_module = self.format_dict_value_to_string( + sorted_key_table, dom_info_dict, + DOM_MODULE_MONITOR_MAP, + DOM_VALUE_UNIT_MAP) + output_dom += output_module + + # Module Threshold + output_dom += (indent + 'ModuleThresholdValues:\n') + sorted_key_table = natsorted(DOM_MODULE_THRESHOLD_MAP) + output_module_threshold = self.format_dict_value_to_string( + sorted_key_table, dom_info_dict, + DOM_MODULE_THRESHOLD_MAP, + DOM_MODULE_THRESHOLD_UNIT_MAP, + module_threshold_align) + output_dom += output_module_threshold else: - out_put_dom = out_put_dom + ident + 'MonitorData' + newline_ident - sorted_key_table = natsorted(sfp_dom_channel_monitor_map) - out_put_channel = self.format_dict_value_to_string( - sorted_key_table, dom_info_dict, - sfp_dom_channel_monitor_map, - dom_value_unit_map) - out_put_dom = out_put_dom + out_put_channel - - sorted_key_table = natsorted(dom_module_monitor_map) - out_put_module = self.format_dict_value_to_string( - sorted_key_table, dom_info_dict, - dom_module_monitor_map, - dom_value_unit_map) - out_put_dom = out_put_dom + out_put_module - - out_put_dom = (out_put_dom + ident + 'ThresholdData' - + newline_ident) - #Module Threshold - sorted_key_table = natsorted(dom_module_threshold_map) - out_put_module_threshold = self.format_dict_value_to_string( - sorted_key_table, dom_info_dict, - dom_module_threshold_map, - dom_module_threshold_unit_map, - module_threshold_align) - out_put_dom = out_put_dom + out_put_module_threshold - - #Channel Threshold - sorted_key_table = natsorted(sfp_dom_channel_threshold_map) - out_put_channel_threshold = self.format_dict_value_to_string( - sorted_key_table, dom_info_dict, - sfp_dom_channel_threshold_map, - dom_channel_threshold_unit_map, - channel_threshold_align) - out_put_dom = out_put_dom + out_put_channel_threshold - - return out_put_dom - - # Convert sfp info in DB to cli output string - def convert_sfp_info_to_output_string(self, sfp_info_dict): - ident = ' ' - out_put = '' - - sorted_qsfp_data_map = sorted(qsfp_data_map.items(), key=operator.itemgetter(1)) - for key in sorted_qsfp_data_map: - key1 = key[0] - if key1 == 'cable_type': - out_put = out_put + ident + sfp_info_dict['cable_type'] + ': ' + sfp_info_dict['cable_length'] + '\n' - elif key1 == 'cable_length': - pass - elif key1 == 'specification_compliance': - if sfp_info_dict['type'] == "QSFP-DD Double Density 8X Pluggable Transceiver": - out_put = out_put + ident + qsfp_data_map[key1] + ': ' + sfp_info_dict[key1] + '\n' - else: - out_put = out_put + ident + qsfp_data_map['specification_compliance'] + ': ' + '\n' - spefic_compliance_dict = eval(sfp_info_dict['specification_compliance']) - sorted_compliance_key_table = natsorted(spefic_compliance_dict) - for compliance_key in sorted_compliance_key_table: - out_put = out_put + ident + ident + compliance_key + ': ' + spefic_compliance_dict[compliance_key] + '\n' - else: - out_put = out_put + ident + qsfp_data_map[key1] + ': ' + sfp_info_dict[key1] + '\n' - - return out_put + output_dom += (indent + 'MonitorData:\n') + sorted_key_table = natsorted(SFP_DOM_CHANNEL_MONITOR_MAP) + output_channel = self.format_dict_value_to_string( + sorted_key_table, dom_info_dict, + SFP_DOM_CHANNEL_MONITOR_MAP, + DOM_VALUE_UNIT_MAP) + output_dom += output_channel + + sorted_key_table = natsorted(DOM_MODULE_MONITOR_MAP) + output_module = self.format_dict_value_to_string( + sorted_key_table, dom_info_dict, + DOM_MODULE_MONITOR_MAP, + DOM_VALUE_UNIT_MAP) + output_dom += output_module + + output_dom += (indent + 'ThresholdData:\n') + + # Module Threshold + sorted_key_table = natsorted(DOM_MODULE_THRESHOLD_MAP) + output_module_threshold = self.format_dict_value_to_string( + sorted_key_table, dom_info_dict, + DOM_MODULE_THRESHOLD_MAP, + DOM_MODULE_THRESHOLD_UNIT_MAP, + module_threshold_align) + output_dom += output_module_threshold + + # Channel Threshold + sorted_key_table = natsorted(SFP_DOM_CHANNEL_THRESHOLD_MAP) + output_channel_threshold = self.format_dict_value_to_string( + sorted_key_table, dom_info_dict, + SFP_DOM_CHANNEL_THRESHOLD_MAP, + DOM_CHANNEL_THRESHOLD_UNIT_MAP, + channel_threshold_align) + output_dom += output_channel_threshold + + return output_dom # Convert sfp info and dom sensor info in DB to cli output string def convert_interface_sfp_info_to_cli_output_string(self, state_db, interface_name, dump_dom): - out_put = '' + output = '' + sfp_info_dict = state_db.get_all(state_db.STATE_DB, 'TRANSCEIVER_INFO|{}'.format(interface_name)) - out_put = interface_name + ': ' + 'SFP EEPROM detected' + '\n' + output = interface_name + ': ' + 'SFP EEPROM detected' + '\n' sfp_info_output = self.convert_sfp_info_to_output_string(sfp_info_dict) - out_put = out_put + sfp_info_output + output += sfp_info_output if dump_dom: sfp_type = sfp_info_dict['type'] dom_info_dict = state_db.get_all(state_db.STATE_DB, 'TRANSCEIVER_DOM_SENSOR|{}'.format(interface_name)) dom_output = self.convert_dom_to_output_string(sfp_type, dom_info_dict) - out_put = out_put + dom_output + output += dom_output - return out_put + return output @multi_asic_util.run_on_multi_asic def get_eeprom(self): - out_put = '' - if self.intf_name is not None: presence = self.db.exists(self.db.STATE_DB, 'TRANSCEIVER_INFO|{}'.format(self.intf_name)) if presence: - out_put = self.convert_interface_sfp_info_to_cli_output_string(self.db, self.intf_name, self.dump_dom) + self.output = self.convert_interface_sfp_info_to_cli_output_string( + self.db, self.intf_name, self.dump_dom) else: - out_put = out_put + self.intf_name + ': ' + 'SFP EEPROM Not detected' + '\n' + self.output += (self.intf_name + ': ' + 'SFP EEPROM Not detected' + '\n') else: port_table_keys = self.db.keys(self.db.APPL_DB, "PORT_TABLE:*") sorted_table_keys = natsorted(port_table_keys) @@ -367,13 +414,12 @@ class SFPShow(object): if interface and interface.startswith(front_panel_prefix()) and not interface.startswith(backplane_prefix()): presence = self.db.exists(self.db.STATE_DB, 'TRANSCEIVER_INFO|{}'.format(interface)) if presence: - out_put = out_put + self.convert_interface_sfp_info_to_cli_output_string(self.db, interface, self.dump_dom) + self.output += self.convert_interface_sfp_info_to_cli_output_string( + self.db, interface, self.dump_dom) else: - out_put = out_put + interface + ': ' + 'SFP EEPROM Not detected' + '\n' + self.output += (interface + ': ' + 'SFP EEPROM Not detected' + '\n') - out_put = out_put + '\n' - - self.output += out_put + self.output += '\n' @multi_asic_util.run_on_multi_asic def get_presence(self): @@ -392,9 +438,9 @@ class SFPShow(object): if key and key.startswith(front_panel_prefix()) and not key.startswith(backplane_prefix()): presence = self.db.exists(self.db.STATE_DB, 'TRANSCEIVER_INFO|{}'.format(key)) if presence: - port_table.append((key,'Present')) + port_table.append((key, 'Present')) else: - port_table.append((key,'Not present')) + port_table.append((key, 'Not present')) self.table += port_table @@ -407,12 +453,16 @@ class SFPShow(object): click.echo(tabulate(sorted_port_table, header)) # This is our main entrypoint - the main 'sfpshow' command + + @click.group() def cli(): """sfpshow - Command line utility for display SFP transceivers information""" pass # 'eeprom' subcommand + + @cli.command() @click.option('-p', '--port', metavar='', help="Display SFP EEPROM data for port only") @click.option('-d', '--dom', 'dump_dom', is_flag=True, help="Also display Digital Optical Monitoring (DOM) data") @@ -420,8 +470,7 @@ def cli(): def eeprom(port, dump_dom, namespace): if port and multi_asic.is_multi_asic() and namespace is None: try: - ns = multi_asic.get_namespace_for_port(port) - namespace=ns + namespace = multi_asic.get_namespace_for_port(port) except Exception: display_invalid_intf_eeprom(port) sys.exit(1) @@ -431,14 +480,15 @@ def eeprom(port, dump_dom, namespace): sfp.display_eeprom() # 'presence' subcommand + + @cli.command() @click.option('-p', '--port', metavar='', help="Display SFP presence for port only") @click.option('-n', '--namespace', default=None, help="Display interfaces for specific namespace") def presence(port, namespace): if port and multi_asic.is_multi_asic() and namespace is None: try: - ns = multi_asic.get_namespace_for_port(port) - namespace=ns + namespace = multi_asic.get_namespace_for_port(port) except Exception: display_invalid_intf_presence(port) sys.exit(1) @@ -447,5 +497,6 @@ def presence(port, namespace): sfp.get_presence() sfp.display_presence() + if __name__ == "__main__": cli() From 6b0ca969f403ec732b12fd5e20b0e46220c373f3 Mon Sep 17 00:00:00 2001 From: Joe LeVeque Date: Wed, 17 Feb 2021 18:38:39 -0800 Subject: [PATCH 090/342] [sfputil] Refactor to utilize sonic-platform package (#1421) Refactor sfputil to use sonic-platform package in lieu of old, deprecated platform plugins. The sfputil utility is still useful, as sfpshow only reads and displays SFP data from State DB. However, we still need a utility to write to the transceivers (low power mode, reset, etc.), and the ability to read directly from the transceivers is helpful for debugging. - Complete refactor to use sonic-platform package - Refactor display functions to align with sfpshow utility - Bump version to 3.0 - Add unit tests --- sfputil/main.py | 788 ++++++++++++++++++++++++++---------------- tests/sfputil_test.py | 175 ++++++++++ 2 files changed, 665 insertions(+), 298 deletions(-) create mode 100644 tests/sfputil_test.py diff --git a/sfputil/main.py b/sfputil/main.py index 931e86b148..9e769ee9a1 100644 --- a/sfputil/main.py +++ b/sfputil/main.py @@ -5,118 +5,385 @@ # Command-line utility for interacting with SFP transceivers within SONiC # -try: - import imp - import os - import sys +import os +import sys - import click - from sonic_py_common import device_info, logger, multi_asic - from tabulate import tabulate -except ImportError as e: - raise ImportError("%s - required module not found" % str(e)) +import click +import sonic_platform +import sonic_platform_base.sonic_sfp.sfputilhelper +from natsort import natsorted +from sonic_py_common import device_info, logger, multi_asic +from tabulate import tabulate -VERSION = '2.0' +VERSION = '3.0' SYSLOG_IDENTIFIER = "sfputil" -PLATFORM_SPECIFIC_MODULE_NAME = "sfputil" -PLATFORM_SPECIFIC_CLASS_NAME = "SfpUtil" - -# Global platform-specific sfputil class instance -platform_sfputil = None PLATFORM_JSON = 'platform.json' PORT_CONFIG_INI = 'port_config.ini' +ERROR_PERMISSIONS = 1 +ERROR_CHASSIS_LOAD = 2 +ERROR_SFPUTILHELPER_LOAD = 3 +ERROR_PORT_CONFIG_LOAD = 4 +ERROR_NOT_IMPLEMENTED = 5 +ERROR_INVALID_PORT = 6 + +# TODO: We should share these maps and the formatting functions between sfputil and sfpshow +QSFP_DATA_MAP = { + 'model': 'Vendor PN', + 'vendor_oui': 'Vendor OUI', + 'vendor_date': 'Vendor Date Code(YYYY-MM-DD Lot)', + 'manufacturer': 'Vendor Name', + 'hardware_rev': 'Vendor Rev', + 'serial': 'Vendor SN', + 'type': 'Identifier', + 'ext_identifier': 'Extended Identifier', + 'ext_rateselect_compliance': 'Extended RateSelect Compliance', + 'cable_length': 'cable_length', + 'cable_type': 'Length', + 'nominal_bit_rate': 'Nominal Bit Rate(100Mbs)', + 'specification_compliance': 'Specification compliance', + 'encoding': 'Encoding', + 'connector': 'Connector', + 'application_advertisement': 'Application Advertisement' +} + +SFP_DOM_CHANNEL_MONITOR_MAP = { + 'rx1power': 'RXPower', + 'tx1bias': 'TXBias', + 'tx1power': 'TXPower' +} + +SFP_DOM_CHANNEL_THRESHOLD_MAP = { + 'txpowerhighalarm': 'TxPowerHighAlarm', + 'txpowerlowalarm': 'TxPowerLowAlarm', + 'txpowerhighwarning': 'TxPowerHighWarning', + 'txpowerlowwarning': 'TxPowerLowWarning', + 'rxpowerhighalarm': 'RxPowerHighAlarm', + 'rxpowerlowalarm': 'RxPowerLowAlarm', + 'rxpowerhighwarning': 'RxPowerHighWarning', + 'rxpowerlowwarning': 'RxPowerLowWarning', + 'txbiashighalarm': 'TxBiasHighAlarm', + 'txbiaslowalarm': 'TxBiasLowAlarm', + 'txbiashighwarning': 'TxBiasHighWarning', + 'txbiaslowwarning': 'TxBiasLowWarning' +} + +QSFP_DOM_CHANNEL_THRESHOLD_MAP = { + 'rxpowerhighalarm': 'RxPowerHighAlarm', + 'rxpowerlowalarm': 'RxPowerLowAlarm', + 'rxpowerhighwarning': 'RxPowerHighWarning', + 'rxpowerlowwarning': 'RxPowerLowWarning', + 'txbiashighalarm': 'TxBiasHighAlarm', + 'txbiaslowalarm': 'TxBiasLowAlarm', + 'txbiashighwarning': 'TxBiasHighWarning', + 'txbiaslowwarning': 'TxBiasLowWarning' +} + +DOM_MODULE_THRESHOLD_MAP = { + 'temphighalarm': 'TempHighAlarm', + 'templowalarm': 'TempLowAlarm', + 'temphighwarning': 'TempHighWarning', + 'templowwarning': 'TempLowWarning', + 'vcchighalarm': 'VccHighAlarm', + 'vcclowalarm': 'VccLowAlarm', + 'vcchighwarning': 'VccHighWarning', + 'vcclowwarning': 'VccLowWarning' +} + +QSFP_DOM_CHANNEL_MONITOR_MAP = { + 'rx1power': 'RX1Power', + 'rx2power': 'RX2Power', + 'rx3power': 'RX3Power', + 'rx4power': 'RX4Power', + 'tx1bias': 'TX1Bias', + 'tx2bias': 'TX2Bias', + 'tx3bias': 'TX3Bias', + 'tx4bias': 'TX4Bias', + 'tx1power': 'TX1Power', + 'tx2power': 'TX2Power', + 'tx3power': 'TX3Power', + 'tx4power': 'TX4Power' +} + +QSFP_DD_DOM_CHANNEL_MONITOR_MAP = { + 'rx1power': 'RX1Power', + 'rx2power': 'RX2Power', + 'rx3power': 'RX3Power', + 'rx4power': 'RX4Power', + 'rx5power': 'RX5Power', + 'rx6power': 'RX6Power', + 'rx7power': 'RX7Power', + 'rx8power': 'RX8Power', + 'tx1bias': 'TX1Bias', + 'tx2bias': 'TX2Bias', + 'tx3bias': 'TX3Bias', + 'tx4bias': 'TX4Bias', + 'tx5bias': 'TX5Bias', + 'tx6bias': 'TX6Bias', + 'tx7bias': 'TX7Bias', + 'tx8bias': 'TX8Bias', + 'tx1power': 'TX1Power', + 'tx2power': 'TX2Power', + 'tx3power': 'TX3Power', + 'tx4power': 'TX4Power', + 'tx5power': 'TX5Power', + 'tx6power': 'TX6Power', + 'tx7power': 'TX7Power', + 'tx8power': 'TX8Power' +} + +DOM_MODULE_MONITOR_MAP = { + 'temperature': 'Temperature', + 'voltage': 'Vcc' +} + +DOM_CHANNEL_THRESHOLD_UNIT_MAP = { + 'txpowerhighalarm': 'dBm', + 'txpowerlowalarm': 'dBm', + 'txpowerhighwarning': 'dBm', + 'txpowerlowwarning': 'dBm', + 'rxpowerhighalarm': 'dBm', + 'rxpowerlowalarm': 'dBm', + 'rxpowerhighwarning': 'dBm', + 'rxpowerlowwarning': 'dBm', + 'txbiashighalarm': 'mA', + 'txbiaslowalarm': 'mA', + 'txbiashighwarning': 'mA', + 'txbiaslowwarning': 'mA' +} + +DOM_MODULE_THRESHOLD_UNIT_MAP = { + 'temphighalarm': 'C', + 'templowalarm': 'C', + 'temphighwarning': 'C', + 'templowwarning': 'C', + 'vcchighalarm': 'Volts', + 'vcclowalarm': 'Volts', + 'vcchighwarning': 'Volts', + 'vcclowwarning': 'Volts' +} + +DOM_VALUE_UNIT_MAP = { + 'rx1power': 'dBm', + 'rx2power': 'dBm', + 'rx3power': 'dBm', + 'rx4power': 'dBm', + 'tx1bias': 'mA', + 'tx2bias': 'mA', + 'tx3bias': 'mA', + 'tx4bias': 'mA', + 'tx1power': 'dBm', + 'tx2power': 'dBm', + 'tx3power': 'dBm', + 'tx4power': 'dBm', + 'temperature': 'C', + 'voltage': 'Volts' +} + +QSFP_DD_DOM_VALUE_UNIT_MAP = { + 'rx1power': 'dBm', + 'rx2power': 'dBm', + 'rx3power': 'dBm', + 'rx4power': 'dBm', + 'rx5power': 'dBm', + 'rx6power': 'dBm', + 'rx7power': 'dBm', + 'rx8power': 'dBm', + 'tx1bias': 'mA', + 'tx2bias': 'mA', + 'tx3bias': 'mA', + 'tx4bias': 'mA', + 'tx5bias': 'mA', + 'tx6bias': 'mA', + 'tx7bias': 'mA', + 'tx8bias': 'mA', + 'tx1power': 'dBm', + 'tx2power': 'dBm', + 'tx3power': 'dBm', + 'tx4power': 'dBm', + 'tx5power': 'dBm', + 'tx6power': 'dBm', + 'tx7power': 'dBm', + 'tx8power': 'dBm', + 'temperature': 'C', + 'voltage': 'Volts' +} + + +# Global platform-specific Chassis class instance +platform_chassis = None + +# Global platform-specific sfputil class instance +platform_sfputil = None # Global logger instance log = logger.Logger(SYSLOG_IDENTIFIER) -# ========================== Methods for printing ========================== - - -# Convert arraw of raw bytes into pretty-printed string -def raw_bytes_to_string_pretty(raw_bytes): - hexstr = "" - - for i in range(0, len(raw_bytes)): - if i > 0 and (i % 8) == 0: - hexstr += " " - - if i > 0 and (i % 16) == 0: - hexstr += "\n" - - hexstr += raw_bytes[i] - hexstr += " " - - return hexstr - - -# Recursively convert dictionary into pretty-printed string -def dict_to_string_pretty(in_dict, indent=0): - if len(in_dict) == 0: - return "" - - key = sorted(in_dict)[0] - val = in_dict[key] - - if isinstance(val, dict): - output = "%s%s:\n" % ('\t' * indent, key) + dict_to_string_pretty(val, indent + 1) - else: - output = "%s%s: %s\n" % ('\t' * indent, key, val) - - return output + dict_to_string_pretty({i:in_dict[i] for i in in_dict if i != key}, indent) - - -# Recursively convert dictionary into comma-separated string of 'key:value' -def dict_to_string_comma_separated(in_dict, key_blacklist, elemprefix, first=True): - if len(in_dict) == 0: - return "" - - output = "" - key = sorted(in_dict)[0] - val = in_dict[key] - - if key in key_blacklist: - return "" - - if not first: - output += "," - else: - first = False +# ========================== Methods for formatting output ========================== + +# Convert dict values to cli output string +def format_dict_value_to_string(sorted_key_table, + dom_info_dict, dom_value_map, + dom_unit_map, alignment=0): + output = '' + indent = ' ' * 8 + separator = ": " + for key in sorted_key_table: + if dom_info_dict is not None and key in dom_info_dict and dom_info_dict[key] != 'N/A': + value = dom_info_dict[key] + units = '' + if type(value) != str or (value != 'Unknown' and not value.endswith(dom_unit_map[key])): + units = dom_unit_map[key] + output += '{}{}{}{}{}\n'.format((indent * 2), + dom_value_map[key], + separator.rjust(len(separator) + alignment - len(dom_value_map[key])), + value, + units) + return output + + +def convert_sfp_info_to_output_string(sfp_info_dict): + indent = ' ' * 8 + output = '' + + sorted_qsfp_data_map_keys = sorted(QSFP_DATA_MAP, key=QSFP_DATA_MAP.get) + for key in sorted_qsfp_data_map_keys: + if key == 'cable_type': + output += '{}{}: {}\n'.format(indent, sfp_info_dict['cable_type'], sfp_info_dict['cable_length']) + elif key == 'cable_length': + pass + elif key == 'specification_compliance': + if sfp_info_dict['type'] == "QSFP-DD Double Density 8X Pluggable Transceiver": + output += '{}{}: {}\n'.format(indent, QSFP_DATA_MAP[key], sfp_info_dict[key]) + else: + output += '{}{}:\n'.format(indent, QSFP_DATA_MAP['specification_compliance']) + spefic_compliance_dict = eval(sfp_info_dict['specification_compliance']) + sorted_compliance_key_table = natsorted(spefic_compliance_dict) + for compliance_key in sorted_compliance_key_table: + output += '{}{}: {}\n'.format((indent * 2), compliance_key, spefic_compliance_dict[compliance_key]) + else: + output += '{}{}: {}\n'.format(indent, QSFP_DATA_MAP[key], sfp_info_dict[key]) + + return output + + +# Convert DOM sensor info in DB to CLI output string +def convert_dom_to_output_string(sfp_type, dom_info_dict): + indent = ' ' * 8 + output_dom = '' + channel_threshold_align = 18 + module_threshold_align = 15 + + if sfp_type.startswith('QSFP'): + # Channel Monitor + if sfp_type.startswith('QSFP-DD'): + output_dom += (indent + 'ChannelMonitorValues:\n') + sorted_key_table = natsorted(QSFP_DD_DOM_CHANNEL_MONITOR_MAP) + output_channel = format_dict_value_to_string( + sorted_key_table, dom_info_dict, + QSFP_DD_DOM_CHANNEL_MONITOR_MAP, + QSFP_DD_DOM_VALUE_UNIT_MAP) + output_dom += output_channel + else: + output_dom += (indent + 'ChannelMonitorValues:\n') + sorted_key_table = natsorted(QSFP_DOM_CHANNEL_MONITOR_MAP) + output_channel = format_dict_value_to_string( + sorted_key_table, dom_info_dict, + QSFP_DOM_CHANNEL_MONITOR_MAP, + DOM_VALUE_UNIT_MAP) + output_dom += output_channel + + # Channel Threshold + if sfp_type.startswith('QSFP-DD'): + dom_map = SFP_DOM_CHANNEL_THRESHOLD_MAP + else: + dom_map = QSFP_DOM_CHANNEL_THRESHOLD_MAP + + output_dom += (indent + 'ChannelThresholdValues:\n') + sorted_key_table = natsorted(dom_map) + output_channel_threshold = format_dict_value_to_string( + sorted_key_table, dom_info_dict, + dom_map, + DOM_CHANNEL_THRESHOLD_UNIT_MAP, + channel_threshold_align) + output_dom += output_channel_threshold + + # Module Monitor + output_dom += (indent + 'ModuleMonitorValues:\n') + sorted_key_table = natsorted(DOM_MODULE_MONITOR_MAP) + output_module = format_dict_value_to_string( + sorted_key_table, dom_info_dict, + DOM_MODULE_MONITOR_MAP, + DOM_VALUE_UNIT_MAP) + output_dom += output_module + + # Module Threshold + output_dom += (indent + 'ModuleThresholdValues:\n') + sorted_key_table = natsorted(DOM_MODULE_THRESHOLD_MAP) + output_module_threshold = format_dict_value_to_string( + sorted_key_table, dom_info_dict, + DOM_MODULE_THRESHOLD_MAP, + DOM_MODULE_THRESHOLD_UNIT_MAP, + module_threshold_align) + output_dom += output_module_threshold - if isinstance(val, dict): - output += dict_to_string_comma_separated(val, key_blacklist, key + '.', True) else: - elemname = elemprefix + key - output += elemname + ':' + str(val) - - return output + dict_to_string_comma_separated( - {i:in_dict[i] for i in in_dict if i != key}, - key_blacklist, elemprefix, first) + output_dom += (indent + 'MonitorData:\n') + sorted_key_table = natsorted(SFP_DOM_CHANNEL_MONITOR_MAP) + output_channel = format_dict_value_to_string( + sorted_key_table, dom_info_dict, + SFP_DOM_CHANNEL_MONITOR_MAP, + DOM_VALUE_UNIT_MAP) + output_dom += output_channel + + sorted_key_table = natsorted(DOM_MODULE_MONITOR_MAP) + output_module = format_dict_value_to_string( + sorted_key_table, dom_info_dict, + DOM_MODULE_MONITOR_MAP, + DOM_VALUE_UNIT_MAP) + output_dom += output_module + + output_dom += (indent + 'ThresholdData:\n') + + # Module Threshold + sorted_key_table = natsorted(DOM_MODULE_THRESHOLD_MAP) + output_module_threshold = format_dict_value_to_string( + sorted_key_table, dom_info_dict, + DOM_MODULE_THRESHOLD_MAP, + DOM_MODULE_THRESHOLD_UNIT_MAP, + module_threshold_align) + output_dom += output_module_threshold + + # Channel Threshold + sorted_key_table = natsorted(SFP_DOM_CHANNEL_THRESHOLD_MAP) + output_channel_threshold = format_dict_value_to_string( + sorted_key_table, dom_info_dict, + SFP_DOM_CHANNEL_THRESHOLD_MAP, + DOM_CHANNEL_THRESHOLD_UNIT_MAP, + channel_threshold_align) + output_dom += output_channel_threshold + + return output_dom # =============== Getting and printing SFP data =============== -def get_sfp_eeprom_status_string(port, port_sfp_eeprom_status): - if port_sfp_eeprom_status: - return "%s: SFP EEPROM detected" % port - else: - return "%s: SFP EEPROM not detected" % port - - -# Returns, -# port_num if physical -# logical_port:port_num if logical port and is a ganged port -# logical_port if logical and not ganged # def get_physical_port_name(logical_port, physical_port, ganged): + """ + Returns: + port_num if physical + logical_port:port_num if logical port and is a ganged port + logical_port if logical and not ganged + """ if logical_port == physical_port: - return logical_port + return str(logical_port) elif ganged: - return logical_port + ":%d (ganged)" % physical_port + return "{}:{} (ganged)".format(logical_port, physical_port) else: return logical_port @@ -126,165 +393,69 @@ def logical_port_name_to_physical_port_list(port_name): if platform_sfputil.is_logical_port(port_name): return platform_sfputil.get_logical_to_physical(port_name) else: - click.echo("Error: Invalid port '%s'" % port_name) + click.echo("Error: Invalid port '{}'".format(port_name)) return None else: return [int(port_name)] def print_all_valid_port_values(): - click.echo("Valid values for port: %s\n" % str(platform_sfputil.logical)) - - -# Returns multi-line string of pretty SFP port EEPROM data -def port_eeprom_data_string_pretty(logical_port_name, dump_dom): - result = "" - ganged = False - i = 1 - - physical_port_list = logical_port_name_to_physical_port_list(logical_port_name) - if physical_port_list is None: - click.echo("Error: No physical ports found for logical port '%s'" % logical_port_name) - return "" - - if len(physical_port_list) > 1: - ganged = True - - for physical_port in physical_port_list: - port_name = get_physical_port_name(logical_port_name, i, ganged) - if not platform_sfputil.get_presence(physical_port): - eeprom_dict = None - else: - eeprom_dict = platform_sfputil.get_eeprom_dict(physical_port) - - if eeprom_dict is not None: - eeprom_iface_dict = eeprom_dict.get('interface') - iface_data_dict = eeprom_iface_dict.get('data') - result += get_sfp_eeprom_status_string(port_name, True) - result += "\n" - result += dict_to_string_pretty(iface_data_dict, 1) - - if dump_dom: - eeprom_dom_dict = eeprom_dict.get('dom') - if eeprom_dom_dict is not None: - dom_data_dict = eeprom_dom_dict.get('data') - if dom_data_dict is not None: - result += dict_to_string_pretty(dom_data_dict, 1) - else: - result += get_sfp_eeprom_status_string(port_name, False) - result += "\n" - - result += "\n" - i += 1 - - return result - - -# Returns single-line string of pretty SFP port EEPROM data -# Nested dictionary items are prefixed using dot-notation -def port_eeprom_data_string_pretty_oneline(logical_port_name, - ifdata_blacklist, - domdata_blacklist, - dump_dom): - result = "" - ganged = False - i = 1 - - physical_port_list = logical_port_name_to_physical_port_list(logical_port_name) - if physical_port_list is None: - click.echo("Error: No physical ports found for logical port '%s'" % logical_port_name) - return "" - - if len(physical_port_list) > 1: - ganged = True - - for physical_port in physical_port_list: - if not platform_sfputil.get_presence(physical_port): - eeprom_dict = None - else: - eeprom_dict = platform_sfputil.get_eeprom_dict(physical_port) - - # Only print detected sfp ports for oneline - if eeprom_dict is not None: - eeprom_iface_dict = eeprom_dict.get('interface') - iface_data_dict = eeprom_iface_dict.get('data') - result += "port:%s," % get_physical_port_name(logical_port_name, i, ganged) - result += dict_to_string_comma_separated(iface_data_dict, ifdata_blacklist, "") - - if dump_dom: - eeprom_dom_dict = eeprom_dict.get('dom') - if eeprom_dom_dict is not None: - dom_data_dict = eeprom_dom_dict.get('data') - if dom_data_dict is not None: - result += dict_to_string_comma_separated( - dom_data_dict, domdata_blacklist, "") - - result += "\n" - i += 1 - - return result - + click.echo("Valid values for port: {}\n".format(str(platform_sfputil.logical))) -def port_eeprom_data_raw_string_pretty(logical_port_name): - result = "" - ganged = False - i = 1 - physical_port_list = logical_port_name_to_physical_port_list(logical_port_name) - if physical_port_list is None: - click.echo("Error: No physical ports found for logical port '%s'" % logical_port_name) - return "" +# ==================== Methods for initialization ==================== - if len(physical_port_list) > 1: - ganged = True - for physical_port in physical_port_list: - port_name = get_physical_port_name(logical_port_name, i, ganged) - if not platform_sfputil.get_presence(physical_port): - eeprom_raw = None - else: - eeprom_raw = platform_sfputil.get_eeprom_raw(physical_port) +# Instantiate platform-specific Chassis class +def load_platform_chassis(): + global platform_chassis - if eeprom_raw is None: - result += get_sfp_eeprom_status_string(port_name, False) - result += "\n" - else: - result += get_sfp_eeprom_status_string(port_name, True) - result += "\n" - result += raw_bytes_to_string_pretty(eeprom_raw) + # Load new platform api class + try: + platform_chassis = sonic_platform.platform.Platform().get_chassis() + except Exception as e: + log.log_error("Failed to instantiate Chassis due to {}".format(repr(e))) - result += "\n" - i += 1 + if not platform_chassis: + return False - return result + return True -# ==================== Methods for initialization ==================== +# Instantiate SfpUtilHelper class +def load_sfputilhelper(): + global platform_sfputil + # we have to make use of sfputil for some features + # even though when new platform api is used for all vendors. + # in this sense, we treat it as a part of new platform api. + # we have already moved sfputil to sonic_platform_base + # which is the root of new platform api. + platform_sfputil = sonic_platform_base.sonic_sfp.sfputilhelper.SfpUtilHelper() -# Loads platform specific sfputil module from source -def load_platform_sfputil(): - global platform_sfputil + if not platform_sfputil: + return False - # Load platform module from source - platform_path, _ = device_info.get_paths_to_platform_and_hwsku_dirs() + return True - try: - module_file = os.path.join(platform_path, "plugins", PLATFORM_SPECIFIC_MODULE_NAME + ".py") - module = imp.load_source(PLATFORM_SPECIFIC_MODULE_NAME, module_file) - except IOError as e: - log.log_error("Failed to load platform module '%s': %s" % (PLATFORM_SPECIFIC_MODULE_NAME, str(e)), True) - return -1 +def load_port_config(): try: - platform_sfputil_class = getattr(module, PLATFORM_SPECIFIC_CLASS_NAME) - platform_sfputil = platform_sfputil_class() - except AttributeError as e: - log.log_error("Failed to instantiate '%s' class: %s" % (PLATFORM_SPECIFIC_CLASS_NAME, str(e)), True) - return -2 + if multi_asic.is_multi_asic(): + # For multi ASIC platforms we pass DIR of port_config_file_path and the number of asics + (platform_path, hwsku_path) = device_info.get_paths_to_platform_and_hwsku_dirs() - return 0 + # Load platform module from source + platform_sfputil.read_all_porttab_mappings(hwsku_path, multi_asic.get_num_asics()) + else: + # For single ASIC platforms we pass port_config_file_path and the asic_inst as 0 + port_config_file_path = device_info.get_path_to_port_config_file() + platform_sfputil.read_porttab_mappings(port_config_file_path, 0) + except Exception as e: + log.log_error("Error reading port info ({})".format(str(e)), True) + return False + return True # ==================== CLI commands and groups ==================== @@ -296,28 +467,19 @@ def cli(): if os.geteuid() != 0: click.echo("Root privileges are required for this operation") - sys.exit(1) + sys.exit(ERROR_PERMISSIONS) - # Load platform-specific sfputil class - err = load_platform_sfputil() - if err != 0: - sys.exit(2) + # Load platform-specific Chassis class + if not load_platform_chassis(): + sys.exit(ERROR_CHASSIS_LOAD) - # Load port info - try: - if multi_asic.is_multi_asic(): - # For multi ASIC platforms we pass DIR of port_config_file_path and the number of asics - (platform_path, hwsku_path) = device_info.get_paths_to_platform_and_hwsku_dirs() + # Load SfpUtilHelper class + if not load_sfputilhelper(): + sys.exit(ERROR_SFPUTILHELPER_LOAD) - # Load platform module from source - platform_sfputil.read_all_porttab_mappings(hwsku_path, multi_asic.get_num_asics()) - else: - # For single ASIC platforms we pass port_config_file_path and the asic_inst as 0 - port_config_file_path = device_info.get_path_to_port_config_file() - platform_sfputil.read_porttab_mappings(port_config_file_path, 0) - except Exception as e: - log.log_error("Error reading port info (%s)" % str(e), True) - sys.exit(3) + # Load port info + if not load_port_config(): + sys.exit(ERROR_PORT_CONFIG_LOAD) # 'show' subgroup @@ -331,9 +493,8 @@ def show(): @show.command() @click.option('-p', '--port', metavar='', help="Display SFP EEPROM data for port only") @click.option('-d', '--dom', 'dump_dom', is_flag=True, help="Also display Digital Optical Monitoring (DOM) data") -@click.option('-o', '--oneline', is_flag=True, help="Condense output for each port to a single line") -@click.option('--raw', is_flag=True, help="Output raw, unformatted data") -def eeprom(port, dump_dom, oneline, raw): +@click.option('-n', '--namespace', default=None, help="Display interfaces for specific namespace") +def eeprom(port, dump_dom, namespace): """Display EEPROM data of SFP transceiver(s)""" logical_port_list = [] output = "" @@ -342,31 +503,65 @@ def eeprom(port, dump_dom, oneline, raw): if port is None: logical_port_list = platform_sfputil.logical else: - if platform_sfputil.is_valid_sfputil_port(port) == 0: - click.echo("Error: invalid port '%s'\n" % port) + if platform_sfputil.is_logical_port(port) == 0: + click.echo("Error: invalid port '{}'\n".format(port)) print_all_valid_port_values() - sys.exit(4) + sys.exit(ERROR_INVALID_PORT) logical_port_list = [port] - if raw: - for logical_port_name in logical_port_list: - output += port_eeprom_data_raw_string_pretty(logical_port_name) - output += "\n" - elif oneline: - ifdata_out_blacklist = ["EncodingCodes", - "ExtIdentOfTypeOfTransceiver", - "NominalSignallingRate(UnitsOf100Mbd)"] - domdata_out_blacklist = ["AwThresholds", "StatusControl"] - - for logical_port_name in logical_port_list: - output += port_eeprom_data_string_pretty_oneline(logical_port_name, - ifdata_out_blacklist, - domdata_out_blacklist, - dump_dom) - else: - for logical_port_name in logical_port_list: - output += port_eeprom_data_string_pretty(logical_port_name, dump_dom) + for logical_port_name in logical_port_list: + ganged = False + i = 1 + + physical_port_list = logical_port_name_to_physical_port_list(logical_port_name) + if physical_port_list is None: + click.echo("Error: No physical ports found for logical port '{}'".format(logical_port_name)) + return + + if len(physical_port_list) > 1: + ganged = True + + for physical_port in physical_port_list: + port_name = get_physical_port_name(logical_port_name, i, ganged) + + try: + presence = platform_chassis.get_sfp(physical_port).get_presence() + except NotImplementedError: + click.echo("Sfp.get_presence() is currently not implemented for this platform") + sys.exit(ERROR_NOT_IMPLEMENTED) + + if not presence: + output += "{}: SFP EEPROM not detected\n".format(port_name) + else: + output += "{}: SFP EEPROM detected\n".format(port_name) + + try: + xcvr_info = platform_chassis.get_sfp(physical_port).get_transceiver_info() + except NotImplementedError: + click.echo("Sfp.get_transceiver_info() is currently not implemented for this platform") + sys.exit(ERROR_NOT_IMPLEMENTED) + + output += convert_sfp_info_to_output_string(xcvr_info) + + if dump_dom: + try: + xcvr_dom_info = platform_chassis.get_sfp(physical_port).get_transceiver_bulk_status() + except NotImplementedError: + click.echo("Sfp.get_transceiver_bulk_status() is currently not implemented for this platform") + sys.exit(ERROR_NOT_IMPLEMENTED) + + try: + xcvr_dom_threshold_info = platform_chassis.get_sfp(physical_port).get_transceiver_threshold_info() + if xcvr_dom_threshold_info: + xcvr_dom_info.update(xcvr_dom_threshold_info) + except NotImplementedError: + click.echo("Sfp.get_transceiver_threshold_info() is currently not implemented for this platform") + sys.exit(ERROR_NOT_IMPLEMENTED) + + output += convert_dom_to_output_string(xcvr_info['type'], xcvr_dom_info) + + output += '\n' click.echo(output) @@ -384,10 +579,10 @@ def presence(port): if port is None: logical_port_list = platform_sfputil.logical else: - if platform_sfputil.is_valid_sfputil_port(port) == 0: - click.echo("Error: invalid port '%s'\n" % port) + if platform_sfputil.is_logical_port(port) == 0: + click.echo("Error: invalid port '{}'\n".format(port)) print_all_valid_port_values() - sys.exit(4) + sys.exit(ERROR_INVALID_PORT) logical_port_list = [port] @@ -397,7 +592,7 @@ def presence(port): physical_port_list = logical_port_name_to_physical_port_list(logical_port_name) if physical_port_list is None: - click.echo("Error: No physical ports found for logical port '%s'" % logical_port_name) + click.echo("Error: No physical ports found for logical port '{}'".format(logical_port_name)) return if len(physical_port_list) > 1: @@ -407,16 +602,13 @@ def presence(port): port_name = get_physical_port_name(logical_port_name, i, ganged) try: - presence = platform_sfputil.get_presence(physical_port) + presence = platform_chassis.get_sfp(physical_port).get_presence() except NotImplementedError: click.echo("This functionality is currently not implemented for this platform") - sys.exit(5) + sys.exit(ERROR_NOT_IMPLEMENTED) - if platform_sfputil._is_valid_port(physical_port): - status_string = "Present" if presence else "Not present" - output_table.append([port_name, status_string]) - else: - output_table.append([port_name, "N/A"]) + status_string = "Present" if presence else "Not present" + output_table.append([port_name, status_string]) i += 1 @@ -436,10 +628,10 @@ def lpmode(port): if port is None: logical_port_list = platform_sfputil.logical else: - if platform_sfputil.is_valid_sfputil_port(port) == 0: - click.echo("Error: invalid port '%s'\n" % port) + if platform_sfputil.is_logical_port(port) == 0: + click.echo("Error: invalid port '{}'\n".format(port)) print_all_valid_port_values() - sys.exit(4) + sys.exit(ERROR_INVALID_PORT) logical_port_list = [port] @@ -449,7 +641,7 @@ def lpmode(port): physical_port_list = logical_port_name_to_physical_port_list(logical_port_name) if physical_port_list is None: - click.echo("Error: No physical ports found for logical port '%s'" % logical_port_name) + click.echo("Error: No physical ports found for logical port '{}'".format(logical_port_name)) return if len(physical_port_list) > 1: @@ -459,10 +651,10 @@ def lpmode(port): port_name = get_physical_port_name(logical_port_name, i, ganged) try: - lpmode = platform_sfputil.get_low_power_mode(physical_port) + lpmode = platform_chassis.get_sfp(physical_port).get_lpmode() except NotImplementedError: click.echo("This functionality is currently not implemented for this platform") - sys.exit(5) + sys.exit(ERROR_NOT_IMPLEMENTED) if lpmode: output_table.append([port_name, "On"]) @@ -486,29 +678,29 @@ def set_lpmode(logical_port, enable): ganged = False i = 1 - if platform_sfputil.is_valid_sfputil_port(logical_port) == 0: - click.echo("Error: invalid port '%s'\n" % logical_port) + if platform_sfputil.is_logical_port(logical_port) == 0: + click.echo("Error: invalid port '{}'\n".format(logical_port)) print_all_valid_port_values() - sys.exit(4) + sys.exit(ERROR_INVALID_PORT) physical_port_list = logical_port_name_to_physical_port_list(logical_port) if physical_port_list is None: - click.echo("Error: No physical ports found for logical port '%s'" % logical_port) + click.echo("Error: No physical ports found for logical port '{}'".format(logical_port)) return if len(physical_port_list) > 1: ganged = True for physical_port in physical_port_list: - click.echo("{} low-power mode for port {}... ".format( + click.echo("{} low-power mode for port {} ... ".format( "Enabling" if enable else "Disabling", get_physical_port_name(logical_port, i, ganged)), nl=False) try: - result = platform_sfputil.set_low_power_mode(physical_port, enable) + result = platform_chassis.get_sfp(physical_port).set_lpmode(enable) except NotImplementedError: click.echo("This functionality is currently not implemented for this platform") - sys.exit(5) + sys.exit(ERROR_NOT_IMPLEMENTED) if result: click.echo("OK") @@ -542,27 +734,27 @@ def reset(port_name): ganged = False i = 1 - if platform_sfputil.is_valid_sfputil_port(port_name) == 0: - click.echo("Error: invalid port '%s'\n" % port_name) + if platform_sfputil.is_logical_port(port_name) == 0: + click.echo("Error: invalid port '{}'\n".format(port_name)) print_all_valid_port_values() - sys.exit(4) + sys.exit(ERROR_INVALID_PORT) physical_port_list = logical_port_name_to_physical_port_list(port_name) if physical_port_list is None: - click.echo("Error: No physical ports found for logical port '%s'" % port_name) + click.echo("Error: No physical ports found for logical port '{}'".format(port_name)) return if len(physical_port_list) > 1: ganged = True for physical_port in physical_port_list: - click.echo("Resetting port %s... " % get_physical_port_name(port_name, i, ganged), nl=False) + click.echo("Resetting port {} ... ".format(get_physical_port_name(port_name, i, ganged)), nl=False) try: - result = platform_sfputil.reset(physical_port) + result = platform_chassis.get_sfp(physical_port).reset() except NotImplementedError: click.echo("This functionality is currently not implemented for this platform") - sys.exit(5) + sys.exit(ERROR_NOT_IMPLEMENTED) if result: click.echo("OK") diff --git a/tests/sfputil_test.py b/tests/sfputil_test.py new file mode 100644 index 0000000000..5708bb2bb6 --- /dev/null +++ b/tests/sfputil_test.py @@ -0,0 +1,175 @@ +import sys +import os +from unittest import mock + +import pytest +from click.testing import CliRunner + +test_path = os.path.dirname(os.path.abspath(__file__)) +modules_path = os.path.dirname(test_path) +sys.path.insert(0, modules_path) + +sys.modules['sonic_platform'] = mock.MagicMock() +import sfputil.main as sfputil + + +class TestSfputil(object): + def test_format_dict_value_to_string(self): + sorted_key_table = [ + 'rx1power', + 'rx2power', + 'rx3power', + 'rx4power', + 'tx1bias', + 'tx1power', + 'tx2bias', + 'tx2power', + 'tx3bias', + 'tx3power', + 'tx4bias', + 'tx4power' + ] + + dom_info_dict = { + 'temperature': '41.7539C', + 'voltage': '3.2577Volts', + 'rx1power': '-1.6622dBm', + 'rx2power': '-1.7901dBm', + 'rx3power': '-1.6973dBm', + 'rx4power': '-2.0915dBm', + 'tx1bias': '35.8400mA', + 'tx2bias': '37.5780mA', + 'tx3bias': '35.8400mA', + 'tx4bias': '35.8400mA', + 'tx1power': 'N/A', + 'tx2power': 'N/A', + 'tx3power': 'N/A', + 'tx4power': 'N/A' + } + + expected_output = '''\ + RX1Power: -1.6622dBm + RX2Power: -1.7901dBm + RX3Power: -1.6973dBm + RX4Power: -2.0915dBm + TX1Bias: 35.8400mA + TX2Bias: 37.5780mA + TX3Bias: 35.8400mA + TX4Bias: 35.8400mA +''' + + output = sfputil.format_dict_value_to_string(sorted_key_table, + dom_info_dict, + sfputil.QSFP_DOM_CHANNEL_MONITOR_MAP, + sfputil.DOM_VALUE_UNIT_MAP) + assert output == expected_output + + # Change temperature and voltage to floats and ensure units get appended + dom_info_dict['temperature'] = 41.7539 + dom_info_dict['voltage'] = 3.2577 + + output = sfputil.format_dict_value_to_string(sorted_key_table, + dom_info_dict, + sfputil.QSFP_DOM_CHANNEL_MONITOR_MAP, + sfputil.DOM_VALUE_UNIT_MAP) + assert output == expected_output + + def test_convert_sfp_info_to_output_string(self): + sfp_info_dict = { + 'type': 'QSFP28 or later', + 'type_abbrv_name': 'QSFP28', + 'manufacturer': 'Mellanox', + 'model': 'MCP1600-C003', + 'hardware_rev': 'A2', + 'serial': 'MT1636VS10561', + 'vendor_oui': '00-02-c9', + 'vendor_date': '2016-07-18', + 'connector': 'No separable connector', + 'encoding': '64B66B', + 'ext_identifier': 'Power Class 1(1.5W max)', + 'ext_rateselect_compliance': 'QSFP+ Rate Select Version 1', + 'cable_type': 'Length Cable Assembly(m)', + 'cable_length': '3', + 'application_advertisement': 'N/A', + 'specification_compliance': "{'10/40G Ethernet Compliance Code': '40GBASE-CR4'}", + 'dom_capability': "{'Tx_power_support': 'no', 'Rx_power_support': 'no', 'Voltage_support': 'no', 'Temp_support': 'no'}", + 'nominal_bit_rate': '255' + } + + expected_output = '''\ + Application Advertisement: N/A + Connector: No separable connector + Encoding: 64B66B + Extended Identifier: Power Class 1(1.5W max) + Extended RateSelect Compliance: QSFP+ Rate Select Version 1 + Identifier: QSFP28 or later + Length Cable Assembly(m): 3 + Nominal Bit Rate(100Mbs): 255 + Specification compliance: + 10/40G Ethernet Compliance Code: 40GBASE-CR4 + Vendor Date Code(YYYY-MM-DD Lot): 2016-07-18 + Vendor Name: Mellanox + Vendor OUI: 00-02-c9 + Vendor PN: MCP1600-C003 + Vendor Rev: A2 + Vendor SN: MT1636VS10561 +''' + output = sfputil.convert_sfp_info_to_output_string(sfp_info_dict) + assert output == expected_output + + def test_convert_dom_to_output_string(self): + sfp_type = 'QSFP28 or later' + + dom_info_dict = { + 'temperature': '41.7539C', + 'voltage': '3.2577Volts', + 'rx1power': '-1.6622dBm', + 'rx2power': '-1.7901dBm', + 'rx3power': '-1.6973dBm', + 'rx4power': '-2.0915dBm', + 'tx1bias': '35.8400mA', + 'tx2bias': '37.5780mA', + 'tx3bias': '35.8400mA', + 'tx4bias': '35.8400mA', + 'tx1power': 'N/A', + 'tx2power': 'N/A', + 'tx3power': 'N/A', + 'tx4power': 'N/A' + } + + expected_output = '''\ + ChannelMonitorValues: + RX1Power: -1.6622dBm + RX2Power: -1.7901dBm + RX3Power: -1.6973dBm + RX4Power: -2.0915dBm + TX1Bias: 35.8400mA + TX2Bias: 37.5780mA + TX3Bias: 35.8400mA + TX4Bias: 35.8400mA + ChannelThresholdValues: + ModuleMonitorValues: + Temperature: 41.7539C + Vcc: 3.2577Volts + ModuleThresholdValues: +''' + + output = sfputil.convert_dom_to_output_string(sfp_type, dom_info_dict) + assert output == expected_output + + # TODO: Add tests for other SFP types + + def test_get_physical_port_name(self): + output = sfputil.get_physical_port_name(0, 0, False) + assert output == '0' + + output = sfputil.get_physical_port_name('Ethernet0', 0, False) + assert output == 'Ethernet0' + + output = sfputil.get_physical_port_name('Ethernet0', 0, True) + assert output == 'Ethernet0:0 (ganged)' + + def test_version(self): + runner = CliRunner() + result = runner.invoke(sfputil.cli.commands['version'], []) + assert result.output.rstrip() == 'sfputil version {}'.format(sfputil.VERSION) From 3b04710fb2d766d8214f98af07e48e817ca65275 Mon Sep 17 00:00:00 2001 From: Sumukha Tumkur Vani Date: Thu, 18 Feb 2021 16:09:10 -0800 Subject: [PATCH 091/342] Refactor neighbor_advertiser script and use mock for testing (#1427) Refactored code in neighbor_advertiser script and used mock module to unittesting --- scripts/neighbor_advertiser | 34 +++++++++++++++++++------------ tests/neighbor_advertiser_test.py | 14 +++---------- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/scripts/neighbor_advertiser b/scripts/neighbor_advertiser index 7d38dd435a..dc38cf26c3 100644 --- a/scripts/neighbor_advertiser +++ b/scripts/neighbor_advertiser @@ -226,6 +226,23 @@ def get_vlan_addr_prefix(vlan_intf_name, ip_ver): return vlan_addr, vlan_prefix +def get_link_local_addr(vlan_interface): + try: + out = subprocess.check_output(['ip', '-6', 'addr', 'show', vlan_interface]) + out = out.decode('UTF-8') + for line in out.splitlines(): + keys = line.split() + if keys[0] == 'inet6': + ip = IPNetwork(keys[1]) + if str(ip.ip).startswith("fe80"): + # Link local ipv6 address + return str(ip.ip) + except Exception: + log.log_error('failed to get %s addresses from o.s.' % vlan_interface) + + return None + + def get_vlan_addresses(vlan_interface): vlan_id = get_vlan_interface_vlan_id(vlan_interface) vxlan_id = get_vlan_interface_vxlan_id(vlan_interface) @@ -235,19 +252,10 @@ def get_vlan_addresses(vlan_interface): ipv6_addr, ipv6_prefix = get_vlan_addr_prefix(vlan_interface, 6) if len(ipv6_addr): - try: - out = subprocess.check_output(['ip', '-6', 'addr', 'show', vlan_interface]) - out = out.decode('UTF-8') - for line in out.splitlines(): - keys = line.split() - if keys[0] == 'inet6': - ip = IPNetwork(keys[1]) - if str(ip.ip).startswith("fe80") and str(ip.ip) not in ipv6_addr: - # Link local ipv6 address - ipv6_addr.append(str(ip.ip)) - ipv6_prefix.append('128') - except Exception: - log.log_error('failed to get %s addresses from o.s.' % vlan_interface) + link_local_addr = get_link_local_addr(vlan_interface) + if link_local_addr and link_local_addr not in ipv6_addr: + ipv6_addr.append(link_local_addr) + ipv6_prefix.append('128') metadata = config_db.get_table('DEVICE_METADATA') mac_addr = metadata['localhost']['mac'] diff --git a/tests/neighbor_advertiser_test.py b/tests/neighbor_advertiser_test.py index 3ba7b8afd7..c6dee598af 100644 --- a/tests/neighbor_advertiser_test.py +++ b/tests/neighbor_advertiser_test.py @@ -1,6 +1,7 @@ import sys import os import pytest +from unittest import mock import subprocess from swsscommon.swsscommon import ConfigDBConnector @@ -20,16 +21,7 @@ def set_up(self): neighbor_advertiser.connect_app_db() def test_neighbor_advertiser_slice(self, set_up): - cmd = "sudo sysctl -w net.ipv6.conf.all.disable_ipv6=0" - subprocess.check_output(cmd.split()) - cmd = "sudo ip link add Vlan1000 type dummy" - subprocess.check_output(cmd.split()) - cmd = "sudo ip -6 address add dev Vlan1000 scope link fe80::1e34:daff:fe1e:2800/64" - subprocess.check_output(cmd.split()) - cmd = "sudo ip link add Vlan2000 type dummy" - subprocess.check_output(cmd.split()) - cmd = "sudo ip -6 address add dev Vlan2000 scope link fe80::1e43:dfaf:fe2e:1800/64" - subprocess.check_output(cmd.split()) + neighbor_advertiser.get_link_local_addr = mock.MagicMock(return_value='fe80::1e34:daff:fe1e:2800') output = neighbor_advertiser.construct_neighbor_advertiser_slice() expected_output = dict( { @@ -53,7 +45,7 @@ def test_neighbor_advertiser_slice(self, set_up): ], 'ipv6AddrMappings': [ {'macAddr': '1d:34:db:16:a6:00', 'ipAddr': 'fc02:1011::1', 'ipPrefixLen': '64'}, - {'macAddr': '1d:34:db:16:a6:00', 'ipAddr': 'fe80::1e43:dfaf:fe2e:1800', 'ipPrefixLen': '128'} + {'macAddr': '1d:34:db:16:a6:00', 'ipAddr': 'fe80::1e34:daff:fe1e:2800', 'ipPrefixLen': '128'} ], 'vxlanId': '2000', 'vlanId': '2000', From 0eaabfdb3382c7ae338aa2d9ebf70f95d3cdf9f1 Mon Sep 17 00:00:00 2001 From: Joe LeVeque Date: Fri, 19 Feb 2021 11:33:08 -0800 Subject: [PATCH 092/342] [ci] No longer pass '--privileged' option to slave container (#1446) Now that https://github.com/Azure/sonic-utilities/pull/1427 has merged, we should be able to successfully run all unit tests in a non-privileged slave container. --- azure-pipelines.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index a055086ea3..78403f1698 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -11,7 +11,6 @@ pool: container: image: sonicdev-microsoft.azurecr.io:443/sonic-slave-buster:latest - options: --privileged steps: - task: DownloadPipelineArtifact@2 From d8b224f16a1353ae8aa646273387caa2404a629b Mon Sep 17 00:00:00 2001 From: maulik_patel_innovium Date: Sun, 21 Feb 2021 02:25:47 +0530 Subject: [PATCH 093/342] Added CLI reference for buffer-pool watermark|persistent-watermark commands (#1426) - What I did Added CLI reference for buffer-pool watermark|persistent-watermark commands - How I did it Updated the Command-Reference.md file for following: 1. Added buffer_pool in "show" help 2. show description for buffer_pool watermark 3. show descritpion buffer_pool persistent-watermark --- doc/Command-Reference.md | 48 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/doc/Command-Reference.md b/doc/Command-Reference.md index 0b8e510bff..6832cddf4e 100644 --- a/doc/Command-Reference.md +++ b/doc/Command-Reference.md @@ -110,6 +110,7 @@ * [QoS Show commands](#qos-show-commands) * [PFC](#pfc) * [Queue And Priority-Group](#queue-and-priority-group) + * [Buffer Pool](#buffer-pool) * [QoS config commands](#qos-config-commands) * [sFlow](#sflow) * [sFlow Show commands](#sflow-show-commands) @@ -340,6 +341,7 @@ This command displays the full list of show commands available in the software; aaa Show AAA configuration acl Show ACL related information arp Show IP ARP table + buffer_pool Show details of the Buffer-pools clock Show date and time ecn Show ECN configuration environment Show environmentals (voltages, fans, temps) @@ -6169,6 +6171,52 @@ This command displays the user persistet-watermark for the queues (Egress shared admin@sonic:~$ sonic-clear priority-group persistent-watermark headroom ``` +#### Buffer Pool + +This sub-section explains the following buffer pool parameters that can be displayed using "show buffer_pool" command. +1) buffer pool watermark +2) buffer pool persistent-watermark + +**show buffer_pool watermark** + +This command displays the user watermark for all the buffer pools + +- Usage: + ``` + show buffer_pool watermark + ``` + +- Example: + ``` + admin@sonic:~$ show buffer_pool watermark + Shared pool maximum occupancy: + Pool Bytes + --------------------- ------- + ingress_lossless_pool 0 + lossy_pool 2464 + ``` + + +**show buffer_pool persistent-watermark** + +This command displays the user persistent-watermark for all the buffer pools + +- Usage: + ``` + show buffer_pool persistent-watermark + ``` + +- Example: + ``` + admin@sonic:~$ show buffer_pool persistent-watermark + Shared pool maximum occupancy: + Pool Bytes + --------------------- ------- + ingress_lossless_pool 0 + lossy_pool 2464 + ``` + + ### QoS config commands From d79d189c3ef8f8a4ede952febd38223ad8e79a79 Mon Sep 17 00:00:00 2001 From: Vaibhav Hemant Dixit Date: Mon, 22 Feb 2021 08:41:36 -0800 Subject: [PATCH 094/342] Update SonicDBConfig APIs for centralize_database (#1441) The DB backup during warmboot has started failing recently after the changes made to deprecate the usage of SonicDBConfig methods originally implemented by python in https://github.com/Azure/sonic-py-swsssdk/. The new implementation is based on hiredis C++ library. How I did it: The centralize_database script still uses the Python APIs instead of C++, update the method names which are now defined in sonic-swss-common. With the new changes, the warm-boot goes ahead without DB save errors. --- scripts/centralize_database | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/scripts/centralize_database b/scripts/centralize_database index c32b19b647..3b50184eac 100755 --- a/scripts/centralize_database +++ b/scripts/centralize_database @@ -6,19 +6,19 @@ import redis import argparse def centralize_to_target_db(target_dbname): - target_dbport = SonicDBConfig.get_port(target_dbname) - target_dbhost = SonicDBConfig.get_hostname(target_dbname) + target_dbport = SonicDBConfig.getDbPort(target_dbname) + target_dbhost = SonicDBConfig.getDbHostname(target_dbname) - dblists = SonicDBConfig.get_dblist() + dblists = SonicDBConfig.getDbList() for dbname in dblists: - dbport = SonicDBConfig.get_port(dbname) - dbhost = SonicDBConfig.get_hostname(dbname) + dbport = SonicDBConfig.getDbPort(dbname) + dbhost = SonicDBConfig.getDbHostname(dbname) # if the db is on the same instance, no need to move if dbport == target_dbport and dbhost == target_dbhost: continue - dbsocket = SonicDBConfig.get_socket(dbname) - dbid = SonicDBConfig.get_dbid(dbname) + dbsocket = SonicDBConfig.getDbSock(dbname) + dbid = SonicDBConfig.getDbId(dbname) r = redis.Redis(host=dbhost, unix_socket_path=dbsocket, db=dbid) @@ -49,7 +49,7 @@ Example : centralize_database APPL_DB if args.target_db: try: centralize_to_target_db(args.target_db) - print(SonicDBConfig.get_instancename(args.target_db)) + print(SonicDBConfig.getDbInst(args.target_db)) except Exception as ex: template = "An exception of type {0} occurred. Arguments:\n{1!r}" message = template.format(type(ex).__name__, ex.args) From 96ecb73fc149dc8ba187113c0f3accdabf2f5a3e Mon Sep 17 00:00:00 2001 From: Blueve <672454911@qq.com> Date: Tue, 23 Feb 2021 10:43:31 +0800 Subject: [PATCH 095/342] [doc] Add documentation for console feature switch (#1456) Signed-off-by: Jing Kan jika@microsoft.com --- doc/Command-Reference.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/doc/Command-Reference.md b/doc/Command-Reference.md index 6832cddf4e..08237329bd 100644 --- a/doc/Command-Reference.md +++ b/doc/Command-Reference.md @@ -1987,6 +1987,34 @@ Optionally, you can display configured console ports only by specifying the `-b` This sub-section explains the list of configuration options available for console management module. +**config console enable** + +This command is used to enable SONiC console switch feature. + +- Usage: + ``` + config console enable + ``` + +- Example: + ``` + admin@sonic:~$ sudo config console enable + ``` + +**config console disable** + +This command is used to disable SONiC console switch feature. + +- Usage: + ``` + config console disable + ``` + +- Example: + ``` + admin@sonic:~$ sudo config console disable + ``` + **config console add** This command is used to add a console port setting. From 787d884364133d9a225b240e7eb06aa9f988e211 Mon Sep 17 00:00:00 2001 From: Sangita Maity Date: Tue, 23 Feb 2021 13:37:44 -0800 Subject: [PATCH 096/342] [dpb|config] Fix the validation logic of breakout mode (#1440) As per latest update in DPB DOC, fixed this bug previously we had string value in "breakout_modes" key so it was not matching the whole string, But after the update via, now "breakout_modes" contain a dictionary where key is the breakout_mode and value is the alias. So we can easily check whether the key is present or not. Signed-off-by: Sangita Maity Co-authored-by: Guohan Lu --- config/main.py | 8 +++----- tests/config_dpb_test.py | 26 ++++++++++++++++++++++---- 2 files changed, 25 insertions(+), 9 deletions(-) diff --git a/config/main.py b/config/main.py index fd59f8ea66..eb17ad3504 100644 --- a/config/main.py +++ b/config/main.py @@ -110,10 +110,8 @@ def _get_breakout_options(ctx, args, incomplete): else: breakout_file_input = readJsonFile(breakout_cfg_file) if interface_name in breakout_file_input[INTF_KEY]: - breakout_mode_list = [v["breakout_modes"] for i, v in breakout_file_input[INTF_KEY].items() if i == interface_name][0] - breakout_mode_options = [] - for i in breakout_mode_list.split(','): - breakout_mode_options.append(i) + breakout_mode_options = [mode for i, v in breakout_file_input[INTF_KEY].items() if i == interface_name \ + for mode in v["breakout_modes"].keys()] all_mode_options = [str(c) for c in breakout_mode_options if incomplete in c] return all_mode_options @@ -152,7 +150,7 @@ def _validate_interface_mode(ctx, breakout_cfg_file, interface_name, target_brko return False # Check whether target breakout mode is available for the user-selected interface or not - if target_brkout_mode not in breakout_file_input[interface_name]["breakout_modes"]: + if target_brkout_mode not in breakout_file_input[interface_name]["breakout_modes"].keys(): click.secho('[ERROR] Target mode {} is not available for the port {}'. format(target_brkout_mode, interface_name), fg='red') return False diff --git a/tests/config_dpb_test.py b/tests/config_dpb_test.py index dedcc0641d..e8f3149682 100644 --- a/tests/config_dpb_test.py +++ b/tests/config_dpb_test.py @@ -22,25 +22,43 @@ "index": "1,1,1,1", "lanes": "65,66,67,68", "alias_at_lanes": "Eth1/1, Eth1/2, Eth1/3, Eth1/4", - "breakout_modes": "1x100G[40G],2x50G,4x25G[10G]" + "breakout_modes": { + "1x100G[40G]": ["Eth1"], + "2x50G": ["Eth1/1", "Eth1/3"], + "4x25G[10G]": ["Eth1/1", "Eth1/2", "Eth1/3", "Eth1/4"] + } }, "Ethernet4": { "index": "2,2,2,2", "lanes": "69,70,71,72", "alias_at_lanes": "Eth2/1, Eth2/2, Eth2/3, Eth2/4", - "breakout_modes": "1x100G[40G],2x50G,4x25G[10G],1x50G(2)+2x25G(2)" + "breakout_modes": { + "1x100G[40G]": ["Eth2"], + "2x50G": ["Eth2/1", "Eth2/3"], + "4x25G[10G]": ["Eth2/1", "Eth2/2", "Eth2/3", "Eth2/4"], + "1x50G(2)+2x25G(2)": ["Eth2/1", "Eth2/3", "Eth2/4"] + } }, "Ethernet8": { "index": "3,3,3,3", "lanes": "73,74,75,76", "alias_at_lanes": "Eth3/1, Eth3/2, Eth3/3, Eth3/4", - "breakout_modes": "1x100G[40G],2x50G,4x25G[10G],1x50G(2)+2x25G(2)" + "breakout_modes": { + "1x100G[40G]": ["Eth3"], + "2x50G": ["Eth3/1", "Eth3/3"], + "4x25G[10G]": ["Eth3/1", "Eth3/2", "Eth3/3", "Eth3/4"], + "1x50G(2)+2x25G(2)": ["Eth3/1", "Eth3/3", "Eth3/4"] + } }, "Ethernet12": { "index": "4,4,4,4", "lanes": "77,78,79,80", "alias_at_lanes": "Eth4/1, Eth4/2, Eth4/3, Eth4/4", - "breakout_modes": "1x100G[40G],2x50G,4x25G[10G]" + "breakout_modes": { + "1x100G[40G]": ["Eth4"], + "2x50G": ["Eth4/1", "Eth4/3"], + "4x25G[10G]": ["Eth4/1", "Eth4/2", "Eth4/3", "Eth4/4"] + } } } } From 4e27ad78ff3a82d75fd3fc3719d8cfe2bb9d3d8b Mon Sep 17 00:00:00 2001 From: Joe LeVeque Date: Tue, 23 Feb 2021 18:51:19 -0800 Subject: [PATCH 097/342] [decode-syseeprom] Refactor use of swsscommon; Add unit tests (#1444) - Refactor the way swsscommon is used in decode-syseeprom to align with more modern approach - Add unit tests for DB-related functionality of decode-syseeprom utility - Align whitespace in tests/mock_tables/state_db.json --- scripts/decode-syseeprom | 58 +++----- tests/decode_syseeprom_test.py | 183 ++++++++++++++++++++++++++ tests/mock_tables/state_db.json | 226 +++++++++++++++++++++++--------- 3 files changed, 364 insertions(+), 103 deletions(-) create mode 100644 tests/decode_syseeprom_test.py diff --git a/scripts/decode-syseeprom b/scripts/decode-syseeprom index 089b652771..b1877327fc 100755 --- a/scripts/decode-syseeprom +++ b/scripts/decode-syseeprom @@ -18,7 +18,7 @@ import sys import sonic_platform from sonic_platform_base.sonic_eeprom.eeprom_tlvinfo import TlvInfoDecoder from sonic_py_common import device_info -from swsscommon import swsscommon +from swsscommon.swsscommon import SonicV2Connector from tabulate import tabulate @@ -77,67 +77,49 @@ def print_eeprom_dict(tlv_dict): def read_eeprom_from_db(): tlv_dict = {} - state_db = swsscommon.DBConnector('STATE_DB', 0) - tbl = swsscommon.Table(state_db, EEPROM_INFO_TABLE) + db = SonicV2Connector(host="127.0.0.1") + db.connect(db.STATE_DB) - status, fvs = tbl.get('State') - status = bool(status) - data = dict(fvs) - if not status or data.get('Initialized', '0') != '1': + initialized = db.get(db.STATE_DB, '{}|{}'.format(EEPROM_INFO_TABLE, 'State'), 'Initialized') + if initialized != '1': return None - status, fvs = tbl.get('TlvHeader') - status = bool(status) - if not status: - return None - - data = dict(fvs) + tlv_header = db.get_all(db.STATE_DB, '{}|{}'.format(EEPROM_INFO_TABLE, 'TlvHeader')) tlv_dict['header'] = {} - tlv_dict['header']['id'] = data.get('Id String', 'N/A') - tlv_dict['header']['version'] = data.get('Version', 'N/A') - tlv_dict['header']['length'] = data.get('Total Length', 'N/A') + tlv_dict['header']['id'] = tlv_header.get('Id String', 'N/A') + tlv_dict['header']['version'] = tlv_header.get('Version', 'N/A') + tlv_dict['header']['length'] = tlv_header.get('Total Length', 'N/A') tlv_dict['tlv_list'] = [] for tlv_code in range(TlvInfoDecoder._TLV_CODE_PRODUCT_NAME, TlvInfoDecoder._TLV_CODE_SERVICE_TAG + 1): tlv_code_string = '0x{:02x}'.format(tlv_code) - status, fvs = tbl.get(tlv_code_string) - status = bool(status) - if not status: - continue + tlv_data = db.get_all(db.STATE_DB, '{}|{}'.format(EEPROM_INFO_TABLE, tlv_code_string)) - data = dict(fvs) tlv = {} tlv['code'] = tlv_code_string - tlv['name'] = data.get('Name', 'N/A') - tlv['length'] = data.get('Len', 'N/A') - tlv['value'] = data.get('Value', 'N/A') + tlv['name'] = tlv_data.get('Name', 'N/A') + tlv['length'] = tlv_data.get('Len', 'N/A') + tlv['value'] = tlv_data.get('Value', 'N/A') tlv_dict['tlv_list'].append(tlv) - status, fvs = tbl.get('Checksum') - tlv_dict['checksum_valid'] = dict(fvs).get('Valid', '0') == '1' + checksum_valid = db.get(db.STATE_DB, '{}|{}'.format(EEPROM_INFO_TABLE, 'Checksum'), 'Valid') + tlv_dict['checksum_valid'] = (checksum_valid == '1') return tlv_dict def get_tlv_value_from_db(tlv_code): - state_db = swsscommon.DBConnector('STATE_DB', 0) - tbl = swsscommon.Table(state_db, EEPROM_INFO_TABLE) + db = SonicV2Connector(host="127.0.0.1") + db.connect(db.STATE_DB) - status, fvs = tbl.get('State') - status = bool(status) - data = dict(fvs) - if not status or data.get('Initialized', '0') != '1': + initialized = db.get(db.STATE_DB, '{}|{}'.format(EEPROM_INFO_TABLE, 'State'), 'Initialized') + if initialized != '1': print('Failed to read system EEPROM info from DB') return None tlv_code_string = '0x{:02x}'.format(tlv_code) - status, fvs = tbl.get(tlv_code_string) - status = bool(status) - if not status: - print('Failed to read system EEPROM info from DB') - return None - return dict(fvs).get('Value') + return db.get(db.STATE_DB, '{}|{}'.format(EEPROM_INFO_TABLE, tlv_code_string), 'Value') def print_mgmt_mac(use_db=False): diff --git a/tests/decode_syseeprom_test.py b/tests/decode_syseeprom_test.py new file mode 100644 index 0000000000..7dc93e0331 --- /dev/null +++ b/tests/decode_syseeprom_test.py @@ -0,0 +1,183 @@ +import importlib +import os +import sys +from unittest import mock + +import pytest +from click.testing import CliRunner + +from .mock_tables import dbconnector + +test_path = os.path.dirname(os.path.abspath(__file__)) +modules_path = os.path.dirname(test_path) +scripts_path = os.path.join(modules_path, 'scripts') +sys.path.insert(0, modules_path) + +sys.modules['sonic_platform'] = mock.MagicMock() + + +decode_syseeprom_path = os.path.join(scripts_path, 'decode-syseeprom') +loader = importlib.machinery.SourceFileLoader('decode-syseeprom', decode_syseeprom_path) +spec = importlib.util.spec_from_loader(loader.name, loader) +decode_syseeprom = importlib.util.module_from_spec(spec) +loader.exec_module(decode_syseeprom) + +# Replace swsscommon objects with mocked objects +decode_syseeprom.SonicV2Connector = dbconnector.SonicV2Connector + +SAMPLE_TLV_DICT = { + 'header': { + 'id': 'TlvInfo', + 'version': '1', + 'length': '170' + }, + 'tlv_list': [ + { + 'code': '0x21', + 'name': 'Product Name', + 'length': '8', + 'value': 'S6100-ON' + }, + { + 'code': '0x22', + 'name': 'Part Number', + 'length': '6', + 'value': '0F6N2R' + }, + { + 'code': '0x23', + 'name': 'Serial Number', + 'length': '20', + 'value': 'TH0F6N2RCET0007600NG' + }, + { + 'code': '0x24', + 'name': 'Base MAC Address', + 'length': '6', + 'value': '0C:29:EF:CF:AC:A0' + }, + { + 'code': '0x25', + 'name': 'Manufacture Date', + 'length': '19', + 'value': '07/07/2020 15:05:34' + }, + { + 'code': '0x26', + 'name': 'Device Version', + 'length': '1', + 'value': '1' + }, + { + 'code': '0x27', + 'name': 'Label Revision', + 'length': '3', + 'value': 'A08' + }, + { + 'code': '0x28', + 'name': 'Platform Name', + 'length': '26', + 'value': 'x86_64-dell_s6100_c2538-r0' + }, + { + 'code': '0x29', + 'name': 'ONIE Version', + 'length': '8', + 'value': '3.15.1.0' + }, + { + 'code': '0x2a', + 'name': 'MAC Addresses', + 'length': '2', + 'value': '384' + }, + { + 'code': '0x2b', + 'name': 'Manufacturer', + 'length': '5', + 'value': 'CET00' + }, + { + 'code': '0x2c', + 'name': 'Manufacture Country', + 'length': '2', + 'value': 'TH' + }, + { + 'code': '0x2d', + 'name': 'Vendor Name', + 'length': '4', + 'value': 'DELL' + }, + { + 'code': '0x2e', + 'name': 'Diag Version', + 'length': '8', + 'value': '3.25.4.1' + }, + { + 'code': '0x2f', + 'name': 'Service Tag', + 'length': '7', + 'value': 'F3CD9Z2' + } + ], + 'checksum_valid': True +} + +class TestDecodeSyseeprom(object): + def test_print_eeprom_dict(self, capsys): + + expected_output = '''\ +TlvInfo Header: + Id String: TlvInfo + Version: 1 + Total Length: 170 +TLV Name Code Len Value +------------------- ------ ----- -------------------------- +Product Name 0X21 8 S6100-ON +Part Number 0X22 6 0F6N2R +Serial Number 0X23 20 TH0F6N2RCET0007600NG +Base MAC Address 0X24 6 0C:29:EF:CF:AC:A0 +Manufacture Date 0X25 19 07/07/2020 15:05:34 +Device Version 0X26 1 1 +Label Revision 0X27 3 A08 +Platform Name 0X28 26 x86_64-dell_s6100_c2538-r0 +ONIE Version 0X29 8 3.15.1.0 +MAC Addresses 0X2A 2 384 +Manufacturer 0X2B 5 CET00 +Manufacture Country 0X2C 2 TH +Vendor Name 0X2D 4 DELL +Diag Version 0X2E 8 3.25.4.1 +Service Tag 0X2F 7 F3CD9Z2 + +(checksum valid) +''' + + decode_syseeprom.print_eeprom_dict(SAMPLE_TLV_DICT) + captured = capsys.readouterr() + assert captured.out == expected_output + + def test_read_eeprom_from_db(self): + tlv_dict = decode_syseeprom.read_eeprom_from_db() + assert tlv_dict == SAMPLE_TLV_DICT + + def test_get_tlv_value_from_db(self): + value = decode_syseeprom.get_tlv_value_from_db(0x28) + assert value == 'x86_64-dell_s6100_c2538-r0' + + def test_print_mgmt_mac_db(self, capsys): + decode_syseeprom.print_mgmt_mac(True) + captured = capsys.readouterr() + assert captured.out == '0C:29:EF:CF:AC:A0\n' + + def test_print_serial(self, capsys): + decode_syseeprom.print_serial(True) + captured = capsys.readouterr() + assert captured.out == 'TH0F6N2RCET0007600NG\n' + + def test_print_model(self, capsys): + decode_syseeprom.print_model(True) + captured = capsys.readouterr() + assert captured.out == 'S6100-ON\n' diff --git a/tests/mock_tables/state_db.json b/tests/mock_tables/state_db.json index 2b2dba66fa..a185559653 100644 --- a/tests/mock_tables/state_db.json +++ b/tests/mock_tables/state_db.json @@ -128,7 +128,103 @@ "status": "true", "led_status": "green" }, - + "EEPROM_INFO|TlvHeader": { + "Id String": "TlvInfo", + "Version": "1", + "Total Length": "170" + }, + "EEPROM_INFO|State": { + "Initialized": "1" + }, + "EEPROM_INFO|Checksum": { + "Valid": "1" + }, + "EEPROM_INFO|0x21": { + "Len": "8", + "Name": "Product Name", + "Value": "S6100-ON" + }, + "EEPROM_INFO|0x22": { + "Len": "6", + "Name": "Part Number", + "Value": "0F6N2R" + }, + "EEPROM_INFO|0x23": { + "Len": "20", + "Name": "Serial Number", + "Value": "TH0F6N2RCET0007600NG" + }, + "EEPROM_INFO|0x24": { + "Len": "6", + "Name": "Base MAC Address", + "Value": "0C:29:EF:CF:AC:A0" + }, + "EEPROM_INFO|0x25": { + "Len": "19", + "Name": "Manufacture Date", + "Value": "07/07/2020 15:05:34" + }, + "EEPROM_INFO|0x26": { + "Len": "1", + "Name": "Device Version", + "Value": "1" + }, + "EEPROM_INFO|0x27": { + "Len": "3", + "Name": "Label Revision", + "Value": "A08" + }, + "EEPROM_INFO|0x28": { + "Len": "26", + "Name": "Platform Name", + "Value": "x86_64-dell_s6100_c2538-r0" + }, + "EEPROM_INFO|0x29": { + "Len": "8", + "Name": "ONIE Version", + "Value": "3.15.1.0" + }, + "EEPROM_INFO|0x2a": { + "Len": "2", + "Name": "MAC Addresses", + "Value": "384" + }, + "EEPROM_INFO|0x2b": { + "Len": "5", + "Name": "Manufacturer", + "Value": "CET00" + }, + "EEPROM_INFO|0x2c": { + "Len": "2", + "Name": "Manufacture Country", + "Value": "TH" + }, + "EEPROM_INFO|0x2d": { + "Len": "4", + "Name": "Vendor Name", + "Value": "DELL" + }, + "EEPROM_INFO|0x2e": { + "Len": "8", + "Name": "Diag Version", + "Value": "3.25.4.1" + }, + "EEPROM_INFO|0x2f": { + "Len": "7", + "Name": "Service Tag", + "Value": "F3CD9Z2" + }, + "EEPROM_INFO|0xfd": { + "Len_0": "7", + "Name_0": "Vendor Extension", + "Value_0": "", + "Num_vendor_ext": "1" + }, + "EEPROM_INFO|0xfe": { + "Len": "4", + "Name": "CRC-32", + "Value": "0xAC518FB3" + }, "SWITCH_CAPABILITY|switch": { "MIRROR": "true", "MIRRORV6": "true", @@ -272,72 +368,72 @@ "timestamp": "20200813 01:32:30" }, "FG_ROUTE_TABLE|fc:5::/128": { - "0": "200:200:200:200::4@Vlan1000", - "1": "200:200:200:200::4@Vlan1000", - "2": "200:200:200:200::4@Vlan1000", - "3": "200:200:200:200::4@Vlan1000", - "4": "200:200:200:200::4@Vlan1000", - "5" : "200:200:200:200::4@Vlan1000", - "6" : "200:200:200:200::4@Vlan1000", - "7" : "200:200:200:200::4@Vlan1000", - "8" : "200:200:200:200::4@Vlan1000", - "9" : "200:200:200:200::4@Vlan1000", - "10" : "200:200:200:200::4@Vlan1000", - "11" : "200:200:200:200::4@Vlan1000", - "12" : "200:200:200:200::4@Vlan1000", - "13" : "200:200:200:200::4@Vlan1000", - "14" : "200:200:200:200::4@Vlan1000", - "15" : "200:200:200:200::4@Vlan1000", - "16" : "200:200:200:200::5@Vlan1000", - "17" : "200:200:200:200::5@Vlan1000", - "18" : "200:200:200:200::5@Vlan1000", - "19" : "200:200:200:200::5@Vlan1000", - "20" : "200:200:200:200::5@Vlan1000", - "21" : "200:200:200:200::5@Vlan1000", - "22" : "200:200:200:200::5@Vlan1000", - "23" : "200:200:200:200::5@Vlan1000", - "24" : "200:200:200:200::5@Vlan1000", - "25" : "200:200:200:200::5@Vlan1000", - "26" : "200:200:200:200::5@Vlan1000", - "27" : "200:200:200:200::5@Vlan1000", - "28" : "200:200:200:200::5@Vlan1000", - "29" : "200:200:200:200::5@Vlan1000", - "30" : "200:200:200:200::5@Vlan1000", - "31" : "200:200:200:200::5@Vlan1000" + "0": "200:200:200:200::4@Vlan1000", + "1": "200:200:200:200::4@Vlan1000", + "2": "200:200:200:200::4@Vlan1000", + "3": "200:200:200:200::4@Vlan1000", + "4": "200:200:200:200::4@Vlan1000", + "5" : "200:200:200:200::4@Vlan1000", + "6" : "200:200:200:200::4@Vlan1000", + "7" : "200:200:200:200::4@Vlan1000", + "8" : "200:200:200:200::4@Vlan1000", + "9" : "200:200:200:200::4@Vlan1000", + "10" : "200:200:200:200::4@Vlan1000", + "11" : "200:200:200:200::4@Vlan1000", + "12" : "200:200:200:200::4@Vlan1000", + "13" : "200:200:200:200::4@Vlan1000", + "14" : "200:200:200:200::4@Vlan1000", + "15" : "200:200:200:200::4@Vlan1000", + "16" : "200:200:200:200::5@Vlan1000", + "17" : "200:200:200:200::5@Vlan1000", + "18" : "200:200:200:200::5@Vlan1000", + "19" : "200:200:200:200::5@Vlan1000", + "20" : "200:200:200:200::5@Vlan1000", + "21" : "200:200:200:200::5@Vlan1000", + "22" : "200:200:200:200::5@Vlan1000", + "23" : "200:200:200:200::5@Vlan1000", + "24" : "200:200:200:200::5@Vlan1000", + "25" : "200:200:200:200::5@Vlan1000", + "26" : "200:200:200:200::5@Vlan1000", + "27" : "200:200:200:200::5@Vlan1000", + "28" : "200:200:200:200::5@Vlan1000", + "29" : "200:200:200:200::5@Vlan1000", + "30" : "200:200:200:200::5@Vlan1000", + "31" : "200:200:200:200::5@Vlan1000" }, "FG_ROUTE_TABLE|100.50.25.12/32": { - "0": "200.200.200.4@Vlan1000", - "1": "200.200.200.4@Vlan1000", - "2": "200.200.200.4@Vlan1000", - "3": "200.200.200.4@Vlan1000", - "4": "200.200.200.4@Vlan1000", - "5" : "200.200.200.4@Vlan1000", - "6" : "200.200.200.4@Vlan1000", - "7" : "200.200.200.4@Vlan1000", - "8" : "200.200.200.4@Vlan1000", - "9" : "200.200.200.4@Vlan1000", - "10" : "200.200.200.4@Vlan1000", - "11" : "200.200.200.4@Vlan1000", - "12" : "200.200.200.4@Vlan1000", - "13" : "200.200.200.4@Vlan1000", - "14" : "200.200.200.4@Vlan1000", - "15" : "200.200.200.4@Vlan1000", - "16" : "200.200.200.5@Vlan1000", - "17" : "200.200.200.5@Vlan1000", - "18" : "200.200.200.5@Vlan1000", - "19" : "200.200.200.5@Vlan1000", - "20" : "200.200.200.5@Vlan1000", - "21" : "200.200.200.5@Vlan1000", - "22" : "200.200.200.5@Vlan1000", - "23" : "200.200.200.5@Vlan1000", - "24" : "200.200.200.5@Vlan1000", - "25" : "200.200.200.5@Vlan1000", - "26" : "200.200.200.5@Vlan1000", - "27" : "200.200.200.5@Vlan1000", - "28" : "200.200.200.5@Vlan1000", - "29" : "200.200.200.5@Vlan1000", - "30" : "200.200.200.5@Vlan1000", - "31" : "200.200.200.5@Vlan1000" + "0": "200.200.200.4@Vlan1000", + "1": "200.200.200.4@Vlan1000", + "2": "200.200.200.4@Vlan1000", + "3": "200.200.200.4@Vlan1000", + "4": "200.200.200.4@Vlan1000", + "5" : "200.200.200.4@Vlan1000", + "6" : "200.200.200.4@Vlan1000", + "7" : "200.200.200.4@Vlan1000", + "8" : "200.200.200.4@Vlan1000", + "9" : "200.200.200.4@Vlan1000", + "10" : "200.200.200.4@Vlan1000", + "11" : "200.200.200.4@Vlan1000", + "12" : "200.200.200.4@Vlan1000", + "13" : "200.200.200.4@Vlan1000", + "14" : "200.200.200.4@Vlan1000", + "15" : "200.200.200.4@Vlan1000", + "16" : "200.200.200.5@Vlan1000", + "17" : "200.200.200.5@Vlan1000", + "18" : "200.200.200.5@Vlan1000", + "19" : "200.200.200.5@Vlan1000", + "20" : "200.200.200.5@Vlan1000", + "21" : "200.200.200.5@Vlan1000", + "22" : "200.200.200.5@Vlan1000", + "23" : "200.200.200.5@Vlan1000", + "24" : "200.200.200.5@Vlan1000", + "25" : "200.200.200.5@Vlan1000", + "26" : "200.200.200.5@Vlan1000", + "27" : "200.200.200.5@Vlan1000", + "28" : "200.200.200.5@Vlan1000", + "29" : "200.200.200.5@Vlan1000", + "30" : "200.200.200.5@Vlan1000", + "31" : "200.200.200.5@Vlan1000" }, "REBOOT_CAUSE|2020_10_09_04_53_58": { "cause": "warm-reboot", From eb64ecf6e0c47097c7f29cd542499960660d0a8e Mon Sep 17 00:00:00 2001 From: Eran Dahan Date: Wed, 24 Feb 2021 20:54:04 +0200 Subject: [PATCH 098/342] [vlan] Vlan deletion is not allowed when there are members assigned to this VLAN. (#1420) - What I did In vlan.py , function del_vlan added validation if there is no members assigned to this VLAN. If there are members - the execution of this command is failed with error on the screen. - How I did it Added validation of the VLAN_MEMBER_CFG_TABLE with the key VLAN_ID. If there are entries with this VLAN_ID - print error: VLAN ID {} can not be removed. First remove all members assigned to this VLAN. User should remove all members assigned to this VLAN, and after that he can delete vlan. - How to verify it sudo config vlan add 200 sudo config vlan member add 200 Ethernet0 sudo config vlan del 200 In this case - you will see error as there are members assigned to this VLAN sudo config vlan member del 200 Ethernet0 sudo config vlan del 200 Will pass. Signed-off-by: allas --- config/vlan.py | 6 ++++-- tests/vlan_test.py | 15 +++++++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/config/vlan.py b/config/vlan.py index b455ae4812..a10db74d09 100644 --- a/config/vlan.py +++ b/config/vlan.py @@ -53,8 +53,10 @@ def del_vlan(db, vid): ctx.fail("{} can not be removed. First remove IP addresses assigned to this VLAN".format(vlan)) keys = [ (k, v) for k, v in db.cfgdb.get_table('VLAN_MEMBER') if k == 'Vlan{}'.format(vid) ] - for k in keys: - db.cfgdb.set_entry('VLAN_MEMBER', k, None) + + if keys: + ctx.fail("VLAN ID {} can not be removed. First remove all members assigned to this VLAN.".format(vid)) + db.cfgdb.set_entry('VLAN', 'Vlan{}'.format(vid), None) def restart_ndppd(): diff --git a/tests/vlan_test.py b/tests/vlan_test.py index 6d47e72e62..f17abac431 100644 --- a/tests/vlan_test.py +++ b/tests/vlan_test.py @@ -337,6 +337,21 @@ def test_config_vlan_del_vlan(self): print(result.exit_code, result.output) assert result.exit_code != 0 + # del vlan with IP + result = runner.invoke(config.config.commands["vlan"].commands["del"], ["1000"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code != 0 + assert "Error: VLAN ID 1000 can not be removed. First remove all members assigned to this VLAN." in result.output + + vlan_member = db.cfgdb.get_table('VLAN_MEMBER') + keys = [ (k, v) for k, v in vlan_member if k == 'Vlan{}'.format(1000) ] + for k,v in keys: + result = runner.invoke(config.config.commands["vlan"].commands["member"].commands["del"], ["1000", v], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + result = runner.invoke(config.config.commands["vlan"].commands["del"], ["1000"], obj=db) print(result.exit_code) print(result.output) From e74de6a256ba7543b375e6fd027704c732589266 Mon Sep 17 00:00:00 2001 From: Renuka Manavalan <47282725+renukamanavalan@users.noreply.github.com> Date: Wed, 24 Feb 2021 17:13:57 -0800 Subject: [PATCH 099/342] [route_check]: Dropped redundant code. (#1463) The key used is as read from APPL-DB, hence use it as such to get the value, to help get the interfce name, so it can be used for filtering out. --- scripts/route_check.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/scripts/route_check.py b/scripts/route_check.py index 0db9f1ed69..e282d166af 100755 --- a/scripts/route_check.py +++ b/scripts/route_check.py @@ -327,9 +327,6 @@ def filter_out_local_interfaces(keys): for k in keys: e = dict(tbl.get(k)[1]) - if not e: - # Prefix might have been added. So try w/o it. - e = dict(tbl.get(k.split("/"))[1]) if not e or all([not re.match(x, e['ifname']) for x in local_if_re]): rt.append(k) From f0ac6e02dc5b9a03b3532846987825b937835f2e Mon Sep 17 00:00:00 2001 From: DavidZagury <32644413+DavidZagury@users.noreply.github.com> Date: Thu, 25 Feb 2021 09:31:59 +0200 Subject: [PATCH 100/342] [Mellanox] Add support for SN4600 system (#1462) - What I did Support new Mellanox system SN4600 - How I did it Add the system name to the buffer migration script even if the system is first added --- scripts/mellanox_buffer_migrator.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/mellanox_buffer_migrator.py b/scripts/mellanox_buffer_migrator.py index 67f2a57e30..f147e7c1f3 100755 --- a/scripts/mellanox_buffer_migrator.py +++ b/scripts/mellanox_buffer_migrator.py @@ -102,7 +102,7 @@ def __init__(self, configDB): self.spc1_platforms = ["x86_64-mlnx_msn2010-r0", "x86_64-mlnx_msn2100-r0", "x86_64-mlnx_msn2410-r0", "x86_64-mlnx_msn2700-r0", "x86_64-mlnx_msn2740-r0"] self.spc2_platforms = ["x86_64-mlnx_msn3700-r0", "x86_64-mlnx_msn3700c-r0"] - self.spc3_platforms = ["x86_64-mlnx_msn4600c-r0", "x86_64-mlnx_msn4700-r0"] + self.spc3_platforms = ["x86_64-mlnx_msn4600-r0", "x86_64-mlnx_msn4600c-r0", "x86_64-mlnx_msn4700-r0"] msftskus = ["Mellanox-SN2700", "Mellanox-SN2700-C28D8", "Mellanox-SN2700-D48C8", "Mellanox-SN3800-C64", "Mellanox-SN3800-D24C52", "Mellanox-SN3800-D112C8", "Mellanox-SN3800-D28C50"] From 04300838a47bc42c2f9ffad2dc5d89bf0cace44e Mon Sep 17 00:00:00 2001 From: Stepan Blyshchak <38952541+stepanblyschak@users.noreply.github.com> Date: Thu, 25 Feb 2021 14:14:18 +0200 Subject: [PATCH 101/342] [generate_dump] allow to extend dump with plugin scripts. (#1335) - What I did Added support for tech support extension scripts. - How I did it It looks at /usr/bin/debug-dump for scripts, if it finds one it will execute them and save the output to dump/ folder. - How to verify it Write a simple scripts that outputs something and place it under /usr/bin/debug-dump/ Signed-off-by: Stepan Blyshchak --- scripts/generate_dump | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/scripts/generate_dump b/scripts/generate_dump index 79489eb2f3..ec23d93040 100755 --- a/scripts/generate_dump +++ b/scripts/generate_dump @@ -32,6 +32,7 @@ DUMPDIR=/var/dump TARDIR=$DUMPDIR/$BASE TARFILE=$DUMPDIR/$BASE.tar LOGDIR=$DUMPDIR/$BASE/dump +PLUGINS_DIR=/usr/local/bin/debug-dump NUM_ASICS=1 HOME=${HOME:-/root} USER=${USER:-root} @@ -138,6 +139,7 @@ save_bcmcmd_all_ns() { # cmd: The command to run. Make sure that arguments with spaces have quotes # filename: the filename to save the output as in $BASE/dump # do_gzip: (OPTIONAL) true or false. Should the output be gzipped +# save_stderr: (OPTIONAL) true or false. Should the stderr output be saved # Returns: # None ############################################################################### @@ -148,10 +150,17 @@ save_cmd() { local filename=$2 local filepath="${LOGDIR}/$filename" local do_gzip=${3:-false} + local save_stderr=${4:-true} local tarpath="${BASE}/dump/$filename" local timeout_cmd="timeout --foreground ${TIMEOUT_MIN}m" + local redirect="&>" [ ! -d $LOGDIR ] && $MKDIR $V -p $LOGDIR + if ! $save_stderr + then + redirect=">" + fi + # eval required here to re-evaluate the $cmd properly at runtime # This is required if $cmd has quoted strings that should be bunched # as one argument, e.g. vtysh -c "COMMAND HERE" needs to have @@ -171,9 +180,9 @@ save_cmd() { fi else if $NOOP; then - echo "${timeout_cmd} $cmd &> '$filepath'" + echo "${timeout_cmd} $cmd $redirect '$filepath'" else - eval "${timeout_cmd} $cmd" &> "$filepath" + eval "${timeout_cmd} $cmd" "$redirect" "$filepath" if [ $? -ne 0 ]; then echo "Command: $cmd timedout after ${TIMEOUT_MIN} minutes." fi @@ -1076,6 +1085,12 @@ main() { save_cmd "docker ps -a" "docker.ps" save_cmd "docker top pmon" "docker.pmon" + local -r dump_plugins="$(find ${PLUGINS_DIR} -type f -executable)" + for plugin in $dump_plugins; do + # save stdout output of plugin and gzip it + save_cmd "$plugin" "$(basename $plugin)" true false + done + save_saidump if [[ "$asic" = "mellanox" ]]; then From 79ccd03406d0c51cab3e0f3dec852d092a8f9892 Mon Sep 17 00:00:00 2001 From: vdahiya12 <67608553+vdahiya12@users.noreply.github.com> Date: Thu, 25 Feb 2021 11:29:12 -0800 Subject: [PATCH 102/342] [show] cli support for show muxcable cableinfo (#1448) Summary: This PR provides the support for adding CLI commands for retrieving cable vendor name and part number information of the muxcable. In particular these Cli commands are supported: show muxcable cableinfo Approach added the changes in sonic-utilities/show and sonic-utilities/config by changing the muxcable.py What is the motivation for this PR? To add the support for Cli for muxcable to be utilized for retrieving cable vendor name and part number information of the muxcable. Signed-off-by: vaibhav-dahiya --- show/muxcable.py | 31 +++++++++++ tests/muxcable_test.py | 59 +++++++++++++++++++++ utilities_common/platform_sfputil_helper.py | 10 ++++ 3 files changed, 100 insertions(+) diff --git a/show/muxcable.py b/show/muxcable.py index 07443080ef..8df8dc11d8 100644 --- a/show/muxcable.py +++ b/show/muxcable.py @@ -381,3 +381,34 @@ def eyeinfo(port, target): lane_data.append(res) click.echo(tabulate(lane_data, headers=headers)) sys.exit(EXIT_SUCCESS) + + +@muxcable.command() +@click.argument('port', required=True, default=None) +def cableinfo(port): + """Show muxcable cable information""" + + if platform_sfputil is not None: + physical_port_list = platform_sfputil_helper.logical_port_name_to_physical_port_list(port) + + if not isinstance(physical_port_list, list): + click.echo("ERR: Unable to get a port on muxcable port") + sys.exit(EXIT_FAIL) + if len(physical_port_list) != 1: + click.echo("ERR: Unable to get a single port on muxcable") + sys.exit(EXIT_FAIL) + + physical_port = physical_port_list[0] + import sonic_y_cable.y_cable + part_num = sonic_y_cable.y_cable.get_part_number(physical_port) + if part_num == False or part_num == -1: + click.echo("ERR: Unable to get cable info part number") + sys.exit(EXIT_FAIL) + vendor = sonic_y_cable.y_cable.get_vendor(physical_port) + if vendor == False or vendor == -1: + click.echo("ERR: Unable to get cable info vendor name") + sys.exit(EXIT_FAIL) + headers = ['Vendor', 'Model'] + + body = [[vendor, part_num]] + click.echo(tabulate(body, headers=headers)) diff --git a/tests/muxcable_test.py b/tests/muxcable_test.py index f6f35e7b8c..80968ec574 100644 --- a/tests/muxcable_test.py +++ b/tests/muxcable_test.py @@ -13,6 +13,9 @@ sys.modules['sonic_y_cable'] = mock.Mock() sys.modules['y_cable'] = mock.Mock() sys.modules['sonic_y_cable.y_cable'] = mock.Mock() +sys.modules['platform_sfputil'] = mock.Mock() +sys.modules['platform_sfputil_helper'] = mock.Mock() +sys.modules['utilities_common.platform_sfputil_helper'] = mock.Mock() #sys.modules['os'] = mock.Mock() #sys.modules['os.geteuid'] = mock.Mock() #sys.modules['platform_sfputil'] = mock.Mock() @@ -153,6 +156,12 @@ } """ +expected_muxcable_cableinfo_output = """\ +Vendor Model +-------- --------------- +Credo CACL1X321P2PA1M +""" + class TestMuxcable(object): @classmethod @@ -487,6 +496,56 @@ def test_config_muxcable_disable_loopback(self): assert result.exit_code == 100 + @mock.patch('sonic_y_cable.y_cable.get_part_number', mock.MagicMock(return_value=("CACL1X321P2PA1M"))) + @mock.patch('sonic_y_cable.y_cable.get_vendor', mock.MagicMock(return_value=("Credo "))) + @mock.patch('show.muxcable.platform_sfputil', mock.MagicMock(return_value=1)) + @mock.patch('utilities_common.platform_sfputil_helper.logical_port_name_to_physical_port_list', mock.MagicMock(return_value=[0])) + def test_show_muxcable_cableinfo(self): + runner = CliRunner() + db = Db() + + result = runner.invoke(show.cli.commands["muxcable"].commands["cableinfo"], + ["Ethernet0"], obj=db) + + assert result.exit_code == 0 + assert result.output == expected_muxcable_cableinfo_output + + @mock.patch('sonic_y_cable.y_cable.get_part_number', mock.MagicMock(return_value=(False))) + @mock.patch('sonic_y_cable.y_cable.get_vendor', mock.MagicMock(return_value=(False))) + @mock.patch('show.muxcable.platform_sfputil', mock.MagicMock(return_value=1)) + @mock.patch('utilities_common.platform_sfputil_helper.logical_port_name_to_physical_port_list', mock.MagicMock(return_value=[0])) + def test_show_muxcable_cableinfo_incorrect_port(self): + runner = CliRunner() + db = Db() + + result = runner.invoke(show.cli.commands["muxcable"].commands["cableinfo"], + ["Ethernet0"], obj=db) + assert result.exit_code == 1 + + @mock.patch('sonic_y_cable.y_cable.get_part_number', mock.MagicMock(return_value=(False))) + @mock.patch('sonic_y_cable.y_cable.get_vendor', mock.MagicMock(return_value=(False))) + @mock.patch('show.muxcable.platform_sfputil', mock.MagicMock(return_value=1)) + @mock.patch('utilities_common.platform_sfputil_helper.logical_port_name_to_physical_port_list', mock.MagicMock(return_value=0)) + def test_show_muxcable_cableinfo_incorrect_port_return_value(self): + runner = CliRunner() + db = Db() + + result = runner.invoke(show.cli.commands["muxcable"].commands["cableinfo"], + ["Ethernet0"], obj=db) + assert result.exit_code == 1 + + @mock.patch('sonic_y_cable.y_cable.get_part_number', mock.MagicMock(return_value=(False))) + @mock.patch('sonic_y_cable.y_cable.get_vendor', mock.MagicMock(return_value=(False))) + @mock.patch('show.muxcable.platform_sfputil', mock.MagicMock(return_value=1)) + @mock.patch('utilities_common.platform_sfputil_helper.logical_port_name_to_physical_port_list', mock.MagicMock(return_value=[0, 1])) + def test_show_muxcable_cableinfo_incorrect_logical_port_return_value(self): + runner = CliRunner() + db = Db() + + result = runner.invoke(show.cli.commands["muxcable"].commands["cableinfo"], + ["Ethernet0"], obj=db) + assert result.exit_code == 1 + @classmethod def teardown_class(cls): os.environ['UTILITIES_UNIT_TESTING'] = "0" diff --git a/utilities_common/platform_sfputil_helper.py b/utilities_common/platform_sfputil_helper.py index 87f0863e9a..fbacdd4126 100644 --- a/utilities_common/platform_sfputil_helper.py +++ b/utilities_common/platform_sfputil_helper.py @@ -37,3 +37,13 @@ def platform_sfputil_read_porttab_mappings(): sys.exit(1) return 0 + +def logical_port_name_to_physical_port_list(port_name): + if port_name.startswith("Ethernet"): + if platform_sfputil.is_logical_port(port_name): + return platform_sfputil.get_logical_to_physical(port_name) + else: + click.echo("Invalid port '{}'".format(port_name)) + return None + else: + return [int(port_name)] From 1fa4b949257bf87037b7f8d73d8f1070627f8b1a Mon Sep 17 00:00:00 2001 From: Joe LeVeque Date: Thu, 25 Feb 2021 12:09:57 -0800 Subject: [PATCH 103/342] [psushow] Add more output columns; Add option to output in JSON format (#1416) - Enhance `psushow -s` output, adding columns to display PSU Model, Serial, Voltage, Current and Power - Add `-j/--json` option to display output in JSON format - Update mock State DB PSU_INFO table to provide values which we can ensure floats are padded to two decimal places in tabular display mode - Add `--json` option to `show platform psustatus` which in turn adds the `-j` flag to the underlying `psushow` call - Add unit tests for `psushow` in psushow_test.py - Add more unit tests for `show platform psustatus` and move to show_platform_test.py --- scripts/psushow | 147 +++++++++++++++------- show/platform.py | 8 +- tests/mock_tables/state_db.json | 20 +++ tests/psu_test.py | 51 -------- tests/psushow_test.py | 213 ++++++++++++++++++++++++++++++++ tests/show_platform_test.py | 78 +++++++----- 6 files changed, 393 insertions(+), 124 deletions(-) delete mode 100644 tests/psu_test.py create mode 100644 tests/psushow_test.py diff --git a/scripts/psushow b/scripts/psushow index e46bad3697..b0e4dfc32e 100755 --- a/scripts/psushow +++ b/scripts/psushow @@ -1,24 +1,19 @@ #!/usr/bin/env python3 import argparse +import json import sys -import os + +from swsscommon.swsscommon import SonicV2Connector from tabulate import tabulate -# mock the redis for unit test purposes # -try: - if os.environ["UTILITIES_UNIT_TESTING"] == "1": - modules_path = os.path.join(os.path.dirname(__file__), "..") - test_path = os.path.join(modules_path, "tests") - sys.path.insert(0, modules_path) - sys.path.insert(0, test_path) - import mock_tables.dbconnector -except KeyError: - pass +VERSION = '1.0' -from swsscommon.swsscommon import SonicV2Connector -def psu_status_show(index): + +def get_psu_status_list(): + psu_status_list = [] + db = SonicV2Connector(host="127.0.0.1") db.connect(db.STATE_DB) @@ -27,59 +22,125 @@ def psu_status_show(index): chassis_name = "chassis {}".format(chassis_num) num_psus = db.get(db.STATE_DB, 'CHASSIS_INFO|{}'.format(chassis_name), 'psu_num') if not num_psus: - print("Error! Failed to get the number of PSUs!") - return -1 + print('Error: Failed to get the number of PSUs') + return None - supported_psu = range(1, int(num_psus) + 1) - if (index < 0): - psu_ids = supported_psu - else: - psu_ids = [index] + for psu_idx in range(1, int(num_psus) + 1): + psu_status = {} - header = ['PSU', 'Status', 'LED'] - status_table = [] + psu_status['index'] = str(psu_idx) + + psu_name = 'PSU {}'.format(psu_idx) + psu_status['name'] = psu_name - for psu in psu_ids: - msg = "" - psu_name = "PSU {}".format(psu) - if psu not in supported_psu: - print("Error! The {} is not available on the platform.\n" - "Number of supported PSU - {}.".format(psu_name, num_psus)) - continue presence = db.get(db.STATE_DB, 'PSU_INFO|{}'.format(psu_name), 'presence') + psu_status['presence'] = presence + if presence == 'true': oper_status = db.get(db.STATE_DB, 'PSU_INFO|{}'.format(psu_name), 'status') - msg = 'OK' if oper_status == 'true' else "NOT OK" + status = 'OK' if oper_status == 'true' else "NOT OK" else: - msg = 'NOT PRESENT' - led_status = db.get(db.STATE_DB, 'PSU_INFO|{}'.format(psu_name), 'led_status') - status_table.append([psu_name, msg, led_status]) + status = 'NOT PRESENT' + psu_status['status'] = status + + psu_status['led_status'] = db.get(db.STATE_DB, 'PSU_INFO|{}'.format(psu_name), 'led_status') + + psu_status['model'] = db.get(db.STATE_DB, 'PSU_INFO|{}'.format(psu_name), 'model') if presence else 'N/A' + psu_status['serial'] = db.get(db.STATE_DB, 'PSU_INFO|{}'.format(psu_name), 'serial') if presence else 'N/A' + psu_status['voltage'] = db.get(db.STATE_DB, 'PSU_INFO|{}'.format(psu_name), 'voltage') if presence else 'N/A' + psu_status['current'] = db.get(db.STATE_DB, 'PSU_INFO|{}'.format(psu_name), 'current') if presence else 'N/A' + psu_status['power'] = db.get(db.STATE_DB, 'PSU_INFO|{}'.format(psu_name), 'power') if presence else 'N/A' + + psu_status_list.append(psu_status) + + return psu_status_list + + +def psu_status_show_table(index): + psu_status_list = get_psu_status_list() + + if not psu_status_list: + print('Error: Failed to get PSU status') + return None + + header = ['PSU', 'Model', 'Serial', 'Voltage (V)', 'Current (A)', 'Power (W)', 'Status', 'LED'] + status_table = [] + + if index > 0: + if index > len(psu_status_list): + print("Error: PSU {} is not available. Number of supported PSUs: {}".format(index, len(psu_status_list))) + return -1 + + # Trim the list down to contain only the requested PSU + psu_status_list = [psu_status_list[index-1]] + + for psu_status in psu_status_list: + status_table.append([psu_status['name'], + psu_status['model'], + psu_status['serial'], + psu_status['voltage'], + psu_status['current'], + psu_status['power'], + psu_status['status'], + psu_status['led_status']]) if status_table: - print(tabulate(status_table, header, tablefmt="simple")) + print(tabulate(status_table, header, tablefmt="simple", floatfmt='.2f')) + + return 0 + + +def psu_status_show_json(index): + psu_status_list = get_psu_status_list() + + if not psu_status_list: + print('Error: Failed to get PSU status') + return None + + if index > 0: + if index > len(psu_status_list): + print("Error: PSU {} is not available. Number of supported PSUs: {}".format(index, len(psu_status_list))) + return -1 + + # Trim the list down to contain only the requested PSU + psu_status_list = [psu_status_list[index-1]] + + print(json.dumps(psu_status_list, indent=4)) return 0 + def main(): parser = argparse.ArgumentParser(description='Display the psu status information', formatter_class=argparse.RawTextHelpFormatter, epilog=""" Examples: + psushow -s + psushow -s -j psushow -s -i 1 """) - parser.add_argument('-s', '--status', action='store_true', help='show the status information') - parser.add_argument('-i', '--index', type=int, default=-1, help='the index of psu') - parser.add_argument('-v', '--version', action='version', version='%(prog)s 1.0') + parser.add_argument('-s', '--status', action='store_true', help='Show PSU status information') + parser.add_argument('-i', '--index', type=int, default=-1, help='The index of PSU to display') + parser.add_argument('-j', '--json', action='store_true', help='Display output in JSON format') + parser.add_argument('-v', '--version', action='version', version='%(prog)s {}'.format(VERSION)) args = parser.parse_args() status_show = args.status psu_index = args.index + output_json = args.json + if status_show: - err = psu_status_show(psu_index) - if err: - print("Error: fail to get psu status from state DB") - sys.exit(1) + if output_json: + ret = psu_status_show_json(psu_index) + else: + ret = psu_status_show_table(psu_index) -if __name__ == "__main__": - main() + if ret != 0: + print("Error: failed to get PSU status from state DB") + return 1 + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/show/platform.py b/show/platform.py index b6f21df979..029e28f485 100644 --- a/show/platform.py +++ b/show/platform.py @@ -41,7 +41,7 @@ def platform(): # 'summary' subcommand ("show platform summary") @platform.command() -@click.option('--json', is_flag=True, help="JSON output") +@click.option('--json', is_flag=True, help="Output in JSON format") def summary(json): """Show hardware platform information""" @@ -69,14 +69,18 @@ def syseeprom(verbose): # 'psustatus' subcommand ("show platform psustatus") @platform.command() @click.option('-i', '--index', default=-1, type=int, help="the index of PSU") +@click.option('--json', is_flag=True, help="Output in JSON format") @click.option('--verbose', is_flag=True, help="Enable verbose output") -def psustatus(index, verbose): +def psustatus(index, json, verbose): """Show PSU status information""" cmd = "psushow -s" if index >= 0: cmd += " -i {}".format(index) + if json: + cmd += " -j" + clicommon.run_command(cmd, display_cmd=verbose) diff --git a/tests/mock_tables/state_db.json b/tests/mock_tables/state_db.json index a185559653..64d685752e 100644 --- a/tests/mock_tables/state_db.json +++ b/tests/mock_tables/state_db.json @@ -121,11 +121,31 @@ "PSU_INFO|PSU 1": { "presence": "true", "status": "true", + "model": "0J6J4K", + "serial": "CN-0J6J4K-17972-5AF-0086-A00", + "temp": "None", + "temp_threshold": "None", + "voltage": "12.19", + "voltage_min_threshold": "None", + "voltage_max_threshold": "None", + "current": "8.37", + "power": "102.7", + "is_replaceable": "False", "led_status": "green" }, "PSU_INFO|PSU 2": { "presence": "true", "status": "true", + "model": "0J6J4K", + "serial": "CN-0J6J4K-17972-5AF-008M-A00", + "temp": "None", + "temp_threshold": "None", + "voltage": "12.18", + "voltage_min_threshold": "None", + "voltage_max_threshold": "None", + "current": "10.07", + "power": "122.0", + "is_replaceable": "False", "led_status": "green" }, "EEPROM_INFO|TlvHeader": { diff --git a/tests/psu_test.py b/tests/psu_test.py deleted file mode 100644 index 1109ef2792..0000000000 --- a/tests/psu_test.py +++ /dev/null @@ -1,51 +0,0 @@ -import sys -import os -from click.testing import CliRunner - -test_path = os.path.dirname(os.path.abspath(__file__)) -modules_path = os.path.dirname(test_path) -scripts_path = os.path.join(modules_path, "scripts") -sys.path.insert(0, modules_path) - -import show.main as show - -class TestPsu(object): - @classmethod - def setup_class(cls): - print("SETUP") - os.environ["PATH"] += os.pathsep + scripts_path - os.environ["UTILITIES_UNIT_TESTING"] = "1" - - def test_no_param(self): - runner = CliRunner() - result = runner.invoke(show.cli.commands["platform"].commands["psustatus"], []) - print(result.output) - result_lines = result.output.strip('\n').split('\n') - psus = ["PSU 1", "PSU 2"] - for i, psu in enumerate(psus): - assert psu in result_lines[i+2] - header_lines = 2 - assert len(result_lines) == header_lines + len(psus) - - def test_verbose(self): - runner = CliRunner() - result = runner.invoke(show.cli.commands["platform"].commands["psustatus"], ["--verbose"]) - print(result.output) - assert result.output.split('\n')[0] == "Running command: psushow -s" - - def test_single_psu(self): - runner = CliRunner() - result = runner.invoke(show.cli.commands["platform"].commands["psustatus"], ["--index=1"]) - expected = """\ -PSU Status LED ------ -------- ----- -PSU 1 OK green -""" - assert result.output == expected - - @classmethod - def teardown_class(cls): - print("TEARDOWN") - os.environ["PATH"] = os.pathsep.join(os.environ["PATH"].split(os.pathsep)[:-1]) - os.environ["UTILITIES_UNIT_TESTING"] = "0" - diff --git a/tests/psushow_test.py b/tests/psushow_test.py new file mode 100644 index 0000000000..c5038ba6c3 --- /dev/null +++ b/tests/psushow_test.py @@ -0,0 +1,213 @@ +import importlib +import os +import sys +from unittest import mock + +import pytest +from click.testing import CliRunner + +from .mock_tables import dbconnector + +test_path = os.path.dirname(os.path.abspath(__file__)) +modules_path = os.path.dirname(test_path) +scripts_path = os.path.join(modules_path, 'scripts') +sys.path.insert(0, modules_path) + +sys.modules['sonic_platform'] = mock.MagicMock() + +# Load the file under test +psushow_path = os.path.join(scripts_path, 'psushow') +loader = importlib.machinery.SourceFileLoader('psushow', psushow_path) +spec = importlib.util.spec_from_loader(loader.name, loader) +psushow = importlib.util.module_from_spec(spec) +loader.exec_module(psushow) + +# Replace swsscommon objects with mocked objects +psushow.SonicV2Connector = dbconnector.SonicV2Connector + + +class TestPsushow(object): + def test_get_psu_status_list(self): + expected_psu_status_list = [ + { + 'index': '1', + 'name': 'PSU 1', + 'presence': 'true', + 'status': 'OK', + 'led_status': 'green', + 'model': '0J6J4K', + 'serial': 'CN-0J6J4K-17972-5AF-0086-A00', + 'voltage': '12.19', + 'current': '8.37', + 'power': '102.7' + }, + { + 'index': '2', + 'name': 'PSU 2', + 'presence': 'true', + 'status': 'OK', + 'led_status': 'green', + 'model': '0J6J4K', + 'serial': 'CN-0J6J4K-17972-5AF-008M-A00', + 'voltage': '12.18', + 'current': '10.07', + 'power': '122.0' + } + ] + + psu_status_list = psushow.get_psu_status_list() + assert psu_status_list == expected_psu_status_list + + def test_status_table(self, capsys): + expected_output = '''\ +PSU Model Serial Voltage (V) Current (A) Power (W) Status LED +----- ------- ---------------------------- ------------- ------------- ----------- -------- ----- +PSU 1 0J6J4K CN-0J6J4K-17972-5AF-0086-A00 12.19 8.37 102.70 OK green +PSU 2 0J6J4K CN-0J6J4K-17972-5AF-008M-A00 12.18 10.07 122.00 OK green +''' + for arg in ['-s', '--status']: + with mock.patch('sys.argv', ['psushow', arg]): + ret = psushow.main() + assert ret == 0 + captured = capsys.readouterr() + assert captured.out == expected_output + + expected_output = '''\ +PSU Model Serial Voltage (V) Current (A) Power (W) Status LED +----- ------- ---------------------------- ------------- ------------- ----------- -------- ----- +PSU 1 0J6J4K CN-0J6J4K-17972-5AF-0086-A00 12.19 8.37 102.70 OK green +''' + for arg in ['-s', '--status']: + with mock.patch('sys.argv', ['psushow', arg, '-i', '1']): + ret = psushow.main() + assert ret == 0 + captured = capsys.readouterr() + assert captured.out == expected_output + + expected_output = '''\ +PSU Model Serial Voltage (V) Current (A) Power (W) Status LED +----- ------- ---------------------------- ------------- ------------- ----------- -------- ----- +PSU 2 0J6J4K CN-0J6J4K-17972-5AF-008M-A00 12.18 10.07 122.00 OK green +''' + for arg in ['-s', '--status']: + with mock.patch('sys.argv', ['psushow', arg, '-i', '2']): + ret = psushow.main() + assert ret == 0 + captured = capsys.readouterr() + assert captured.out == expected_output + + # Test trying to display a non-existent PSU + expected_output = '''\ +Error: PSU 3 is not available. Number of supported PSUs: 2 +Error: failed to get PSU status from state DB +''' + for arg in ['-s', '--status']: + with mock.patch('sys.argv', ['psushow', arg, '-i', '3']): + ret = psushow.main() + assert ret == 1 + captured = capsys.readouterr() + assert captured.out == expected_output + + def test_status_json(self, capsys): + expected_output = '''\ +[ + { + "index": "1", + "name": "PSU 1", + "presence": "true", + "status": "OK", + "led_status": "green", + "model": "0J6J4K", + "serial": "CN-0J6J4K-17972-5AF-0086-A00", + "voltage": "12.19", + "current": "8.37", + "power": "102.7" + }, + { + "index": "2", + "name": "PSU 2", + "presence": "true", + "status": "OK", + "led_status": "green", + "model": "0J6J4K", + "serial": "CN-0J6J4K-17972-5AF-008M-A00", + "voltage": "12.18", + "current": "10.07", + "power": "122.0" + } +] +''' + for arg in ['-j', '--json']: + with mock.patch('sys.argv', ['psushow', '-s', arg]): + ret = psushow.main() + assert ret == 0 + captured = capsys.readouterr() + assert captured.out == expected_output + + expected_output = '''\ +[ + { + "index": "1", + "name": "PSU 1", + "presence": "true", + "status": "OK", + "led_status": "green", + "model": "0J6J4K", + "serial": "CN-0J6J4K-17972-5AF-0086-A00", + "voltage": "12.19", + "current": "8.37", + "power": "102.7" + } +] +''' + for arg in ['-j', '--json']: + with mock.patch('sys.argv', ['psushow', '-s', '-i', '1', arg]): + ret = psushow.main() + assert ret == 0 + captured = capsys.readouterr() + assert captured.out == expected_output + + expected_output = '''\ +[ + { + "index": "2", + "name": "PSU 2", + "presence": "true", + "status": "OK", + "led_status": "green", + "model": "0J6J4K", + "serial": "CN-0J6J4K-17972-5AF-008M-A00", + "voltage": "12.18", + "current": "10.07", + "power": "122.0" + } +] +''' + for arg in ['-j', '--json']: + with mock.patch('sys.argv', ['psushow', '-s', '-i', '2', arg]): + ret = psushow.main() + assert ret == 0 + captured = capsys.readouterr() + assert captured.out == expected_output + + # Test trying to display a non-existent PSU + expected_output = '''\ +Error: PSU 3 is not available. Number of supported PSUs: 2 +Error: failed to get PSU status from state DB +''' + for arg in ['-j', '--json']: + with mock.patch('sys.argv', ['psushow', '-s', '-i', '3', arg]): + ret = psushow.main() + assert ret == 1 + captured = capsys.readouterr() + assert captured.out == expected_output + + def test_version(self, capsys): + for arg in ['-v', '--version']: + with pytest.raises(SystemExit) as pytest_wrapped_e: + with mock.patch('sys.argv', ['psushow', arg]): + psushow.main() + assert pytest_wrapped_e.type == SystemExit + assert pytest_wrapped_e.value.code == 0 + captured = capsys.readouterr() + assert captured.out == 'psushow {}\n'.format(psushow.VERSION) diff --git a/tests/show_platform_test.py b/tests/show_platform_test.py index dfa6ba648a..937059dcde 100644 --- a/tests/show_platform_test.py +++ b/tests/show_platform_test.py @@ -3,39 +3,29 @@ import textwrap from unittest import mock +import pytest from click.testing import CliRunner test_path = os.path.dirname(os.path.abspath(__file__)) modules_path = os.path.dirname(test_path) sys.path.insert(0, modules_path) - import show.main as show -TEST_PLATFORM = "x86_64-mlnx_msn2700-r0" -TEST_HWSKU = "Mellanox-SN2700" -TEST_ASIC_TYPE = "mellanox" +@pytest.fixture(scope='class') +def config_env(): + os.environ["UTILITIES_UNIT_TESTING"] = "1" + yield -""" - Note: The following 'show platform' commands simply call other SONiC - CLI utilities, so the unit tests for the other utilities are expected - to cover testing their functionality: + os.environ["UTILITIES_UNIT_TESTING"] = "0" - show platform fan - show platform firmware - show platform mlnx - show platform psustatus - show platform ssdhealth - show platform syseeprom - show platform temperature -""" +@pytest.mark.usefixtures('config_env') class TestShowPlatform(object): - @classmethod - def setup_class(cls): - print("SETUP") - os.environ["UTILITIES_UNIT_TESTING"] = "1" + TEST_PLATFORM = "x86_64-mlnx_msn2700-r0" + TEST_HWSKU = "Mellanox-SN2700" + TEST_ASIC_TYPE = "mellanox" # Test 'show platform summary' def test_summary(self): @@ -43,15 +33,47 @@ def test_summary(self): Platform: {} HwSKU: {} ASIC: {} - """.format(TEST_PLATFORM, TEST_HWSKU, TEST_ASIC_TYPE) + """.format(self.TEST_PLATFORM, self.TEST_HWSKU, self.TEST_ASIC_TYPE) with mock.patch("show.platform.get_hw_info_dict", - return_value={"platform": TEST_PLATFORM, "hwsku": TEST_HWSKU, "asic_type": TEST_ASIC_TYPE}): - runner = CliRunner() - result = runner.invoke(show.cli.commands["platform"].commands["summary"], []) + return_value={"platform": self.TEST_PLATFORM, "hwsku": self.TEST_HWSKU, "asic_type": self.TEST_ASIC_TYPE}): + result = CliRunner().invoke(show.cli.commands["platform"].commands["summary"], []) assert result.output == textwrap.dedent(expected_output) - @classmethod - def teardown_class(cls): - print("TEARDOWN") - os.environ["UTILITIES_UNIT_TESTING"] = "0" + +class TestShowPlatformPsu(object): + """ + Note: `show platform psustatus` simply calls the `psushow` utility and + passes a variety of options. Here we test that the utility is called + with the appropriate option(s). The functionality of the underlying + `psushow` utility is expected to be tested by a separate suite of unit tests + """ + def test_all_psus(self): + with mock.patch('utilities_common.cli.run_command') as mock_run_command: + CliRunner().invoke(show.cli.commands['platform'].commands['psustatus'], []) + assert mock_run_command.call_count == 1 + mock_run_command.assert_called_with('psushow -s', display_cmd=False) + + def test_all_psus_json(self): + with mock.patch('utilities_common.cli.run_command') as mock_run_command: + CliRunner().invoke(show.cli.commands['platform'].commands['psustatus'], ['--json']) + assert mock_run_command.call_count == 1 + mock_run_command.assert_called_with('psushow -s -j', display_cmd=False) + + def test_single_psu(self): + with mock.patch('utilities_common.cli.run_command') as mock_run_command: + CliRunner().invoke(show.cli.commands['platform'].commands['psustatus'], ['--index=1']) + assert mock_run_command.call_count == 1 + mock_run_command.assert_called_with('psushow -s -i 1', display_cmd=False) + + def test_single_psu_json(self): + with mock.patch('utilities_common.cli.run_command') as mock_run_command: + CliRunner().invoke(show.cli.commands['platform'].commands['psustatus'], ['--index=1', '--json']) + assert mock_run_command.call_count == 1 + mock_run_command.assert_called_with('psushow -s -i 1 -j', display_cmd=False) + + def test_verbose(self): + with mock.patch('utilities_common.cli.run_command') as mock_run_command: + CliRunner().invoke(show.cli.commands['platform'].commands['psustatus'], ['--verbose']) + assert mock_run_command.call_count == 1 + mock_run_command.assert_called_with('psushow -s', display_cmd=True) From 2f6e36e16dc4490adc6ec93fe2c3555516778c46 Mon Sep 17 00:00:00 2001 From: Mahesh Maddikayala <10645050+smaheshm@users.noreply.github.com> Date: Thu, 25 Feb 2021 15:40:28 -0800 Subject: [PATCH 104/342] [CLI][techsupport] Add NOOP option for commands that did not have that option (#1445) --- scripts/generate_dump | 173 ++++++++++++++++++++++++------------------ 1 file changed, 101 insertions(+), 72 deletions(-) diff --git a/scripts/generate_dump b/scripts/generate_dump index ec23d93040..1c087246e6 100755 --- a/scripts/generate_dump +++ b/scripts/generate_dump @@ -165,8 +165,7 @@ save_cmd() { # This is required if $cmd has quoted strings that should be bunched # as one argument, e.g. vtysh -c "COMMAND HERE" needs to have # "COMMAND HERE" bunched together as 1 arg to vtysh -c - if $do_gzip - then + if $do_gzip; then tarpath="${tarpath}.gz" filepath="${filepath}.gz" local cmds="$cmd 2>&1 | gzip -c > '${filepath}'" @@ -223,6 +222,71 @@ save_cmd_all_ns() { fi } +############################################################################### +# Copies a given file from a specified docker to the given target location +# default (host) namespace in single ASIC platform +# Globals: +# None +# Arguments: +# docker: docker name +# filename: the filename to copy +# destination: destination filename +# Returns: +# None +############################################################################### +copy_from_docker() { + local start_t=$(date +%s%3N) + local end_t=0 + local docker=$1 + local filename=$2 + local dstpath=$3 + local timeout_cmd="timeout --foreground ${TIMEOUT_MIN}m" + + if $NOOP; then + echo "${timeout_cmd} sudo docker exec -i ${docker} touch ${filename}" + echo "${timeout_cmd} sudo docker cp ${docker}:${filename} ${dstpath}" + else + eval "${timeout_cmd} sudo docker exec -i ${docker} touch ${filename}" + if [ $? -ne 0 ]; then + echo "Command: $cmd timedout after ${TIMEOUT_MIN} minutes." + fi + eval "${timeout_cmd} sudo docker cp ${docker}:${filename} ${dstpath}" + if [ $? -ne 0 ]; then + echo "Command: $cmd timedout after ${TIMEOUT_MIN} minutes." + fi + fi + end_t=$(date +%s%3N) + echo "[ copy_from_docker:${docker}:${filename} ] : $(($end_t-$start_t)) msec" \ + >> $TECHSUPPORT_TIME_INFO +} + +############################################################################### +# Copies a given file from a specified docker to the given target location +# default (host) namespace in single ASIC platform +# Globals: +# NUM_ASICS +# Arguments: +# docker: docker name +# filename: the filename to copy +# destination: destination filename +# Returns: +# None +############################################################################### +copy_from_masic_docker() { + local docker=$1 + local filename=$2 + local dstpath=$3 + + if [[ ("$NUM_ASICS" > 1) ]]; then + for (( i=0; i<$NUM_ASICS; i++ )) + do + copy_from_docker "$docker$i" "$filename" "$dstpath.$i" + done + else + copy_from_docker "$docker" "$filename" "$dstpath" + fi +} + ############################################################################### # Returns namespace option to be used with vtysh commmand, based on the ASIC ID. # Returns empty string if no ASIC ID is provided @@ -241,6 +305,7 @@ get_vtysh_namespace() { else ns=" -n ${asic_id}" fi + echo "$ns" } ############################################################################### @@ -502,6 +567,7 @@ save_redis_info() { # RM # BASE # TARFILE +# NOOP # Arguments: # *procfiles: variable-length list of proc file paths to save # Returns: @@ -509,10 +575,19 @@ save_redis_info() { ############################################################################### save_proc() { local procfiles="$@" - $MKDIR $V -p $TARDIR/proc \ - && (for f in $procfiles; do ( [ -e $f ] && $CP $V -r $f $TARDIR/proc ) || echo "$f not found" > $TARDIR/$f; done) \ - && $TAR $V -rhf $TARFILE -C $DUMPDIR --mode=+rw $BASE/proc \ - && $RM $V -rf $TARDIR/proc + $MKDIR $V -p $TARDIR/proc + for f in $procfiles + do + if $NOOP; then + if [ -e $f ]; then + echo "$CP $V -r $f $TARDIR/proc" + fi + else + ( [ -e $f ] && $CP $V -r $f $TARDIR/proc ) || echo "$f not found" > $TARDIR/$f + fi + done + $TAR $V -rhf $TARFILE -C $DUMPDIR --mode=+rw $BASE/proc + $RM $V -rf $TARDIR/proc } ############################################################################### @@ -553,41 +628,6 @@ save_saidump() { fi } -############################################################################### -# Runs a 'show platform' command, append the output to 'filename' and add to the incrementally built tar. -# Globals: -# LOGDIR -# BASE -# MKDIR -# TAR -# TARFILE -# DUMPDIR -# V -# RM -# Arguments: -# type: the type of platform information -# filename: the filename to save the output as in $BASE/dump -# Returns: -# None -############################################################################### -save_platform() { - local start_t=$(date +%s%3N) - local end_t=0 - local type="$1" - local filename=$2 - local filepath="${LOGDIR}/$filename" - local tarpath="${BASE}/dump/$filename" - [ ! -d $LOGDIR ] && $MKDIR $V -p $LOGDIR - - eval "show platform $type" &>> "$filepath" - echo $'\r' >> "$filepath" - - ($TAR $V -uhf $TARFILE -C $DUMPDIR "$tarpath" \ - || abort "${ERROR_TAR_FAILED}" "tar append operation failed. Aborting to prevent data loss.") - end_t=$(date +%s%3N) - echo "[ save_platform:$type ] : $(($end_t-$start_t)) msec" >> $TECHSUPPORT_TIME_INFO -} - ############################################################################### # Save platform related info # Globals: @@ -598,11 +638,11 @@ save_platform() { # None ############################################################################### save_platform_info() { - save_platform "syseeprom" "platform" - save_platform "psustatus" "platform" - save_platform "ssdhealth" "platform" - save_platform "temperature" "platform" - save_platform "fan" "platform" + save_cmd "show platform syseeprom" "syseeprom" + save_cmd "show platform psustatus" "psustatus" + save_cmd "show platform ssdhealth" "ssdhealth" + save_cmd "show platform temperature" "temperature" + save_cmd "show platform fan" "fan" } ############################################################################### @@ -809,6 +849,9 @@ collect_broadcom() { save_bcmcmd_all_ns "\"mirror dest show\"" "mirror.dest.summary" save_bcmcmd_all_ns "\"port *\"" "port.summary" save_bcmcmd_all_ns "\"d chg my_station_tcam\"" "mystation.tcam.summary" + + copy_from_masic_docker "syncd" "/var/log/diagrun.log" "/var/log/diagrun.log" + copy_from_masic_docker "syncd" "/var/log/bcm_diag_post" "/var/log/bcm_diag_post" } ############################################################################### @@ -868,7 +911,7 @@ save_log_files() { ############################################################################### # Save warmboot files # Globals: -# TARDIR, TARFILE, TAR, DUMPDIR, TECHSUPPORT_TIME_INFO +# TARDIR, TARFILE, TAR, DUMPDIR, TECHSUPPORT_TIME_INFO, NOOP # Arguments: # None # Returns: @@ -876,14 +919,18 @@ save_log_files() { ############################################################################### save_warmboot_files() { # Copy the warmboot files - mkdir -p $TARDIR - $CP $V -rf /host/warmboot $TARDIR - start_t=$(date +%s%3N) - ($TAR $V --warning=no-file-removed -rhf $TARFILE -C $DUMPDIR --mode=+rw \ - $BASE/warmboot \ - || abort "${ERROR_TAR_FAILED}" "Tar append operation failed. Aborting for safety.") \ - && $RM $V -rf $TARDIR + if $NOOP; then + echo "$CP $V -rf /host/warmboot $TARDIR" + else + mkdir -p $TARDIR + $CP $V -rf /host/warmboot $TARDIR + + ($TAR $V --warning=no-file-removed -rhf $TARFILE -C $DUMPDIR --mode=+rw \ + $BASE/warmboot \ + || abort "${ERROR_TAR_FAILED}" "Tar append operation failed. Aborting for safety.") \ + && $RM $V -rf $TARDIR + fi end_t=$(date +%s%3N) echo "[ Warm-boot Files ] : $(($end_t-$start_t)) msec" >> $TECHSUPPORT_TIME_INFO } @@ -1137,24 +1184,6 @@ main() { end_t=$(date +%s%3N) echo "[ TAR /etc Files ] : $(($end_t-$start_t)) msec" >> $TECHSUPPORT_TIME_INFO - if [ "$asic" = "broadcom" ]; then - if [[ ("$NUM_ASICS" > 1) ]]; then - for (( i=0; i<$NUM_ASICS; i++ )) - do - sudo docker exec -i syncd$i touch /var/log/diagrun.log - sudo docker exec -i syncd$i touch /var/log/bcm_diag_post - - sudo docker cp syncd$i:/var/log/diagrun.log /var/log/diagrun.log.$i - sudo docker cp syncd$i:/var/log/bcm_diag_post /var/log/bcm_diag_post.$i - done - else - sudo docker exec -i syncd touch /var/log/diagrun.log - sudo docker exec -i syncd touch /var/log/bcm_diag_post - - sudo docker cp syncd:/var/log/diagrun.log /var/log/diagrun.log - sudo docker cp syncd:/var/log/bcm_diag_post /var/log/bcm_diag_post - fi - fi save_log_files save_warmboot_files save_crash_files From 99673bcd54cfafe6a41586210bf47df2a5bc049f Mon Sep 17 00:00:00 2001 From: rkdevi27 <54701695+rkdevi27@users.noreply.github.com> Date: Mon, 1 Mar 2021 01:49:05 +0530 Subject: [PATCH 105/342] [reboot] Add platform-specific reboot cause update hook (#1454) #### What I did The S6000 devices, the cold reboot is abrupt and it is likely to cause issues which will cause the device to land into EFI shell. Hence the platform reboot will happen after graceful unmount of all the filesystems as in S6100. #### How I did it In reboot script, if platform-specific reboot cause update script exists, run it --- scripts/reboot | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/scripts/reboot b/scripts/reboot index 889f4c4bd5..8b1f9d60c3 100755 --- a/scripts/reboot +++ b/scripts/reboot @@ -1,6 +1,7 @@ #!/bin/bash DEVPATH="/usr/share/sonic/device" PLAT_REBOOT="platform_reboot" +PLATFORM_UPDATE_REBOOT_CAUSE="platform_update_reboot_cause" REBOOT_CAUSE_FILE="/host/reboot-cause/reboot-cause.txt" REBOOT_TIME=$(date) @@ -167,6 +168,11 @@ if [ -x ${DEVPATH}/${PLATFORM}/${SSD_FW_UPDATE} ]; then ${DEVPATH}/${PLATFORM}/${SSD_FW_UPDATE} ${REBOOT_TYPE} fi +if [ -x ${DEVPATH}/${PLATFORM}/${PLATFORM_UPDATE_REBOOT_CAUSE} ]; then + debug "updating reboot cause for ${PLATFORM}" + ${DEVPATH}/${PLATFORM}/${PLATFORM_UPDATE_REBOOT_CAUSE} +fi + if [ -x ${DEVPATH}/${PLATFORM}/${PLAT_REBOOT} ]; then VERBOSE=yes debug "Rebooting with platform ${PLATFORM} specific tool ..." exec ${DEVPATH}/${PLATFORM}/${PLAT_REBOOT} $@ From 8b3bc18e7c187a45df2040ddd7e0b2db2509de12 Mon Sep 17 00:00:00 2001 From: Stepan Blyshchak <38952541+stepanblyschak@users.noreply.github.com> Date: Sun, 28 Feb 2021 22:54:15 -0800 Subject: [PATCH 106/342] [reload] Improve reload by using sonic.target. (#1199) - What I did To remove the list of hardcoded order-dependent lists of services to stop/restart/reset-failed. - How I did it Used sonic.target to stop/restart/reset-failed. - How to verify it Execute config reload and observe the services do restart. Signed-off-by: Stepan Blyshchak --- config/main.py | 176 +++++++------------------------------------ tests/config_test.py | 60 ++------------- 2 files changed, 33 insertions(+), 203 deletions(-) diff --git a/config/main.py b/config/main.py index eb17ad3504..10035cdc3f 100644 --- a/config/main.py +++ b/config/main.py @@ -9,7 +9,6 @@ import re import subprocess import sys -import threading import time from socket import AF_INET, AF_INET6 @@ -63,10 +62,6 @@ INIT_CFG_FILE = '/etc/sonic/init_cfg.json' -SYSTEMCTL_ACTION_STOP="stop" -SYSTEMCTL_ACTION_RESTART="restart" -SYSTEMCTL_ACTION_RESET_FAILED="reset-failed" - DEFAULT_NAMESPACE = '' CFG_LOOPBACK_PREFIX = "Loopback" CFG_LOOPBACK_PREFIX_LEN = len(CFG_LOOPBACK_PREFIX) @@ -224,54 +219,6 @@ def breakout_Ports(cm, delPorts=list(), portJson=dict(), force=False, \ # Helper functions # -# Execute action per NPU instance for multi instance services. -def execute_systemctl_per_asic_instance(inst, event, service, action): - try: - click.echo("Executing {} of service {}@{}...".format(action, service, inst)) - clicommon.run_command("systemctl {} {}@{}.service".format(action, service, inst)) - except SystemExit as e: - log.log_error("Failed to execute {} of service {}@{} with error {}".format(action, service, inst, e)) - # Set the event object if there is a failure and exception was raised. - event.set() - -# Execute action on list of systemd services -def execute_systemctl(list_of_services, action): - num_asic = multi_asic.get_num_asics() - generated_services_list, generated_multi_instance_services = _get_sonic_generated_services(num_asic) - if ((generated_services_list == []) and - (generated_multi_instance_services == [])): - log.log_error("Failed to get generated services") - return - - for service in list_of_services: - if (service + '.service' in generated_services_list): - try: - click.echo("Executing {} of service {}...".format(action, service)) - clicommon.run_command("systemctl {} {}".format(action, service)) - except SystemExit as e: - log.log_error("Failed to execute {} of service {} with error {}".format(action, service, e)) - raise - - if (service + '.service' in generated_multi_instance_services): - # With Multi NPU, Start a thread per instance to do the "action" on multi instance services. - if multi_asic.is_multi_asic(): - threads = [] - # Use this event object to co-ordinate if any threads raised exception - e = threading.Event() - - kwargs = {'service': service, 'action': action} - for inst in range(num_asic): - t = threading.Thread(target=execute_systemctl_per_asic_instance, args=(inst, e), kwargs=kwargs) - threads.append(t) - t.start() - - # Wait for all the threads to finish. - for inst in range(num_asic): - threads[inst].join() - - # Check if any of the threads have raised exception, if so exit the process. - if e.is_set(): - sys.exit(1) def _get_device_type(): """ @@ -720,97 +667,26 @@ def _get_disabled_services_list(config_db): return disabled_services_list -def _stop_services(config_db): - # This list is order-dependent. Please add services in the order they should be stopped - # on Mellanox platform pmon is stopped by syncd - services_to_stop = [ - 'telemetry', - 'restapi', - 'swss', - 'lldp', - 'pmon', - 'bgp', - 'hostcfgd', - 'nat' - ] - - if asic_type == 'mellanox' and 'pmon' in services_to_stop: - services_to_stop.remove('pmon') - - disabled_services = _get_disabled_services_list(config_db) - - for service in disabled_services: - if service in services_to_stop: - services_to_stop.remove(service) - - execute_systemctl(services_to_stop, SYSTEMCTL_ACTION_STOP) - - -def _reset_failed_services(config_db): - # This list is order-independent. Please keep list in alphabetical order - services_to_reset = [ - 'bgp', - 'dhcp_relay', - 'hostcfgd', - 'hostname-config', - 'interfaces-config', - 'lldp', - 'mux', - 'nat', - 'ntp-config', - 'pmon', - 'radv', - 'restapi', - 'rsyslog-config', - 'sflow', - 'snmp', - 'swss', - 'syncd', - 'teamd', - 'telemetry', - 'macsec', - ] - - disabled_services = _get_disabled_services_list(config_db) - - for service in disabled_services: - if service in services_to_reset: - services_to_reset.remove(service) - - execute_systemctl(services_to_reset, SYSTEMCTL_ACTION_RESET_FAILED) - - -def _restart_services(config_db): - # This list is order-dependent. Please add services in the order they should be started - # on Mellanox platform pmon is started by syncd - services_to_restart = [ - 'hostname-config', - 'interfaces-config', - 'ntp-config', - 'rsyslog-config', - 'swss', - 'mux', - 'bgp', - 'pmon', - 'lldp', - 'hostcfgd', - 'nat', - 'sflow', - 'restapi', - 'telemetry', - 'macsec', - ] - - disabled_services = _get_disabled_services_list(config_db) - - for service in disabled_services: - if service in services_to_restart: - services_to_restart.remove(service) - - if asic_type == 'mellanox' and 'pmon' in services_to_restart: - services_to_restart.remove('pmon') - - execute_systemctl(services_to_restart, SYSTEMCTL_ACTION_RESTART) + +def _stop_services(): + click.echo("Stopping SONiC target ...") + clicommon.run_command("sudo systemctl stop sonic.target") + + +def _get_sonic_services(): + out = clicommon.run_command("systemctl list-dependencies --plain sonic.target | sed '1d'", return_cmd=True) + return [unit.strip() for unit in out.splitlines()] + + +def _reset_failed_services(): + for service in _get_sonic_services(): + click.echo("Resetting failed status on {}".format(service)) + clicommon.run_command("systemctl reset-failed {}".format(service)) + + +def _restart_services(): + click.echo("Restarting SONiC target ...") + clicommon.run_command("sudo systemctl restart sonic.target") # Reload Monit configuration to pick up new hostname in case it changed click.echo("Reloading Monit configuration ...") @@ -1115,7 +991,7 @@ def reload(db, filename, yes, load_sysinfo, no_service_restart): #Stop services before config push if not no_service_restart: log.log_info("'reload' stopping services...") - _stop_services(db.cfgdb) + _stop_services() # In Single ASIC platforms we have single DB service. In multi-ASIC platforms we have a global DB # service running in the host + DB services running in each ASIC namespace created per ASIC. @@ -1186,9 +1062,9 @@ def reload(db, filename, yes, load_sysinfo, no_service_restart): # We first run "systemctl reset-failed" to remove the "failed" # status from all services before we attempt to restart them if not no_service_restart: - _reset_failed_services(db.cfgdb) + _reset_failed_services() log.log_info("'reload' restarting services...") - _restart_services(db.cfgdb) + _restart_services() @config.command("load_mgmt_config") @click.option('-y', '--yes', is_flag=True, callback=_abort_if_false, @@ -1227,7 +1103,7 @@ def load_minigraph(db, no_service_restart): #Stop services before config push if not no_service_restart: log.log_info("'load_minigraph' stopping services...") - _stop_services(db.cfgdb) + _stop_services() # For Single Asic platform the namespace list has the empty string # for mulit Asic platform the empty string to generate the config @@ -1283,10 +1159,10 @@ def load_minigraph(db, no_service_restart): # We first run "systemctl reset-failed" to remove the "failed" # status from all services before we attempt to restart them if not no_service_restart: - _reset_failed_services(db.cfgdb) + _reset_failed_services() #FIXME: After config DB daemon is implemented, we'll no longer need to restart every service. log.log_info("'load_minigraph' restarting services...") - _restart_services(db.cfgdb) + _restart_services() click.echo("Please note setting loaded from minigraph will be lost after system reboot. To preserve setting, run `config save`.") diff --git a/tests/config_test.py b/tests/config_test.py index 30a1f10ec8..89d8313d53 100644 --- a/tests/config_test.py +++ b/tests/config_test.py @@ -12,43 +12,11 @@ from utilities_common.db import Db load_minigraph_command_output="""\ -Executing stop of service telemetry... -Executing stop of service swss... -Executing stop of service lldp... -Executing stop of service pmon... -Executing stop of service bgp... -Executing stop of service hostcfgd... -Executing stop of service nat... +Stopping SONiC target ... Running command: /usr/local/bin/sonic-cfggen -H -m --write-to-db Running command: pfcwd start_default Running command: config qos reload --no-dynamic-buffer -Executing reset-failed of service bgp... -Executing reset-failed of service dhcp_relay... -Executing reset-failed of service hostcfgd... -Executing reset-failed of service hostname-config... -Executing reset-failed of service interfaces-config... -Executing reset-failed of service lldp... -Executing reset-failed of service nat... -Executing reset-failed of service ntp-config... -Executing reset-failed of service pmon... -Executing reset-failed of service radv... -Executing reset-failed of service rsyslog-config... -Executing reset-failed of service snmp... -Executing reset-failed of service swss... -Executing reset-failed of service syncd... -Executing reset-failed of service teamd... -Executing reset-failed of service telemetry... -Executing restart of service hostname-config... -Executing restart of service interfaces-config... -Executing restart of service ntp-config... -Executing restart of service rsyslog-config... -Executing restart of service swss... -Executing restart of service bgp... -Executing restart of service pmon... -Executing restart of service lldp... -Executing restart of service hostcfgd... -Executing restart of service nat... -Executing restart of service telemetry... +Restarting SONiC target ... Reloading Monit configuration ... Please note setting loaded from minigraph will be lost after system reboot. To preserve setting, run `config save`. """ @@ -56,9 +24,12 @@ def mock_run_command_side_effect(*args, **kwargs): command = args[0] - if 'display_cmd' in kwargs and kwargs['display_cmd'] == True: + if kwargs.get('display_cmd'): click.echo(click.style("Running command: ", fg='cyan') + click.style(command, fg='green')) + if kwargs.get('return_cmd'): + return '' + class TestLoadMinigraph(object): @classmethod @@ -78,24 +49,7 @@ def test_load_minigraph(self, get_cmd_module, setup_single_broadcom_asic): traceback.print_tb(result.exc_info[2]) assert result.exit_code == 0 assert "\n".join([l.rstrip() for l in result.output.split('\n')]) == load_minigraph_command_output - assert mock_run_command.call_count == 38 - - def test_load_minigraph_with_disabled_telemetry(self, get_cmd_module, setup_single_broadcom_asic): - with mock.patch("utilities_common.cli.run_command", mock.MagicMock(side_effect=mock_run_command_side_effect)) as mock_run_command: - (config, show) = get_cmd_module - db = Db() - runner = CliRunner() - result = runner.invoke(config.config.commands["feature"].commands["state"], ["telemetry", "disabled"], obj=db) - assert result.exit_code == 0 - result = runner.invoke(show.cli.commands["feature"].commands["status"], ["telemetry"], obj=db) - print(result.output) - assert result.exit_code == 0 - result = runner.invoke(config.config.commands["load_minigraph"], ["-y"], obj=db) - print(result.exit_code) - print(result.output) - assert result.exit_code == 0 - assert "telemetry" not in result.output - assert mock_run_command.call_count == 35 + assert mock_run_command.call_count == 7 @classmethod def teardown_class(cls): From e32b5ac4b33235723b220d5c97981f22d0823f45 Mon Sep 17 00:00:00 2001 From: Sujin Kang Date: Tue, 2 Mar 2021 09:27:14 -0800 Subject: [PATCH 107/342] Add soft-reboot reboot type (#1453) What I did Add a new reboot named as soft-reboot which can be performed by "kexec -e" How I did it Replace the platform reboot with "kexec -e" for the cold reboot case. How to verify it Verified the reboot on DUT and check the reboot-cause --- scripts/soft-reboot | 227 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 227 insertions(+) create mode 100755 scripts/soft-reboot diff --git a/scripts/soft-reboot b/scripts/soft-reboot new file mode 100755 index 0000000000..52ccdd690b --- /dev/null +++ b/scripts/soft-reboot @@ -0,0 +1,227 @@ +#!/bin/bash +DEVPATH="/usr/share/sonic/device" +REBOOT_CAUSE_FILE="/host/reboot-cause/reboot-cause.txt" +REBOOT_TIME=$(date) +REBOOT_METHOD="/sbin/kexec -e" +LOG_SSD_HEALTH="/usr/local/bin/log_ssd_health" +WATCHDOG_UTIL="/usr/local/bin/watchdogutil" + +EXIT_SUCCESS=0 +EXIT_FAILURE=1 +EXIT_NOT_SUPPORTED=2 +EXIT_FILE_SYSTEM_FULL=3 +EXIT_NEXT_IMAGE_NOT_EXISTS=4 + +# Reboot immediately if we run the kdump capture kernel +VMCORE_FILE=/proc/vmcore +if [ -e $VMCORE_FILE -a -s $VMCORE_FILE ]; then + echo "We have a /proc/vmcore, then we just kdump'ed" + echo "User issued 'kdump' command [User: kdump, Time: ${REBOOT_TIME}]" > ${REBOOT_CAUSE_FILE} + sync + PLATFORM=$(grep -oP 'sonic_platform=\K\S+' /proc/cmdline) + if [ ! -z "${PLATFORM}" -a -x ${DEVPATH}/${PLATFORM}/${PLAT_REBOOT} ]; then + exec ${DEVPATH}/${PLATFORM}/${PLAT_REBOOT} + fi + # If no platform-specific reboot tool, just run /sbin/reboot + /sbin/reboot + echo 1 > /proc/sys/kernel/sysrq + echo b > /proc/sysrq-trigger +fi + +REBOOT_USER=$(logname) +PLATFORM=$(sonic-cfggen -H -v DEVICE_METADATA.localhost.platform) +ASIC_TYPE=$(sonic-cfggen -y /etc/sonic/sonic_version.yml -v asic_type) +VERBOSE=no +EXIT_NEXT_IMAGE_NOT_EXISTS=4 +EXIT_SONIC_INSTALLER_VERIFY_REBOOT=21 +SSD_FW_UPDATE="ssd-fw-upgrade" +REBOOT_SCRIPT_NAME=$(basename $0) +REBOOT_TYPE="${REBOOT_SCRIPT_NAME}" +PLATFORM_PLUGIN="${REBOOT_TYPE}_plugin" +BOOT_TYPE_ARG="soft" +TAG_LATEST=yes + +function debug() +{ + if [[ x"${VERBOSE}" == x"yes" ]]; then + echo `date` $@ + fi + logger "$@" +} + +function tag_images() +{ + if test -f /usr/local/bin/ctrmgr_tools.py + then + if [[ x"${TAG_LATEST}" == x"yes" ]]; then + /usr/local/bin/ctrmgr_tools.py tag-all + fi + fi +} + +function stop_sonic_services() +{ + if [[ x"$ASIC_TYPE" != x"mellanox" ]]; then + debug "Stopping syncd process..." + docker exec -i syncd /usr/bin/syncd_request_shutdown --cold > /dev/null + sleep 3 + fi +} + +function clear_lingering_reboot_config() +{ + # Clear any outstanding warm-reboot config + result=`timeout 10s config warm_restart disable; if [[ $? == 124 ]]; then echo timeout; else echo "code ($?)"; fi` || /bin/true + debug "Cancel warm-reboot: ${result}" + + WARM_DIR="/host/warmboot" + REDIS_FILE=dump.rdb + TIMESTAMP=`date +%Y%m%d-%H%M%S` + if [[ -f ${WARM_DIR}/${REDIS_FILE} ]]; then + mv -f ${WARM_DIR}/${REDIS_FILE} ${WARM_DIR}/${REDIS_FILE}.${TIMESTAMP} || /bin/true + fi + /sbin/kexec -u || /bin/true +} + +SCRIPT=$0 + +function show_help_and_exit() +{ + echo "Usage ${SCRIPT} [options]" + echo " Request rebooting the device. Invoke platform-specific tool when available." + echo " This script will shutdown syncd before rebooting." + echo " " + echo " Available options:" + echo " -h, -? : getting this help" + + exit "${EXIT_SUCCESS}" +} + +function setup_reboot_variables() +{ + # Kernel and initrd image + NEXT_SONIC_IMAGE=$(sonic-installer list | grep "Next: " | cut -d ' ' -f 2) + IMAGE_PATH="/host/image-${NEXT_SONIC_IMAGE#SONiC-OS-}" + if grep -q aboot_platform= /host/machine.conf; then + KERNEL_IMAGE="$(ls $IMAGE_PATH/boot/vmlinuz-*)" + BOOT_OPTIONS="$(cat "$IMAGE_PATH/kernel-cmdline" | tr '\n' ' ') SONIC_BOOT_TYPE=${BOOT_TYPE_ARG}" + elif grep -q onie_platform= /host/machine.conf; then + KERNEL_OPTIONS=$(cat /host/grub/grub.cfg | sed "/$NEXT_SONIC_IMAGE'/,/}/"'!'"g" | grep linux) + KERNEL_IMAGE="/host$(echo $KERNEL_OPTIONS | cut -d ' ' -f 2)" + BOOT_OPTIONS="$(echo $KERNEL_OPTIONS | sed -e 's/\s*linux\s*/BOOT_IMAGE=/') SONIC_BOOT_TYPE=${BOOT_TYPE_ARG}" + else + error "Unknown bootloader. ${REBOOT_TYPE} is not supported." + exit "${EXIT_NOT_SUPPORTED}" + fi + INITRD=$(echo $KERNEL_IMAGE | sed 's/vmlinuz/initrd.img/g') +} + +function load_kernel() { + # Load kernel into the memory + /sbin/kexec -l "$KERNEL_IMAGE" --initrd="$INITRD" --append="$BOOT_OPTIONS" +} + +function reboot_pre_check() +{ + # Make sure that the file system is normal: read-write able + filename="/host/test-`date +%Y%m%d-%H%M%S`" + ERR=0 + touch ${filename} || ERR=$? + if [[ ${ERR} -ne 0 ]]; then + # Continue rebooting in this case, but log the error + VERBOSE=yes debug "Filesystem might be read-only or full ..." + fi + rm ${filename} + + # Verify the next image by sonic-installer + local message=$(sonic-installer verify-next-image 2>&1) + if [ $? -ne 0 ]; then + VERBOSE=yes debug "Failed to verify next image: ${message}" + exit ${EXIT_SONIC_INSTALLER_VERIFY_REBOOT} + fi +} + +function parse_options() +{ + while getopts "h?v" opt; do + case ${opt} in + h|\? ) + show_help_and_exit + ;; + v ) + VERBOSE=yes + ;; + t ) + TAG_LATEST=no + ;; + esac + done +} + +parse_options $@ + +# Exit if not superuser +if [[ "$EUID" -ne 0 ]]; then + echo "This command must be run as root" >&2 + exit "${EXIT_FAILURE}" +fi + +if [ -x ${LOG_SSD_HEALTH} ]; then + debug "Collecting logs to check ssd health before ${REBOOT_TYPE}..." + ${LOG_SSD_HEALTH} +fi + +debug "User requested rebooting device ..." + +setup_reboot_variables +reboot_pre_check + +# Tag remotely deployed images as local +tag_images + +# Stop SONiC services gracefully. +stop_sonic_services + +clear_lingering_reboot_config + +load_kernel + +# Update the reboot cause file to reflect that user issued 'reboot' command +# Upon next boot, the contents of this file will be used to determine the +# cause of the previous reboot +echo "User issued '${REBOOT_SCRIPT_NAME}' command [User: ${REBOOT_USER}, Time: ${REBOOT_TIME}]" > ${REBOOT_CAUSE_FILE} + +sync +sleep 3 +sync + +# sync the current system time to CMOS +if [ -x /sbin/hwclock ]; then + /sbin/hwclock -w || /bin/true +fi + +if [ -x ${DEVPATH}/${PLATFORM}/${SSD_FW_UPDATE} ]; then + debug "updating ssd fw for${REBOOT_TYPE}" + ${DEVPATH}/${PLATFORM}/${SSD_FW_UPDATE} ${REBOOT_TYPE} +fi + +# Enable Watchdog Timer +if [ -x ${WATCHDOG_UTIL} ]; then + debug "Enabling Watchdog before ${REBOOT_TYPE}" + ${WATCHDOG_UTIL} arm +fi + +# Run platform specific reboot plugin +if [ -x ${DEVPATH}/${PLATFORM}/${PLATFORM_PLUGIN} ]; then + debug "Running ${PLATFORM} specific plugin..." + ${DEVPATH}/${PLATFORM}/${PLATFORM_PLUGIN} +fi + +# Reboot: explicitly call Linux "kexec -e" +debug "Rebooting with ${REBOOT_METHOD} to ${NEXT_SONIC_IMAGE} ..." +exec ${REBOOT_METHOD} + +# Should never reach here +error "${REBOOT_TYPE} failed!" +exit "${EXIT_FAILURE}" + From dd3c2c3fc0e1c11665257e68bdf84ce59bb92b9f Mon Sep 17 00:00:00 2001 From: Shi Su <67605788+shi-su@users.noreply.github.com> Date: Tue, 2 Mar 2021 22:07:15 -0800 Subject: [PATCH 108/342] [warm-reboot] Check if warm restart flag is set when issuing a warm-reboot (#1460) Check if any warm restart flag is set when issuing a warm-reboot. This check avoids starting a warm reboot while another warm restart is in progress. In the scenario where a warm reboot is issued with another warm restart in progress, the warm restart flag may be reset and part of the components have a risk of doing cold reboot. --- scripts/fast-reboot | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/scripts/fast-reboot b/scripts/fast-reboot index e0450f802b..13ad66a25e 100755 --- a/scripts/fast-reboot +++ b/scripts/fast-reboot @@ -398,6 +398,19 @@ function save_counters_folder() { fi } +function check_warm_restart_in_progress() { + sonic-db-cli STATE_DB keys "WARM_RESTART_ENABLE_TABLE|*" | while read key ; do + if [[ x"$(sonic-db-cli STATE_DB hget $key enable)" == x"true" ]]; then + if [[ x"${FORCE}" == x"yes" ]]; then + debug "Ignoring warm restart flag for ${key#*|}" + else + echo "Warm restart flag for ${key#*|} is set. Please check if a warm restart for ${key#*|} is in progress." + exit "${EXIT_FAILURE}" + fi + fi + done +} + # main starts here parseOptions $@ @@ -419,6 +432,7 @@ case "$REBOOT_TYPE" in sonic-db-cli STATE_DB SET "FAST_REBOOT|system" "1" "EX" "180" &>/dev/null ;; "warm-reboot") + check_warm_restart_in_progress if [[ "$sonic_asic_type" == "mellanox" ]]; then REBOOT_TYPE="fastfast-reboot" BOOT_TYPE_ARG="fastfast" From 4a78c01122e1f3ef847cf714774671e804087478 Mon Sep 17 00:00:00 2001 From: yozhao101 <56170650+yozhao101@users.noreply.github.com> Date: Wed, 3 Mar 2021 10:01:31 -0800 Subject: [PATCH 109/342] [config] Enable/disable container monitoring when starting/stopping the services. (#1471) What I did When we ran the command sudo config load, sudo config reload or sudo config load_minigraph, the containers swss, snmp, lldp, teamd, syncd, snmp, bgp, radv, pmon, dhcp_relay, telemetry and restapi would be stopped and then restarted. The script container_checker ran by Monit will generate false alerting messages into syslog to indicate some containers were not running during such stopping and restarting process. So this PR aims to prevent Monit from generating false alarm messages. How I did it Before stopping services, we disable Monit to monitor the running status of containers. After restarting services, we enable Monit to monitor the running status of containers again. How to verify it I deliberately reduce the monitoring interval of Monit from 60 seconds to 10 seconds to ensure the alerting messages from the script container_checker was generated during sudo config reload, sudo config load and sudo config load_minigraph. After this change was added into _stop_services(...) and _restart_services(...) , I checked that the alerting messages from container_checker did not appear in the syslog. I verified this change on the device str-a7050-acs-3. Previous command output (if the output of a command-line utility has changed) admin@vlab-01:~$ sudo config reload -y Executing stop of service telemetry... Warning: Stopping telemetry.service, but it can still be activated by: telemetry.timer Executing stop of service swss... Executing stop of service lldp... Executing stop of service pmon... Executing stop of service bgp... Running command: /usr/local/bin/sonic-cfggen -j /etc/sonic/init_cfg.json -j /etc/sonic/config_db.json --write-to-db Running command: /usr/local/bin/db_migrator.py -o migrate Executing reset-failed of service bgp... Executing reset-failed of service dhcp_relay... Executing reset-failed of service hostname-config... Executing reset-failed of service interfaces-config... Executing reset-failed of service lldp... Executing reset-failed of service ntp-config... Executing reset-failed of service pmon... Executing reset-failed of service radv... Executing reset-failed of service rsyslog-config... Executing reset-failed of service snmp... Executing reset-failed of service swss... Executing reset-failed of service syncd... Executing reset-failed of service teamd... Executing reset-failed of service telemetry... Executing restart of service hostname-config... Executing restart of service interfaces-config... Executing restart of service ntp-config... Executing restart of service rsyslog-config... Executing restart of service swss... Executing restart of service bgp... Executing restart of service pmon... Executing restart of service lldp... Executing restart of service telemetry... Reloading Monit configuration ... Reinitializing monit daemon New command output (if the output of a command-line utility has changed) admin@vlab-01:~$ sudo config reload -y Disabling container monitoring ... Executing stop of service telemetry... Warning: Stopping telemetry.service, but it can still be activated by: telemetry.timer Executing stop of service swss... Executing stop of service lldp... Executing stop of service pmon... Executing stop of service bgp... Running command: /usr/local/bin/sonic-cfggen -j /etc/sonic/init_cfg.json -j /etc/sonic/config_db.json --write-to-db Running command: /usr/local/bin/db_migrator.py -o migrate Executing reset-failed of service bgp... Executing reset-failed of service dhcp_relay... Executing reset-failed of service hostname-config... Executing reset-failed of service interfaces-config... Executing reset-failed of service lldp... Executing reset-failed of service ntp-config... Executing reset-failed of service pmon... Executing reset-failed of service radv... Executing reset-failed of service rsyslog-config... Executing reset-failed of service snmp... Executing reset-failed of service swss... Executing reset-failed of service syncd... Executing reset-failed of service teamd... Executing reset-failed of service telemetry... Executing restart of service hostname-config... Executing restart of service interfaces-config... Executing restart of service ntp-config... Executing restart of service rsyslog-config... Executing restart of service swss... Executing restart of service bgp... Executing restart of service pmon... Executing restart of service lldp... Executing restart of service telemetry... Enabling container monitoring ... Reloading Monit configuration ... Reinitializing monit daemon --- config/main.py | 6 ++++++ tests/config_test.py | 4 +++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/config/main.py b/config/main.py index 10035cdc3f..b38221b012 100644 --- a/config/main.py +++ b/config/main.py @@ -669,6 +669,9 @@ def _get_disabled_services_list(config_db): def _stop_services(): + click.echo("Disabling container monitoring ...") + clicommon.run_command("sudo monit unmonitor container_checker") + click.echo("Stopping SONiC target ...") clicommon.run_command("sudo systemctl stop sonic.target") @@ -692,6 +695,9 @@ def _restart_services(): click.echo("Reloading Monit configuration ...") clicommon.run_command("sudo monit reload") + click.echo("Enabling container monitoring ...") + clicommon.run_command("sudo monit monitor container_checker") + def interface_is_in_vlan(vlan_member_table, interface_name): """ Check if an interface is in a vlan """ diff --git a/tests/config_test.py b/tests/config_test.py index 89d8313d53..21200a6ecd 100644 --- a/tests/config_test.py +++ b/tests/config_test.py @@ -12,12 +12,14 @@ from utilities_common.db import Db load_minigraph_command_output="""\ +Disabling container monitoring ... Stopping SONiC target ... Running command: /usr/local/bin/sonic-cfggen -H -m --write-to-db Running command: pfcwd start_default Running command: config qos reload --no-dynamic-buffer Restarting SONiC target ... Reloading Monit configuration ... +Enabling container monitoring ... Please note setting loaded from minigraph will be lost after system reboot. To preserve setting, run `config save`. """ @@ -49,7 +51,7 @@ def test_load_minigraph(self, get_cmd_module, setup_single_broadcom_asic): traceback.print_tb(result.exc_info[2]) assert result.exit_code == 0 assert "\n".join([l.rstrip() for l in result.output.split('\n')]) == load_minigraph_command_output - assert mock_run_command.call_count == 7 + assert mock_run_command.call_count == 9 @classmethod def teardown_class(cls): From e555ea9dcf64be857da30a89d26965236106c6a9 Mon Sep 17 00:00:00 2001 From: madhanmellanox <62459540+madhanmellanox@users.noreply.github.com> Date: Wed, 3 Mar 2021 11:27:24 -0800 Subject: [PATCH 110/342] [SKU creator] fix wrong speed in case breakout of 2x50 (#1380) **- What I did** I fixed the port split feature of SKU creator tool. **- How I did it** When trying to use port split feature of SKU creator tool to split a port in port_config.ini and config_db.json. It was not working, I fixed. **- How to verify it** With this fix, we should be able to split and unsplit a port in port_config.ini and config_db.json **- Previous command output (if the output of a command-line utility has changed)** No changes to CLI commands **- New command output (if the output of a command-line utility has changed)** No changes to CLI commands --- scripts/sonic_sku_create.py | 100 +- .../ACS-MSN2700/buffers.json.j2 | 0 .../ACS-MSN2700/buffers_defaults_t0.j2 | 50 +- .../ACS-MSN2700/buffers_defaults_t1.j2 | 50 +- .../ACS-MSN2700/buffers_dynamic.json.j2} | 1 + .../2700_files/ACS-MSN2700/hwsku.json | 100 + .../ACS-MSN2700/pg_profile_lookup.ini | 17 + .../2700_files/ACS-MSN2700/port_config.ini | 33 + .../2700_files/ACS-MSN2700/qos.json.j2 | 1 + .../2700_files/ACS-MSN2700/sai.profile | 1 + .../2700_files/ACS-MSN2700/sai_2700.xml | 246 + .../Mellanox-SN2700-C28D8-ORIG/hwsku.json | 112 + .../port_config.ini | 37 + .../Mellanox-SN2700-C28D8-ORIG/sai.profile | 1 + .../sai_2700_8x50g_28x100g.xml | 250 + .../Mellanox-SN2700-D48C8.xml | 0 .../buffers_defaults_t0.j2 | 106 + .../buffers_defaults_t1.j2 | 106 + .../Mellanox-SN2700-D48C8/hwsku.json | 172 + .../pg_profile_lookup.ini | 17 + .../Mellanox-SN2700-D48C8/port_config.ini | 57 + .../Mellanox-SN2700-D48C8/qos.json.j2 | 1 + .../Mellanox-SN2700-D48C8/sai.profile | 0 .../sai_2700_48x50g_8x100g.xml | 3 + .../2700_files/config_db.json | 670 + .../{ => 2700_files}/default_sku | 0 .../ACS-MSN3800}/buffers_defaults_t0.j2 | 52 +- .../ACS-MSN3800}/buffers_defaults_t1.j2 | 52 +- .../3800_files/ACS-MSN3800/hwsku.json | 196 + .../ACS-MSN3800/pg_profile_lookup.ini | 17 + .../3800_files/ACS-MSN3800/port_config.ini | 65 + .../3800_files/ACS-MSN3800/sai.profile | 1 + .../3800_files/ACS-MSN3800/sai_3800.xml | 470 + .../buffers_defaults_t0.j2 | 104 + .../buffers_defaults_t1.j2 | 104 + .../Mellanox-SN3800-D28C50/hwsku.json | 238 + .../Mellanox-SN3800-D28C50/port_config.ini | 79 + .../Mellanox-SN3800-D28C50/sai.profile | 1 + .../sai_3800_28x50g_52x100g.xml | 470 + tests/sku_create_input/3800_files/default_sku | 1 + .../3800_files/t0-1-06-minigraph.xml | 13830 ++++++++++++++++ .../ACS-MSN2700/pg_profile_lookup.ini | 17 - .../ACS-MSN2700/port_config.ini | 33 - tests/sku_create_input/ACS-MSN2700/qos.json | 166 - .../sku_create_input/ACS-MSN2700/sai.profile | 1 - .../pg_profile_lookup.ini | 17 - .../Mellanox-SN2700-D48C8/port_config.ini | 57 - .../Mellanox-SN2700-D48C8/port_config.ini.bak | 57 - .../Mellanox-SN2700-D48C8/port_config.ini.new | 60 - .../port_config.ini.orig | 57 - .../Mellanox-SN2700-D48C8/qos.json | 166 - tests/sku_create_input/port_split_files/test | 1 + .../sku_create_input/port_unsplit_files/test | 1 + tests/sku_create_test.py | 221 +- 54 files changed, 17928 insertions(+), 737 deletions(-) rename tests/sku_create_input/{ => 2700_files}/ACS-MSN2700/buffers.json.j2 (100%) rename tests/sku_create_input/{ => 2700_files}/ACS-MSN2700/buffers_defaults_t0.j2 (67%) rename tests/sku_create_input/{ => 2700_files}/ACS-MSN2700/buffers_defaults_t1.j2 (67%) rename tests/sku_create_input/{Mellanox-SN2700-D48C8/buffers.json.j2 => 2700_files/ACS-MSN2700/buffers_dynamic.json.j2} (66%) create mode 100644 tests/sku_create_input/2700_files/ACS-MSN2700/hwsku.json create mode 100644 tests/sku_create_input/2700_files/ACS-MSN2700/pg_profile_lookup.ini create mode 100644 tests/sku_create_input/2700_files/ACS-MSN2700/port_config.ini create mode 100644 tests/sku_create_input/2700_files/ACS-MSN2700/qos.json.j2 create mode 100644 tests/sku_create_input/2700_files/ACS-MSN2700/sai.profile create mode 100644 tests/sku_create_input/2700_files/ACS-MSN2700/sai_2700.xml create mode 100644 tests/sku_create_input/2700_files/Mellanox-SN2700-C28D8-ORIG/hwsku.json create mode 100644 tests/sku_create_input/2700_files/Mellanox-SN2700-C28D8-ORIG/port_config.ini create mode 100644 tests/sku_create_input/2700_files/Mellanox-SN2700-C28D8-ORIG/sai.profile create mode 100644 tests/sku_create_input/2700_files/Mellanox-SN2700-C28D8-ORIG/sai_2700_8x50g_28x100g.xml rename tests/sku_create_input/{ => 2700_files}/Mellanox-SN2700-D48C8.xml (100%) create mode 100644 tests/sku_create_input/2700_files/Mellanox-SN2700-D48C8/buffers_defaults_t0.j2 create mode 100644 tests/sku_create_input/2700_files/Mellanox-SN2700-D48C8/buffers_defaults_t1.j2 create mode 100644 tests/sku_create_input/2700_files/Mellanox-SN2700-D48C8/hwsku.json create mode 100644 tests/sku_create_input/2700_files/Mellanox-SN2700-D48C8/pg_profile_lookup.ini create mode 100644 tests/sku_create_input/2700_files/Mellanox-SN2700-D48C8/port_config.ini create mode 100644 tests/sku_create_input/2700_files/Mellanox-SN2700-D48C8/qos.json.j2 rename tests/sku_create_input/{ => 2700_files}/Mellanox-SN2700-D48C8/sai.profile (100%) rename tests/sku_create_input/{ => 2700_files}/Mellanox-SN2700-D48C8/sai_2700_48x50g_8x100g.xml (95%) create mode 100644 tests/sku_create_input/2700_files/config_db.json rename tests/sku_create_input/{ => 2700_files}/default_sku (100%) rename tests/sku_create_input/{Mellanox-SN2700-D48C8 => 3800_files/ACS-MSN3800}/buffers_defaults_t0.j2 (67%) rename tests/sku_create_input/{Mellanox-SN2700-D48C8 => 3800_files/ACS-MSN3800}/buffers_defaults_t1.j2 (67%) create mode 100644 tests/sku_create_input/3800_files/ACS-MSN3800/hwsku.json create mode 100644 tests/sku_create_input/3800_files/ACS-MSN3800/pg_profile_lookup.ini create mode 100644 tests/sku_create_input/3800_files/ACS-MSN3800/port_config.ini create mode 100644 tests/sku_create_input/3800_files/ACS-MSN3800/sai.profile create mode 100644 tests/sku_create_input/3800_files/ACS-MSN3800/sai_3800.xml create mode 100644 tests/sku_create_input/3800_files/Mellanox-SN3800-D28C50/buffers_defaults_t0.j2 create mode 100644 tests/sku_create_input/3800_files/Mellanox-SN3800-D28C50/buffers_defaults_t1.j2 create mode 100644 tests/sku_create_input/3800_files/Mellanox-SN3800-D28C50/hwsku.json create mode 100644 tests/sku_create_input/3800_files/Mellanox-SN3800-D28C50/port_config.ini create mode 100644 tests/sku_create_input/3800_files/Mellanox-SN3800-D28C50/sai.profile create mode 100644 tests/sku_create_input/3800_files/Mellanox-SN3800-D28C50/sai_3800_28x50g_52x100g.xml create mode 100644 tests/sku_create_input/3800_files/default_sku create mode 100644 tests/sku_create_input/3800_files/t0-1-06-minigraph.xml delete mode 100644 tests/sku_create_input/ACS-MSN2700/pg_profile_lookup.ini delete mode 100644 tests/sku_create_input/ACS-MSN2700/port_config.ini delete mode 100644 tests/sku_create_input/ACS-MSN2700/qos.json delete mode 100644 tests/sku_create_input/ACS-MSN2700/sai.profile delete mode 100644 tests/sku_create_input/Mellanox-SN2700-D48C8/pg_profile_lookup.ini delete mode 100644 tests/sku_create_input/Mellanox-SN2700-D48C8/port_config.ini delete mode 100644 tests/sku_create_input/Mellanox-SN2700-D48C8/port_config.ini.bak delete mode 100644 tests/sku_create_input/Mellanox-SN2700-D48C8/port_config.ini.new delete mode 100644 tests/sku_create_input/Mellanox-SN2700-D48C8/port_config.ini.orig delete mode 100644 tests/sku_create_input/Mellanox-SN2700-D48C8/qos.json create mode 100644 tests/sku_create_input/port_split_files/test create mode 100644 tests/sku_create_input/port_unsplit_files/test diff --git a/scripts/sonic_sku_create.py b/scripts/sonic_sku_create.py index 846f454825..cc81782353 100755 --- a/scripts/sonic_sku_create.py +++ b/scripts/sonic_sku_create.py @@ -56,7 +56,7 @@ "1x1": { "lanes":4, "speed":1000, "step":4, "bko":0, "name": "etp" }, "4x10": { "lanes":4, "speed":10000, "step":1, "bko":1, "name": "etp" }, "4x25": { "lanes":4, "speed":25000, "step":1, "bko":1, "name": "etp" }, - "2x50": { "lanes":4, "speed":25000, "step":2, "bko":1, "name": "etp" }, + "2x50": { "lanes":4, "speed":50000, "step":2, "bko":1, "name": "etp" }, } bko_dict_8 = { @@ -218,7 +218,7 @@ def check_json_lanes_with_bko(self, data, port_idx): return entry return None - def write_json_lanes_to_ini_file(self, data, port_idx, port_split, f_out): + def write_json_lanes_to_pi_list(self, data, port_idx, port_split, pi_list): # Function to write line of port_config.ini corresponding to a port step = self.bko_dict[port_split]["step"] for i in range(0,self.base_lanes,step): @@ -227,18 +227,14 @@ def write_json_lanes_to_ini_file(self, data, port_idx, port_split, f_out): curr_speed = curr_port_dict.get("speed") curr_alias = curr_port_dict.get("alias") curr_lanes = curr_port_dict.get("lanes") - curr_index = port_idx/self.base_lanes - out_str = "{:15s} {:20s} {:11s} {:9s} {:10s}\n".format(curr_port_str,curr_lanes,curr_alias,str(curr_index),str(curr_speed)) - if self.print_mode == True: - print(out_str) - else: - f_out.write(out_str) - if self.verbose and (self.print_mode == False): - print(out_str) + curr_index = int(port_idx/self.base_lanes) + 1 + curr_port_info = [curr_port_str, curr_lanes, curr_alias, curr_index, curr_speed] + pi_list.append(curr_port_info) return def json_file_parser(self, json_file): # Function to generate SKU file from config_db.json file by extracting port related information from the config_db.json file + pi_list = [] with open(json_file) as f: data = json.load(f,object_pairs_hook=OrderedDict) meta_dict = data['DEVICE_METADATA']['localhost'] @@ -254,6 +250,9 @@ def json_file_parser(self, json_file): f_out = open(new_file, 'w') header_str = "#name lanes alias index speed\n" f_out.write(header_str) + + # data['PORT'] is already an OrderedDict, we can not sort it, so we create + # pi_list - list of port info items and then sort it for key, value in data['PORT'].items(): pattern = '^Ethernet([0-9]{1,})' m = re.match(pattern,key) @@ -265,9 +264,20 @@ def json_file_parser(self, json_file): if port_idx%self.base_lanes == 0: result = self.check_json_lanes_with_bko(data, port_idx) if result != None: - self.write_json_lanes_to_ini_file(data,port_idx,result,f_out) + self.write_json_lanes_to_pi_list(data, port_idx, result, pi_list) else: continue + + pi_list.sort(key=lambda x: (int(re.search(('^Ethernet([0-9]{1,})'),x[0]).group(1)))) # sort the list with interface name + + for port_info in pi_list: + out_str = "{:15s} {:20s} {:11s} {:9s} {:10s}\n".format(port_info[0],port_info[1],port_info[2],str(port_info[3]),str(port_info[4])) + if self.print_mode == True: + print(out_str) + else: + f_out.write(out_str) + if self.verbose and (self.print_mode == False): + print(out_str) f_out.close() self.port_config_split_analyze(self.ini_file) self.form_port_config_dict_from_ini(self.ini_file) @@ -275,6 +285,19 @@ def json_file_parser(self, json_file): shutil.copy(new_file,self.ini_file) return + def parse_platform_from_config_db_file(self, config_file): + with open(config_file) as f: + data = json.load(f,object_pairs_hook=OrderedDict) + meta_dict = data['DEVICE_METADATA']['localhost'] + platform = meta_dict.get("platform") + pattern = '^x86_64-mlnx_msn([0-9]{1,}[a-zA-Z]?)-r0' + m = re.match(pattern,platform) + if m is None: + print("Platform Name ", platform, " is not valid, Exiting...", file=sys.stderr) + exit(1) + self.platform = platform + + def port_config_split_analyze(self, ini_file): #Internal function to populate fpp_split tuple with from a port information new_file = ini_file + ".new" @@ -398,16 +421,16 @@ def break_in_ini(self, ini_file, port_name, port_split): #find split partition for i in range(0,base_lanes,step): - port_str = "Ethernet{:d}".format(line_port_index + i/step) - lanes_str = "{:d}".format(lane_index + i/step) + port_str = "Ethernet{:d}".format(line_port_index + i) + lanes_str = "{:d}".format(lane_index + i) if step > 1: for j in range(1,step): - lanes_str += ",{:d}".format(lane_index + j) + lanes_str += ",{:d}".format(lane_index + i + j) if bko == 0: alias_str = "etp{:d}".format(alias_index) else: - alias_str = "etp{:d}{:s}".format(alias_index,alias_arr[i/step]) - index_str = "{:d}".format(alias_index-1) + alias_str = "etp{:d}{:s}".format(alias_index,alias_arr[int(i/step)]) + index_str = "{:d}".format(alias_index) lanes_str_result = lanes_str_result + ":" + lanes_str out_str = "{:15s} {:20s} {:11s} {:9s} {:10s}\n".format(port_str,lanes_str,alias_str,index_str,str(speed)) f_out.write(out_str) @@ -446,7 +469,6 @@ def break_in_cfg(self, cfg_file, port_name, port_split, lanes_str_result): for port_index in range (port_idx,port_idx+self.base_lanes): port_str = "Ethernet" + str(port_index) - print("Port String ",port_str) if data['PORT'].get(port_str) != None: port_instance = data['PORT'].get(port_str) @@ -467,15 +489,14 @@ def break_in_cfg(self, cfg_file, port_name, port_split, lanes_str_result): bko = self.bko_dict[port_split]["bko"] for i in range(0,self.base_lanes,step): - port_str = "Ethernet{:d}".format(port_idx + i/step) + port_str = "Ethernet{:d}".format(port_idx + i) lanes_str = lanes_arr[j] j += 1 if bko == 0: - alias_str = "etp{:d}".format((port_idx/self.base_lanes)+1) + alias_str = "etp{:d}".format(int(port_idx/self.base_lanes)+1) else: - alias_str = "etp{:d}{:s}".format((port_idx/self.base_lanes)+1,alias_arr[i/step]) - print("i= ",i," alias_str= ",alias_str) + alias_str = "etp{:d}{:s}".format(int(port_idx/self.base_lanes)+1,alias_arr[int(i/step)]) port_inst["lanes"] = lanes_str port_inst["alias"] = alias_str port_inst["speed"] = speed*1000 @@ -487,6 +508,7 @@ def break_in_cfg(self, cfg_file, port_name, port_split, lanes_str_result): with open(new_file, 'w') as outfile: json.dump(data, outfile, indent=4, sort_keys=True) + shutil.copy(new_file,cfg_file) print("--------------------------------------------------------") @@ -555,7 +577,7 @@ def set_lanes(self): m = re.match(pattern,self.default_lanes_per_port[fp-1]) if (splt == 1): self.portconfig_dict[idx_arr[0]][lanes_index] = m.group(1)+","+m.group(2)+","+m.group(3)+","+m.group(4) - self.portconfig_dict[idx_arr[0]][index_index] = str(fp-1) + self.portconfig_dict[idx_arr[0]][index_index] = str(fp) self.portconfig_dict[idx_arr[0]][name_index] = "Ethernet"+str((fp-1)*4) if (self.verbose): print("set_lanes -> FP: ",fp, "Split: ",splt) @@ -563,8 +585,8 @@ def set_lanes(self): elif (splt == 2): self.portconfig_dict[idx_arr[0]][lanes_index] = m.group(1)+","+m.group(2) self.portconfig_dict[idx_arr[1]][lanes_index] = m.group(3)+","+m.group(4) - self.portconfig_dict[idx_arr[0]][index_index] = str(fp-1) - self.portconfig_dict[idx_arr[1]][index_index] = str(fp-1) + self.portconfig_dict[idx_arr[0]][index_index] = str(fp) + self.portconfig_dict[idx_arr[1]][index_index] = str(fp) self.portconfig_dict[idx_arr[0]][name_index] = "Ethernet"+str((fp-1)*4) self.portconfig_dict[idx_arr[1]][name_index] = "Ethernet"+str((fp-1)*4+2) if (self.verbose): @@ -576,10 +598,10 @@ def set_lanes(self): self.portconfig_dict[idx_arr[1]][lanes_index] = m.group(2) self.portconfig_dict[idx_arr[2]][lanes_index] = m.group(3) self.portconfig_dict[idx_arr[3]][lanes_index] = m.group(4) - self.portconfig_dict[idx_arr[0]][index_index] = str(fp-1) - self.portconfig_dict[idx_arr[1]][index_index] = str(fp-1) - self.portconfig_dict[idx_arr[2]][index_index] = str(fp-1) - self.portconfig_dict[idx_arr[3]][index_index] = str(fp-1) + self.portconfig_dict[idx_arr[0]][index_index] = str(fp) + self.portconfig_dict[idx_arr[1]][index_index] = str(fp) + self.portconfig_dict[idx_arr[2]][index_index] = str(fp) + self.portconfig_dict[idx_arr[3]][index_index] = str(fp) self.portconfig_dict[idx_arr[0]][name_index] = "Ethernet"+str((fp-1)*4) self.portconfig_dict[idx_arr[1]][name_index] = "Ethernet"+str((fp-1)*4+1) self.portconfig_dict[idx_arr[2]][name_index] = "Ethernet"+str((fp-1)*4+2) @@ -700,6 +722,7 @@ def main(argv): parser.add_argument('-p', '--print', action='store_true', help='Print port_config.ini without creating a new SKU', default=False) parser.add_argument('--verbose', action='store_true', help='Verbose output', default=False) parser.add_argument('-d', '--default_sku_path', action='store',nargs=1, help='Specify Default SKU path', default=None) + parser.add_argument('-q', '--port_split_path', action='store',nargs=1, help='Specify Port split path', default=None) parser.add_argument('-v', '--version', action='version', version='%(prog)s 1.0') args = parser.parse_args() @@ -736,6 +759,8 @@ def main(argv): elif args.minigraph_file: sku.minigraph_parser(args.minigraph_file) elif args.json_file: + if sku.platform is None: + sku.parse_platform_from_config_db_file(args.json_file[0]) if sku.platform in platform_4: sku.base_lanes = 4 sku.bko_dict = bko_dict_4 @@ -751,6 +776,25 @@ def main(argv): sku.json_file_parser(args.json_file[0]) return elif args.port_split: + if args.port_split_path: + sku.ini_file = args.port_split_path[0] + "/port_config.ini" + sku.cfg_file = args.port_split_path[0] + "/config_db.json" + sku.parse_platform_from_config_db_file(sku.cfg_file) + else: + try: + sku_name = subprocess.check_output("show platform summary | grep HwSKU ",shell=True).rstrip().split()[1] + except KeyError: + print("Couldn't find HwSku info in Platform summary", file=sys.stderr) + exit(1) + sku.ini_file = sku.default_sku_path + "/" + sku_name + "/port_config.ini" + sku.cfg_file = "/etc/sonic/config_db.json" + + if sku.platform in platform_4: + sku.base_lanes = 4 + sku.bko_dict = bko_dict_4 + else: + sku.base_lanes = 8 + sku.bko_dict = bko_dict_8 sku.break_a_port(args.port_split[0], args.port_split[1]) return diff --git a/tests/sku_create_input/ACS-MSN2700/buffers.json.j2 b/tests/sku_create_input/2700_files/ACS-MSN2700/buffers.json.j2 similarity index 100% rename from tests/sku_create_input/ACS-MSN2700/buffers.json.j2 rename to tests/sku_create_input/2700_files/ACS-MSN2700/buffers.json.j2 diff --git a/tests/sku_create_input/ACS-MSN2700/buffers_defaults_t0.j2 b/tests/sku_create_input/2700_files/ACS-MSN2700/buffers_defaults_t0.j2 similarity index 67% rename from tests/sku_create_input/ACS-MSN2700/buffers_defaults_t0.j2 rename to tests/sku_create_input/2700_files/ACS-MSN2700/buffers_defaults_t0.j2 index 475a022714..d0bce94ba5 100644 --- a/tests/sku_create_input/ACS-MSN2700/buffers_defaults_t0.j2 +++ b/tests/sku_create_input/2700_files/ACS-MSN2700/buffers_defaults_t0.j2 @@ -1,8 +1,8 @@ {% set default_cable = '5m' %} -{% set ingress_lossless_pool_size = '4194304' %} -{% set ingress_lossy_pool_size = '7340032' %} -{% set egress_lossless_pool_size = '16777152' %} -{% set egress_lossy_pool_size = '7340032' %} +{% set ingress_lossless_pool_size = '4580864' %} +{% set ingress_lossy_pool_size = '4580864' %} +{% set egress_lossless_pool_size = '13945824' %} +{% set egress_lossy_pool_size = '4580864' %} {%- macro generate_port_lists(PORT_ALL) %} {# Generate list of ports #} @@ -14,12 +14,16 @@ {%- macro generate_buffer_pool_and_profiles() %} "BUFFER_POOL": { "ingress_lossless_pool": { + {%- if dynamic_mode is not defined %} "size": "{{ ingress_lossless_pool_size }}", + {%- endif %} "type": "ingress", "mode": "dynamic" }, "ingress_lossy_pool": { + {%- if dynamic_mode is not defined %} "size": "{{ ingress_lossy_pool_size }}", + {%- endif %} "type": "ingress", "mode": "dynamic" }, @@ -29,7 +33,9 @@ "mode": "dynamic" }, "egress_lossy_pool": { + {%- if dynamic_mode is not defined %} "size": "{{ egress_lossy_pool_size }}", + {%- endif %} "type": "egress", "mode": "dynamic" } @@ -38,7 +44,7 @@ "ingress_lossless_profile": { "pool":"[BUFFER_POOL|ingress_lossless_pool]", "size":"0", - "dynamic_th":"0" + "dynamic_th":"7" }, "ingress_lossy_profile": { "pool":"[BUFFER_POOL|ingress_lossy_pool]", @@ -52,8 +58,8 @@ }, "egress_lossy_profile": { "pool":"[BUFFER_POOL|egress_lossy_pool]", - "size":"4096", - "dynamic_th":"3" + "size":"9216", + "dynamic_th":"7" }, "q_lossy_profile": { "pool":"[BUFFER_POOL|egress_lossy_pool]", @@ -65,25 +71,41 @@ {%- macro generate_profile_lists(port_names) %} "BUFFER_PORT_INGRESS_PROFILE_LIST": { - "{{ port_names }}": { +{% for port in port_names.split(',') %} + "{{ port }}": { "profile_list" : "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" - } + }{% if not loop.last %},{% endif %} + +{% endfor %} }, "BUFFER_PORT_EGRESS_PROFILE_LIST": { - "{{ port_names }}": { +{% for port in port_names.split(',') %} + "{{ port }}": { "profile_list" : "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" - } + }{% if not loop.last %},{% endif %} + +{% endfor %} } {%- endmacro %} {%- macro generate_queue_buffers(port_names) %} "BUFFER_QUEUE": { - "{{ port_names }}|3-4": { +{% for port in port_names.split(',') %} + "{{ port }}|3-4": { "profile" : "[BUFFER_PROFILE|egress_lossless_profile]" }, - "{{ port_names }}|0-1": { +{% endfor %} +{% for port in port_names.split(',') %} + "{{ port }}|0-2": { "profile" : "[BUFFER_PROFILE|q_lossy_profile]" - } + }, +{% endfor %} +{% for port in port_names.split(',') %} + "{{ port }}|5-6": { + "profile" : "[BUFFER_PROFILE|q_lossy_profile]" + }{% if not loop.last %},{% endif %} + +{% endfor %} } {%- endmacro %} diff --git a/tests/sku_create_input/ACS-MSN2700/buffers_defaults_t1.j2 b/tests/sku_create_input/2700_files/ACS-MSN2700/buffers_defaults_t1.j2 similarity index 67% rename from tests/sku_create_input/ACS-MSN2700/buffers_defaults_t1.j2 rename to tests/sku_create_input/2700_files/ACS-MSN2700/buffers_defaults_t1.j2 index c292ecc2f2..5514c47a40 100644 --- a/tests/sku_create_input/ACS-MSN2700/buffers_defaults_t1.j2 +++ b/tests/sku_create_input/2700_files/ACS-MSN2700/buffers_defaults_t1.j2 @@ -1,8 +1,8 @@ {% set default_cable = '5m' %} -{% set ingress_lossless_pool_size = '2097152' %} -{% set ingress_lossy_pool_size = '5242880' %} -{% set egress_lossless_pool_size = '16777152' %} -{% set egress_lossy_pool_size = '5242880' %} +{% set ingress_lossless_pool_size = '3302912' %} +{% set ingress_lossy_pool_size = '3302912' %} +{% set egress_lossless_pool_size = '13945824' %} +{% set egress_lossy_pool_size = '3302912' %} {%- macro generate_port_lists(PORT_ALL) %} {# Generate list of ports #} @@ -14,12 +14,16 @@ {%- macro generate_buffer_pool_and_profiles() %} "BUFFER_POOL": { "ingress_lossless_pool": { + {%- if dynamic_mode is not defined %} "size": "{{ ingress_lossless_pool_size }}", + {%- endif %} "type": "ingress", "mode": "dynamic" }, "ingress_lossy_pool": { + {%- if dynamic_mode is not defined %} "size": "{{ ingress_lossy_pool_size }}", + {%- endif %} "type": "ingress", "mode": "dynamic" }, @@ -29,7 +33,9 @@ "mode": "dynamic" }, "egress_lossy_pool": { + {%- if dynamic_mode is not defined %} "size": "{{ egress_lossy_pool_size }}", + {%- endif %} "type": "egress", "mode": "dynamic" } @@ -38,7 +44,7 @@ "ingress_lossless_profile": { "pool":"[BUFFER_POOL|ingress_lossless_pool]", "size":"0", - "dynamic_th":"0" + "dynamic_th":"7" }, "ingress_lossy_profile": { "pool":"[BUFFER_POOL|ingress_lossy_pool]", @@ -52,8 +58,8 @@ }, "egress_lossy_profile": { "pool":"[BUFFER_POOL|egress_lossy_pool]", - "size":"4096", - "dynamic_th":"3" + "size":"9216", + "dynamic_th":"7" }, "q_lossy_profile": { "pool":"[BUFFER_POOL|egress_lossy_pool]", @@ -65,25 +71,41 @@ {%- macro generate_profile_lists(port_names) %} "BUFFER_PORT_INGRESS_PROFILE_LIST": { - "{{ port_names }}": { +{% for port in port_names.split(',') %} + "{{ port }}": { "profile_list" : "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" - } + }{% if not loop.last %},{% endif %} + +{% endfor %} }, "BUFFER_PORT_EGRESS_PROFILE_LIST": { - "{{ port_names }}": { +{% for port in port_names.split(',') %} + "{{ port }}": { "profile_list" : "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" - } + }{% if not loop.last %},{% endif %} + +{% endfor %} } {%- endmacro %} {%- macro generate_queue_buffers(port_names) %} "BUFFER_QUEUE": { - "{{ port_names }}|3-4": { +{% for port in port_names.split(',') %} + "{{ port }}|3-4": { "profile" : "[BUFFER_PROFILE|egress_lossless_profile]" }, - "{{ port_names }}|0-1": { +{% endfor %} +{% for port in port_names.split(',') %} + "{{ port }}|0-2": { "profile" : "[BUFFER_PROFILE|q_lossy_profile]" - } + }, +{% endfor %} +{% for port in port_names.split(',') %} + "{{ port }}|5-6": { + "profile" : "[BUFFER_PROFILE|q_lossy_profile]" + }{% if not loop.last %},{% endif %} + +{% endfor %} } {%- endmacro %} diff --git a/tests/sku_create_input/Mellanox-SN2700-D48C8/buffers.json.j2 b/tests/sku_create_input/2700_files/ACS-MSN2700/buffers_dynamic.json.j2 similarity index 66% rename from tests/sku_create_input/Mellanox-SN2700-D48C8/buffers.json.j2 rename to tests/sku_create_input/2700_files/ACS-MSN2700/buffers_dynamic.json.j2 index 1083a6210f..5954cc77c1 100644 --- a/tests/sku_create_input/Mellanox-SN2700-D48C8/buffers.json.j2 +++ b/tests/sku_create_input/2700_files/ACS-MSN2700/buffers_dynamic.json.j2 @@ -1,2 +1,3 @@ {%- set default_topo = 't0' %} +{%- set dynamic_mode = 'true' %} {%- include 'buffers_config.j2' %} diff --git a/tests/sku_create_input/2700_files/ACS-MSN2700/hwsku.json b/tests/sku_create_input/2700_files/ACS-MSN2700/hwsku.json new file mode 100644 index 0000000000..3edbff8178 --- /dev/null +++ b/tests/sku_create_input/2700_files/ACS-MSN2700/hwsku.json @@ -0,0 +1,100 @@ +{ + "interfaces": { + "Ethernet0": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet4": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet8": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet12": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet16": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet20": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet24": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet28": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet32": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet36": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet40": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet44": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet48": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet52": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet56": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet60": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet64": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet68": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet72": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet76": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet80": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet84": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet88": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet92": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet96": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet100": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet104": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet108": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet112": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet116": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet120": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet124": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + } + } +} diff --git a/tests/sku_create_input/2700_files/ACS-MSN2700/pg_profile_lookup.ini b/tests/sku_create_input/2700_files/ACS-MSN2700/pg_profile_lookup.ini new file mode 100644 index 0000000000..7abb2a058d --- /dev/null +++ b/tests/sku_create_input/2700_files/ACS-MSN2700/pg_profile_lookup.ini @@ -0,0 +1,17 @@ +# PG lossless profiles. +# speed cable size xon xoff threshold + 10000 5m 49152 19456 29696 0 + 25000 5m 49152 19456 29696 0 + 40000 5m 49152 19456 29696 0 + 50000 5m 49152 19456 29696 0 + 100000 5m 50176 19456 30720 0 + 10000 40m 49152 19456 29696 0 + 25000 40m 51200 19456 31744 0 + 40000 40m 52224 19456 32768 0 + 50000 40m 53248 19456 33792 0 + 100000 40m 58368 19456 38912 0 + 10000 300m 56320 19456 36864 0 + 25000 300m 67584 19456 48128 0 + 40000 300m 78848 19456 59392 0 + 50000 300m 86016 19456 66560 0 + 100000 300m 123904 19456 104448 0 diff --git a/tests/sku_create_input/2700_files/ACS-MSN2700/port_config.ini b/tests/sku_create_input/2700_files/ACS-MSN2700/port_config.ini new file mode 100644 index 0000000000..c1e59909c0 --- /dev/null +++ b/tests/sku_create_input/2700_files/ACS-MSN2700/port_config.ini @@ -0,0 +1,33 @@ +# name lanes alias index +Ethernet0 0,1,2,3 etp1 1 +Ethernet4 4,5,6,7 etp2 2 +Ethernet8 8,9,10,11 etp3 3 +Ethernet12 12,13,14,15 etp4 4 +Ethernet16 16,17,18,19 etp5 5 +Ethernet20 20,21,22,23 etp6 6 +Ethernet24 24,25,26,27 etp7 7 +Ethernet28 28,29,30,31 etp8 8 +Ethernet32 32,33,34,35 etp9 9 +Ethernet36 36,37,38,39 etp10 10 +Ethernet40 40,41,42,43 etp11 11 +Ethernet44 44,45,46,47 etp12 12 +Ethernet48 48,49,50,51 etp13 13 +Ethernet52 52,53,54,55 etp14 14 +Ethernet56 56,57,58,59 etp15 15 +Ethernet60 60,61,62,63 etp16 16 +Ethernet64 64,65,66,67 etp17 17 +Ethernet68 68,69,70,71 etp18 18 +Ethernet72 72,73,74,75 etp19 19 +Ethernet76 76,77,78,79 etp20 20 +Ethernet80 80,81,82,83 etp21 21 +Ethernet84 84,85,86,87 etp22 22 +Ethernet88 88,89,90,91 etp23 23 +Ethernet92 92,93,94,95 etp24 24 +Ethernet96 96,97,98,99 etp25 25 +Ethernet100 100,101,102,103 etp26 26 +Ethernet104 104,105,106,107 etp27 27 +Ethernet108 108,109,110,111 etp28 28 +Ethernet112 112,113,114,115 etp29 29 +Ethernet116 116,117,118,119 etp30 30 +Ethernet120 120,121,122,123 etp31 31 +Ethernet124 124,125,126,127 etp32 32 diff --git a/tests/sku_create_input/2700_files/ACS-MSN2700/qos.json.j2 b/tests/sku_create_input/2700_files/ACS-MSN2700/qos.json.j2 new file mode 100644 index 0000000000..3e548325ea --- /dev/null +++ b/tests/sku_create_input/2700_files/ACS-MSN2700/qos.json.j2 @@ -0,0 +1 @@ +{%- include 'qos_config.j2' %} diff --git a/tests/sku_create_input/2700_files/ACS-MSN2700/sai.profile b/tests/sku_create_input/2700_files/ACS-MSN2700/sai.profile new file mode 100644 index 0000000000..696f3d8182 --- /dev/null +++ b/tests/sku_create_input/2700_files/ACS-MSN2700/sai.profile @@ -0,0 +1 @@ +SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/sai_2700.xml diff --git a/tests/sku_create_input/2700_files/ACS-MSN2700/sai_2700.xml b/tests/sku_create_input/2700_files/ACS-MSN2700/sai_2700.xml new file mode 100644 index 0000000000..eedf359fb8 --- /dev/null +++ b/tests/sku_create_input/2700_files/ACS-MSN2700/sai_2700.xml @@ -0,0 +1,246 @@ + + + + + + 00:02:03:04:05:00 + + + 1 + + + 32 + + + + + 1 + 4 + 16 + + + 3 + + + 98368 + + + 3 + 4 + 17 + 1 + 98368 + + + 5 + 4 + 18 + 3 + 98368 + + + 7 + 4 + 19 + 1 + 98368 + + + 9 + 4 + 20 + 3 + 98368 + + + 11 + 4 + 21 + 1 + 98368 + + + 13 + 4 + 22 + 3 + 98368 + + + 15 + 4 + 23 + 1 + 98368 + + + 17 + 4 + 24 + 3 + 98368 + + + 19 + 4 + 25 + 1 + 98368 + + + 21 + 4 + 26 + 3 + 98368 + + + 23 + 4 + 27 + 1 + 98368 + + + 25 + 4 + 28 + 3 + 98368 + + + 27 + 4 + 29 + 1 + 98368 + + + 29 + 4 + 30 + 3 + 98368 + + + 31 + 4 + 31 + 1 + 98368 + + + 33 + 4 + 14 + 3 + 98368 + + + 35 + 4 + 15 + 1 + 98368 + + + 37 + 4 + 12 + 3 + 98368 + + + 39 + 4 + 13 + 1 + 98368 + + + 41 + 4 + 10 + 3 + 98368 + + + 43 + 4 + 11 + 1 + 98368 + + + 45 + 4 + 8 + 3 + 98368 + + + 47 + 4 + 9 + 1 + 98368 + + + 49 + 4 + 6 + 3 + 98368 + + + 51 + 4 + 7 + 1 + 98368 + + + 53 + 4 + 4 + 3 + 98368 + + + 55 + 4 + 5 + 1 + 98368 + + + 57 + 4 + 2 + 3 + 98368 + + + 59 + 4 + 3 + 1 + 98368 + + + 61 + 4 + 0 + 3 + 98368 + + + 63 + 4 + 1 + 1 + 98368 + + + + diff --git a/tests/sku_create_input/2700_files/Mellanox-SN2700-C28D8-ORIG/hwsku.json b/tests/sku_create_input/2700_files/Mellanox-SN2700-C28D8-ORIG/hwsku.json new file mode 100644 index 0000000000..8d3ad0dc03 --- /dev/null +++ b/tests/sku_create_input/2700_files/Mellanox-SN2700-C28D8-ORIG/hwsku.json @@ -0,0 +1,112 @@ +{ + "interfaces": { + "Ethernet0": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet4": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet8": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet12": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet16": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet20": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet24": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet28": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet32": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet36": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet40": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet44": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet48": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet52": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet56": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet60": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet64": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet68": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet72": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet76": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet80": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet84": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet88": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet92": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet96": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet100": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet104": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet108": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet112": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet114": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet116": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet118": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet120": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet122": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet124": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet126": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + } + } +} diff --git a/tests/sku_create_input/2700_files/Mellanox-SN2700-C28D8-ORIG/port_config.ini b/tests/sku_create_input/2700_files/Mellanox-SN2700-C28D8-ORIG/port_config.ini new file mode 100644 index 0000000000..653a61ecc2 --- /dev/null +++ b/tests/sku_create_input/2700_files/Mellanox-SN2700-C28D8-ORIG/port_config.ini @@ -0,0 +1,37 @@ +# name lanes alias index speed +Ethernet0 0,1,2,3 etp1 1 100000 +Ethernet4 4,5,6,7 etp2 2 100000 +Ethernet8 8,9,10,11 etp3 3 100000 +Ethernet12 12,13,14,15 etp4 4 100000 +Ethernet16 16,17,18,19 etp5 5 100000 +Ethernet20 20,21,22,23 etp6 6 100000 +Ethernet24 24,25,26,27 etp7 7 100000 +Ethernet28 28,29,30,31 etp8 8 100000 +Ethernet32 32,33,34,35 etp9 9 100000 +Ethernet36 36,37,38,39 etp10 10 100000 +Ethernet40 40,41,42,43 etp11 11 100000 +Ethernet44 44,45,46,47 etp12 12 100000 +Ethernet48 48,49,50,51 etp13 13 100000 +Ethernet52 52,53,54,55 etp14 14 100000 +Ethernet56 56,57,58,59 etp15 15 100000 +Ethernet60 60,61,62,63 etp16 16 100000 +Ethernet64 64,65,66,67 etp17 17 100000 +Ethernet68 68,69,70,71 etp18 18 100000 +Ethernet72 72,73,74,75 etp19 19 100000 +Ethernet76 76,77,78,79 etp20 20 100000 +Ethernet80 80,81,82,83 etp21 21 100000 +Ethernet84 84,85,86,87 etp22 22 100000 +Ethernet88 88,89,90,91 etp23 23 100000 +Ethernet92 92,93,94,95 etp24 24 100000 +Ethernet96 96,97,98,99 etp25 25 100000 +Ethernet100 100,101,102,103 etp26 26 100000 +Ethernet104 104,105,106,107 etp27 27 100000 +Ethernet108 108,109,110,111 etp28 28 100000 +Ethernet112 112,113 etp29a 29 50000 +Ethernet114 114,115 etp29b 29 50000 +Ethernet116 116,117 etp30a 30 50000 +Ethernet118 118,119 etp30b 30 50000 +Ethernet120 120,121 etp31a 31 50000 +Ethernet122 122,123 etp31b 31 50000 +Ethernet124 124,125 etp32a 32 50000 +Ethernet126 126,127 etp32b 32 50000 diff --git a/tests/sku_create_input/2700_files/Mellanox-SN2700-C28D8-ORIG/sai.profile b/tests/sku_create_input/2700_files/Mellanox-SN2700-C28D8-ORIG/sai.profile new file mode 100644 index 0000000000..cfeb4a5fa4 --- /dev/null +++ b/tests/sku_create_input/2700_files/Mellanox-SN2700-C28D8-ORIG/sai.profile @@ -0,0 +1 @@ +SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/sai_2700_8x50g_28x100g.xml diff --git a/tests/sku_create_input/2700_files/Mellanox-SN2700-C28D8-ORIG/sai_2700_8x50g_28x100g.xml b/tests/sku_create_input/2700_files/Mellanox-SN2700-C28D8-ORIG/sai_2700_8x50g_28x100g.xml new file mode 100644 index 0000000000..ee20db3e5d --- /dev/null +++ b/tests/sku_create_input/2700_files/Mellanox-SN2700-C28D8-ORIG/sai_2700_8x50g_28x100g.xml @@ -0,0 +1,250 @@ + + + + + + 00:02:03:04:05:00 + + + 1 + + + 32 + + + + + 1 + 4 + 16 + + + 3 + + + 11534336 + + + 3 + 4 + 17 + 1 + 11534336 + + + 5 + 4 + 18 + 3 + 11534336 + + + 7 + 4 + 19 + 1 + 11534336 + + + 9 + 4 + 20 + 3 + 11534336 + + + 11 + 4 + 21 + 1 + 11534336 + + + 13 + 4 + 22 + 3 + 11534336 + + + 15 + 4 + 23 + 1 + 11534336 + + + 17 + 4 + 24 + 3 + 11534336 + + + 19 + 4 + 25 + 1 + 11534336 + + + 21 + 4 + 26 + 3 + 11534336 + + + 23 + 4 + 27 + 1 + 11534336 + + + 25 + 4 + 28 + 3 + 3221225472 + 2 + + + 27 + 4 + 29 + 1 + 3221225472 + 2 + + + 29 + 4 + 30 + 3 + 3221225472 + 2 + + + 31 + 4 + 31 + 1 + 3221225472 + 2 + + + 33 + 4 + 14 + 3 + 11534336 + + + 35 + 4 + 15 + 1 + 11534336 + + + 37 + 4 + 12 + 3 + 11534336 + + + 39 + 4 + 13 + 1 + 11534336 + + + 41 + 4 + 10 + 3 + 11534336 + + + 43 + 4 + 11 + 1 + 11534336 + + + 45 + 4 + 8 + 3 + 11534336 + + + 47 + 4 + 9 + 1 + 11534336 + + + 49 + 4 + 6 + 3 + 11534336 + + + 51 + 4 + 7 + 1 + 11534336 + + + 53 + 4 + 4 + 3 + 11534336 + + + 55 + 4 + 5 + 1 + 11534336 + + + 57 + 4 + 2 + 3 + 11534336 + + + 59 + 4 + 3 + 1 + 11534336 + + + 61 + 4 + 0 + 3 + 11534336 + + + 63 + 4 + 1 + 1 + 11534336 + + + + diff --git a/tests/sku_create_input/Mellanox-SN2700-D48C8.xml b/tests/sku_create_input/2700_files/Mellanox-SN2700-D48C8.xml similarity index 100% rename from tests/sku_create_input/Mellanox-SN2700-D48C8.xml rename to tests/sku_create_input/2700_files/Mellanox-SN2700-D48C8.xml diff --git a/tests/sku_create_input/2700_files/Mellanox-SN2700-D48C8/buffers_defaults_t0.j2 b/tests/sku_create_input/2700_files/Mellanox-SN2700-D48C8/buffers_defaults_t0.j2 new file mode 100644 index 0000000000..6fc5efcf9b --- /dev/null +++ b/tests/sku_create_input/2700_files/Mellanox-SN2700-D48C8/buffers_defaults_t0.j2 @@ -0,0 +1,106 @@ +{% set default_cable = '5m' %} +{% set ingress_lossless_pool_size = '7719936' %} +{% set ingress_lossless_pool_xoff = '1032192' %} +{% set egress_lossless_pool_size = '13945824' %} +{% set egress_lossy_pool_size = '7719936' %} + +{%- macro generate_port_lists(PORT_ALL) %} + {# Generate list of ports #} + {%- for port_idx in range(0, 32) %} + {%- if PORT_ALL.append("Ethernet%d" % (port_idx)) %}{%- endif %} + {%- endfor %} +{%- endmacro %} + +{%- macro generate_buffer_pool_and_profiles() %} + "BUFFER_POOL": { + "ingress_lossless_pool": { + {%- if dynamic_mode is not defined %} + "size": "{{ ingress_lossless_pool_size }}", + "xoff": "{{ ingress_lossless_pool_xoff }}", + {%- endif %} + "type": "ingress", + "mode": "dynamic" + }, + "egress_lossless_pool": { + "size": "{{ egress_lossless_pool_size }}", + "type": "egress", + "mode": "dynamic" + }, + "egress_lossy_pool": { + {%- if dynamic_mode is not defined %} + "size": "{{ egress_lossy_pool_size }}", + {%- endif %} + "type": "egress", + "mode": "dynamic" + } + }, + "BUFFER_PROFILE": { + "ingress_lossless_profile": { + "pool":"[BUFFER_POOL|ingress_lossless_pool]", + "size":"0", + "dynamic_th":"7" + }, + "ingress_lossy_profile": { + "pool":"[BUFFER_POOL|ingress_lossless_pool]", + "size":"0", + "dynamic_th":"3" + }, + "egress_lossless_profile": { + "pool":"[BUFFER_POOL|egress_lossless_pool]", + "size":"0", + "dynamic_th":"7" + }, + "egress_lossy_profile": { + "pool":"[BUFFER_POOL|egress_lossy_pool]", + "size":"9216", + "dynamic_th":"7" + }, + "q_lossy_profile": { + "pool":"[BUFFER_POOL|egress_lossy_pool]", + "size":"0", + "dynamic_th":"3" + } + }, +{%- endmacro %} + +{%- macro generate_profile_lists(port_names) %} + "BUFFER_PORT_INGRESS_PROFILE_LIST": { +{% for port in port_names.split(',') %} + "{{ port }}": { + "profile_list" : "[BUFFER_PROFILE|ingress_lossless_profile]" + }{% if not loop.last %},{% endif %} + +{% endfor %} + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST": { +{% for port in port_names.split(',') %} + "{{ port }}": { + "profile_list" : "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }{% if not loop.last %},{% endif %} + +{% endfor %} + } +{%- endmacro %} + +{%- macro generate_queue_buffers(port_names) %} + "BUFFER_QUEUE": { +{% for port in port_names.split(',') %} + "{{ port }}|3-4": { + "profile" : "[BUFFER_PROFILE|egress_lossless_profile]" + }, +{% endfor %} +{% for port in port_names.split(',') %} + "{{ port }}|0-2": { + "profile" : "[BUFFER_PROFILE|q_lossy_profile]" + }, +{% endfor %} +{% for port in port_names.split(',') %} + "{{ port }}|5-6": { + "profile" : "[BUFFER_PROFILE|q_lossy_profile]" + }{% if not loop.last %},{% endif %} + +{% endfor %} + } +{%- endmacro %} + + diff --git a/tests/sku_create_input/2700_files/Mellanox-SN2700-D48C8/buffers_defaults_t1.j2 b/tests/sku_create_input/2700_files/Mellanox-SN2700-D48C8/buffers_defaults_t1.j2 new file mode 100644 index 0000000000..95d3553925 --- /dev/null +++ b/tests/sku_create_input/2700_files/Mellanox-SN2700-D48C8/buffers_defaults_t1.j2 @@ -0,0 +1,106 @@ +{% set default_cable = '5m' %} +{% set ingress_lossless_pool_size = '9686016' %} +{% set ingress_lossless_pool_xoff = '1179648' %} +{% set egress_lossless_pool_size = '13945824' %} +{% set egress_lossy_pool_size = '9686016' %} + +{%- macro generate_port_lists(PORT_ALL) %} + {# Generate list of ports #} + {%- for port_idx in range(0, 32) %} + {%- if PORT_ALL.append("Ethernet%d" % (port_idx)) %}{%- endif %} + {%- endfor %} +{%- endmacro %} + +{%- macro generate_buffer_pool_and_profiles() %} + "BUFFER_POOL": { + "ingress_lossless_pool": { + {%- if dynamic_mode is not defined %} + "size": "{{ ingress_lossless_pool_size }}", + "xoff": "{{ ingress_lossless_pool_xoff }}", + {%- endif %} + "type": "ingress", + "mode": "dynamic" + }, + "egress_lossless_pool": { + "size": "{{ egress_lossless_pool_size }}", + "type": "egress", + "mode": "dynamic" + }, + "egress_lossy_pool": { + {%- if dynamic_mode is not defined %} + "size": "{{ egress_lossy_pool_size }}", + {%- endif %} + "type": "egress", + "mode": "dynamic" + } + }, + "BUFFER_PROFILE": { + "ingress_lossless_profile": { + "pool":"[BUFFER_POOL|ingress_lossless_pool]", + "size":"0", + "dynamic_th":"7" + }, + "ingress_lossy_profile": { + "pool":"[BUFFER_POOL|ingress_lossless_pool]", + "size":"0", + "dynamic_th":"3" + }, + "egress_lossless_profile": { + "pool":"[BUFFER_POOL|egress_lossless_pool]", + "size":"0", + "dynamic_th":"7" + }, + "egress_lossy_profile": { + "pool":"[BUFFER_POOL|egress_lossy_pool]", + "size":"9216", + "dynamic_th":"7" + }, + "q_lossy_profile": { + "pool":"[BUFFER_POOL|egress_lossy_pool]", + "size":"0", + "dynamic_th":"3" + } + }, +{%- endmacro %} + +{%- macro generate_profile_lists(port_names) %} + "BUFFER_PORT_INGRESS_PROFILE_LIST": { +{% for port in port_names.split(',') %} + "{{ port }}": { + "profile_list" : "[BUFFER_PROFILE|ingress_lossless_profile]" + }{% if not loop.last %},{% endif %} + +{% endfor %} + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST": { +{% for port in port_names.split(',') %} + "{{ port }}": { + "profile_list" : "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }{% if not loop.last %},{% endif %} + +{% endfor %} + } +{%- endmacro %} + +{%- macro generate_queue_buffers(port_names) %} + "BUFFER_QUEUE": { +{% for port in port_names.split(',') %} + "{{ port }}|3-4": { + "profile" : "[BUFFER_PROFILE|egress_lossless_profile]" + }, +{% endfor %} +{% for port in port_names.split(',') %} + "{{ port }}|0-2": { + "profile" : "[BUFFER_PROFILE|q_lossy_profile]" + }, +{% endfor %} +{% for port in port_names.split(',') %} + "{{ port }}|5-6": { + "profile" : "[BUFFER_PROFILE|q_lossy_profile]" + }{% if not loop.last %},{% endif %} + +{% endfor %} + } +{%- endmacro %} + + diff --git a/tests/sku_create_input/2700_files/Mellanox-SN2700-D48C8/hwsku.json b/tests/sku_create_input/2700_files/Mellanox-SN2700-D48C8/hwsku.json new file mode 100644 index 0000000000..0e846d9b38 --- /dev/null +++ b/tests/sku_create_input/2700_files/Mellanox-SN2700-D48C8/hwsku.json @@ -0,0 +1,172 @@ +{ + "interfaces": { + "Ethernet0": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet2": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet4": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet6": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet8": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet10": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet12": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet14": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet16": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet18": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet20": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet22": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet24": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet28": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet32": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet36": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet40": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet42": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet44": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet46": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet48": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet50": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet52": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet54": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet56": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet58": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet60": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet62": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet64": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet66": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet68": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet70": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet72": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet74": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet76": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet78": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet80": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet82": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet84": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet86": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet88": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet92": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet96": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet100": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet104": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet106": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet108": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet110": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet112": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet114": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet116": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet118": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet120": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet122": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet124": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet126": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + } + } +} diff --git a/tests/sku_create_input/2700_files/Mellanox-SN2700-D48C8/pg_profile_lookup.ini b/tests/sku_create_input/2700_files/Mellanox-SN2700-D48C8/pg_profile_lookup.ini new file mode 100644 index 0000000000..cdd674e4e7 --- /dev/null +++ b/tests/sku_create_input/2700_files/Mellanox-SN2700-D48C8/pg_profile_lookup.ini @@ -0,0 +1,17 @@ +# PG lossless profiles. +# speed cable size xon xoff threshold + 10000 5m 19456 19456 22528 0 + 25000 5m 19456 19456 22528 0 + 40000 5m 19456 19456 22528 0 + 50000 5m 19456 19456 22528 0 + 100000 5m 19456 19456 23552 0 + 10000 40m 19456 19456 22528 0 + 25000 40m 19456 19456 24576 0 + 40000 40m 19456 19456 25600 0 + 50000 40m 19456 19456 25600 0 + 100000 40m 19456 19456 29696 0 + 10000 300m 19456 19456 27648 0 + 25000 300m 19456 19456 36864 0 + 40000 300m 19456 19456 45056 0 + 50000 300m 19456 19456 50176 0 + 100000 300m 19456 19456 78848 0 diff --git a/tests/sku_create_input/2700_files/Mellanox-SN2700-D48C8/port_config.ini b/tests/sku_create_input/2700_files/Mellanox-SN2700-D48C8/port_config.ini new file mode 100644 index 0000000000..830f558fb3 --- /dev/null +++ b/tests/sku_create_input/2700_files/Mellanox-SN2700-D48C8/port_config.ini @@ -0,0 +1,57 @@ +# name lanes alias index speed +Ethernet0 0,1 etp1a 1 50000 +Ethernet2 2,3 etp1b 1 50000 +Ethernet4 4,5 etp2a 2 50000 +Ethernet6 6,7 etp2b 2 50000 +Ethernet8 8,9 etp3a 3 50000 +Ethernet10 10,11 etp3b 3 50000 +Ethernet12 12,13 etp4a 4 50000 +Ethernet14 14,15 etp4b 4 50000 +Ethernet16 16,17 etp5a 5 50000 +Ethernet18 18,19 etp5b 5 50000 +Ethernet20 20,21 etp6a 6 50000 +Ethernet22 22,23 etp6b 6 50000 +Ethernet24 24,25,26,27 etp7 7 100000 +Ethernet28 28,29,30,31 etp8 8 100000 +Ethernet32 32,33,34,35 etp9 9 100000 +Ethernet36 36,37,38,39 etp10 10 100000 +Ethernet40 40,41 etp11a 11 50000 +Ethernet42 42,43 etp11b 11 50000 +Ethernet44 44,45 etp12a 12 50000 +Ethernet46 46,47 etp12b 12 50000 +Ethernet48 48,49 etp13a 13 50000 +Ethernet50 50,51 etp13b 13 50000 +Ethernet52 52,53 etp14a 14 50000 +Ethernet54 54,55 etp14b 14 50000 +Ethernet56 56,57 etp15a 15 50000 +Ethernet58 58,59 etp15b 15 50000 +Ethernet60 60,61 etp16a 16 50000 +Ethernet62 62,63 etp16b 16 50000 +Ethernet64 64,65 etp17a 17 50000 +Ethernet66 66,67 etp17b 17 50000 +Ethernet68 68,69 etp18a 18 50000 +Ethernet70 70,71 etp18b 18 50000 +Ethernet72 72,73 etp19a 19 50000 +Ethernet74 74,75 etp19b 19 50000 +Ethernet76 76,77 etp20a 20 50000 +Ethernet78 78,79 etp20b 20 50000 +Ethernet80 80,81 etp21a 21 50000 +Ethernet82 82,83 etp21b 21 50000 +Ethernet84 84,85 etp22a 22 50000 +Ethernet86 86,87 etp22b 22 50000 +Ethernet88 88,89,90,91 etp23 23 100000 +Ethernet92 92,93,94,95 etp24 24 100000 +Ethernet96 96,97,98,99 etp25 25 100000 +Ethernet100 100,101,102,103 etp26 26 100000 +Ethernet104 104,105 etp27a 27 50000 +Ethernet106 106,107 etp27b 27 50000 +Ethernet108 108,109 etp28a 28 50000 +Ethernet110 110,111 etp28b 28 50000 +Ethernet112 112,113 etp29a 29 50000 +Ethernet114 114,115 etp29b 29 50000 +Ethernet116 116,117 etp30a 30 50000 +Ethernet118 118,119 etp30b 30 50000 +Ethernet120 120,121 etp31a 31 50000 +Ethernet122 122,123 etp31b 31 50000 +Ethernet124 124,125 etp32a 32 50000 +Ethernet126 126,127 etp32b 32 50000 diff --git a/tests/sku_create_input/2700_files/Mellanox-SN2700-D48C8/qos.json.j2 b/tests/sku_create_input/2700_files/Mellanox-SN2700-D48C8/qos.json.j2 new file mode 100644 index 0000000000..3e548325ea --- /dev/null +++ b/tests/sku_create_input/2700_files/Mellanox-SN2700-D48C8/qos.json.j2 @@ -0,0 +1 @@ +{%- include 'qos_config.j2' %} diff --git a/tests/sku_create_input/Mellanox-SN2700-D48C8/sai.profile b/tests/sku_create_input/2700_files/Mellanox-SN2700-D48C8/sai.profile similarity index 100% rename from tests/sku_create_input/Mellanox-SN2700-D48C8/sai.profile rename to tests/sku_create_input/2700_files/Mellanox-SN2700-D48C8/sai.profile diff --git a/tests/sku_create_input/Mellanox-SN2700-D48C8/sai_2700_48x50g_8x100g.xml b/tests/sku_create_input/2700_files/Mellanox-SN2700-D48C8/sai_2700_48x50g_8x100g.xml similarity index 95% rename from tests/sku_create_input/Mellanox-SN2700-D48C8/sai_2700_48x50g_8x100g.xml rename to tests/sku_create_input/2700_files/Mellanox-SN2700-D48C8/sai_2700_48x50g_8x100g.xml index bda7a3e1cc..dccb606f74 100644 --- a/tests/sku_create_input/Mellanox-SN2700-D48C8/sai_2700_48x50g_8x100g.xml +++ b/tests/sku_create_input/2700_files/Mellanox-SN2700-D48C8/sai_2700_48x50g_8x100g.xml @@ -5,6 +5,9 @@ 00:02:03:04:05:00 + + 1 + 32 diff --git a/tests/sku_create_input/2700_files/config_db.json b/tests/sku_create_input/2700_files/config_db.json new file mode 100644 index 0000000000..3096082bfa --- /dev/null +++ b/tests/sku_create_input/2700_files/config_db.json @@ -0,0 +1,670 @@ +{ + "BGP_NEIGHBOR": { + "10.0.0.59": { + "rrclient": 0, + "name": "ARISTA12T0", + "local_addr": "10.0.0.58", + "nhopself": 0, + "holdtime": "180", + "asn": "64012", + "keepalive": "60" + }, + "10.0.0.49": { + "rrclient": 0, + "name": "ARISTA07T0", + "local_addr": "10.0.0.48", + "nhopself": 0, + "holdtime": "180", + "asn": "64007", + "keepalive": "60" + }, + "10.0.0.65": { + "rrclient": 0, + "name": "ARISTA15T0", + "local_addr": "10.0.0.64", + "nhopself": 0, + "holdtime": "180", + "asn": "64015", + "keepalive": "60" + }, + "10.0.0.61": { + "rrclient": 0, + "name": "ARISTA13T0", + "local_addr": "10.0.0.60", + "nhopself": 0, + "holdtime": "180", + "asn": "64013", + "keepalive": "60" + }, + "10.0.0.43": { + "rrclient": 0, + "name": "ARISTA04T0", + "local_addr": "10.0.0.42", + "nhopself": 0, + "holdtime": "180", + "asn": "64004", + "keepalive": "60" + }, + "10.0.0.41": { + "rrclient": 0, + "name": "ARISTA03T0", + "local_addr": "10.0.0.40", + "nhopself": 0, + "holdtime": "180", + "asn": "64003", + "keepalive": "60" + }, + "10.0.0.47": { + "rrclient": 0, + "name": "ARISTA06T0", + "local_addr": "10.0.0.46", + "nhopself": 0, + "holdtime": "180", + "asn": "64006", + "keepalive": "60" + }, + "10.0.0.45": { + "rrclient": 0, + "name": "ARISTA05T0", + "local_addr": "10.0.0.44", + "nhopself": 0, + "holdtime": "180", + "asn": "64005", + "keepalive": "60" + }, + "10.0.0.63": { + "rrclient": 0, + "name": "ARISTA14T0", + "local_addr": "10.0.0.62", + "nhopself": 0, + "holdtime": "180", + "asn": "64014", + "keepalive": "60" + }, + "10.0.0.67": { + "rrclient": 0, + "name": "ARISTA16T0", + "local_addr": "10.0.0.66", + "nhopself": 0, + "holdtime": "180", + "asn": "64016", + "keepalive": "60" + }, + "10.0.0.39": { + "rrclient": 0, + "name": "ARISTA02T0", + "local_addr": "10.0.0.38", + "nhopself": 0, + "holdtime": "180", + "asn": "64002", + "keepalive": "60" + }, + "10.0.0.69": { + "rrclient": 0, + "name": "ARISTA17T0", + "local_addr": "10.0.0.68", + "nhopself": 0, + "holdtime": "180", + "asn": "64017", + "keepalive": "60" + }, + "10.0.0.33": { + "rrclient": 0, + "name": "ARISTA17T2", + "local_addr": "10.0.0.32", + "nhopself": 0, + "holdtime": "180", + "asn": "65200", + "keepalive": "60" + }, + "10.0.0.31": { + "rrclient": 0, + "name": "ARISTA16T2", + "local_addr": "10.0.0.30", + "nhopself": 0, + "holdtime": "180", + "asn": "65200", + "keepalive": "60" + }, + "10.0.0.37": { + "rrclient": 0, + "name": "ARISTA01T0", + "local_addr": "10.0.0.36", + "nhopself": 0, + "holdtime": "180", + "asn": "64001", + "keepalive": "60" + }, + "10.0.0.35": { + "rrclient": 0, + "name": "ARISTA18T2", + "local_addr": "10.0.0.34", + "nhopself": 0, + "holdtime": "180", + "asn": "65200", + "keepalive": "60" + }, + "10.0.0.15": { + "rrclient": 0, + "name": "ARISTA08T2", + "local_addr": "10.0.0.14", + "nhopself": 0, + "holdtime": "180", + "asn": "65200", + "keepalive": "60" + }, + "10.0.0.17": { + "rrclient": 0, + "name": "ARISTA09T2", + "local_addr": "10.0.0.16", + "nhopself": 0, + "holdtime": "180", + "asn": "65200", + "keepalive": "60" + }, + "10.0.0.11": { + "rrclient": 0, + "name": "ARISTA06T2", + "local_addr": "10.0.0.10", + "nhopself": 0, + "holdtime": "180", + "asn": "65200", + "keepalive": "60" + }, + "10.0.0.13": { + "rrclient": 0, + "name": "ARISTA07T2", + "local_addr": "10.0.0.12", + "nhopself": 0, + "holdtime": "180", + "asn": "65200", + "keepalive": "60" + }, + "10.0.0.51": { + "rrclient": 0, + "name": "ARISTA08T0", + "local_addr": "10.0.0.50", + "nhopself": 0, + "holdtime": "180", + "asn": "64008", + "keepalive": "60" + }, + "10.0.0.55": { + "rrclient": 0, + "name": "ARISTA10T0", + "local_addr": "10.0.0.54", + "nhopself": 0, + "holdtime": "180", + "asn": "64010", + "keepalive": "60" + }, + "10.0.0.53": { + "rrclient": 0, + "name": "ARISTA09T0", + "local_addr": "10.0.0.52", + "nhopself": 0, + "holdtime": "180", + "asn": "64009", + "keepalive": "60" + }, + "10.0.0.19": { + "rrclient": 0, + "name": "ARISTA10T2", + "local_addr": "10.0.0.18", + "nhopself": 0, + "holdtime": "180", + "asn": "65200", + "keepalive": "60" + }, + "10.0.0.57": { + "rrclient": 0, + "name": "ARISTA11T0", + "local_addr": "10.0.0.56", + "nhopself": 0, + "holdtime": "180", + "asn": "64011", + "keepalive": "60" + }, + "10.0.0.9": { + "rrclient": 0, + "name": "ARISTA05T2", + "local_addr": "10.0.0.8", + "nhopself": 0, + "holdtime": "180", + "asn": "65200", + "keepalive": "60" + }, + "10.0.0.71": { + "rrclient": 0, + "name": "ARISTA18T0", + "local_addr": "10.0.0.70", + "nhopself": 0, + "holdtime": "180", + "asn": "64018", + "keepalive": "60" + }, + "10.0.0.5": { + "rrclient": 0, + "name": "ARISTA03T2", + "local_addr": "10.0.0.4", + "nhopself": 0, + "holdtime": "180", + "asn": "65200", + "keepalive": "60" + }, + "10.0.0.7": { + "rrclient": 0, + "name": "ARISTA04T2", + "local_addr": "10.0.0.6", + "nhopself": 0, + "holdtime": "180", + "asn": "65200", + "keepalive": "60" + }, + "10.0.0.1": { + "rrclient": 0, + "name": "ARISTA01T2", + "local_addr": "10.0.0.0", + "nhopself": 0, + "holdtime": "180", + "asn": "65200", + "keepalive": "60" + }, + "10.0.0.3": { + "rrclient": 0, + "name": "ARISTA02T2", + "local_addr": "10.0.0.2", + "nhopself": 0, + "holdtime": "180", + "asn": "65200", + "keepalive": "60" + }, + "10.0.0.29": { + "rrclient": 0, + "name": "ARISTA15T2", + "local_addr": "10.0.0.28", + "nhopself": 0, + "holdtime": "180", + "asn": "65200", + "keepalive": "60" + }, + "10.0.0.25": { + "rrclient": 0, + "name": "ARISTA13T2", + "local_addr": "10.0.0.24", + "nhopself": 0, + "holdtime": "180", + "asn": "65200", + "keepalive": "60" + }, + "10.0.0.27": { + "rrclient": 0, + "name": "ARISTA14T2", + "local_addr": "10.0.0.26", + "nhopself": 0, + "holdtime": "180", + "asn": "65200", + "keepalive": "60" + }, + "10.0.0.21": { + "rrclient": 0, + "name": "ARISTA11T2", + "local_addr": "10.0.0.20", + "nhopself": 0, + "holdtime": "180", + "asn": "65200", + "keepalive": "60" + }, + "10.0.0.23": { + "rrclient": 0, + "name": "ARISTA12T2", + "local_addr": "10.0.0.22", + "nhopself": 0, + "holdtime": "180", + "asn": "65200", + "keepalive": "60" + } + }, + "DEVICE_METADATA": { + "localhost": { + "hwsku": "Mellanox-SN2700-C28D8", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "7c:fe:90:f8:06:80", + "bgp_asn": "65100", + "type": "LeafRouter" + } + }, + "DEVICE_NEIGHBOR": {}, + "LOOPBACK_INTERFACE": { + "Loopback0|10.1.0.1/32": {} + }, + "INTERFACE": { + "Ethernet8|10.0.0.4/31": {}, + "Ethernet20|10.0.0.10/31": {}, + "Ethernet56|10.0.0.28/31": {}, + "Ethernet40|10.0.0.20/31": {}, + "Ethernet60|10.0.0.30/31": {}, + "Ethernet122|10.0.0.66/31": {}, + "Ethernet12|10.0.0.6/31": {}, + "Ethernet118|10.0.0.62/31": {}, + "Ethernet36|10.0.0.18/31": {}, + "Ethernet92|10.0.0.46/31": {}, + "Ethernet112|10.0.0.56/31": {}, + "Ethernet28|10.0.0.14/31": {}, + "Ethernet126|10.0.0.70/31": {}, + "Ethernet116|10.0.0.60/31": {}, + "Ethernet16|10.0.0.8/31": {}, + "Ethernet32|10.0.0.16/31": {}, + "Ethernet108|10.0.0.54/31": {}, + "Ethernet96|10.0.0.48/31": {}, + "Ethernet68|10.0.0.34/31": {}, + "Ethernet4|10.0.0.2/31": {}, + "Ethernet44|10.0.0.22/31": {}, + "Ethernet100|10.0.0.50/31": {}, + "Ethernet64|10.0.0.32/31": {}, + "Ethernet0|10.0.0.0/31": {}, + "Ethernet120|10.0.0.64/31": {}, + "Ethernet48|10.0.0.24/31": {}, + "Ethernet84|10.0.0.42/31": {}, + "Ethernet72|10.0.0.36/31": {}, + "Ethernet76|10.0.0.38/31": {}, + "Ethernet80|10.0.0.40/31": {}, + "Ethernet24|10.0.0.12/31": {}, + "Ethernet104|10.0.0.52/31": {}, + "Ethernet124|10.0.0.68/31": {}, + "Ethernet52|10.0.0.26/31": {}, + "Ethernet88|10.0.0.44/31": {}, + "Ethernet114|10.0.0.58/31": {} + }, + "PORT": { + "Ethernet8": { + "index": "3", + "lanes": "8,9,10,11", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "100000" + }, + "Ethernet0": { + "index": "1", + "lanes": "0,1,2,3", + "mtu": "9100", + "alias": "etp1", + "admin_status": "up", + "speed": "100000" + }, + "Ethernet4": { + "index": "2", + "lanes": "4,5,6,7", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "100000" + }, + "Ethernet108": { + "index": "28", + "lanes": "108,109,110,111", + "mtu": "9100", + "alias": "etp28", + "admin_status": "up", + "speed": "100000" + }, + "Ethernet100": { + "index": "26", + "lanes": "100,101,102,103", + "mtu": "9100", + "alias": "etp26", + "admin_status": "up", + "speed": "100000" + }, + "Ethernet104": { + "index": "27", + "lanes": "104,105,106,107", + "mtu": "9100", + "alias": "etp27", + "admin_status": "up", + "speed": "100000" + }, + "Ethernet68": { + "index": "18", + "lanes": "68,69,70,71", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "100000" + }, + "Ethernet126": { + "index": "32", + "lanes": "126,127", + "mtu": "9100", + "alias": "etp32b", + "admin_status": "up", + "speed": "50000" + }, + "Ethernet96": { + "index": "25", + "lanes": "96,97,98,99", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000" + }, + "Ethernet124": { + "index": "32", + "lanes": "124,125", + "mtu": "9100", + "alias": "etp32a", + "admin_status": "up", + "speed": "50000" + }, + "Ethernet122": { + "index": "31", + "lanes": "122,123", + "mtu": "9100", + "alias": "etp31b", + "admin_status": "up", + "speed": "50000" + }, + "Ethernet92": { + "index": "24", + "lanes": "92,93,94,95", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000" + }, + "Ethernet120": { + "index": "31", + "lanes": "120,121", + "mtu": "9100", + "alias": "etp31a", + "admin_status": "up", + "speed": "50000" + }, + "Ethernet52": { + "index": "14", + "lanes": "52,53,54,55", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000" + }, + "Ethernet56": { + "index": "15", + "lanes": "56,57,58,59", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000" + }, + "Ethernet76": { + "index": "20", + "lanes": "76,77,78,79", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "100000" + }, + "Ethernet72": { + "index": "19", + "lanes": "72,73,74,75", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "100000" + }, + "Ethernet64": { + "index": "17", + "lanes": "64,65,66,67", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "100000" + }, + "Ethernet32": { + "index": "9", + "lanes": "32,33,34,35", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000" + }, + "Ethernet16": { + "index": "5", + "lanes": "16,17,18,19", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000" + }, + "Ethernet36": { + "index": "10", + "lanes": "36,37,38,39", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000" + }, + "Ethernet12": { + "index": "4", + "lanes": "12,13,14,15", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "100000" + }, + "Ethernet88": { + "index": "23", + "lanes": "88,89,90,91", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000" + }, + "Ethernet118": { + "index": "30", + "lanes": "118,119", + "mtu": "9100", + "alias": "etp30b", + "admin_status": "up", + "speed": "50000" + }, + "Ethernet116": { + "index": "30", + "lanes": "116,117", + "mtu": "9100", + "alias": "etp30a", + "admin_status": "up", + "speed": "50000" + }, + "Ethernet114": { + "index": "29", + "lanes": "114,115", + "mtu": "9100", + "alias": "etp29b", + "admin_status": "up", + "speed": "50000" + }, + "Ethernet80": { + "index": "21", + "lanes": "80,81,82,83", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000" + }, + "Ethernet112": { + "index": "29", + "lanes": "112,113", + "mtu": "9100", + "alias": "etp29a", + "admin_status": "up", + "speed": "50000" + }, + "Ethernet84": { + "index": "22", + "lanes": "84,85,86,87", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000" + }, + "Ethernet48": { + "index": "13", + "lanes": "48,49,50,51", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000" + }, + "Ethernet44": { + "index": "12", + "lanes": "44,45,46,47", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000" + }, + "Ethernet40": { + "index": "11", + "lanes": "40,41,42,43", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000" + }, + "Ethernet28": { + "index": "8", + "lanes": "28,29,30,31", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000" + }, + "Ethernet60": { + "index": "16", + "lanes": "60,61,62,63", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000" + }, + "Ethernet20": { + "index": "6", + "lanes": "20,21,22,23", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000" + }, + "Ethernet24": { + "index": "7", + "lanes": "24,25,26,27", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000" + } + } +} diff --git a/tests/sku_create_input/default_sku b/tests/sku_create_input/2700_files/default_sku similarity index 100% rename from tests/sku_create_input/default_sku rename to tests/sku_create_input/2700_files/default_sku diff --git a/tests/sku_create_input/Mellanox-SN2700-D48C8/buffers_defaults_t0.j2 b/tests/sku_create_input/3800_files/ACS-MSN3800/buffers_defaults_t0.j2 similarity index 67% rename from tests/sku_create_input/Mellanox-SN2700-D48C8/buffers_defaults_t0.j2 rename to tests/sku_create_input/3800_files/ACS-MSN3800/buffers_defaults_t0.j2 index 475a022714..b83e142448 100644 --- a/tests/sku_create_input/Mellanox-SN2700-D48C8/buffers_defaults_t0.j2 +++ b/tests/sku_create_input/3800_files/ACS-MSN3800/buffers_defaults_t0.j2 @@ -1,8 +1,8 @@ {% set default_cable = '5m' %} -{% set ingress_lossless_pool_size = '4194304' %} -{% set ingress_lossy_pool_size = '7340032' %} -{% set egress_lossless_pool_size = '16777152' %} -{% set egress_lossy_pool_size = '7340032' %} +{% set ingress_lossless_pool_size = '13924352' %} +{% set ingress_lossy_pool_size = '13924352' %} +{% set egress_lossless_pool_size = '34287552' %} +{% set egress_lossy_pool_size = '13924352' %} {%- macro generate_port_lists(PORT_ALL) %} {# Generate list of ports #} @@ -14,12 +14,16 @@ {%- macro generate_buffer_pool_and_profiles() %} "BUFFER_POOL": { "ingress_lossless_pool": { + {%- if dynamic_mode is not defined %} "size": "{{ ingress_lossless_pool_size }}", + {%- endif %} "type": "ingress", "mode": "dynamic" }, "ingress_lossy_pool": { + {%- if dynamic_mode is not defined %} "size": "{{ ingress_lossy_pool_size }}", + {%- endif %} "type": "ingress", "mode": "dynamic" }, @@ -29,7 +33,9 @@ "mode": "dynamic" }, "egress_lossy_pool": { + {%- if dynamic_mode is not defined %} "size": "{{ egress_lossy_pool_size }}", + {%- endif %} "type": "egress", "mode": "dynamic" } @@ -38,7 +44,7 @@ "ingress_lossless_profile": { "pool":"[BUFFER_POOL|ingress_lossless_pool]", "size":"0", - "dynamic_th":"0" + "dynamic_th":"7" }, "ingress_lossy_profile": { "pool":"[BUFFER_POOL|ingress_lossy_pool]", @@ -52,8 +58,8 @@ }, "egress_lossy_profile": { "pool":"[BUFFER_POOL|egress_lossy_pool]", - "size":"4096", - "dynamic_th":"3" + "size":"9216", + "dynamic_th":"7" }, "q_lossy_profile": { "pool":"[BUFFER_POOL|egress_lossy_pool]", @@ -65,26 +71,40 @@ {%- macro generate_profile_lists(port_names) %} "BUFFER_PORT_INGRESS_PROFILE_LIST": { - "{{ port_names }}": { +{% for port in port_names.split(',') %} + "{{ port }}": { "profile_list" : "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" - } + }{% if not loop.last %},{% endif %} + +{% endfor %} }, "BUFFER_PORT_EGRESS_PROFILE_LIST": { - "{{ port_names }}": { +{% for port in port_names.split(',') %} + "{{ port }}": { "profile_list" : "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" - } + }{% if not loop.last %},{% endif %} + +{% endfor %} } {%- endmacro %} {%- macro generate_queue_buffers(port_names) %} "BUFFER_QUEUE": { - "{{ port_names }}|3-4": { +{% for port in port_names.split(',') %} + "{{ port }}|3-4": { "profile" : "[BUFFER_PROFILE|egress_lossless_profile]" }, - "{{ port_names }}|0-1": { +{% endfor %} +{% for port in port_names.split(',') %} + "{{ port }}|0-2": { "profile" : "[BUFFER_PROFILE|q_lossy_profile]" - } + }, +{% endfor %} +{% for port in port_names.split(',') %} + "{{ port }}|5-6": { + "profile" : "[BUFFER_PROFILE|q_lossy_profile]" + }{% if not loop.last %},{% endif %} + +{% endfor %} } {%- endmacro %} - - diff --git a/tests/sku_create_input/Mellanox-SN2700-D48C8/buffers_defaults_t1.j2 b/tests/sku_create_input/3800_files/ACS-MSN3800/buffers_defaults_t1.j2 similarity index 67% rename from tests/sku_create_input/Mellanox-SN2700-D48C8/buffers_defaults_t1.j2 rename to tests/sku_create_input/3800_files/ACS-MSN3800/buffers_defaults_t1.j2 index c292ecc2f2..abcab930c6 100644 --- a/tests/sku_create_input/Mellanox-SN2700-D48C8/buffers_defaults_t1.j2 +++ b/tests/sku_create_input/3800_files/ACS-MSN3800/buffers_defaults_t1.j2 @@ -1,8 +1,8 @@ {% set default_cable = '5m' %} -{% set ingress_lossless_pool_size = '2097152' %} -{% set ingress_lossy_pool_size = '5242880' %} -{% set egress_lossless_pool_size = '16777152' %} -{% set egress_lossy_pool_size = '5242880' %} +{% set ingress_lossless_pool_size = '12457984' %} +{% set ingress_lossy_pool_size = '12457984' %} +{% set egress_lossless_pool_size = '34287552' %} +{% set egress_lossy_pool_size = '12457984' %} {%- macro generate_port_lists(PORT_ALL) %} {# Generate list of ports #} @@ -14,12 +14,16 @@ {%- macro generate_buffer_pool_and_profiles() %} "BUFFER_POOL": { "ingress_lossless_pool": { + {%- if dynamic_mode is not defined %} "size": "{{ ingress_lossless_pool_size }}", + {%- endif %} "type": "ingress", "mode": "dynamic" }, "ingress_lossy_pool": { + {%- if dynamic_mode is not defined %} "size": "{{ ingress_lossy_pool_size }}", + {%- endif %} "type": "ingress", "mode": "dynamic" }, @@ -29,7 +33,9 @@ "mode": "dynamic" }, "egress_lossy_pool": { + {%- if dynamic_mode is not defined %} "size": "{{ egress_lossy_pool_size }}", + {%- endif %} "type": "egress", "mode": "dynamic" } @@ -38,7 +44,7 @@ "ingress_lossless_profile": { "pool":"[BUFFER_POOL|ingress_lossless_pool]", "size":"0", - "dynamic_th":"0" + "dynamic_th":"7" }, "ingress_lossy_profile": { "pool":"[BUFFER_POOL|ingress_lossy_pool]", @@ -52,8 +58,8 @@ }, "egress_lossy_profile": { "pool":"[BUFFER_POOL|egress_lossy_pool]", - "size":"4096", - "dynamic_th":"3" + "size":"9216", + "dynamic_th":"7" }, "q_lossy_profile": { "pool":"[BUFFER_POOL|egress_lossy_pool]", @@ -65,26 +71,40 @@ {%- macro generate_profile_lists(port_names) %} "BUFFER_PORT_INGRESS_PROFILE_LIST": { - "{{ port_names }}": { +{% for port in port_names.split(',') %} + "{{ port }}": { "profile_list" : "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" - } + }{% if not loop.last %},{% endif %} + +{% endfor %} }, "BUFFER_PORT_EGRESS_PROFILE_LIST": { - "{{ port_names }}": { +{% for port in port_names.split(',') %} + "{{ port }}": { "profile_list" : "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" - } + }{% if not loop.last %},{% endif %} + +{% endfor %} } {%- endmacro %} {%- macro generate_queue_buffers(port_names) %} "BUFFER_QUEUE": { - "{{ port_names }}|3-4": { +{% for port in port_names.split(',') %} + "{{ port }}|3-4": { "profile" : "[BUFFER_PROFILE|egress_lossless_profile]" }, - "{{ port_names }}|0-1": { +{% endfor %} +{% for port in port_names.split(',') %} + "{{ port }}|0-2": { "profile" : "[BUFFER_PROFILE|q_lossy_profile]" - } + }, +{% endfor %} +{% for port in port_names.split(',') %} + "{{ port }}|5-6": { + "profile" : "[BUFFER_PROFILE|q_lossy_profile]" + }{% if not loop.last %},{% endif %} + +{% endfor %} } {%- endmacro %} - - diff --git a/tests/sku_create_input/3800_files/ACS-MSN3800/hwsku.json b/tests/sku_create_input/3800_files/ACS-MSN3800/hwsku.json new file mode 100644 index 0000000000..33fe1cc94a --- /dev/null +++ b/tests/sku_create_input/3800_files/ACS-MSN3800/hwsku.json @@ -0,0 +1,196 @@ +{ + "interfaces": { + "Ethernet0": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet4": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet8": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet12": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet16": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet20": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet24": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet28": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet32": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet36": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet40": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet44": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet48": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet52": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet56": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet60": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet64": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet68": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet72": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet76": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet80": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet84": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet88": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet92": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet96": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet100": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet104": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet108": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet112": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet116": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet120": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet124": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet128": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet132": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet136": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet140": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet144": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet148": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet152": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet156": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet160": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet164": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet168": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet172": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet176": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet180": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet184": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet188": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet192": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet196": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet200": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet204": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet208": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet212": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet216": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet220": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet224": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet228": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet232": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet236": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet240": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet244": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet248": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet252": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + } + } +} diff --git a/tests/sku_create_input/3800_files/ACS-MSN3800/pg_profile_lookup.ini b/tests/sku_create_input/3800_files/ACS-MSN3800/pg_profile_lookup.ini new file mode 100644 index 0000000000..320daa45d2 --- /dev/null +++ b/tests/sku_create_input/3800_files/ACS-MSN3800/pg_profile_lookup.ini @@ -0,0 +1,17 @@ +# PG lossless profiles. +# speed cable size xon xoff threshold + 10000 5m 54272 19456 34816 0 + 25000 5m 58368 19456 38912 0 + 40000 5m 61440 19456 41984 0 + 50000 5m 64512 19456 45056 0 + 100000 5m 75776 19456 56320 0 + 10000 40m 55296 19456 35840 0 + 25000 40m 60416 19456 40960 0 + 40000 40m 65536 19456 46080 0 + 50000 40m 69632 19456 50176 0 + 100000 40m 86016 19456 66560 0 + 10000 300m 63488 19456 44032 0 + 25000 300m 78848 19456 59392 0 + 40000 300m 95232 19456 75776 0 + 50000 300m 106496 19456 87040 0 + 100000 300m 159744 19456 140288 0 diff --git a/tests/sku_create_input/3800_files/ACS-MSN3800/port_config.ini b/tests/sku_create_input/3800_files/ACS-MSN3800/port_config.ini new file mode 100644 index 0000000000..d43b11a22e --- /dev/null +++ b/tests/sku_create_input/3800_files/ACS-MSN3800/port_config.ini @@ -0,0 +1,65 @@ +# name lanes alias index +Ethernet0 0,1,2,3 etp1 1 +Ethernet4 4,5,6,7 etp2 2 +Ethernet8 8,9,10,11 etp3 3 +Ethernet12 12,13,14,15 etp4 4 +Ethernet16 16,17,18,19 etp5 5 +Ethernet20 20,21,22,23 etp6 6 +Ethernet24 24,25,26,27 etp7 7 +Ethernet28 28,29,30,31 etp8 8 +Ethernet32 32,33,34,35 etp9 9 +Ethernet36 36,37,38,39 etp10 10 +Ethernet40 40,41,42,43 etp11 11 +Ethernet44 44,45,46,47 etp12 12 +Ethernet48 48,49,50,51 etp13 13 +Ethernet52 52,53,54,55 etp14 14 +Ethernet56 56,57,58,59 etp15 15 +Ethernet60 60,61,62,63 etp16 16 +Ethernet64 64,65,66,67 etp17 17 +Ethernet68 68,69,70,71 etp18 18 +Ethernet72 72,73,74,75 etp19 19 +Ethernet76 76,77,78,79 etp20 20 +Ethernet80 80,81,82,83 etp21 21 +Ethernet84 84,85,86,87 etp22 22 +Ethernet88 88,89,90,91 etp23 23 +Ethernet92 92,93,94,95 etp24 24 +Ethernet96 96,97,98,99 etp25 25 +Ethernet100 100,101,102,103 etp26 26 +Ethernet104 104,105,106,107 etp27 27 +Ethernet108 108,109,110,111 etp28 28 +Ethernet112 112,113,114,115 etp29 29 +Ethernet116 116,117,118,119 etp30 30 +Ethernet120 120,121,122,123 etp31 31 +Ethernet124 124,125,126,127 etp32 32 +Ethernet128 128,129,130,131 etp33 33 +Ethernet132 132,133,134,135 etp34 34 +Ethernet136 136,137,138,139 etp35 35 +Ethernet140 140,141,142,143 etp36 36 +Ethernet144 144,145,146,147 etp37 37 +Ethernet148 148,149,150,151 etp38 38 +Ethernet152 152,153,154,155 etp39 39 +Ethernet156 156,157,158,159 etp40 40 +Ethernet160 160,161,162,163 etp41 41 +Ethernet164 164,165,166,167 etp42 42 +Ethernet168 168,169,170,171 etp43 43 +Ethernet172 172,173,174,175 etp44 44 +Ethernet176 176,177,178,179 etp45 45 +Ethernet180 180,181,182,183 etp46 46 +Ethernet184 184,185,186,187 etp47 47 +Ethernet188 188,189,190,191 etp48 48 +Ethernet192 192,193,194,195 etp49 49 +Ethernet196 196,197,198,199 etp50 50 +Ethernet200 200,201,202,203 etp51 51 +Ethernet204 204,205,206,207 etp52 52 +Ethernet208 208,209,210,211 etp53 53 +Ethernet212 212,213,214,215 etp54 54 +Ethernet216 216,217,218,219 etp55 55 +Ethernet220 220,221,222,223 etp56 56 +Ethernet224 224,225,226,227 etp57 57 +Ethernet228 228,229,230,231 etp58 58 +Ethernet232 232,233,234,235 etp59 59 +Ethernet236 236,237,238,239 etp60 60 +Ethernet240 240,241,242,243 etp61 61 +Ethernet244 244,245,246,247 etp62 62 +Ethernet248 248,249,250,251 etp63 63 +Ethernet252 252,253,254,255 etp64 64 diff --git a/tests/sku_create_input/3800_files/ACS-MSN3800/sai.profile b/tests/sku_create_input/3800_files/ACS-MSN3800/sai.profile new file mode 100644 index 0000000000..367f6c4e99 --- /dev/null +++ b/tests/sku_create_input/3800_files/ACS-MSN3800/sai.profile @@ -0,0 +1 @@ +SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/sai_3800.xml diff --git a/tests/sku_create_input/3800_files/ACS-MSN3800/sai_3800.xml b/tests/sku_create_input/3800_files/ACS-MSN3800/sai_3800.xml new file mode 100644 index 0000000000..4d9cc3cf7f --- /dev/null +++ b/tests/sku_create_input/3800_files/ACS-MSN3800/sai_3800.xml @@ -0,0 +1,470 @@ + + + + + + 00:02:03:04:05:00 + + + 1 + + + 64 + + + + + 1 + 4 + 48 + + + 3 + + + 1536 + + + 3 + 4 + 49 + 3 + 1536 + + + 5 + 4 + 50 + 3 + 1536 + + + 7 + 4 + 51 + 3 + 1536 + + + 9 + 4 + 52 + 3 + 1536 + + + 11 + 4 + 53 + 3 + 1536 + + + 13 + 4 + 54 + 3 + 1536 + + + 15 + 4 + 55 + 3 + 1536 + + + 17 + 4 + 56 + 3 + 1536 + + + 19 + 4 + 57 + 3 + 1536 + + + 21 + 4 + 58 + 3 + 1536 + + + 23 + 4 + 59 + 3 + 1536 + + + 25 + 4 + 60 + 3 + 1536 + + + 27 + 4 + 61 + 3 + 1536 + + + 29 + 4 + 62 + 3 + 1536 + + + 31 + 4 + 63 + 3 + 1536 + + + 33 + 4 + 12 + 3 + 1536 + + + 35 + 4 + 13 + 3 + 1536 + + + 37 + 4 + 14 + 3 + 1536 + + + 39 + 4 + 15 + 3 + 1536 + + + 41 + 4 + 8 + 3 + 1536 + + + 43 + 4 + 9 + 3 + 1536 + + + 45 + 4 + 10 + 3 + 1536 + + + 47 + 4 + 11 + 3 + 1536 + + + 49 + 4 + 4 + 3 + 1536 + + + 51 + 4 + 5 + 3 + 1536 + + + 53 + 4 + 6 + 3 + 1536 + + + 55 + 4 + 7 + 3 + 1536 + + + 57 + 4 + 0 + 3 + 1536 + + + 59 + 4 + 1 + 3 + 1536 + + + 61 + 4 + 2 + 3 + 1536 + + + 63 + 4 + 3 + 3 + 1536 + + + 65 + 4 + 44 + 3 + 1536 + + + 67 + 4 + 45 + 3 + 1536 + + + 69 + 4 + 46 + 3 + 1536 + + + 71 + 4 + 47 + 3 + 1536 + + + 73 + 4 + 40 + 3 + 1536 + + + 75 + 4 + 41 + 3 + 1536 + + + 77 + 4 + 42 + 3 + 1536 + + + 79 + 4 + 43 + 3 + 1536 + + + 81 + 4 + 36 + 3 + 1536 + + + 83 + 4 + 37 + 3 + 1536 + + + 85 + 4 + 38 + 3 + 1536 + + + 87 + 4 + 39 + 3 + 1536 + + + 89 + 4 + 32 + 3 + 1536 + + + 91 + 4 + 33 + 3 + 1536 + + + 93 + 4 + 34 + 3 + 1536 + + + 95 + 4 + 35 + 3 + 1536 + + + 97 + 4 + 16 + 3 + 1536 + + + 99 + 4 + 17 + 3 + 1536 + + + 101 + 4 + 18 + 3 + 1536 + + + 103 + 4 + 19 + 3 + 1536 + + + 105 + 4 + 20 + 3 + 1536 + + + 107 + 4 + 21 + 3 + 1536 + + + 109 + 4 + 22 + 3 + 1536 + + + 111 + 4 + 23 + 3 + 1536 + + + 113 + 4 + 24 + 3 + 1536 + + + 115 + 4 + 25 + 3 + 1536 + + + 117 + 4 + 26 + 3 + 1536 + + + 119 + 4 + 27 + 3 + 1536 + + + 121 + 4 + 28 + 3 + 1536 + + + 123 + 4 + 29 + 3 + 1536 + + + 125 + 4 + 30 + 3 + 1536 + + + 127 + 4 + 31 + 3 + 1536 + + + + diff --git a/tests/sku_create_input/3800_files/Mellanox-SN3800-D28C50/buffers_defaults_t0.j2 b/tests/sku_create_input/3800_files/Mellanox-SN3800-D28C50/buffers_defaults_t0.j2 new file mode 100644 index 0000000000..c64f1c5486 --- /dev/null +++ b/tests/sku_create_input/3800_files/Mellanox-SN3800-D28C50/buffers_defaults_t0.j2 @@ -0,0 +1,104 @@ +{% set default_cable = '5m' %} +{% set ingress_lossless_pool_size = '24360960' %} +{% set ingress_lossless_pool_xoff = '2795520' %} +{% set egress_lossless_pool_size = '34287552' %} +{% set egress_lossy_pool_size = '24360960' %} + +{%- macro generate_port_lists(PORT_ALL) %} + {# Generate list of ports #} + {%- for port_idx in range(0, 32) %} + {%- if PORT_ALL.append("Ethernet%d" % (port_idx)) %}{%- endif %} + {%- endfor %} +{%- endmacro %} + +{%- macro generate_buffer_pool_and_profiles() %} + "BUFFER_POOL": { + "ingress_lossless_pool": { + {%- if dynamic_mode is not defined %} + "size": "{{ ingress_lossless_pool_size }}", + "xoff": "{{ ingress_lossless_pool_xoff }}", + {%- endif %} + "type": "ingress", + "mode": "dynamic" + }, + "egress_lossless_pool": { + "size": "{{ egress_lossless_pool_size }}", + "type": "egress", + "mode": "dynamic" + }, + "egress_lossy_pool": { + {%- if dynamic_mode is not defined %} + "size": "{{ egress_lossy_pool_size }}", + {%- endif %} + "type": "egress", + "mode": "dynamic" + } + }, + "BUFFER_PROFILE": { + "ingress_lossless_profile": { + "pool":"[BUFFER_POOL|ingress_lossless_pool]", + "size":"0", + "dynamic_th":"7" + }, + "ingress_lossy_profile": { + "pool":"[BUFFER_POOL|ingress_lossless_pool]", + "size":"0", + "dynamic_th":"3" + }, + "egress_lossless_profile": { + "pool":"[BUFFER_POOL|egress_lossless_pool]", + "size":"0", + "dynamic_th":"7" + }, + "egress_lossy_profile": { + "pool":"[BUFFER_POOL|egress_lossy_pool]", + "size":"9216", + "dynamic_th":"7" + }, + "q_lossy_profile": { + "pool":"[BUFFER_POOL|egress_lossy_pool]", + "size":"0", + "dynamic_th":"3" + } + }, +{%- endmacro %} + +{%- macro generate_profile_lists(port_names) %} + "BUFFER_PORT_INGRESS_PROFILE_LIST": { +{% for port in port_names.split(',') %} + "{{ port }}": { + "profile_list" : "[BUFFER_PROFILE|ingress_lossless_profile]" + }{% if not loop.last %},{% endif %} + +{% endfor %} + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST": { +{% for port in port_names.split(',') %} + "{{ port }}": { + "profile_list" : "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }{% if not loop.last %},{% endif %} + +{% endfor %} + } +{%- endmacro %} + +{%- macro generate_queue_buffers(port_names) %} + "BUFFER_QUEUE": { +{% for port in port_names.split(',') %} + "{{ port }}|3-4": { + "profile" : "[BUFFER_PROFILE|egress_lossless_profile]" + }, +{% endfor %} +{% for port in port_names.split(',') %} + "{{ port }}|0-2": { + "profile" : "[BUFFER_PROFILE|q_lossy_profile]" + }, +{% endfor %} +{% for port in port_names.split(',') %} + "{{ port }}|5-6": { + "profile" : "[BUFFER_PROFILE|q_lossy_profile]" + }{% if not loop.last %},{% endif %} + +{% endfor %} + } +{%- endmacro %} diff --git a/tests/sku_create_input/3800_files/Mellanox-SN3800-D28C50/buffers_defaults_t1.j2 b/tests/sku_create_input/3800_files/Mellanox-SN3800-D28C50/buffers_defaults_t1.j2 new file mode 100644 index 0000000000..bbb51cc778 --- /dev/null +++ b/tests/sku_create_input/3800_files/Mellanox-SN3800-D28C50/buffers_defaults_t1.j2 @@ -0,0 +1,104 @@ +{% set default_cable = '5m' %} +{% set ingress_lossless_pool_size = '22380544' %} +{% set ingress_lossless_pool_xoff = '4775936' %} +{% set egress_lossless_pool_size = '34287552' %} +{% set egress_lossy_pool_size = '22380544' %} + +{%- macro generate_port_lists(PORT_ALL) %} + {# Generate list of ports #} + {%- for port_idx in range(0, 32) %} + {%- if PORT_ALL.append("Ethernet%d" % (port_idx)) %}{%- endif %} + {%- endfor %} +{%- endmacro %} + +{%- macro generate_buffer_pool_and_profiles() %} + "BUFFER_POOL": { + "ingress_lossless_pool": { + {%- if dynamic_mode is not defined %} + "size": "{{ ingress_lossless_pool_size }}", + "xoff": "{{ ingress_lossless_pool_xoff }}", + {%- endif %} + "type": "ingress", + "mode": "dynamic" + }, + "egress_lossless_pool": { + "size": "{{ egress_lossless_pool_size }}", + "type": "egress", + "mode": "dynamic" + }, + "egress_lossy_pool": { + {%- if dynamic_mode is not defined %} + "size": "{{ egress_lossy_pool_size }}", + {%- endif %} + "type": "egress", + "mode": "dynamic" + } + }, + "BUFFER_PROFILE": { + "ingress_lossless_profile": { + "pool":"[BUFFER_POOL|ingress_lossless_pool]", + "size":"0", + "dynamic_th":"7" + }, + "ingress_lossy_profile": { + "pool":"[BUFFER_POOL|ingress_lossless_pool]", + "size":"0", + "dynamic_th":"3" + }, + "egress_lossless_profile": { + "pool":"[BUFFER_POOL|egress_lossless_pool]", + "size":"0", + "dynamic_th":"7" + }, + "egress_lossy_profile": { + "pool":"[BUFFER_POOL|egress_lossy_pool]", + "size":"9216", + "dynamic_th":"7" + }, + "q_lossy_profile": { + "pool":"[BUFFER_POOL|egress_lossy_pool]", + "size":"0", + "dynamic_th":"3" + } + }, +{%- endmacro %} + +{%- macro generate_profile_lists(port_names) %} + "BUFFER_PORT_INGRESS_PROFILE_LIST": { +{% for port in port_names.split(',') %} + "{{ port }}": { + "profile_list" : "[BUFFER_PROFILE|ingress_lossless_profile]" + }{% if not loop.last %},{% endif %} + +{% endfor %} + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST": { +{% for port in port_names.split(',') %} + "{{ port }}": { + "profile_list" : "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }{% if not loop.last %},{% endif %} + +{% endfor %} + } +{%- endmacro %} + +{%- macro generate_queue_buffers(port_names) %} + "BUFFER_QUEUE": { +{% for port in port_names.split(',') %} + "{{ port }}|3-4": { + "profile" : "[BUFFER_PROFILE|egress_lossless_profile]" + }, +{% endfor %} +{% for port in port_names.split(',') %} + "{{ port }}|0-2": { + "profile" : "[BUFFER_PROFILE|q_lossy_profile]" + }, +{% endfor %} +{% for port in port_names.split(',') %} + "{{ port }}|5-6": { + "profile" : "[BUFFER_PROFILE|q_lossy_profile]" + }{% if not loop.last %},{% endif %} + +{% endfor %} + } +{%- endmacro %} diff --git a/tests/sku_create_input/3800_files/Mellanox-SN3800-D28C50/hwsku.json b/tests/sku_create_input/3800_files/Mellanox-SN3800-D28C50/hwsku.json new file mode 100644 index 0000000000..fd7584babe --- /dev/null +++ b/tests/sku_create_input/3800_files/Mellanox-SN3800-D28C50/hwsku.json @@ -0,0 +1,238 @@ +{ + "interfaces": { + "Ethernet0": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet4": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet8": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet12": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet16": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet20": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet24": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet28": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet32": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet34": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet36": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet38": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet40": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet42": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet44": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet46": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet48": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet52": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet56": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet60": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet64": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet68": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet72": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet76": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet80": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet84": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet88": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet92": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet96": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet100": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet104": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet106": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet108": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet110": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet112": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet116": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet120": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet124": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet128": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet132": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet136": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet140": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet144": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet148": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet152": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet156": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet160": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet164": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet168": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet172": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet176": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet178": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet180": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet182": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet184": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet186": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet188": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet190": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet192": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet196": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet200": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet204": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet208": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet212": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet216": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet220": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet224": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet228": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet232": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet236": { + "default_brkout_mode": "1x100G[50G,40G,25G,10G]" + }, + "Ethernet240": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet242": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet244": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet246": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet248": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet250": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet252": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + }, + "Ethernet254": { + "default_brkout_mode": "2x50G[40G,25G,10G]" + } + } +} diff --git a/tests/sku_create_input/3800_files/Mellanox-SN3800-D28C50/port_config.ini b/tests/sku_create_input/3800_files/Mellanox-SN3800-D28C50/port_config.ini new file mode 100644 index 0000000000..95f42923c1 --- /dev/null +++ b/tests/sku_create_input/3800_files/Mellanox-SN3800-D28C50/port_config.ini @@ -0,0 +1,79 @@ +# name lanes alias index speed +Ethernet0 0,1,2,3 etp1 1 100000 +Ethernet4 4,5,6,7 etp2 2 100000 +Ethernet8 8,9,10,11 etp3 3 100000 +Ethernet12 12,13,14,15 etp4 4 100000 +Ethernet16 16,17,18,19 etp5 5 100000 +Ethernet20 20,21,22,23 etp6 6 100000 +Ethernet24 24,25,26,27 etp7 7 100000 +Ethernet28 28,29,30,31 etp8 8 100000 +Ethernet32 32,33 etp9a 9 50000 +Ethernet34 34,35 etp9b 9 50000 +Ethernet36 36,37 etp10a 10 50000 +Ethernet38 38,39 etp10b 10 50000 +Ethernet40 40,41 etp11a 11 50000 +Ethernet42 42,43 etp11b 11 50000 +Ethernet44 44,45 etp12a 12 50000 +Ethernet46 46,47 etp12b 12 50000 +Ethernet48 48,49,50,51 etp13 13 100000 +Ethernet52 52,53,54,55 etp14 14 100000 +Ethernet56 56,57,58,59 etp15 15 100000 +Ethernet60 60,61,62,63 etp16 16 100000 +Ethernet64 64,65,66,67 etp17 17 100000 +Ethernet68 68,69,70,71 etp18 18 100000 +Ethernet72 72,73,74,75 etp19 19 100000 +Ethernet76 76,77,78,79 etp20 20 100000 +Ethernet80 80,81,82,83 etp21 21 100000 +Ethernet84 84,85,86,87 etp22 22 100000 +Ethernet88 88,89,90,91 etp23 23 100000 +Ethernet92 92,93,94,95 etp24 24 100000 +Ethernet96 96,97,98,99 etp25 25 100000 +Ethernet100 100,101,102,103 etp26 26 100000 +Ethernet104 104,105 etp27a 27 50000 +Ethernet106 106,107 etp27b 27 50000 +Ethernet108 108,109 etp28a 28 50000 +Ethernet110 110,111 etp28b 28 50000 +Ethernet112 112,113,114,115 etp29 29 100000 +Ethernet116 116,117,118,119 etp30 30 100000 +Ethernet120 120,121,122,123 etp31 31 100000 +Ethernet124 124,125,126,127 etp32 32 100000 +Ethernet128 128,129,130,131 etp33 33 100000 +Ethernet132 132,133,134,135 etp34 34 100000 +Ethernet136 136,137,138,139 etp35 35 100000 +Ethernet140 140,141,142,143 etp36 36 100000 +Ethernet144 144,145,146,147 etp37 37 100000 +Ethernet148 148,149,150,151 etp38 38 100000 +Ethernet152 152,153,154,155 etp39 39 100000 +Ethernet156 156,157,158,159 etp40 40 100000 +Ethernet160 160,161,162,163 etp41 41 100000 +Ethernet164 164,165,166,167 etp42 42 100000 +Ethernet168 168,169,170,171 etp43 43 100000 +Ethernet172 172,173,174,175 etp44 44 100000 +Ethernet176 176,177 etp45a 45 50000 +Ethernet178 178,179 etp45b 45 50000 +Ethernet180 180,181 etp46a 46 50000 +Ethernet182 182,183 etp46b 46 50000 +Ethernet184 184,185 etp47a 47 50000 +Ethernet186 186,187 etp47b 47 50000 +Ethernet188 188,189 etp48a 48 50000 +Ethernet190 190,191 etp48b 48 50000 +Ethernet192 192,193,194,195 etp49 49 100000 +Ethernet196 196,197,198,199 etp50 50 100000 +Ethernet200 200,201,202,203 etp51 51 100000 +Ethernet204 204,205,206,207 etp52 52 100000 +Ethernet208 208,209,210,211 etp53 53 100000 +Ethernet212 212,213,214,215 etp54 54 100000 +Ethernet216 216,217,218,219 etp55 55 100000 +Ethernet220 220,221,222,223 etp56 56 100000 +Ethernet224 224,225,226,227 etp57 57 100000 +Ethernet228 228,229,230,231 etp58 58 100000 +Ethernet232 232,233,234,235 etp59 59 100000 +Ethernet236 236,237,238,239 etp60 60 100000 +Ethernet240 240,241 etp61a 61 50000 +Ethernet242 242,243 etp61b 61 50000 +Ethernet244 244,245 etp62a 62 50000 +Ethernet246 246,247 etp62b 62 50000 +Ethernet248 248,249 etp63a 63 50000 +Ethernet250 250,251 etp63b 63 50000 +Ethernet252 252,253 etp64a 64 50000 +Ethernet254 254,255 etp64b 64 50000 diff --git a/tests/sku_create_input/3800_files/Mellanox-SN3800-D28C50/sai.profile b/tests/sku_create_input/3800_files/Mellanox-SN3800-D28C50/sai.profile new file mode 100644 index 0000000000..aa37fb30db --- /dev/null +++ b/tests/sku_create_input/3800_files/Mellanox-SN3800-D28C50/sai.profile @@ -0,0 +1 @@ +SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/sai_3800_28x50g_52x100g.xml diff --git a/tests/sku_create_input/3800_files/Mellanox-SN3800-D28C50/sai_3800_28x50g_52x100g.xml b/tests/sku_create_input/3800_files/Mellanox-SN3800-D28C50/sai_3800_28x50g_52x100g.xml new file mode 100644 index 0000000000..1b3c77ce38 --- /dev/null +++ b/tests/sku_create_input/3800_files/Mellanox-SN3800-D28C50/sai_3800_28x50g_52x100g.xml @@ -0,0 +1,470 @@ + + + + + + 00:02:03:04:05:00 + + + 1 + + + 64 + + + + + 1 + 4 + 48 + + + 3 + + + 1536 + + + 3 + 4 + 49 + 3 + 1536 + + + 5 + 4 + 50 + 3 + 1536 + + + 7 + 4 + 51 + 3 + 1536 + + + 9 + 4 + 52 + 3 + 1536 + + + 11 + 4 + 53 + 3 + 1536 + + + 13 + 4 + 54 + 3 + 1536 + + + 15 + 4 + 55 + 3 + 1536 + + + 17 + 4 + 56 + 3 + 1536 + + + 19 + 4 + 57 + 3 + 1536 + + + 21 + 4 + 58 + 3 + 1536 + + + 23 + 4 + 59 + 3 + 1536 + + + 25 + 4 + 60 + 3 + 1536 + + + 27 + 4 + 61 + 3 + 1536 + + + 29 + 4 + 62 + 3 + 1536 + + + 31 + 4 + 63 + 3 + 1536 + + + 33 + 4 + 12 + 3 + 1536 + + + 35 + 4 + 13 + 3 + 1536 + + + 37 + 4 + 14 + 3 + 1536 + + + 39 + 4 + 15 + 3 + 1536 + + + 41 + 4 + 8 + 3 + 1536 + + + 43 + 4 + 9 + 3 + 1536 + + + 45 + 4 + 10 + 3 + 1536 + + + 47 + 4 + 11 + 3 + 1536 + + + 49 + 4 + 4 + 3 + 1536 + + + 51 + 4 + 5 + 3 + 1536 + + + 53 + 4 + 6 + 3 + 1536 + + + 55 + 4 + 7 + 3 + 1536 + + + 57 + 4 + 0 + 3 + 1536 + + + 59 + 4 + 1 + 3 + 1536 + + + 61 + 4 + 2 + 3 + 1536 + + + 63 + 4 + 3 + 3 + 1536 + + + 65 + 4 + 44 + 3 + 1536 + + + 67 + 4 + 45 + 3 + 1536 + + + 69 + 4 + 46 + 3 + 1536 + + + 71 + 4 + 47 + 3 + 1536 + + + 73 + 4 + 40 + 3 + 1536 + + + 75 + 4 + 41 + 3 + 1536 + + + 77 + 4 + 42 + 3 + 1536 + + + 79 + 4 + 43 + 3 + 1536 + + + 81 + 4 + 36 + 3 + 1536 + + + 83 + 4 + 37 + 3 + 1536 + + + 85 + 4 + 38 + 3 + 1536 + + + 87 + 4 + 39 + 3 + 1536 + + + 89 + 4 + 32 + 3 + 1536 + + + 91 + 4 + 33 + 3 + 1536 + + + 93 + 4 + 34 + 3 + 1536 + + + 95 + 4 + 35 + 3 + 1536 + + + 97 + 4 + 16 + 3 + 1536 + + + 99 + 4 + 17 + 3 + 1536 + + + 101 + 4 + 18 + 3 + 1536 + + + 103 + 4 + 19 + 3 + 1536 + + + 105 + 4 + 20 + 3 + 1536 + + + 107 + 4 + 21 + 3 + 1536 + + + 109 + 4 + 22 + 3 + 1536 + + + 111 + 4 + 23 + 3 + 1536 + + + 113 + 4 + 24 + 3 + 1536 + + + 115 + 4 + 25 + 3 + 1536 + + + 117 + 4 + 26 + 3 + 1536 + + + 119 + 4 + 27 + 3 + 1536 + + + 121 + 4 + 28 + 3 + 1536 + + + 123 + 4 + 29 + 3 + 1536 + + + 125 + 4 + 30 + 3 + 1536 + + + 127 + 4 + 31 + 3 + 1536 + + + + diff --git a/tests/sku_create_input/3800_files/default_sku b/tests/sku_create_input/3800_files/default_sku new file mode 100644 index 0000000000..c5d9d513ad --- /dev/null +++ b/tests/sku_create_input/3800_files/default_sku @@ -0,0 +1 @@ +ACS-MSN3800 t1 diff --git a/tests/sku_create_input/3800_files/t0-1-06-minigraph.xml b/tests/sku_create_input/3800_files/t0-1-06-minigraph.xml new file mode 100644 index 0000000000..fd20e4fa60 --- /dev/null +++ b/tests/sku_create_input/3800_files/t0-1-06-minigraph.xml @@ -0,0 +1,13830 @@ + + + + + + +BGPSession +false +str-dcfx-t0-1-06 +20.152.11.9 +str-dcfx-t1-1-01 +20.152.11.8 +1 +10 +3 + + +BGPSession +false +str-dcfx-t0-1-06 +20.152.11.69 +str-dcfx-t1-1-02 +20.152.11.68 +1 +10 +3 + + +BGPSession +false +str-dcfx-t0-1-06 +20.152.11.137 +str-dcfx-t1-1-03 +20.152.11.136 +1 +10 +3 + + +BGPSession +false +str-dcfx-t0-1-06 +20.152.11.201 +str-dcfx-t1-1-05 +20.152.11.200 +1 +10 +3 + + +BGPSession +false +str-dcfx-t0-1-06 +dfc0::20:0:0:16 +str-dcfx-t1-1-01 +dfc0::20:0:0:15 +1 +10 +3 + + +BGPSession +false +str-dcfx-t0-1-06 +dfc0::20:0:0:10e +str-dcfx-t1-1-02 +dfc0::20:0:0:10d +1 +10 +3 + + +BGPSession +false +str-dcfx-t0-1-06 +dfc0::20:0:0:216 +str-dcfx-t1-1-03 +dfc0::20:0:0:215 +1 +10 +3 + + +BGPSession +false +str-dcfx-t0-1-06 +dfc0::20:0:0:316 +str-dcfx-t1-1-05 +dfc0::20:0:0:315 +1 +10 +3 + + + + +64606 + +str-dcfx-t0-1-06 + + +BGPPeer +
20.152.11.9
+ + + +
+ +BGPPeer +
20.152.11.69
+ + + +
+ +BGPPeer +
20.152.11.137
+ + + +
+ +BGPPeer +
20.152.11.201
+ + + +
+ +BGPPeer +
100.3.152.32
+ + + +
+ +BGPPeer +
dfc0::20:0:0:16
+ + + +
+ +BGPPeer +
dfc0::20:0:0:10e
+ + + +
+ +BGPPeer +
dfc0::20:0:0:216
+ + + +
+ +BGPPeer +
dfc0::20:0:0:316
+ + + +
+ +BGPPeer +
100.3.152.32
+ + + +BGPSLBPassive +50.50.50.0/24 +
+
+ +
+ +64801 + +str-dcfx-t1-1-01 + + +BGPPeer +
20.152.0.129
+ + + +
+ +BGPPeer +
20.152.11.0
+ + + +
+ +BGPPeer +
20.152.11.2
+ + + +
+ +BGPPeer +
20.152.11.4
+ + + +
+ +BGPPeer +
20.152.11.6
+ + + +
+ +BGPPeer +
20.152.11.8
+ + + +
+ +BGPPeer +
dfc0::20:0:0:5
+ + + +
+ +BGPPeer +
dfc0::20:0:0:9
+ + + +
+ +BGPPeer +
dfc0::20:0:0:d
+ + + +
+ +BGPPeer +
dfc0::20:0:0:11
+ + + +
+ +BGPPeer +
dfc0::20:0:0:15
+ + + +
+ +BGPPeer +
dfc0::20:152:2:206
+ + + +
+
+ +
+ +64801 + +str-dcfx-t1-1-02 + + +BGPPeer +
20.152.0.131
+ + + +
+ +BGPPeer +
20.152.11.64
+ + + +
+ +BGPPeer +
20.152.11.66
+ + + +
+ +BGPPeer +
20.152.11.68
+ + + +
+ +BGPPeer +
20.152.11.70
+ + + +
+ +BGPPeer +
20.152.11.72
+ + + +
+ +BGPPeer +
dfc0::20:0:0:105
+ + + +
+ +BGPPeer +
dfc0::20:0:0:109
+ + + +
+ +BGPPeer +
dfc0::20:0:0:10d
+ + + +
+ +BGPPeer +
dfc0::20:0:0:111
+ + + +
+ +BGPPeer +
dfc0::20:0:0:115
+ + + +
+ +BGPPeer +
dfc0::20:152:2:20a
+ + + +
+
+ +
+ +64801 + +str-dcfx-t1-1-03 + + +BGPPeer +
20.152.0.133
+ + + +
+ +BGPPeer +
20.152.11.128
+ + + +
+ +BGPPeer +
20.152.11.130
+ + + +
+ +BGPPeer +
20.152.11.132
+ + + +
+ +BGPPeer +
20.152.11.134
+ + + +
+ +BGPPeer +
20.152.11.136
+ + + +
+ +BGPPeer +
dfc0::20:0:0:205
+ + + +
+ +BGPPeer +
dfc0::20:0:0:209
+ + + +
+ +BGPPeer +
dfc0::20:0:0:20d
+ + + +
+ +BGPPeer +
dfc0::20:0:0:211
+ + + +
+ +BGPPeer +
dfc0::20:0:0:215
+ + + +
+ +BGPPeer +
dfc0::20:152:2:20e
+ + + +
+
+ +
+ +64801 + +str-dcfx-t1-1-05 + + +BGPPeer +
20.152.0.145
+ + + +
+ +BGPPeer +
20.152.11.192
+ + + +
+ +BGPPeer +
20.152.11.194
+ + + +
+ +BGPPeer +
20.152.11.196
+ + + +
+ +BGPPeer +
20.152.11.198
+ + + +
+ +BGPPeer +
20.152.11.200
+ + + +
+ +BGPPeer +
dfc0::20:0:0:305
+ + + +
+ +BGPPeer +
dfc0::20:0:0:309
+ + + +
+ +BGPPeer +
dfc0::20:0:0:30d
+ + + +
+ +BGPPeer +
dfc0::20:0:0:311
+ + + +
+ +BGPPeer +
dfc0::20:0:0:315
+ + + +
+ +BGPPeer +
dfc0::20:152:2:226
+ + + +
+
+ +
+
+ +
+ + + +MSN3800 +MSN3800 + + +DeviceInterface + +true +1 +etp1 +false +0 +Ethernet0 +100000 + + +DeviceInterface + +true +2 +etp2 +false +4 +Ethernet4 +100000 + + +DeviceInterface + +true +3 +etp3 +false +8 +Ethernet8 +100000 + + +DeviceInterface + +true +4 +etp4 +false +12 +Ethernet12 +100000 + + +DeviceInterface + +true +5 +etp5 +false +16 +Ethernet16 +100000 + + +DeviceInterface + +true +6 +etp6 +false +20 +Ethernet20 +100000 + + +DeviceInterface + +true +7 +etp7 +false +24 +Ethernet24 +100000 + + +DeviceInterface + +true +8 +etp8 +false +28 +Ethernet28 +100000 + + +DeviceInterface + +true +9 +etp9a +false +32 +Ethernet32 +50000 + + +DeviceInterface + +true +10 +etp9b +false +34 +Ethernet34 +50000 + + +DeviceInterface + +true +11 +etp10a +false +36 +Ethernet36 +50000 + + +DeviceInterface + +true +12 +etp10b +false +38 +Ethernet38 +50000 + + +DeviceInterface + +true +13 +etp11a +false +40 +Ethernet40 +50000 + + +DeviceInterface + +true +14 +etp11b +false +42 +Ethernet42 +50000 + + +DeviceInterface + +true +15 +etp12a +false +44 +Ethernet44 +50000 + + +DeviceInterface + +true +16 +etp12b +false +46 +Ethernet46 +50000 + + +DeviceInterface + +true +17 +etp13 +false +48 +Ethernet48 +100000 + + +DeviceInterface + +true +18 +etp14 +false +52 +Ethernet52 +100000 + + +DeviceInterface + +true +19 +etp15 +false +56 +Ethernet56 +100000 + + +DeviceInterface + +true +20 +etp16 +false +60 +Ethernet60 +100000 + + +DeviceInterface + +true +21 +etp17 +false +64 +Ethernet64 +100000 + + +DeviceInterface + +true +22 +etp18 +false +68 +Ethernet68 +100000 + + +DeviceInterface + +true +23 +etp19 +false +72 +Ethernet72 +100000 + + +DeviceInterface + +true +24 +etp20 +false +76 +Ethernet76 +100000 + + +DeviceInterface + +true +25 +etp21 +false +80 +Ethernet80 +100000 + + +DeviceInterface + +true +26 +etp22 +false +84 +Ethernet84 +100000 + + +DeviceInterface + +true +27 +etp23 +false +88 +Ethernet88 +100000 + + +DeviceInterface + +true +28 +etp24 +false +92 +Ethernet92 +100000 + + +DeviceInterface + +true +29 +etp25 +false +96 +Ethernet96 +100000 + + +DeviceInterface + +true +30 +etp26 +false +100 +Ethernet100 +100000 + + +DeviceInterface + +true +31 +etp27a +false +104 +Ethernet104 +50000 + + +DeviceInterface + +true +32 +etp27b +false +106 +Ethernet106 +50000 + + +DeviceInterface + +true +33 +etp28a +false +108 +Ethernet108 +50000 + + +DeviceInterface + +true +34 +etp28b +false +110 +Ethernet110 +50000 + + +DeviceInterface + +true +35 +etp29 +false +112 +Ethernet112 +100000 + + +DeviceInterface + +true +36 +etp30 +false +116 +Ethernet116 +100000 + + +DeviceInterface + +true +37 +etp31 +false +120 +Ethernet120 +100000 + + +DeviceInterface + +true +38 +etp32 +false +124 +Ethernet124 +100000 + + +DeviceInterface + +true +39 +etp33 +false +128 +Ethernet128 +100000 + + +DeviceInterface + +true +40 +etp34 +false +132 +Ethernet132 +100000 + + +DeviceInterface + +true +41 +etp35 +false +136 +Ethernet136 +100000 + + +DeviceInterface + +true +42 +etp36 +false +140 +Ethernet140 +100000 + + +DeviceInterface + +true +43 +etp37 +false +144 +Ethernet144 +100000 + + +DeviceInterface + +true +44 +etp38 +false +148 +Ethernet148 +100000 + + +DeviceInterface + +true +45 +etp39 +false +152 +Ethernet152 +100000 + + +DeviceInterface + +true +46 +etp40 +false +156 +Ethernet156 +100000 + + +DeviceInterface + +true +47 +etp41 +false +160 +Ethernet160 +100000 + + +DeviceInterface + +true +48 +etp42 +false +164 +Ethernet164 +100000 + + +DeviceInterface + +true +49 +etp43 +false +168 +Ethernet168 +100000 + + +DeviceInterface + +true +50 +etp44 +false +172 +Ethernet172 +100000 + + +DeviceInterface + +true +51 +etp45a +false +176 +Ethernet176 +50000 + + +DeviceInterface + +true +52 +etp45b +false +178 +Ethernet178 +50000 + + +DeviceInterface + +true +53 +etp46a +false +180 +Ethernet180 +50000 + + +DeviceInterface + +true +54 +etp46b +false +182 +Ethernet182 +50000 + + +DeviceInterface + +true +55 +etp47a +false +184 +Ethernet184 +50000 + + +DeviceInterface + +true +56 +etp47b +false +186 +Ethernet186 +50000 + + +DeviceInterface + +true +57 +etp48a +false +188 +Ethernet188 +50000 + + +DeviceInterface + +true +58 +etp48b +false +190 +Ethernet190 +50000 + + +DeviceInterface + +true +59 +etp49 +false +192 +Ethernet192 +100000 + + +DeviceInterface + +true +60 +etp50 +false +196 +Ethernet196 +100000 + + +DeviceInterface + +true +61 +etp51 +false +200 +Ethernet200 +100000 + + +DeviceInterface + +true +62 +etp52 +false +204 +Ethernet204 +100000 + + +DeviceInterface + +true +63 +etp53 +false +208 +Ethernet208 +100000 + + +DeviceInterface + +true +64 +etp54 +false +212 +Ethernet212 +100000 + + +DeviceInterface + +true +65 +etp55 +false +216 +Ethernet216 +100000 + + +DeviceInterface + +true +66 +etp56 +false +220 +Ethernet220 +100000 + + +DeviceInterface + +true +67 +etp57 +false +224 +Ethernet224 +100000 + + +DeviceInterface + +true +68 +etp58 +false +228 +Ethernet228 +100000 + + +DeviceInterface + +true +69 +etp59 +false +232 +Ethernet232 +100000 + + +DeviceInterface + +true +70 +etp60 +false +236 +Ethernet236 +100000 + + +DeviceInterface + +true +71 +etp61a +false +240 +Ethernet240 +50000 + + +DeviceInterface + +true +72 +etp61b +false +242 +Ethernet242 +50000 + + +DeviceInterface + +true +73 +etp62a +false +244 +Ethernet244 +50000 + + +DeviceInterface + +true +74 +etp62b +false +246 +Ethernet246 +50000 + + +DeviceInterface + +true +75 +etp63a +false +248 +Ethernet248 +50000 + + +DeviceInterface + +true +76 +etp63b +false +250 +Ethernet250 +50000 + + +DeviceInterface + +true +77 +etp64a +false +252 +Ethernet252 +50000 + + +DeviceInterface + +true +78 +etp64b +false +254 +Ethernet254 +50000 + + +true +0 +Mellanox-SN3800-D28C50_NEW + + +etp1 + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +1 + + +InterfaceGroupIndex +0:2:0:1 + + +InterfaceSubGroupIndex +1 + + + + +etp2 + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +2 + + +InterfaceGroupIndex +0:2:0:2 + + +InterfaceSubGroupIndex +1 + + + + +etp3 + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +3 + + +InterfaceGroupIndex +0:2:0:3 + + +InterfaceSubGroupIndex +1 + + + + +etp4 + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +4 + + +InterfaceGroupIndex +0:2:0:4 + + +InterfaceSubGroupIndex +1 + + + + +etp5 + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +5 + + +InterfaceGroupIndex +0:2:0:5 + + +InterfaceSubGroupIndex +1 + + + + +etp6 + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +6 + + +InterfaceGroupIndex +0:2:0:6 + + +InterfaceSubGroupIndex +1 + + + + +etp7 + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +7 + + +InterfaceGroupIndex +0:2:0:7 + + +InterfaceSubGroupIndex +1 + + + + +etp8 + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +8 + + +InterfaceGroupIndex +0:2:0:8 + + +InterfaceSubGroupIndex +1 + + + + +etp9a + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +9 + + +InterfaceGroupIndex +0:2:0:9 + + +InterfaceSubGroupIndex +1 + + + + +etp9b + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +9 + + +InterfaceGroupIndex +0:2:0:9 + + +InterfaceSubGroupIndex +1 + + + + +etp10a + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +10 + + +InterfaceGroupIndex +0:2:0:10 + + +InterfaceSubGroupIndex +1 + + + + +etp10b + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +10 + + +InterfaceGroupIndex +0:2:0:10 + + +InterfaceSubGroupIndex +1 + + + + +etp11a + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +11 + + +InterfaceGroupIndex +0:2:0:11 + + +InterfaceSubGroupIndex +1 + + + + +etp11b + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +11 + + +InterfaceGroupIndex +0:2:0:11 + + +InterfaceSubGroupIndex +1 + + + + +etp12a + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +12 + + +InterfaceGroupIndex +0:2:0:12 + + +InterfaceSubGroupIndex +1 + + + + +etp12b + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +12 + + +InterfaceGroupIndex +0:2:0:12 + + +InterfaceSubGroupIndex +1 + + + + +etp13 + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +13 + + +InterfaceGroupIndex +0:2:0:13 + + +InterfaceSubGroupIndex +1 + + + + +etp14 + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +14 + + +InterfaceGroupIndex +0:2:0:14 + + +InterfaceSubGroupIndex +1 + + + + +etp15 + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +15 + + +InterfaceGroupIndex +0:2:0:15 + + +InterfaceSubGroupIndex +1 + + + + +etp16 + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +16 + + +InterfaceGroupIndex +0:2:0:16 + + +InterfaceSubGroupIndex +1 + + + + +etp17 + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +17 + + +InterfaceGroupIndex +0:2:0:17 + + +InterfaceSubGroupIndex +1 + + + + +etp18 + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +18 + + +InterfaceGroupIndex +0:2:0:18 + + +InterfaceSubGroupIndex +1 + + + + +etp19 + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +19 + + +InterfaceGroupIndex +0:2:0:19 + + +InterfaceSubGroupIndex +1 + + + + +etp20 + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +20 + + +InterfaceGroupIndex +0:2:0:20 + + +InterfaceSubGroupIndex +1 + + + + +etp21 + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +21 + + +InterfaceGroupIndex +0:2:0:21 + + +InterfaceSubGroupIndex +1 + + + + +etp22 + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +22 + + +InterfaceGroupIndex +0:2:0:22 + + +InterfaceSubGroupIndex +1 + + + + +etp23 + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +23 + + +InterfaceGroupIndex +0:2:0:23 + + +InterfaceSubGroupIndex +1 + + + + +etp24 + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +24 + + +InterfaceGroupIndex +0:2:0:24 + + +InterfaceSubGroupIndex +1 + + + + +etp25 + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +25 + + +InterfaceGroupIndex +0:2:0:25 + + +InterfaceSubGroupIndex +1 + + + + +etp26 + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +26 + + +InterfaceGroupIndex +0:2:0:26 + + +InterfaceSubGroupIndex +1 + + + + +etp27a + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +27 + + +InterfaceGroupIndex +0:2:0:27 + + +InterfaceSubGroupIndex +1 + + + + +etp27b + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +27 + + +InterfaceGroupIndex +0:2:0:27 + + +InterfaceSubGroupIndex +1 + + + + +etp28a + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +28 + + +InterfaceGroupIndex +0:2:0:28 + + +InterfaceSubGroupIndex +1 + + + + +etp28b + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +28 + + +InterfaceGroupIndex +0:2:0:28 + + +InterfaceSubGroupIndex +1 + + + + +etp29 + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +29 + + +InterfaceGroupIndex +0:2:0:29 + + +InterfaceSubGroupIndex +1 + + + + +etp30 + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +30 + + +InterfaceGroupIndex +0:2:0:30 + + +InterfaceSubGroupIndex +1 + + + + +etp31 + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +31 + + +InterfaceGroupIndex +0:2:0:31 + + +InterfaceSubGroupIndex +1 + + + + +etp32 + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +32 + + +InterfaceGroupIndex +0:2:0:32 + + +InterfaceSubGroupIndex +1 + + + + +etp33 + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +33 + + +InterfaceGroupIndex +0:2:0:33 + + +InterfaceSubGroupIndex +1 + + + + +etp34 + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +34 + + +InterfaceGroupIndex +0:2:0:34 + + +InterfaceSubGroupIndex +1 + + + + +etp35 + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +35 + + +InterfaceGroupIndex +0:2:0:35 + + +InterfaceSubGroupIndex +1 + + + + +etp36 + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +36 + + +InterfaceGroupIndex +0:2:0:36 + + +InterfaceSubGroupIndex +1 + + + + +etp37 + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +37 + + +InterfaceGroupIndex +0:2:0:37 + + +InterfaceSubGroupIndex +1 + + + + +etp38 + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +38 + + +InterfaceGroupIndex +0:2:0:38 + + +InterfaceSubGroupIndex +1 + + + + +etp39 + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +39 + + +InterfaceGroupIndex +0:2:0:39 + + +InterfaceSubGroupIndex +1 + + + + +etp40 + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +40 + + +InterfaceGroupIndex +0:2:0:40 + + +InterfaceSubGroupIndex +1 + + + + +etp41 + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +41 + + +InterfaceGroupIndex +0:2:0:41 + + +InterfaceSubGroupIndex +1 + + + + +etp42 + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +42 + + +InterfaceGroupIndex +0:2:0:42 + + +InterfaceSubGroupIndex +1 + + + + +etp43 + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +43 + + +InterfaceGroupIndex +0:2:0:43 + + +InterfaceSubGroupIndex +1 + + + + +etp44 + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +44 + + +InterfaceGroupIndex +0:2:0:44 + + +InterfaceSubGroupIndex +1 + + + + +etp45a + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +45 + + +InterfaceGroupIndex +0:2:0:45 + + +InterfaceSubGroupIndex +1 + + + + +etp45b + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +45 + + +InterfaceGroupIndex +0:2:0:45 + + +InterfaceSubGroupIndex +1 + + + + +etp46a + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +46 + + +InterfaceGroupIndex +0:2:0:46 + + +InterfaceSubGroupIndex +1 + + + + +etp46b + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +46 + + +InterfaceGroupIndex +0:2:0:46 + + +InterfaceSubGroupIndex +1 + + + + +etp47a + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +47 + + +InterfaceGroupIndex +0:2:0:47 + + +InterfaceSubGroupIndex +1 + + + + +etp47b + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +47 + + +InterfaceGroupIndex +0:2:0:47 + + +InterfaceSubGroupIndex +1 + + + + +etp48a + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +48 + + +InterfaceGroupIndex +0:2:0:48 + + +InterfaceSubGroupIndex +1 + + + + +etp48b + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +48 + + +InterfaceGroupIndex +0:2:0:48 + + +InterfaceSubGroupIndex +1 + + + + +etp49 + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +49 + + +InterfaceGroupIndex +0:2:0:49 + + +InterfaceSubGroupIndex +1 + + + + +etp50 + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +50 + + +InterfaceGroupIndex +0:2:0:50 + + +InterfaceSubGroupIndex +1 + + + + +etp51 + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +51 + + +InterfaceGroupIndex +0:2:0:51 + + +InterfaceSubGroupIndex +1 + + + + +etp52 + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +52 + + +InterfaceGroupIndex +0:2:0:52 + + +InterfaceSubGroupIndex +1 + + + + +etp53 + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +53 + + +InterfaceGroupIndex +0:2:0:53 + + +InterfaceSubGroupIndex +1 + + + + +etp54 + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +54 + + +InterfaceGroupIndex +0:2:0:54 + + +InterfaceSubGroupIndex +1 + + + + +etp55 + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +55 + + +InterfaceGroupIndex +0:2:0:55 + + +InterfaceSubGroupIndex +1 + + + + +etp56 + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +56 + + +InterfaceGroupIndex +0:2:0:56 + + +InterfaceSubGroupIndex +1 + + + + +etp57 + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +57 + + +InterfaceGroupIndex +0:2:0:57 + + +InterfaceSubGroupIndex +1 + + + + +etp58 + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +58 + + +InterfaceGroupIndex +0:2:0:58 + + +InterfaceSubGroupIndex +1 + + + + +etp59 + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +59 + + +InterfaceGroupIndex +0:2:0:59 + + +InterfaceSubGroupIndex +1 + + + + +etp60 + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +60 + + +InterfaceGroupIndex +0:2:0:60 + + +InterfaceSubGroupIndex +1 + + + + +etp61a + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +61 + + +InterfaceGroupIndex +0:2:0:61 + + +InterfaceSubGroupIndex +1 + + + + +etp61b + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +61 + + +InterfaceGroupIndex +0:2:0:61 + + +InterfaceSubGroupIndex +1 + + + + +etp62a + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +62 + + +InterfaceGroupIndex +0:2:0:62 + + +InterfaceSubGroupIndex +1 + + + + +etp62b + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +62 + + +InterfaceGroupIndex +0:2:0:62 + + +InterfaceSubGroupIndex +1 + + + + +etp63a + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +63 + + +InterfaceGroupIndex +0:2:0:63 + + +InterfaceSubGroupIndex +1 + + + + +etp63b + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +63 + + +InterfaceGroupIndex +0:2:0:63 + + +InterfaceSubGroupIndex +1 + + + + +etp64a + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +64 + + +InterfaceGroupIndex +0:2:0:64 + + +InterfaceSubGroupIndex +1 + + + + +etp64b + + +LineCardSku +SN-LC + + +SlotIndex +2 + + +ChassisIndex +0 + + +PortIndex +64 + + +InterfaceGroupIndex +0:2:0:64 + + +InterfaceSubGroupIndex +1 + + + + + + +DeviceInterface + +true +1 +mgmt0 +false +mgmt0 + +1000 + + +DeviceInterface + +true +2 +mgmt1 +false +mgmt1 + +1000 + + + + + +DeviceInterface + +true +1 +ps1_12_aux +false +power0 + +0 + +C13 +C13 +false + + +DeviceInterface + +true +2 +ps2_12_aux +false +power1 + +0 + +C13 +C13 +true + + + + +DeviceInterface + +true +1 +ttyS0 +false +console + +9600 + + + + +Mellanox + + +Arista_7260-CX3-64F_1.0.0 +DCS-7260CX3-64 +Arista-7260CX3 + + +DeviceInterface +40000 +true +1 +Ethernet1/1 +false +1/1 + +100000 + + +DeviceInterface +40000 +true +2 +Ethernet2/1 +false +2/1 + +100000 + + +DeviceInterface +40000 +true +3 +Ethernet3/1 +false +3/1 + +100000 + + +DeviceInterface +40000 +true +4 +Ethernet4/1 +false +4/1 + +100000 + + +DeviceInterface +40000 +true +5 +Ethernet5/1 +false +5/1 + +100000 + + +DeviceInterface +40000 +true +6 +Ethernet6/1 +false +6/1 + +100000 + + +DeviceInterface +40000 +true +7 +Ethernet7/1 +false +7/1 + +100000 + + +DeviceInterface +40000 +true +8 +Ethernet8/1 +false +8/1 + +100000 + + +DeviceInterface +40000 +true +9 +Ethernet9/1 +false +9/1 + +100000 + + +DeviceInterface +40000 +true +10 +Ethernet10/1 +false +10/1 + +100000 + + +DeviceInterface +40000 +true +11 +Ethernet11/1 +false +11/1 + +100000 + + +DeviceInterface +40000 +true +12 +Ethernet12/1 +false +12/1 + +100000 + + +DeviceInterface +40000 +true +13 +Ethernet13/1 +false +13/1 + +100000 + + +DeviceInterface +40000 +true +14 +Ethernet14/1 +false +14/1 + +100000 + + +DeviceInterface +40000 +true +15 +Ethernet15/1 +false +15/1 + +100000 + + +DeviceInterface +40000 +true +16 +Ethernet16/1 +false +16/1 + +100000 + + +DeviceInterface +40000 +true +17 +Ethernet17/1 +false +17/1 + +100000 + + +DeviceInterface +40000 +true +18 +Ethernet18/1 +false +18/1 + +100000 + + +DeviceInterface +40000 +true +19 +Ethernet19/1 +false +19/1 + +100000 + + +DeviceInterface +40000 +true +20 +Ethernet20/1 +false +20/1 + +100000 + + +DeviceInterface +40000 +true +21 +Ethernet21/1 +false +21/1 + +100000 + + +DeviceInterface +40000 +true +22 +Ethernet22/1 +false +22/1 + +100000 + + +DeviceInterface +40000 +true +23 +Ethernet23/1 +false +23/1 + +100000 + + +DeviceInterface +40000 +true +24 +Ethernet24/1 +false +24/1 + +100000 + + +DeviceInterface +40000 +true +25 +Ethernet25/1 +false +25/1 + +100000 + + +DeviceInterface +40000 +true +26 +Ethernet26/1 +false +26/1 + +100000 + + +DeviceInterface +40000 +true +27 +Ethernet27/1 +false +27/1 + +100000 + + +DeviceInterface +40000 +true +28 +Ethernet28/1 +false +28/1 + +100000 + + +DeviceInterface +40000 +true +29 +Ethernet29/1 +false +29/1 + +100000 + + +DeviceInterface +40000 +true +30 +Ethernet30/1 +false +30/1 + +100000 + + +DeviceInterface +40000 +true +31 +Ethernet31/1 +false +31/1 + +100000 + + +DeviceInterface +40000 +true +32 +Ethernet32/1 +false +32/1 + +100000 + + +DeviceInterface +40000 +true +33 +Ethernet33/1 +false +33/1 + +100000 + + +DeviceInterface +40000 +true +34 +Ethernet34/1 +false +34/1 + +100000 + + +DeviceInterface +40000 +true +35 +Ethernet35/1 +false +35/1 + +100000 + + +DeviceInterface +40000 +true +36 +Ethernet36/1 +false +36/1 + +100000 + + +DeviceInterface +40000 +true +37 +Ethernet37/1 +false +37/1 + +100000 + + +DeviceInterface +40000 +true +38 +Ethernet38/1 +false +38/1 + +100000 + + +DeviceInterface +40000 +true +39 +Ethernet39/1 +false +39/1 + +100000 + + +DeviceInterface +40000 +true +40 +Ethernet40/1 +false +40/1 + +100000 + + +DeviceInterface +40000 +true +41 +Ethernet41/1 +false +41/1 + +100000 + + +DeviceInterface +40000 +true +42 +Ethernet42/1 +false +42/1 + +100000 + + +DeviceInterface +40000 +true +43 +Ethernet43/1 +false +43/1 + +100000 + + +DeviceInterface +40000 +true +44 +Ethernet44/1 +false +44/1 + +100000 + + +DeviceInterface +40000 +true +45 +Ethernet45/1 +false +45/1 + +100000 + + +DeviceInterface +40000 +true +46 +Ethernet46/1 +false +46/1 + +100000 + + +DeviceInterface +40000 +true +47 +Ethernet47/1 +false +47/1 + +100000 + + +DeviceInterface +40000 +true +48 +Ethernet48/1 +false +48/1 + +100000 + + +DeviceInterface +40000 +true +49 +Ethernet49/1 +false +49/1 + +100000 + + +DeviceInterface +40000 +true +50 +Ethernet50/1 +false +50/1 + +100000 + + +DeviceInterface +40000 +true +51 +Ethernet51/1 +false +51/1 + +100000 + + +DeviceInterface +40000 +true +52 +Ethernet52/1 +false +52/1 + +100000 + + +DeviceInterface +40000 +true +53 +Ethernet53/1 +false +53/1 + +100000 + + +DeviceInterface +40000 +true +54 +Ethernet54/1 +false +54/1 + +100000 + + +DeviceInterface +40000 +true +55 +Ethernet55/1 +false +55/1 + +100000 + + +DeviceInterface +40000 +true +56 +Ethernet56/1 +false +56/1 + +100000 + + +DeviceInterface +40000 +true +57 +Ethernet57/1 +false +57/1 + +100000 + + +DeviceInterface +40000 +true +58 +Ethernet58/1 +false +58/1 + +100000 + + +DeviceInterface +40000 +true +59 +Ethernet59/1 +false +59/1 + +100000 + + +DeviceInterface +40000 +true +60 +Ethernet60/1 +false +60/1 + +100000 + + +DeviceInterface +40000 +true +61 +Ethernet61/1 +false +61/1 + +100000 + + +DeviceInterface +40000 +true +62 +Ethernet62/1 +false +62/1 + +100000 + + +DeviceInterface +40000 +true +63 +Ethernet63/1 +false +63/1 + +100000 + + +DeviceInterface +40000 +true +64 +Ethernet64/1 +false +64/1 + +100000 + + +true +0 +Arista-7260CX3-C64 + + +Ethernet1/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +1 + + +InterfaceGroupIndex +0:1:0:1 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet2/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +2 + + +InterfaceGroupIndex +0:1:0:2 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet3/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +3 + + +InterfaceGroupIndex +0:1:0:3 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet4/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +4 + + +InterfaceGroupIndex +0:1:0:4 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet5/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +5 + + +InterfaceGroupIndex +0:1:0:5 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet6/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +6 + + +InterfaceGroupIndex +0:1:0:6 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet7/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +7 + + +InterfaceGroupIndex +0:1:0:7 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet8/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +8 + + +InterfaceGroupIndex +0:1:0:8 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet9/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +9 + + +InterfaceGroupIndex +0:1:0:9 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet10/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +10 + + +InterfaceGroupIndex +0:1:0:10 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet11/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +11 + + +InterfaceGroupIndex +0:1:0:11 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet12/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +12 + + +InterfaceGroupIndex +0:1:0:12 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet13/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +13 + + +InterfaceGroupIndex +0:1:0:13 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet14/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +14 + + +InterfaceGroupIndex +0:1:0:14 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet15/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +15 + + +InterfaceGroupIndex +0:1:0:15 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet16/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +16 + + +InterfaceGroupIndex +0:1:0:16 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet17/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +17 + + +InterfaceGroupIndex +0:1:0:17 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet18/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +18 + + +InterfaceGroupIndex +0:1:0:18 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet19/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +19 + + +InterfaceGroupIndex +0:1:0:19 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet20/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +20 + + +InterfaceGroupIndex +0:1:0:20 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet21/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +21 + + +InterfaceGroupIndex +0:1:0:21 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet22/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +22 + + +InterfaceGroupIndex +0:1:0:22 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet23/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +23 + + +InterfaceGroupIndex +0:1:0:23 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet24/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +24 + + +InterfaceGroupIndex +0:1:0:24 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet25/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +25 + + +InterfaceGroupIndex +0:1:0:25 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet26/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +26 + + +InterfaceGroupIndex +0:1:0:26 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet27/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +27 + + +InterfaceGroupIndex +0:1:0:27 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet28/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +28 + + +InterfaceGroupIndex +0:1:0:28 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet29/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +29 + + +InterfaceGroupIndex +0:1:0:29 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet30/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +30 + + +InterfaceGroupIndex +0:1:0:30 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet31/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +31 + + +InterfaceGroupIndex +0:1:0:31 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet32/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +32 + + +InterfaceGroupIndex +0:1:0:32 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet33/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +33 + + +InterfaceGroupIndex +0:1:0:33 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet34/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +34 + + +InterfaceGroupIndex +0:1:0:34 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet35/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +35 + + +InterfaceGroupIndex +0:1:0:35 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet36/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +36 + + +InterfaceGroupIndex +0:1:0:36 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet37/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +37 + + +InterfaceGroupIndex +0:1:0:37 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet38/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +38 + + +InterfaceGroupIndex +0:1:0:38 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet39/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +39 + + +InterfaceGroupIndex +0:1:0:39 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet40/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +40 + + +InterfaceGroupIndex +0:1:0:40 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet41/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +41 + + +InterfaceGroupIndex +0:1:0:41 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet42/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +42 + + +InterfaceGroupIndex +0:1:0:42 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet43/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +43 + + +InterfaceGroupIndex +0:1:0:43 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet44/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +44 + + +InterfaceGroupIndex +0:1:0:44 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet45/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +45 + + +InterfaceGroupIndex +0:1:0:45 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet46/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +46 + + +InterfaceGroupIndex +0:1:0:46 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet47/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +47 + + +InterfaceGroupIndex +0:1:0:47 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet48/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +48 + + +InterfaceGroupIndex +0:1:0:48 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet49/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +49 + + +InterfaceGroupIndex +0:1:0:49 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet50/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +50 + + +InterfaceGroupIndex +0:1:0:50 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet51/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +51 + + +InterfaceGroupIndex +0:1:0:51 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet52/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +52 + + +InterfaceGroupIndex +0:1:0:52 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet53/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +53 + + +InterfaceGroupIndex +0:1:0:53 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet54/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +54 + + +InterfaceGroupIndex +0:1:0:54 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet55/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +55 + + +InterfaceGroupIndex +0:1:0:55 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet56/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +56 + + +InterfaceGroupIndex +0:1:0:56 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet57/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +57 + + +InterfaceGroupIndex +0:1:0:57 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet58/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +58 + + +InterfaceGroupIndex +0:1:0:58 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet59/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +59 + + +InterfaceGroupIndex +0:1:0:59 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet60/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +60 + + +InterfaceGroupIndex +0:1:0:60 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet61/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +61 + + +InterfaceGroupIndex +0:1:0:61 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet62/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +62 + + +InterfaceGroupIndex +0:1:0:62 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet63/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +63 + + +InterfaceGroupIndex +0:1:0:63 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet64/1 + + +LineCardSku +7260CX3-64-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +64 + + +InterfaceGroupIndex +0:1:0:64 + + +InterfaceSubGroupIndex +1 + + + + + + +DeviceInterface + +true +1 +Management1 +false +mgmt1 + +1000 + + + + + +DeviceInterface + +true +1 +power0 +false + + +0 + +C13 +C13 +false + + +DeviceInterface + +true +2 +power1 +false + + +0 + +C13 +C13 +true + + + + +DeviceInterface + +true +1 +console +false +console + +9600 + + + + +Arista + + +Arista_7060CX-32S_1.0.0 +DCS-7060CX-32S +Arista-7060CX32S + + +DeviceInterface +40000 +true +1 +Ethernet1/1 +false +1/1 +Ethernet0 +100000 + + +DeviceInterface +40000 +true +2 +Ethernet2/1 +false +2/1 +Ethernet4 +100000 + + +DeviceInterface +40000 +true +3 +Ethernet3/1 +false +3/1 +Ethernet8 +100000 + + +DeviceInterface +40000 +true +4 +Ethernet4/1 +false +4/1 +Ethernet12 +100000 + + +DeviceInterface +40000 +true +5 +Ethernet5/1 +false +5/1 +Ethernet16 +100000 + + +DeviceInterface +40000 +true +6 +Ethernet11/1 +false +11/1 +Ethernet40 +100000 + + +DeviceInterface +40000 +true +7 +Ethernet12/1 +false +12/1 +Ethernet44 +100000 + + +DeviceInterface +40000 +true +8 +Ethernet13/1 +false +13/1 +Ethernet48 +100000 + + +DeviceInterface +40000 +true +9 +Ethernet14/1 +false +14/1 +Ethernet52 +100000 + + +DeviceInterface +40000 +true +10 +Ethernet15/1 +false +15/1 +Ethernet56 +100000 + + +DeviceInterface +40000 +true +11 +Ethernet17/1 +false +17/1 +Ethernet64 +100000 + + +DeviceInterface +40000 +true +12 +Ethernet18/1 +false +18/1 +Ethernet68 +100000 + + +DeviceInterface +40000 +true +13 +Ethernet19/1 +false +19/1 +Ethernet72 +100000 + + +DeviceInterface +40000 +true +14 +Ethernet20/1 +false +20/1 +Ethernet76 +100000 + + +DeviceInterface +40000 +true +15 +Ethernet27/1 +false +27/1 +Ethernet104 +100000 + + +DeviceInterface +40000 +true +16 +Ethernet28/1 +false +28/1 +Ethernet108 +100000 + + +DeviceInterface +40000 +true +17 +Ethernet29/1 +false +29/1 +Ethernet112 +100000 + + +DeviceInterface +40000 +true +18 +Ethernet30/1 +false +30/1 +Ethernet116 +100000 + + +DeviceInterface +40000 +true +19 +Ethernet6/1 +false +6/1 +Ethernet20 +100000 + + +DeviceInterface +40000 +true +20 +Ethernet16/1 +false +16/1 +Ethernet60 +100000 + + +DeviceInterface +40000 +true +21 +Ethernet21/1 +false +21/1 +Ethernet80 +100000 + + +DeviceInterface +40000 +true +22 +Ethernet22/1 +false +22/1 +Ethernet84 +100000 + + +DeviceInterface +40000 +true +23 +Ethernet31/1 +false +31/1 +Ethernet120 +100000 + + +DeviceInterface +40000 +true +24 +Ethernet32/1 +false +32/1 +Ethernet124 +100000 + + +DeviceInterface +40000 +true +25 +Ethernet7/1 +false +7/1 +Ethernet24 +100000 + + +DeviceInterface +40000 +true +26 +Ethernet8/1 +false +8/1 +Ethernet28 +100000 + + +DeviceInterface +40000 +true +27 +Ethernet9/1 +false +9/1 +Ethernet32 +100000 + + +DeviceInterface +40000 +true +28 +Ethernet10/1 +false +10/1 +Ethernet36 +100000 + + +DeviceInterface +40000 +true +29 +Ethernet23/1 +false +23/1 +Ethernet88 +100000 + + +DeviceInterface +40000 +true +30 +Ethernet24/1 +false +24/1 +Ethernet92 +100000 + + +DeviceInterface +40000 +true +31 +Ethernet25/1 +false +25/1 +Ethernet96 +100000 + + +DeviceInterface +40000 +true +32 +Ethernet26/1 +false +26/1 +Ethernet100 +100000 + + +true +0 +Arista-7060CX-32S-C32 + + +Ethernet1/1 + + +LineCardSku +7060-32CDQS-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +1 + + +InterfaceGroupIndex +0:1:0:1 + + +InterfaceSubGroupIndex +1 + + +InterfaceMemoryBufferInfo +DeviceHardwareModeling.DeviceSkuConstructs.MemoryBufferInfo + + + + +Ethernet2/1 + + +LineCardSku +7060-32CDQS-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +2 + + +InterfaceGroupIndex +0:1:0:2 + + +InterfaceSubGroupIndex +1 + + +InterfaceMemoryBufferInfo +DeviceHardwareModeling.DeviceSkuConstructs.MemoryBufferInfo + + + + +Ethernet3/1 + + +LineCardSku +7060-32CDQS-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +3 + + +InterfaceGroupIndex +0:1:0:3 + + +InterfaceSubGroupIndex +1 + + +InterfaceMemoryBufferInfo +DeviceHardwareModeling.DeviceSkuConstructs.MemoryBufferInfo + + + + +Ethernet4/1 + + +LineCardSku +7060-32CDQS-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +4 + + +InterfaceGroupIndex +0:1:0:4 + + +InterfaceSubGroupIndex +1 + + +InterfaceMemoryBufferInfo +DeviceHardwareModeling.DeviceSkuConstructs.MemoryBufferInfo + + + + +Ethernet5/1 + + +LineCardSku +7060-32CDQS-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +5 + + +InterfaceGroupIndex +0:1:0:5 + + +InterfaceSubGroupIndex +1 + + +InterfaceMemoryBufferInfo +DeviceHardwareModeling.DeviceSkuConstructs.MemoryBufferInfo + + + + +Ethernet11/1 + + +LineCardSku +7060-32CDQS-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +11 + + +InterfaceGroupIndex +0:1:0:11 + + +InterfaceSubGroupIndex +1 + + +InterfaceMemoryBufferInfo +DeviceHardwareModeling.DeviceSkuConstructs.MemoryBufferInfo + + + + +Ethernet12/1 + + +LineCardSku +7060-32CDQS-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +12 + + +InterfaceGroupIndex +0:1:0:12 + + +InterfaceSubGroupIndex +1 + + +InterfaceMemoryBufferInfo +DeviceHardwareModeling.DeviceSkuConstructs.MemoryBufferInfo + + + + +Ethernet13/1 + + +LineCardSku +7060-32CDQS-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +13 + + +InterfaceGroupIndex +0:1:0:13 + + +InterfaceSubGroupIndex +1 + + +InterfaceMemoryBufferInfo +DeviceHardwareModeling.DeviceSkuConstructs.MemoryBufferInfo + + + + +Ethernet14/1 + + +LineCardSku +7060-32CDQS-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +14 + + +InterfaceGroupIndex +0:1:0:14 + + +InterfaceSubGroupIndex +1 + + +InterfaceMemoryBufferInfo +DeviceHardwareModeling.DeviceSkuConstructs.MemoryBufferInfo + + + + +Ethernet15/1 + + +LineCardSku +7060-32CDQS-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +15 + + +InterfaceGroupIndex +0:1:0:15 + + +InterfaceSubGroupIndex +1 + + +InterfaceMemoryBufferInfo +DeviceHardwareModeling.DeviceSkuConstructs.MemoryBufferInfo + + + + +Ethernet17/1 + + +LineCardSku +7060-32CDQS-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +17 + + +InterfaceGroupIndex +0:1:0:17 + + +InterfaceSubGroupIndex +1 + + +InterfaceMemoryBufferInfo +DeviceHardwareModeling.DeviceSkuConstructs.MemoryBufferInfo + + + + +Ethernet18/1 + + +LineCardSku +7060-32CDQS-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +18 + + +InterfaceGroupIndex +0:1:0:18 + + +InterfaceSubGroupIndex +1 + + +InterfaceMemoryBufferInfo +DeviceHardwareModeling.DeviceSkuConstructs.MemoryBufferInfo + + + + +Ethernet19/1 + + +LineCardSku +7060-32CDQS-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +19 + + +InterfaceGroupIndex +0:1:0:19 + + +InterfaceSubGroupIndex +1 + + +InterfaceMemoryBufferInfo +DeviceHardwareModeling.DeviceSkuConstructs.MemoryBufferInfo + + + + +Ethernet20/1 + + +LineCardSku +7060-32CDQS-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +20 + + +InterfaceGroupIndex +0:1:0:20 + + +InterfaceSubGroupIndex +1 + + +InterfaceMemoryBufferInfo +DeviceHardwareModeling.DeviceSkuConstructs.MemoryBufferInfo + + + + +Ethernet27/1 + + +LineCardSku +7060-32CDQS-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +27 + + +InterfaceGroupIndex +0:1:0:27 + + +InterfaceSubGroupIndex +1 + + +InterfaceMemoryBufferInfo +DeviceHardwareModeling.DeviceSkuConstructs.MemoryBufferInfo + + + + +Ethernet28/1 + + +LineCardSku +7060-32CDQS-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +28 + + +InterfaceGroupIndex +0:1:0:28 + + +InterfaceSubGroupIndex +1 + + +InterfaceMemoryBufferInfo +DeviceHardwareModeling.DeviceSkuConstructs.MemoryBufferInfo + + + + +Ethernet29/1 + + +LineCardSku +7060-32CDQS-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +29 + + +InterfaceGroupIndex +0:1:0:29 + + +InterfaceSubGroupIndex +1 + + +InterfaceMemoryBufferInfo +DeviceHardwareModeling.DeviceSkuConstructs.MemoryBufferInfo + + + + +Ethernet30/1 + + +LineCardSku +7060-32CDQS-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +30 + + +InterfaceGroupIndex +0:1:0:30 + + +InterfaceSubGroupIndex +1 + + +InterfaceMemoryBufferInfo +DeviceHardwareModeling.DeviceSkuConstructs.MemoryBufferInfo + + + + +Ethernet6/1 + + +LineCardSku +7060-32CDQS-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +6 + + +InterfaceGroupIndex +0:1:0:6 + + +InterfaceSubGroupIndex +1 + + +InterfaceMemoryBufferInfo +DeviceHardwareModeling.DeviceSkuConstructs.MemoryBufferInfo + + + + +Ethernet16/1 + + +LineCardSku +7060-32CDQS-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +16 + + +InterfaceGroupIndex +0:1:0:16 + + +InterfaceSubGroupIndex +1 + + +InterfaceMemoryBufferInfo +DeviceHardwareModeling.DeviceSkuConstructs.MemoryBufferInfo + + + + +Ethernet21/1 + + +LineCardSku +7060-32CDQS-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +21 + + +InterfaceGroupIndex +0:1:0:21 + + +InterfaceSubGroupIndex +1 + + +InterfaceMemoryBufferInfo +DeviceHardwareModeling.DeviceSkuConstructs.MemoryBufferInfo + + + + +Ethernet22/1 + + +LineCardSku +7060-32CDQS-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +22 + + +InterfaceGroupIndex +0:1:0:22 + + +InterfaceSubGroupIndex +1 + + +InterfaceMemoryBufferInfo +DeviceHardwareModeling.DeviceSkuConstructs.MemoryBufferInfo + + + + +Ethernet31/1 + + +LineCardSku +7060-32CDQS-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +31 + + +InterfaceGroupIndex +0:1:0:31 + + +InterfaceSubGroupIndex +1 + + +InterfaceMemoryBufferInfo +DeviceHardwareModeling.DeviceSkuConstructs.MemoryBufferInfo + + + + +Ethernet32/1 + + +LineCardSku +7060-32CDQS-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +32 + + +InterfaceGroupIndex +0:1:0:32 + + +InterfaceSubGroupIndex +1 + + +InterfaceMemoryBufferInfo +DeviceHardwareModeling.DeviceSkuConstructs.MemoryBufferInfo + + + + +Ethernet7/1 + + +LineCardSku +7060-32CDQS-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +7 + + +InterfaceGroupIndex +0:1:0:7 + + +InterfaceSubGroupIndex +1 + + +InterfaceMemoryBufferInfo +DeviceHardwareModeling.DeviceSkuConstructs.MemoryBufferInfo + + + + +Ethernet8/1 + + +LineCardSku +7060-32CDQS-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +8 + + +InterfaceGroupIndex +0:1:0:8 + + +InterfaceSubGroupIndex +1 + + +InterfaceMemoryBufferInfo +DeviceHardwareModeling.DeviceSkuConstructs.MemoryBufferInfo + + + + +Ethernet9/1 + + +LineCardSku +7060-32CDQS-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +9 + + +InterfaceGroupIndex +0:1:0:9 + + +InterfaceSubGroupIndex +1 + + +InterfaceMemoryBufferInfo +DeviceHardwareModeling.DeviceSkuConstructs.MemoryBufferInfo + + + + +Ethernet10/1 + + +LineCardSku +7060-32CDQS-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +10 + + +InterfaceGroupIndex +0:1:0:10 + + +InterfaceSubGroupIndex +1 + + +InterfaceMemoryBufferInfo +DeviceHardwareModeling.DeviceSkuConstructs.MemoryBufferInfo + + + + +Ethernet23/1 + + +LineCardSku +7060-32CDQS-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +23 + + +InterfaceGroupIndex +0:1:0:23 + + +InterfaceSubGroupIndex +1 + + +InterfaceMemoryBufferInfo +DeviceHardwareModeling.DeviceSkuConstructs.MemoryBufferInfo + + + + +Ethernet24/1 + + +LineCardSku +7060-32CDQS-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +24 + + +InterfaceGroupIndex +0:1:0:24 + + +InterfaceSubGroupIndex +1 + + +InterfaceMemoryBufferInfo +DeviceHardwareModeling.DeviceSkuConstructs.MemoryBufferInfo + + + + +Ethernet25/1 + + +LineCardSku +7060-32CDQS-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +25 + + +InterfaceGroupIndex +0:1:0:25 + + +InterfaceSubGroupIndex +1 + + +InterfaceMemoryBufferInfo +DeviceHardwareModeling.DeviceSkuConstructs.MemoryBufferInfo + + + + +Ethernet26/1 + + +LineCardSku +7060-32CDQS-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +26 + + +InterfaceGroupIndex +0:1:0:26 + + +InterfaceSubGroupIndex +1 + + +InterfaceMemoryBufferInfo +DeviceHardwareModeling.DeviceSkuConstructs.MemoryBufferInfo + + + + + + +DeviceInterface + +true +1 +Management1 +false +mgmt0 + +1000 + + + + + +DeviceInterface + +true +1 +power0 +false + + +0 + +C13 +C13 +false + + +DeviceInterface + +true +2 +power1 +false + + +0 + +C13 +C13 +true + + + + +DeviceInterface + +true +1 +console +false +console + +9600 + + + + +Arista + + + +N9K-C9232C +Nexus-9232 + + +DeviceInterface +40000 +true +1 +Ethernet1/1 +false +1 +Ethernet0 +100000 + + +DeviceInterface +40000 +true +2 +Ethernet1/2 +false +2 +Ethernet4 +100000 + + +DeviceInterface +40000 +true +3 +Ethernet1/3 +false +3 +Ethernet8 +100000 + + +DeviceInterface +40000 +true +4 +Ethernet1/4 +false +4 +Ethernet12 +100000 + + +DeviceInterface +40000 +true +5 +Ethernet1/5 +false +5 +Ethernet16 +100000 + + +DeviceInterface +40000 +true +6 +Ethernet1/6 +false +6 +Ethernet20 +100000 + + +DeviceInterface +40000 +true +7 +Ethernet1/7 +false +7 +Ethernet24 +100000 + + +DeviceInterface +40000 +true +8 +Ethernet1/8 +false +8 +Ethernet28 +100000 + + +DeviceInterface +40000 +true +9 +Ethernet1/9 +false +9 +Ethernet32 +100000 + + +DeviceInterface +40000 +true +10 +Ethernet1/10 +false +10 +Ethernet36 +100000 + + +DeviceInterface +40000 +true +11 +Ethernet1/11 +false +11 +Ethernet40 +100000 + + +DeviceInterface +40000 +true +12 +Ethernet1/12 +false +12 +Ethernet44 +100000 + + +DeviceInterface +40000 +true +13 +Ethernet1/13 +false +13 +Ethernet48 +100000 + + +DeviceInterface +40000 +true +14 +Ethernet1/14 +false +14 +Ethernet52 +100000 + + +DeviceInterface +40000 +true +15 +Ethernet1/15 +false +15 +Ethernet56 +100000 + + +DeviceInterface +40000 +true +16 +Ethernet1/16 +false +16 +Ethernet60 +100000 + + +DeviceInterface +40000 +true +17 +Ethernet1/17 +false +17 +Ethernet64 +100000 + + +DeviceInterface +40000 +true +18 +Ethernet1/18 +false +18 +Ethernet68 +100000 + + +DeviceInterface +40000 +true +19 +Ethernet1/19 +false +19 +Ethernet72 +100000 + + +DeviceInterface +40000 +true +20 +Ethernet1/20 +false +20 +Ethernet76 +100000 + + +DeviceInterface +40000 +true +21 +Ethernet1/21 +false +21 +Ethernet80 +100000 + + +DeviceInterface +40000 +true +22 +Ethernet1/22 +false +22 +Ethernet84 +100000 + + +DeviceInterface +40000 +true +23 +Ethernet1/23 +false +23 +Ethernet88 +100000 + + +DeviceInterface +40000 +true +24 +Ethernet1/24 +false +24 +Ethernet92 +100000 + + +DeviceInterface +40000 +true +25 +Ethernet1/25 +false +25 +Ethernet96 +100000 + + +DeviceInterface +40000 +true +26 +Ethernet1/26 +false +26 +Ethernet100 +100000 + + +DeviceInterface +40000 +true +27 +Ethernet1/27 +false +27 +Ethernet104 +100000 + + +DeviceInterface +40000 +true +28 +Ethernet1/28 +false +28 +Ethernet108 +100000 + + +DeviceInterface +40000 +true +29 +Ethernet1/29 +false +29 +Ethernet112 +100000 + + +DeviceInterface +40000 +true +30 +Ethernet1/30 +false +30 +Ethernet116 +100000 + + +DeviceInterface +40000 +true +31 +Ethernet1/31 +false +31 +Ethernet120 +100000 + + +DeviceInterface +40000 +true +32 +Ethernet1/32 +false +32 +Ethernet124 +100000 + + +true +0 +Nexus-9232C + + +Ethernet1/1 + + +LineCardSku +N9K-C9232C-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +1 + + +InterfaceGroupIndex +0:1:0:1 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet1/2 + + +LineCardSku +N9K-C9232C-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +2 + + +InterfaceGroupIndex +0:1:0:2 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet1/3 + + +LineCardSku +N9K-C9232C-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +3 + + +InterfaceGroupIndex +0:1:0:3 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet1/4 + + +LineCardSku +N9K-C9232C-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +4 + + +InterfaceGroupIndex +0:1:0:4 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet1/5 + + +LineCardSku +N9K-C9232C-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +5 + + +InterfaceGroupIndex +0:1:0:5 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet1/6 + + +LineCardSku +N9K-C9232C-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +6 + + +InterfaceGroupIndex +0:1:0:6 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet1/7 + + +LineCardSku +N9K-C9232C-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +7 + + +InterfaceGroupIndex +0:1:0:7 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet1/8 + + +LineCardSku +N9K-C9232C-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +8 + + +InterfaceGroupIndex +0:1:0:8 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet1/9 + + +LineCardSku +N9K-C9232C-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +9 + + +InterfaceGroupIndex +0:1:0:9 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet1/10 + + +LineCardSku +N9K-C9232C-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +10 + + +InterfaceGroupIndex +0:1:0:10 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet1/11 + + +LineCardSku +N9K-C9232C-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +11 + + +InterfaceGroupIndex +0:1:0:11 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet1/12 + + +LineCardSku +N9K-C9232C-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +12 + + +InterfaceGroupIndex +0:1:0:12 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet1/13 + + +LineCardSku +N9K-C9232C-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +13 + + +InterfaceGroupIndex +0:1:0:13 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet1/14 + + +LineCardSku +N9K-C9232C-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +14 + + +InterfaceGroupIndex +0:1:0:14 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet1/15 + + +LineCardSku +N9K-C9232C-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +15 + + +InterfaceGroupIndex +0:1:0:15 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet1/16 + + +LineCardSku +N9K-C9232C-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +16 + + +InterfaceGroupIndex +0:1:0:16 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet1/17 + + +LineCardSku +N9K-C9232C-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +17 + + +InterfaceGroupIndex +0:1:0:17 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet1/18 + + +LineCardSku +N9K-C9232C-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +18 + + +InterfaceGroupIndex +0:1:0:18 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet1/19 + + +LineCardSku +N9K-C9232C-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +19 + + +InterfaceGroupIndex +0:1:0:19 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet1/20 + + +LineCardSku +N9K-C9232C-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +20 + + +InterfaceGroupIndex +0:1:0:20 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet1/21 + + +LineCardSku +N9K-C9232C-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +21 + + +InterfaceGroupIndex +0:1:0:21 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet1/22 + + +LineCardSku +N9K-C9232C-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +22 + + +InterfaceGroupIndex +0:1:0:22 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet1/23 + + +LineCardSku +N9K-C9232C-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +23 + + +InterfaceGroupIndex +0:1:0:23 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet1/24 + + +LineCardSku +N9K-C9232C-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +24 + + +InterfaceGroupIndex +0:1:0:24 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet1/25 + + +LineCardSku +N9K-C9232C-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +25 + + +InterfaceGroupIndex +0:1:0:25 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet1/26 + + +LineCardSku +N9K-C9232C-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +26 + + +InterfaceGroupIndex +0:1:0:26 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet1/27 + + +LineCardSku +N9K-C9232C-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +27 + + +InterfaceGroupIndex +0:1:0:27 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet1/28 + + +LineCardSku +N9K-C9232C-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +28 + + +InterfaceGroupIndex +0:1:0:28 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet1/29 + + +LineCardSku +N9K-C9232C-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +29 + + +InterfaceGroupIndex +0:1:0:29 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet1/30 + + +LineCardSku +N9K-C9232C-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +30 + + +InterfaceGroupIndex +0:1:0:30 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet1/31 + + +LineCardSku +N9K-C9232C-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +31 + + +InterfaceGroupIndex +0:1:0:31 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet1/32 + + +LineCardSku +N9K-C9232C-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +32 + + +InterfaceGroupIndex +0:1:0:32 + + +InterfaceSubGroupIndex +1 + + + + + + +DeviceInterface + +true +1 +mgmt0 +false +mgmt0 + +1000 + + + + + +DeviceInterface + +true +1 +power0 +false + + +0 + +C13 +C13 +false + + +DeviceInterface + +true +2 +power1 +false + + +0 + +C13 +C13 +false + + + + +DeviceInterface + +true +1 +console +false +console + +9600 + + + + +Cisco + + + +DCS-7170-64C + + + +DeviceInterface + +true +1 +Ethernet1/1 +false +1/1 + +100000 + + +DeviceInterface + +true +2 +Ethernet2/1 +false +2/1 + +100000 + + +DeviceInterface + +true +3 +Ethernet3/1 +false +3/1 + +100000 + + +DeviceInterface + +true +4 +Ethernet4/1 +false +4/1 + +100000 + + +DeviceInterface + +true +5 +Ethernet5/1 +false +5/1 + +100000 + + +DeviceInterface + +true +6 +Ethernet6/1 +false +6/1 + +100000 + + +DeviceInterface + +true +7 +Ethernet7/1 +false +7/1 + +100000 + + +DeviceInterface + +true +8 +Ethernet8/1 +false +8/1 + +100000 + + +DeviceInterface + +true +9 +Ethernet9/1 +false +9/1 + +100000 + + +DeviceInterface + +true +10 +Ethernet10/1 +false +10/1 + +100000 + + +DeviceInterface + +true +11 +Ethernet11/1 +false +11/1 + +100000 + + +DeviceInterface + +true +12 +Ethernet12/1 +false +12/1 + +100000 + + +DeviceInterface + +true +13 +Ethernet13/1 +false +13/1 + +100000 + + +DeviceInterface + +true +14 +Ethernet14/1 +false +14/1 + +100000 + + +DeviceInterface + +true +15 +Ethernet15/1 +false +15/1 + +100000 + + +DeviceInterface + +true +16 +Ethernet16/1 +false +16/1 + +100000 + + +DeviceInterface + +true +17 +Ethernet17/1 +false +17/1 + +100000 + + +DeviceInterface + +true +18 +Ethernet18/1 +false +18/1 + +100000 + + +DeviceInterface + +true +19 +Ethernet19/1 +false +19/1 + +100000 + + +DeviceInterface + +true +20 +Ethernet20/1 +false +20/1 + +100000 + + +DeviceInterface + +true +21 +Ethernet21/1 +false +21/1 + +100000 + + +DeviceInterface + +true +22 +Ethernet22/1 +false +22/1 + +100000 + + +DeviceInterface + +true +23 +Ethernet23/1 +false +23/1 + +100000 + + +DeviceInterface + +true +24 +Ethernet24/1 +false +24/1 + +100000 + + +DeviceInterface + +true +25 +Ethernet25/1 +false +25/1 + +100000 + + +DeviceInterface + +true +26 +Ethernet26/1 +false +26/1 + +100000 + + +DeviceInterface + +true +27 +Ethernet27/1 +false +27/1 + +100000 + + +DeviceInterface + +true +28 +Ethernet28/1 +false +28/1 + +100000 + + +DeviceInterface + +true +29 +Ethernet29/1 +false +29/1 + +100000 + + +DeviceInterface + +true +30 +Ethernet30/1 +false +30/1 + +100000 + + +DeviceInterface + +true +31 +Ethernet31/1 +false +31/1 + +100000 + + +DeviceInterface + +true +32 +Ethernet32/1 +false +32/1 + +100000 + + +DeviceInterface + +true +33 +Ethernet33/1 +false +33/1 + +100000 + + +DeviceInterface + +true +34 +Ethernet34/1 +false +34/1 + +100000 + + +DeviceInterface + +true +35 +Ethernet35/1 +false +35/1 + +100000 + + +DeviceInterface + +true +36 +Ethernet36/1 +false +36/1 + +100000 + + +DeviceInterface + +true +37 +Ethernet37/1 +false +37/1 + +100000 + + +DeviceInterface + +true +38 +Ethernet38/1 +false +38/1 + +100000 + + +DeviceInterface + +true +39 +Ethernet39/1 +false +39/1 + +100000 + + +DeviceInterface + +true +40 +Ethernet40/1 +false +40/1 + +100000 + + +DeviceInterface + +true +41 +Ethernet41/1 +false +41/1 + +100000 + + +DeviceInterface + +true +42 +Ethernet42/1 +false +42/1 + +100000 + + +DeviceInterface + +true +43 +Ethernet43/1 +false +43/1 + +100000 + + +DeviceInterface + +true +44 +Ethernet44/1 +false +44/1 + +100000 + + +DeviceInterface + +true +45 +Ethernet45/1 +false +45/1 + +100000 + + +DeviceInterface + +true +46 +Ethernet46/1 +false +46/1 + +100000 + + +DeviceInterface + +true +47 +Ethernet47/1 +false +47/1 + +100000 + + +DeviceInterface + +true +48 +Ethernet48/1 +false +48/1 + +100000 + + +DeviceInterface + +true +49 +Ethernet49/1 +false +49/1 + +100000 + + +DeviceInterface + +true +50 +Ethernet50/1 +false +50/1 + +100000 + + +DeviceInterface + +true +51 +Ethernet51/1 +false +51/1 + +100000 + + +DeviceInterface + +true +52 +Ethernet52/1 +false +52/1 + +100000 + + +DeviceInterface + +true +53 +Ethernet53/1 +false +53/1 + +100000 + + +DeviceInterface + +true +54 +Ethernet54/1 +false +54/1 + +100000 + + +DeviceInterface + +true +55 +Ethernet55/1 +false +55/1 + +100000 + + +DeviceInterface + +true +56 +Ethernet56/1 +false +56/1 + +100000 + + +DeviceInterface + +true +57 +Ethernet57/1 +false +57/1 + +100000 + + +DeviceInterface + +true +58 +Ethernet58/1 +false +58/1 + +100000 + + +DeviceInterface + +true +59 +Ethernet59/1 +false +59/1 + +100000 + + +DeviceInterface + +true +60 +Ethernet60/1 +false +60/1 + +100000 + + +DeviceInterface + +true +61 +Ethernet61/1 +false +61/1 + +100000 + + +DeviceInterface + +true +62 +Ethernet62/1 +false +62/1 + +100000 + + +DeviceInterface + +true +63 +Ethernet63/1 +false +63/1 + +100000 + + +DeviceInterface + +true +64 +Ethernet64/1 +false +64/1 + +100000 + + +DeviceInterface +1000 +true +65 +Ethernet65 +false +65 + +10000 + + +DeviceInterface +1000 +true +66 +Ethernet66 +false +66 + +10000 + + +true +0 +Arista-7170-66CY-F + + +Ethernet1/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +1 + + +InterfaceGroupIndex +0:1:0:1 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet2/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +2 + + +InterfaceGroupIndex +0:1:0:2 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet3/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +3 + + +InterfaceGroupIndex +0:1:0:3 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet4/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +4 + + +InterfaceGroupIndex +0:1:0:4 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet5/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +5 + + +InterfaceGroupIndex +0:1:0:5 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet6/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +6 + + +InterfaceGroupIndex +0:1:0:6 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet7/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +7 + + +InterfaceGroupIndex +0:1:0:7 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet8/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +8 + + +InterfaceGroupIndex +0:1:0:8 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet9/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +9 + + +InterfaceGroupIndex +0:1:0:9 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet10/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +10 + + +InterfaceGroupIndex +0:1:0:10 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet11/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +11 + + +InterfaceGroupIndex +0:1:0:11 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet12/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +12 + + +InterfaceGroupIndex +0:1:0:12 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet13/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +13 + + +InterfaceGroupIndex +0:1:0:13 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet14/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +14 + + +InterfaceGroupIndex +0:1:0:14 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet15/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +15 + + +InterfaceGroupIndex +0:1:0:15 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet16/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +16 + + +InterfaceGroupIndex +0:1:0:16 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet17/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +17 + + +InterfaceGroupIndex +0:1:0:17 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet18/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +18 + + +InterfaceGroupIndex +0:1:0:18 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet19/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +19 + + +InterfaceGroupIndex +0:1:0:19 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet20/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +20 + + +InterfaceGroupIndex +0:1:0:20 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet21/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +21 + + +InterfaceGroupIndex +0:1:0:21 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet22/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +22 + + +InterfaceGroupIndex +0:1:0:22 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet23/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +23 + + +InterfaceGroupIndex +0:1:0:23 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet24/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +24 + + +InterfaceGroupIndex +0:1:0:24 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet25/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +25 + + +InterfaceGroupIndex +0:1:0:25 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet26/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +26 + + +InterfaceGroupIndex +0:1:0:26 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet27/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +27 + + +InterfaceGroupIndex +0:1:0:27 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet28/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +28 + + +InterfaceGroupIndex +0:1:0:28 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet29/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +29 + + +InterfaceGroupIndex +0:1:0:29 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet30/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +30 + + +InterfaceGroupIndex +0:1:0:30 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet31/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +31 + + +InterfaceGroupIndex +0:1:0:31 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet32/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +32 + + +InterfaceGroupIndex +0:1:0:32 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet33/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +33 + + +InterfaceGroupIndex +0:1:0:33 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet34/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +34 + + +InterfaceGroupIndex +0:1:0:34 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet35/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +35 + + +InterfaceGroupIndex +0:1:0:35 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet36/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +36 + + +InterfaceGroupIndex +0:1:0:36 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet37/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +37 + + +InterfaceGroupIndex +0:1:0:37 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet38/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +38 + + +InterfaceGroupIndex +0:1:0:38 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet39/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +39 + + +InterfaceGroupIndex +0:1:0:39 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet40/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +40 + + +InterfaceGroupIndex +0:1:0:40 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet41/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +41 + + +InterfaceGroupIndex +0:1:0:41 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet42/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +42 + + +InterfaceGroupIndex +0:1:0:42 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet43/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +43 + + +InterfaceGroupIndex +0:1:0:43 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet44/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +44 + + +InterfaceGroupIndex +0:1:0:44 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet45/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +45 + + +InterfaceGroupIndex +0:1:0:45 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet46/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +46 + + +InterfaceGroupIndex +0:1:0:46 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet47/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +47 + + +InterfaceGroupIndex +0:1:0:47 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet48/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +48 + + +InterfaceGroupIndex +0:1:0:48 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet49/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +49 + + +InterfaceGroupIndex +0:1:0:49 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet50/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +50 + + +InterfaceGroupIndex +0:1:0:50 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet51/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +51 + + +InterfaceGroupIndex +0:1:0:51 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet52/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +52 + + +InterfaceGroupIndex +0:1:0:52 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet53/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +53 + + +InterfaceGroupIndex +0:1:0:53 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet54/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +54 + + +InterfaceGroupIndex +0:1:0:54 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet55/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +55 + + +InterfaceGroupIndex +0:1:0:55 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet56/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +56 + + +InterfaceGroupIndex +0:1:0:56 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet57/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +57 + + +InterfaceGroupIndex +0:1:0:57 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet58/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +58 + + +InterfaceGroupIndex +0:1:0:58 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet59/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +59 + + +InterfaceGroupIndex +0:1:0:59 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet60/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +60 + + +InterfaceGroupIndex +0:1:0:60 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet61/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +61 + + +InterfaceGroupIndex +0:1:0:61 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet62/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +62 + + +InterfaceGroupIndex +0:1:0:62 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet63/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +63 + + +InterfaceGroupIndex +0:1:0:63 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet64/1 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +64 + + +InterfaceGroupIndex +0:1:0:64 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet65 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +65 + + +InterfaceGroupIndex +0:1:0:65 + + +InterfaceSubGroupIndex +1 + + + + +Ethernet66 + + +LineCardSku +Arista-7170-64CQ-2Y-LC + + +SlotIndex +1 + + +ChassisIndex +0 + + +PortIndex +66 + + +InterfaceGroupIndex +0:1:0:66 + + +InterfaceSubGroupIndex +1 + + + + + + +DeviceInterface + +true +1 +Management1 +false +mgmt1 + +1000 + + + + + +DeviceInterface + +true +1 +power0 +false + + +0 + +C13 +C13 +false + + +DeviceInterface + +true +2 +power1 +false + + +0 + +C13 +C13 +true + + + + +DeviceInterface + +true +1 +console +false +console + +9600 + + + + +Arista + + + +Cisco-2901 +Cisco-2901 + + +DeviceInterface + +true +1 +GigabitEthernet0/0 +false +0,0 + +1000 + + +DeviceInterface + +true +2 +GigabitEthernet0/1 +false +0,1 + +1000 + + +true +0 +Cisco-2901 + + + + + +DeviceInterface + +true +1 +power0 +false +power0 + +0 + +C13 +C13 +false + + + + +DeviceInterface + +true +1 +console +false +0 + +9600 + + + +DeviceInterface + +true +2 +0/0/0 +false +3 + +9600 +2003 + + +DeviceInterface + +true +3 +0/0/1 +false +4 + +9600 +2004 + + +DeviceInterface + +true +4 +0/0/2 +false +5 + +9600 +2005 + + +DeviceInterface + +true +5 +0/0/3 +false +6 + +9600 +2006 + + +DeviceInterface + +true +6 +0/0/4 +false +7 + +9600 +2007 + + +DeviceInterface + +true +7 +0/0/5 +false +8 + +9600 +2008 + + +DeviceInterface + +true +8 +0/0/6 +false +9 + +9600 +2009 + + +DeviceInterface + +true +9 +0/0/7 +false +10 + +9600 +2010 + + +DeviceInterface + +true +10 +0/0/8 +false +11 + +9600 +2011 + + +DeviceInterface + +true +11 +0/0/9 +false +12 + +9600 +2012 + + +DeviceInterface + +true +12 +0/0/10 +false +13 + +9600 +2013 + + +DeviceInterface + +true +13 +0/0/11 +false +14 + +9600 +2014 + + +DeviceInterface + +true +14 +0/0/12 +false +15 + +9600 +2015 + + +DeviceInterface + +true +15 +0/0/13 +false +16 + +9600 +2016 + + +DeviceInterface + +true +16 +0/0/14 +false +17 + +9600 +2017 + + +DeviceInterface + +true +17 +0/0/15 +false +18 + +9600 +2018 + + +DeviceInterface + +true +18 +0/1/0 +false +19 + +9600 +2019 + + +DeviceInterface + +true +19 +0/1/1 +false +20 + +9600 +2020 + + +DeviceInterface + +true +20 +0/1/2 +false +21 + +9600 +2021 + + +DeviceInterface + +true +21 +0/1/3 +false +22 + +9600 +2022 + + +DeviceInterface + +true +22 +0/1/4 +false +23 + +9600 +2023 + + +DeviceInterface + +true +23 +0/1/5 +false +24 + +9600 +2024 + + +DeviceInterface + +true +24 +0/1/6 +false +25 + +9600 +2025 + + +DeviceInterface + +true +25 +0/1/7 +false +26 + +9600 +2026 + + +DeviceInterface + +true +26 +0/1/8 +false +27 + +9600 +2027 + + +DeviceInterface + +true +27 +0/1/9 +false +28 + +9600 +2028 + + +DeviceInterface + +true +28 +0/1/10 +false +29 + +9600 +2029 + + +DeviceInterface + +true +29 +0/1/11 +false +30 + +9600 +2030 + + +DeviceInterface + +true +30 +0/1/12 +false +31 + +9600 +2031 + + +DeviceInterface + +true +31 +0/1/13 +false +32 + +9600 +2032 + + +DeviceInterface + +true +32 +0/1/14 +false +33 + +9600 +2033 + + +DeviceInterface + +true +33 +0/1/15 +false +34 + +9600 +2034 + + +DeviceInterface + +true +34 +0/2/0 +false +35 + +9600 +2035 + + +DeviceInterface + +true +35 +0/2/1 +false +36 + +9600 +2036 + + +DeviceInterface + +true +36 +0/2/2 +false +37 + +9600 +2037 + + +DeviceInterface + +true +37 +0/2/3 +false +38 + +9600 +2038 + + +DeviceInterface + +true +38 +0/2/4 +false +39 + +9600 +2039 + + +DeviceInterface + +true +39 +0/2/5 +false +40 + +9600 +2040 + + +DeviceInterface + +true +40 +0/2/6 +false +41 + +9600 +2041 + + +DeviceInterface + +true +41 +0/2/7 +false +42 + +9600 +2042 + + +DeviceInterface + +true +42 +0/2/8 +false +43 + +9600 +2043 + + +DeviceInterface + +true +43 +0/2/9 +false +44 + +9600 +2044 + + +DeviceInterface + +true +44 +0/2/10 +false +45 + +9600 +2045 + + +DeviceInterface + +true +45 +0/2/11 +false +46 + +9600 +2046 + + +DeviceInterface + +true +46 +0/2/12 +false +47 + +9600 +2047 + + +DeviceInterface + +true +47 +0/2/13 +false +48 + +9600 +2048 + + +DeviceInterface + +true +48 +0/2/14 +false +49 + +9600 +2049 + + +DeviceInterface + +true +49 +0/2/15 +false +50 + +9600 +2050 + + +DeviceInterface + +true +50 +0/3/0 +false +51 + +9600 +2051 + + +DeviceInterface + +true +51 +0/3/1 +false +52 + +9600 +2052 + + +DeviceInterface + +true +52 +0/3/2 +false +53 + +9600 +2053 + + +DeviceInterface + +true +53 +0/3/3 +false +54 + +9600 +2054 + + +DeviceInterface + +true +54 +0/3/4 +false +55 + +9600 +2055 + + +DeviceInterface + +true +55 +0/3/5 +false +56 + +9600 +2056 + + +DeviceInterface + +true +56 +0/3/6 +false +57 + +9600 +2057 + + +DeviceInterface + +true +57 +0/3/7 +false +58 + +9600 +2058 + + +DeviceInterface + +true +58 +0/3/8 +false +59 + +9600 +2059 + + +DeviceInterface + +true +59 +0/3/9 +false +60 + +9600 +2060 + + +DeviceInterface + +true +60 +0/3/10 +false +61 + +9600 +2061 + + +DeviceInterface + +true +61 +0/3/11 +false +62 + +9600 +2062 + + +DeviceInterface + +true +62 +0/3/12 +false +63 + +9600 +2063 + + +DeviceInterface + +true +63 +0/3/13 +false +64 + +9600 +2064 + + +DeviceInterface + +true +64 +0/3/14 +false +65 + +9600 +2065 + + +DeviceInterface + +true +65 +0/3/15 +false +66 + +9600 +2066 + + +DeviceInterface + +true +66 +1/0 +false +67 + +9600 +2067 + + +DeviceInterface + +true +67 +1/1 +false +68 + +9600 +2068 + + +DeviceInterface + +true +68 +1/2 +false +69 + +9600 +2069 + + +DeviceInterface + +true +69 +1/3 +false +70 + +9600 +2070 + + +DeviceInterface + +true +70 +1/4 +false +71 + +9600 +2071 + + +DeviceInterface + +true +71 +1/5 +false +72 + +9600 +2072 + + +DeviceInterface + +true +72 +1/6 +false +73 + +9600 +2073 + + +DeviceInterface + +true +73 +1/7 +false +74 + +9600 +2074 + + +DeviceInterface + +true +74 +1/8 +false +75 + +9600 +2075 + + +DeviceInterface + +true +75 +1/9 +false +76 + +9600 +2076 + + +DeviceInterface + +true +76 +1/10 +false +77 + +9600 +2077 + + +DeviceInterface + +true +77 +1/11 +false +78 + +9600 +2078 + + +DeviceInterface + +true +78 +1/12 +false +79 + +9600 +2079 + + +DeviceInterface + +true +79 +1/13 +false +80 + +9600 +2080 + + +DeviceInterface + +true +80 +1/14 +false +81 + +9600 +2081 + + +DeviceInterface + +true +81 +1/15 +false +82 + +9600 +2082 + + +DeviceInterface + +true +82 +1/16 +false +83 + +9600 +2083 + + +DeviceInterface + +true +83 +1/17 +false +84 + +9600 +2084 + + +DeviceInterface + +true +84 +1/18 +false +85 + +9600 +2085 + + +DeviceInterface + +true +85 +1/19 +false +86 + +9600 +2086 + + +DeviceInterface + +true +86 +1/20 +false +87 + +9600 +2087 + + +DeviceInterface + +true +87 +1/21 +false +88 + +9600 +2088 + + +DeviceInterface + +true +88 +1/22 +false +89 + +9600 +2089 + + +DeviceInterface + +true +89 +1/23 +false +90 + +9600 +2090 + + +DeviceInterface + +true +90 +1/24 +false +91 + +9600 +2091 + + +DeviceInterface + +true +91 +1/25 +false +92 + +9600 +2092 + + +DeviceInterface + +true +92 +1/26 +false +93 + +9600 +2093 + + +DeviceInterface + +true +93 +1/27 +false +94 + +9600 +2094 + + +DeviceInterface + +true +94 +1/28 +false +95 + +9600 +2095 + + +DeviceInterface + +true +95 +1/29 +false +96 + +9600 +2096 + + +DeviceInterface + +true +96 +1/30 +false +97 + +9600 +2097 + + +DeviceInterface + +true +97 +1/31 +false +98 + +9600 +2098 + + + +Cisco + + + + + + + +LoopbackInterface +HostIP +Loopback0 + +100.3.152.32/32 + +100.3.152.32/32 + + +LoopbackInterface +HostIP1 +Loopback0 + +dfc0:100:3:11::/128 + +dfc0:100:3:11::/128 + + +LoopbackInterface +HostIP2 +Loopback1 + +100.3.162.199/32 + +100.3.162.199/32 + + + + +ManagementInterface +ManagementIP +mgmt0 + +10.3.152.32/24 + +10.3.152.32/24 + + + + + + +str-dcfx-t0-1-06 + + +PortChannelInterface +PortChannel1 +etp29;etp30;etp31;etp32 + + + +PortChannelInterface +PortChannel2 +etp23;etp24;etp21;etp22 + + + +PortChannelInterface +PortChannel3 +etp17;etp18;etp19;etp20 + + + +PortChannelInterface +PortChannel4 +etp57;etp58;etp59;etp60 + + + + + + + +IPInterface + +PortChannel1 +20.152.11.9/31 + + +IPInterface + +PortChannel1 +dfc0::20:0:0:16/126 + + +IPInterface + +PortChannel2 +20.152.11.69/31 + + +IPInterface + +PortChannel2 +dfc0::20:0:0:10e/126 + + +IPInterface + +PortChannel3 +20.152.11.137/31 + + +IPInterface + +PortChannel3 +dfc0::20:0:0:216/126 + + +IPInterface + +PortChannel4 +20.152.11.201/31 + + +IPInterface + +PortChannel4 +dfc0::20:0:0:316/126 + + + + + +DataAcl + +ERSPAN +everflow +Everflow + + + +DataAcl + +ERSPANv6 +everflowV6 +Everflow + + + +DataAcl + +SNMP +IPV6-SNMP_ACL +SNMP + + + +DataAcl + +SNMP +SNMP_ACL +SNMP + + + +DataAcl + +VTY_LINE +ipv6-ssh-only +SSH + + + +DataAcl + +VTY_LINE +ssh-only +SSH + + + + + + + + + + + + + + + +str-dcfx-t0-1-06 + + +AclTemplate + +SonicAzMgmtAcl.xml + + +CloudType + +Public + + +ConfigDbAclFile + +SonicNativeAzAcl.liquid + + +ConfigTemplateFile + +Sonic.xml + + +DcCode + +STR + + +DeploymentId + +2 + + +ErspanDestinationIpv4 + +10.20.6.4 + + +FirmwareProfile + +SONiC-Mellanox-2700 + + +Function + +LabTest + + +GlobalUtilityNodeRanges + +10.48.64.0/20 + + +GNSDefaultRanges + +10.20.0.0/19;10.20.192.0/18 + + +Group + +str:-686395378:2 + + +InitConfigTemplateFile + +Sonic.init.xml + + +Location + +STR + + +NtpResources + +10.20.8.129;10.20.8.130 + + +RemoteAuthenticationProtocol + +Tacacs + + +RootAccountSecretSecurityLevel + +5 + + +SnmpResources + +10.52.180.165;10.3.157.12 + + +SonicConfigTemplateFile + +Sonic.xml + + +SonicEnabled + +True + + +SyslogResources + +10.20.6.16;10.3.157.12 + + +TacacsSecurityLevel + +7 + + +TacacsServer + +10.3.145.15;10.3.145.14 + + +UtilityNodeRanges + +10.208.239.0/25 + + +WaNetMonServerIPs + +10.203.65.200/32;10.203.65.201/32 + + +OsVersion + +SONiC.20181130.74 + + + + + + + + + +DeviceInterfaceLink +100000 +false +str-dcfx-t1-1-01 +Ethernet26/1 +true +str-dcfx-t0-1-06 +etp29 +true + + +DeviceInterfaceLink +100000 +false +str-dcfx-t1-1-01 +Ethernet27/1 +true +str-dcfx-t0-1-06 +etp30 +true + + +DeviceInterfaceLink +100000 +false +str-dcfx-t1-1-01 +Ethernet28/1 +true +str-dcfx-t0-1-06 +etp31 +true + + +DeviceInterfaceLink +100000 +false +str-dcfx-t1-1-01 +Ethernet29/1 +true +str-dcfx-t0-1-06 +etp32 +true + + +DeviceInterfaceLink +100000 +false +str-dcfx-t1-1-02 +Ethernet25/1 +true +str-dcfx-t0-1-06 +etp21 +true + + +DeviceInterfaceLink +100000 +false +str-dcfx-t1-1-02 +Ethernet26/1 +true +str-dcfx-t0-1-06 +etp22 +true + + +DeviceInterfaceLink +100000 +false +str-dcfx-t1-1-02 +Ethernet27/1 +true +str-dcfx-t0-1-06 +etp23 +true + + +DeviceInterfaceLink +100000 +false +str-dcfx-t1-1-02 +Ethernet28/1 +true +str-dcfx-t0-1-06 +etp24 +true + + +DeviceInterfaceLink +100000 +false +str-dcfx-t1-1-03 +Ethernet1/27 +true +str-dcfx-t0-1-06 +etp17 +true + + +DeviceInterfaceLink +100000 +false +str-dcfx-t1-1-03 +Ethernet1/28 +true +str-dcfx-t0-1-06 +etp18 +true + + +DeviceInterfaceLink +100000 +false +str-dcfx-t1-1-03 +Ethernet1/29 +true +str-dcfx-t0-1-06 +etp19 +true + + +DeviceInterfaceLink +100000 +false +str-dcfx-t1-1-03 +Ethernet1/30 +true +str-dcfx-t0-1-06 +etp20 +true + + +DeviceInterfaceLink +100000 +false +str-dcfx-t1-1-05 +Ethernet25/1 +true +str-dcfx-t0-1-06 +etp57 +true + + +DeviceInterfaceLink +100000 +false +str-dcfx-t1-1-05 +Ethernet26/1 +true +str-dcfx-t0-1-06 +etp58 +true + + +DeviceInterfaceLink +100000 +false +str-dcfx-t1-1-05 +Ethernet27/1 +true +str-dcfx-t0-1-06 +etp59 +true + + +DeviceInterfaceLink +100000 +false +str-dcfx-t1-1-05 +Ethernet28/1 +true +str-dcfx-t0-1-06 +etp60 +true + + +DeviceSerialLink +9600 +false +str-ts202-be05 +0/1/2 +true +str-dcfx-t0-1-06 +ttyS0 +true +2021 + + + + +ToRRouter +
+100.3.152.32/32 +
+ +dfc0:100:3:11::/128 + + +Unprovisioned +None + +2 + +STR + +10.3.152.32/24 + + +::/0 + + +str-dcfx-t0-1-06 +Mellanox-SN3800-D28C50_NEW +
+ +LeafRouter +
+100.3.152.57/32 +
+ +dfc0:100:3:1::/128 + + +StarLab2 +None + +2 + +STR + +10.3.152.57/24 + + +::/0 + + +str-dcfx-t1-1-01 +Arista-7260CX3-C64 +
+ +LeafRouter +
+100.3.152.55/32 +
+ +dfc0:100:3:3::/128 + + +StarLab2 +None + +2 + +STR + +10.3.152.55/24 + + +::/0 + +SGD19341484 +str-dcfx-t1-1-02 +Arista-7060CX-32S-C32 +
+ +LeafRouter +
+100.3.152.53/32 +
+ +dfc0:100:3:5::/128 + + +Unprovisioned +None + +2 + +STR + +10.3.152.53/24 + + +::/0 + + +str-dcfx-t1-1-03 +Nexus-9232C +
+ +LeafRouter +
+100.3.152.104/32 +
+ +dfc0:100:3:8::/128 + + +Unprovisioned +None + +2 + +STR + +10.3.152.104/24 + + +::/0 + + +str-dcfx-t1-1-05 +Arista-7170-66CY-F +
+ +MiniTs +
+10.3.159.202/32 +
+ +::/0 + + +Unprovisioned +None + +3 + +STR + +0.0.0.0/0 + + +::/0 + +FTX1804800N +str-ts202-be05 +Cisco-2901 +
+
+
+str-dcfx-t0-1-06 +Mellanox-SN3800-D28C50_NEW +
diff --git a/tests/sku_create_input/ACS-MSN2700/pg_profile_lookup.ini b/tests/sku_create_input/ACS-MSN2700/pg_profile_lookup.ini deleted file mode 100644 index b66b129fe4..0000000000 --- a/tests/sku_create_input/ACS-MSN2700/pg_profile_lookup.ini +++ /dev/null @@ -1,17 +0,0 @@ -# PG lossless profiles. -# speed cable size xon xoff threshold - 10000 5m 34816 18432 16384 0 - 25000 5m 34816 18432 16384 0 - 40000 5m 34816 18432 16384 0 - 50000 5m 34816 18432 16384 0 - 100000 5m 36864 18432 18432 0 - 10000 40m 36864 18432 18432 0 - 25000 40m 39936 18432 21504 0 - 40000 40m 41984 18432 23552 0 - 50000 40m 41984 18432 23552 0 - 100000 40m 54272 18432 35840 0 - 10000 300m 49152 18432 30720 0 - 25000 300m 71680 18432 53248 0 - 40000 300m 94208 18432 75776 0 - 50000 300m 94208 18432 75776 0 - 100000 300m 184320 18432 165888 0 diff --git a/tests/sku_create_input/ACS-MSN2700/port_config.ini b/tests/sku_create_input/ACS-MSN2700/port_config.ini deleted file mode 100644 index 1e1906ff0e..0000000000 --- a/tests/sku_create_input/ACS-MSN2700/port_config.ini +++ /dev/null @@ -1,33 +0,0 @@ -# name lanes alias -Ethernet0 0,1,2,3 etp1 -Ethernet4 4,5,6,7 etp2 -Ethernet8 8,9,10,11 etp3 -Ethernet12 12,13,14,15 etp4 -Ethernet16 16,17,18,19 etp5 -Ethernet20 20,21,22,23 etp6 -Ethernet24 24,25,26,27 etp7 -Ethernet28 28,29,30,31 etp8 -Ethernet32 32,33,34,35 etp9 -Ethernet36 36,37,38,39 etp10 -Ethernet40 40,41,42,43 etp11 -Ethernet44 44,45,46,47 etp12 -Ethernet48 48,49,50,51 etp13 -Ethernet52 52,53,54,55 etp14 -Ethernet56 56,57,58,59 etp15 -Ethernet60 60,61,62,63 etp16 -Ethernet64 64,65,66,67 etp17 -Ethernet68 68,69,70,71 etp18 -Ethernet72 72,73,74,75 etp19 -Ethernet76 76,77,78,79 etp20 -Ethernet80 80,81,82,83 etp21 -Ethernet84 84,85,86,87 etp22 -Ethernet88 88,89,90,91 etp23 -Ethernet92 92,93,94,95 etp24 -Ethernet96 96,97,98,99 etp25 -Ethernet100 100,101,102,103 etp26 -Ethernet104 104,105,106,107 etp27 -Ethernet108 108,109,110,111 etp28 -Ethernet112 112,113,114,115 etp29 -Ethernet116 116,117,118,119 etp30 -Ethernet120 120,121,122,123 etp31 -Ethernet124 124,125,126,127 etp32 diff --git a/tests/sku_create_input/ACS-MSN2700/qos.json b/tests/sku_create_input/ACS-MSN2700/qos.json deleted file mode 100644 index 3e01af3f2c..0000000000 --- a/tests/sku_create_input/ACS-MSN2700/qos.json +++ /dev/null @@ -1,166 +0,0 @@ -{ - "TC_TO_PRIORITY_GROUP_MAP": { - "AZURE": { - "0": "0", - "1": "1", - "3": "3", - "4": "4" - } - }, - "MAP_PFC_PRIORITY_TO_QUEUE": { - "AZURE": { - "0": "0", - "1": "1", - "3": "3", - "4": "4" - } - }, - "TC_TO_QUEUE_MAP": { - "AZURE": { - "0": "0", - "1": "1", - "3": "3", - "4": "4" - } - }, - "DSCP_TO_TC_MAP": { - "AZURE": { - "0":"0", - "1":"0", - "2":"0", - "3":"3", - "4":"4", - "5":"0", - "6":"0", - "7":"0", - "8":"1", - "9":"0", - "10":"0", - "11":"0", - "12":"0", - "13":"0", - "14":"0", - "15":"0", - "16":"0", - "17":"0", - "18":"0", - "19":"0", - "20":"0", - "21":"0", - "22":"0", - "23":"0", - "24":"0", - "25":"0", - "26":"0", - "27":"0", - "28":"0", - "29":"0", - "30":"0", - "31":"0", - "32":"0", - "33":"0", - "34":"0", - "35":"0", - "36":"0", - "37":"0", - "38":"0", - "39":"0", - "40":"0", - "41":"0", - "42":"0", - "43":"0", - "44":"0", - "45":"0", - "46":"0", - "47":"0", - "48":"0", - "49":"0", - "50":"0", - "51":"0", - "52":"0", - "53":"0", - "54":"0", - "55":"0", - "56":"0", - "57":"0", - "58":"0", - "59":"0", - "60":"0", - "61":"0", - "62":"0", - "63":"0" - } - }, - "SCHEDULER": { - "scheduler.0": { - "type":"DWRR", - "weight": "25" - }, - "scheduler.1": { - "type":"DWRR", - "weight": "30" - }, - "scheduler.2": { - "type":"DWRR", - "weight": "20" - } - }, - "PFC_PRIORITY_TO_PRIORITY_GROUP_MAP": { - "AZURE": { - "0": "0", - "1": "1", - "3": "3", - "4": "4" - } - }, - "PORT_QOS_MAP": { - "Ethernet0,Ethernet4,Ethernet8,Ethernet12,Ethernet16,Ethernet20,Ethernet24,Ethernet28,Ethernet32,Ethernet36,Ethernet40,Ethernet44,Ethernet48,Ethernet52,Ethernet56,Ethernet60,Ethernet64,Ethernet68,Ethernet72,Ethernet76,Ethernet80,Ethernet84,Ethernet88,Ethernet92,Ethernet96,Ethernet100,Ethernet104,Ethernet108,Ethernet112,Ethernet116,Ethernet120,Ethernet124": { - "dscp_to_tc_map" : "[DSCP_TO_TC_MAP|AZURE]", - "tc_to_queue_map" : "[TC_TO_QUEUE_MAP|AZURE]", - "tc_to_pg_map" : "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "pfc_to_pg_map" : "[PFC_PRIORITY_TO_PRIORITY_GROUP_MAP|AZURE]", - "pfc_enable": "3,4" - } - }, - "WRED_PROFILE": { - "AZURE_LOSSY": { - "wred_green_enable":"true", - "wred_yellow_enable":"true", - "ecn":"ecn_all", - "red_max_threshold":"516096", - "red_min_threshold":"516096", - "yellow_max_threshold":"516096", - "yellow_min_threshold":"516096", - "green_max_threshold": "184320", - "green_min_threshold": "184320" - }, - "AZURE_LOSSLESS": { - "wred_green_enable":"true", - "wred_yellow_enable":"true", - "ecn":"ecn_all", - "red_max_threshold":"516096", - "red_min_threshold":"516096", - "yellow_max_threshold":"516096", - "yellow_min_threshold":"516096", - "green_max_threshold": "184320", - "green_min_threshold": "184320" - } - }, - "QUEUE": { - "Ethernet0,Ethernet4,Ethernet8,Ethernet12,Ethernet16,Ethernet20,Ethernet24,Ethernet28,Ethernet32,Ethernet36,Ethernet40,Ethernet44,Ethernet48,Ethernet52,Ethernet56,Ethernet60,Ethernet64,Ethernet68,Ethernet72,Ethernet76,Ethernet80,Ethernet84,Ethernet88,Ethernet92,Ethernet96,Ethernet100,Ethernet104,Ethernet108,Ethernet112,Ethernet116,Ethernet120,Ethernet124|0": { - "scheduler" : "[SCHEDULER|scheduler.1]" - }, - "Ethernet0,Ethernet4,Ethernet8,Ethernet12,Ethernet16,Ethernet20,Ethernet24,Ethernet28,Ethernet32,Ethernet36,Ethernet40,Ethernet44,Ethernet48,Ethernet52,Ethernet56,Ethernet60,Ethernet64,Ethernet68,Ethernet72,Ethernet76,Ethernet80,Ethernet84,Ethernet88,Ethernet92,Ethernet96,Ethernet100,Ethernet104,Ethernet108,Ethernet112,Ethernet116,Ethernet120,Ethernet124|1": { - "scheduler" : "[SCHEDULER|scheduler.2]" - }, - "Ethernet0,Ethernet4,Ethernet8,Ethernet12,Ethernet16,Ethernet20,Ethernet24,Ethernet28,Ethernet32,Ethernet36,Ethernet40,Ethernet44,Ethernet48,Ethernet52,Ethernet56,Ethernet60,Ethernet64,Ethernet68,Ethernet72,Ethernet76,Ethernet80,Ethernet84,Ethernet88,Ethernet92,Ethernet96,Ethernet100,Ethernet104,Ethernet108,Ethernet112,Ethernet116,Ethernet120,Ethernet124|0-1": { - "wred_profile" : "[WRED_PROFILE|AZURE_LOSSY]" - }, - "Ethernet0,Ethernet4,Ethernet8,Ethernet12,Ethernet16,Ethernet20,Ethernet24,Ethernet28,Ethernet32,Ethernet36,Ethernet40,Ethernet44,Ethernet48,Ethernet52,Ethernet56,Ethernet60,Ethernet64,Ethernet68,Ethernet72,Ethernet76,Ethernet80,Ethernet84,Ethernet88,Ethernet92,Ethernet96,Ethernet100,Ethernet104,Ethernet108,Ethernet112,Ethernet116,Ethernet120,Ethernet124|3-4": { - "scheduler" : "[SCHEDULER|scheduler.0]", - "wred_profile" : "[WRED_PROFILE|AZURE_LOSSLESS]" - } - } -} - diff --git a/tests/sku_create_input/ACS-MSN2700/sai.profile b/tests/sku_create_input/ACS-MSN2700/sai.profile deleted file mode 100644 index 9a9a38aeb0..0000000000 --- a/tests/sku_create_input/ACS-MSN2700/sai.profile +++ /dev/null @@ -1 +0,0 @@ -SAI_INIT_CONFIG_FILE=/usr/share/sai_2700.xml diff --git a/tests/sku_create_input/Mellanox-SN2700-D48C8/pg_profile_lookup.ini b/tests/sku_create_input/Mellanox-SN2700-D48C8/pg_profile_lookup.ini deleted file mode 100644 index b66b129fe4..0000000000 --- a/tests/sku_create_input/Mellanox-SN2700-D48C8/pg_profile_lookup.ini +++ /dev/null @@ -1,17 +0,0 @@ -# PG lossless profiles. -# speed cable size xon xoff threshold - 10000 5m 34816 18432 16384 0 - 25000 5m 34816 18432 16384 0 - 40000 5m 34816 18432 16384 0 - 50000 5m 34816 18432 16384 0 - 100000 5m 36864 18432 18432 0 - 10000 40m 36864 18432 18432 0 - 25000 40m 39936 18432 21504 0 - 40000 40m 41984 18432 23552 0 - 50000 40m 41984 18432 23552 0 - 100000 40m 54272 18432 35840 0 - 10000 300m 49152 18432 30720 0 - 25000 300m 71680 18432 53248 0 - 40000 300m 94208 18432 75776 0 - 50000 300m 94208 18432 75776 0 - 100000 300m 184320 18432 165888 0 diff --git a/tests/sku_create_input/Mellanox-SN2700-D48C8/port_config.ini b/tests/sku_create_input/Mellanox-SN2700-D48C8/port_config.ini deleted file mode 100644 index f9f465f1a3..0000000000 --- a/tests/sku_create_input/Mellanox-SN2700-D48C8/port_config.ini +++ /dev/null @@ -1,57 +0,0 @@ -# name lanes alias index speed -Ethernet0 0,1 etp1a 0 50000 -Ethernet2 2,3 etp1b 0 50000 -Ethernet4 4,5 etp2a 1 50000 -Ethernet6 6,7 etp2b 1 50000 -Ethernet8 8,9 etp3a 2 50000 -Ethernet10 10,11 etp3b 2 50000 -Ethernet12 12,13 etp4a 3 50000 -Ethernet14 14,15 etp4b 3 50000 -Ethernet16 16,17 etp5a 4 50000 -Ethernet18 18,19 etp5b 4 50000 -Ethernet20 20,21 etp6a 5 50000 -Ethernet22 22,23 etp6b 5 50000 -Ethernet24 24,25,26,27 etp7 6 100000 -Ethernet28 28,29,30,31 etp8 7 100000 -Ethernet32 32,33,34,35 etp9 8 100000 -Ethernet36 36,37,38,39 etp10 9 100000 -Ethernet40 40,41 etp11a 10 50000 -Ethernet42 42,43 etp11b 10 50000 -Ethernet44 44,45 etp12a 11 50000 -Ethernet46 46,47 etp12b 11 50000 -Ethernet48 48,49 etp13a 12 50000 -Ethernet50 50,51 etp13b 12 50000 -Ethernet52 52,53 etp14a 13 50000 -Ethernet54 54,55 etp14b 13 50000 -Ethernet56 56,57 etp15a 14 50000 -Ethernet58 58,59 etp15b 14 50000 -Ethernet60 60,61 etp16a 15 50000 -Ethernet62 62,63 etp16b 15 50000 -Ethernet64 64,65 etp17a 16 50000 -Ethernet66 66,67 etp17b 16 50000 -Ethernet68 68,69 etp18a 17 50000 -Ethernet70 70,71 etp18b 17 50000 -Ethernet72 72,73 etp19a 18 50000 -Ethernet74 74,75 etp19b 18 50000 -Ethernet76 76,77 etp20a 19 50000 -Ethernet78 78,79 etp20b 19 50000 -Ethernet80 80,81 etp21a 20 50000 -Ethernet82 82,83 etp21b 20 50000 -Ethernet84 84,85 etp22a 21 50000 -Ethernet86 86,87 etp22b 21 50000 -Ethernet88 88,89,90,91 etp23 22 100000 -Ethernet92 92,93,94,95 etp24 23 100000 -Ethernet96 96,97,98,99 etp25 24 100000 -Ethernet100 100,101,102,103 etp26 25 100000 -Ethernet104 104,105 etp27a 26 50000 -Ethernet106 106,107 etp27b 26 50000 -Ethernet108 108,109 etp28a 27 50000 -Ethernet110 110,111 etp28b 27 50000 -Ethernet112 112,113 etp29a 28 50000 -Ethernet114 114,115 etp29b 28 50000 -Ethernet116 116,117 etp30a 29 50000 -Ethernet118 118,119 etp30b 29 50000 -Ethernet120 120,121 etp31a 30 50000 -Ethernet122 122,123 etp31b 30 50000 -Ethernet124 124,125 etp32a 31 50000 -Ethernet126 126,127 etp32b 31 50000 diff --git a/tests/sku_create_input/Mellanox-SN2700-D48C8/port_config.ini.bak b/tests/sku_create_input/Mellanox-SN2700-D48C8/port_config.ini.bak deleted file mode 100644 index f9f465f1a3..0000000000 --- a/tests/sku_create_input/Mellanox-SN2700-D48C8/port_config.ini.bak +++ /dev/null @@ -1,57 +0,0 @@ -# name lanes alias index speed -Ethernet0 0,1 etp1a 0 50000 -Ethernet2 2,3 etp1b 0 50000 -Ethernet4 4,5 etp2a 1 50000 -Ethernet6 6,7 etp2b 1 50000 -Ethernet8 8,9 etp3a 2 50000 -Ethernet10 10,11 etp3b 2 50000 -Ethernet12 12,13 etp4a 3 50000 -Ethernet14 14,15 etp4b 3 50000 -Ethernet16 16,17 etp5a 4 50000 -Ethernet18 18,19 etp5b 4 50000 -Ethernet20 20,21 etp6a 5 50000 -Ethernet22 22,23 etp6b 5 50000 -Ethernet24 24,25,26,27 etp7 6 100000 -Ethernet28 28,29,30,31 etp8 7 100000 -Ethernet32 32,33,34,35 etp9 8 100000 -Ethernet36 36,37,38,39 etp10 9 100000 -Ethernet40 40,41 etp11a 10 50000 -Ethernet42 42,43 etp11b 10 50000 -Ethernet44 44,45 etp12a 11 50000 -Ethernet46 46,47 etp12b 11 50000 -Ethernet48 48,49 etp13a 12 50000 -Ethernet50 50,51 etp13b 12 50000 -Ethernet52 52,53 etp14a 13 50000 -Ethernet54 54,55 etp14b 13 50000 -Ethernet56 56,57 etp15a 14 50000 -Ethernet58 58,59 etp15b 14 50000 -Ethernet60 60,61 etp16a 15 50000 -Ethernet62 62,63 etp16b 15 50000 -Ethernet64 64,65 etp17a 16 50000 -Ethernet66 66,67 etp17b 16 50000 -Ethernet68 68,69 etp18a 17 50000 -Ethernet70 70,71 etp18b 17 50000 -Ethernet72 72,73 etp19a 18 50000 -Ethernet74 74,75 etp19b 18 50000 -Ethernet76 76,77 etp20a 19 50000 -Ethernet78 78,79 etp20b 19 50000 -Ethernet80 80,81 etp21a 20 50000 -Ethernet82 82,83 etp21b 20 50000 -Ethernet84 84,85 etp22a 21 50000 -Ethernet86 86,87 etp22b 21 50000 -Ethernet88 88,89,90,91 etp23 22 100000 -Ethernet92 92,93,94,95 etp24 23 100000 -Ethernet96 96,97,98,99 etp25 24 100000 -Ethernet100 100,101,102,103 etp26 25 100000 -Ethernet104 104,105 etp27a 26 50000 -Ethernet106 106,107 etp27b 26 50000 -Ethernet108 108,109 etp28a 27 50000 -Ethernet110 110,111 etp28b 27 50000 -Ethernet112 112,113 etp29a 28 50000 -Ethernet114 114,115 etp29b 28 50000 -Ethernet116 116,117 etp30a 29 50000 -Ethernet118 118,119 etp30b 29 50000 -Ethernet120 120,121 etp31a 30 50000 -Ethernet122 122,123 etp31b 30 50000 -Ethernet124 124,125 etp32a 31 50000 -Ethernet126 126,127 etp32b 31 50000 diff --git a/tests/sku_create_input/Mellanox-SN2700-D48C8/port_config.ini.new b/tests/sku_create_input/Mellanox-SN2700-D48C8/port_config.ini.new deleted file mode 100644 index 49322c57cc..0000000000 --- a/tests/sku_create_input/Mellanox-SN2700-D48C8/port_config.ini.new +++ /dev/null @@ -1,60 +0,0 @@ -# name lanes alias index speed -Ethernet0 0,1 etp1a 0 50000 -Ethernet2 2,3 etp1b 0 50000 -Ethernet4 4,5 etp2a 1 50000 -Ethernet6 6,7 etp2b 1 50000 -Ethernet8 8,9 etp3a 2 50000 -Ethernet10 10,11 etp3b 2 50000 -Ethernet12 12,13 etp4a 3 50000 -Ethernet14 14,15 etp4b 3 50000 -Ethernet16 16,17 etp5a 4 50000 -Ethernet18 18,19 etp5b 4 50000 -Ethernet20 20,21 etp6a 5 50000 -Ethernet22 22,23 etp6b 5 50000 -Ethernet24 24,25,26,27 etp7 6 100000 -Ethernet28 28,29,30,31 etp8 7 100000 -Ethernet32 32 etp9a 8 25000 -Ethernet33 33 etp9b 8 25000 -Ethernet34 34 etp9c 8 25000 -Ethernet35 35 etp9d 8 25000 -Ethernet36 36,37,38,39 etp10 9 100000 -Ethernet40 40,41 etp11a 10 50000 -Ethernet42 42,43 etp11b 10 50000 -Ethernet44 44,45 etp12a 11 50000 -Ethernet46 46,47 etp12b 11 50000 -Ethernet48 48,49 etp13a 12 50000 -Ethernet50 50,51 etp13b 12 50000 -Ethernet52 52,53 etp14a 13 50000 -Ethernet54 54,55 etp14b 13 50000 -Ethernet56 56,57 etp15a 14 50000 -Ethernet58 58,59 etp15b 14 50000 -Ethernet60 60,61 etp16a 15 50000 -Ethernet62 62,63 etp16b 15 50000 -Ethernet64 64,65 etp17a 16 50000 -Ethernet66 66,67 etp17b 16 50000 -Ethernet68 68,69 etp18a 17 50000 -Ethernet70 70,71 etp18b 17 50000 -Ethernet72 72,73 etp19a 18 50000 -Ethernet74 74,75 etp19b 18 50000 -Ethernet76 76,77 etp20a 19 50000 -Ethernet78 78,79 etp20b 19 50000 -Ethernet80 80,81 etp21a 20 50000 -Ethernet82 82,83 etp21b 20 50000 -Ethernet84 84,85 etp22a 21 50000 -Ethernet86 86,87 etp22b 21 50000 -Ethernet88 88,89,90,91 etp23 22 100000 -Ethernet92 92,93,94,95 etp24 23 100000 -Ethernet96 96,97,98,99 etp25 24 100000 -Ethernet100 100,101,102,103 etp26 25 100000 -Ethernet104 104,105 etp27a 26 50000 -Ethernet106 106,107 etp27b 26 50000 -Ethernet108 108,109 etp28a 27 50000 -Ethernet110 110,111 etp28b 27 50000 -Ethernet112 112,113 etp29a 28 50000 -Ethernet114 114,115 etp29b 28 50000 -Ethernet116 116,117 etp30a 29 50000 -Ethernet118 118,119 etp30b 29 50000 -Ethernet120 120,121 etp31a 30 50000 -Ethernet122 122,123 etp31b 30 50000 -Ethernet124 124,125 etp32a 31 50000 -Ethernet126 126,127 etp32b 31 50000 diff --git a/tests/sku_create_input/Mellanox-SN2700-D48C8/port_config.ini.orig b/tests/sku_create_input/Mellanox-SN2700-D48C8/port_config.ini.orig deleted file mode 100644 index f9f465f1a3..0000000000 --- a/tests/sku_create_input/Mellanox-SN2700-D48C8/port_config.ini.orig +++ /dev/null @@ -1,57 +0,0 @@ -# name lanes alias index speed -Ethernet0 0,1 etp1a 0 50000 -Ethernet2 2,3 etp1b 0 50000 -Ethernet4 4,5 etp2a 1 50000 -Ethernet6 6,7 etp2b 1 50000 -Ethernet8 8,9 etp3a 2 50000 -Ethernet10 10,11 etp3b 2 50000 -Ethernet12 12,13 etp4a 3 50000 -Ethernet14 14,15 etp4b 3 50000 -Ethernet16 16,17 etp5a 4 50000 -Ethernet18 18,19 etp5b 4 50000 -Ethernet20 20,21 etp6a 5 50000 -Ethernet22 22,23 etp6b 5 50000 -Ethernet24 24,25,26,27 etp7 6 100000 -Ethernet28 28,29,30,31 etp8 7 100000 -Ethernet32 32,33,34,35 etp9 8 100000 -Ethernet36 36,37,38,39 etp10 9 100000 -Ethernet40 40,41 etp11a 10 50000 -Ethernet42 42,43 etp11b 10 50000 -Ethernet44 44,45 etp12a 11 50000 -Ethernet46 46,47 etp12b 11 50000 -Ethernet48 48,49 etp13a 12 50000 -Ethernet50 50,51 etp13b 12 50000 -Ethernet52 52,53 etp14a 13 50000 -Ethernet54 54,55 etp14b 13 50000 -Ethernet56 56,57 etp15a 14 50000 -Ethernet58 58,59 etp15b 14 50000 -Ethernet60 60,61 etp16a 15 50000 -Ethernet62 62,63 etp16b 15 50000 -Ethernet64 64,65 etp17a 16 50000 -Ethernet66 66,67 etp17b 16 50000 -Ethernet68 68,69 etp18a 17 50000 -Ethernet70 70,71 etp18b 17 50000 -Ethernet72 72,73 etp19a 18 50000 -Ethernet74 74,75 etp19b 18 50000 -Ethernet76 76,77 etp20a 19 50000 -Ethernet78 78,79 etp20b 19 50000 -Ethernet80 80,81 etp21a 20 50000 -Ethernet82 82,83 etp21b 20 50000 -Ethernet84 84,85 etp22a 21 50000 -Ethernet86 86,87 etp22b 21 50000 -Ethernet88 88,89,90,91 etp23 22 100000 -Ethernet92 92,93,94,95 etp24 23 100000 -Ethernet96 96,97,98,99 etp25 24 100000 -Ethernet100 100,101,102,103 etp26 25 100000 -Ethernet104 104,105 etp27a 26 50000 -Ethernet106 106,107 etp27b 26 50000 -Ethernet108 108,109 etp28a 27 50000 -Ethernet110 110,111 etp28b 27 50000 -Ethernet112 112,113 etp29a 28 50000 -Ethernet114 114,115 etp29b 28 50000 -Ethernet116 116,117 etp30a 29 50000 -Ethernet118 118,119 etp30b 29 50000 -Ethernet120 120,121 etp31a 30 50000 -Ethernet122 122,123 etp31b 30 50000 -Ethernet124 124,125 etp32a 31 50000 -Ethernet126 126,127 etp32b 31 50000 diff --git a/tests/sku_create_input/Mellanox-SN2700-D48C8/qos.json b/tests/sku_create_input/Mellanox-SN2700-D48C8/qos.json deleted file mode 100644 index d35f614de6..0000000000 --- a/tests/sku_create_input/Mellanox-SN2700-D48C8/qos.json +++ /dev/null @@ -1,166 +0,0 @@ -{ - "TC_TO_PRIORITY_GROUP_MAP": { - "AZURE": { - "0": "0", - "1": "1", - "3": "3", - "4": "4" - } - }, - "MAP_PFC_PRIORITY_TO_QUEUE": { - "AZURE": { - "0": "0", - "1": "1", - "3": "3", - "4": "4" - } - }, - "TC_TO_QUEUE_MAP": { - "AZURE": { - "0": "0", - "1": "1", - "3": "3", - "4": "4" - } - }, - "DSCP_TO_TC_MAP": { - "AZURE": { - "0":"0", - "1":"0", - "2":"0", - "3":"3", - "4":"4", - "5":"0", - "6":"0", - "7":"0", - "8":"1", - "9":"0", - "10":"0", - "11":"0", - "12":"0", - "13":"0", - "14":"0", - "15":"0", - "16":"0", - "17":"0", - "18":"0", - "19":"0", - "20":"0", - "21":"0", - "22":"0", - "23":"0", - "24":"0", - "25":"0", - "26":"0", - "27":"0", - "28":"0", - "29":"0", - "30":"0", - "31":"0", - "32":"0", - "33":"0", - "34":"0", - "35":"0", - "36":"0", - "37":"0", - "38":"0", - "39":"0", - "40":"0", - "41":"0", - "42":"0", - "43":"0", - "44":"0", - "45":"0", - "46":"0", - "47":"0", - "48":"0", - "49":"0", - "50":"0", - "51":"0", - "52":"0", - "53":"0", - "54":"0", - "55":"0", - "56":"0", - "57":"0", - "58":"0", - "59":"0", - "60":"0", - "61":"0", - "62":"0", - "63":"0" - } - }, - "SCHEDULER": { - "scheduler.0": { - "type":"DWRR", - "weight": "25" - }, - "scheduler.1": { - "type":"DWRR", - "weight": "30" - }, - "scheduler.2": { - "type":"DWRR", - "weight": "20" - } - }, - "PFC_PRIORITY_TO_PRIORITY_GROUP_MAP": { - "AZURE": { - "0": "0", - "1": "1", - "3": "3", - "4": "4" - } - }, - "PORT_QOS_MAP": { - "Ethernet8,Ethernet2,Ethernet0,Ethernet6,Ethernet4,Ethernet108,Ethernet100,Ethernet104,Ethernet106,Ethernet58,Ethernet126,Ethernet96,Ethernet124,Ethernet122,Ethernet92,Ethernet120,Ethernet50,Ethernet52,Ethernet54,Ethernet56,Ethernet76,Ethernet74,Ethernet18,Ethernet70,Ethernet32,Ethernet72,Ethernet16,Ethernet36,Ethernet78,Ethernet60,Ethernet28,Ethernet62,Ethernet14,Ethernet88,Ethernet118,Ethernet24,Ethernet116,Ethernet82,Ethernet114,Ethernet80,Ethernet112,Ethernet86,Ethernet110,Ethernet84,Ethernet48,Ethernet10,Ethernet44,Ethernet42,Ethernet40,Ethernet64,Ethernet66,Ethernet12,Ethernet46,Ethernet20,Ethernet22,Ethernet68": { - "dscp_to_tc_map" : "[DSCP_TO_TC_MAP|AZURE]", - "tc_to_queue_map" : "[TC_TO_QUEUE_MAP|AZURE]", - "tc_to_pg_map" : "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "pfc_to_pg_map" : "[PFC_PRIORITY_TO_PRIORITY_GROUP_MAP|AZURE]", - "pfc_enable": "3,4" - } - }, - "WRED_PROFILE": { - "AZURE_LOSSY": { - "wred_green_enable":"true", - "wred_yellow_enable":"true", - "ecn":"ecn_all", - "red_max_threshold":"516096", - "red_min_threshold":"516096", - "yellow_max_threshold":"516096", - "yellow_min_threshold":"516096", - "green_max_threshold": "184320", - "green_min_threshold": "184320" - }, - "AZURE_LOSSLESS": { - "wred_green_enable":"true", - "wred_yellow_enable":"true", - "ecn":"ecn_all", - "red_max_threshold":"516096", - "red_min_threshold":"516096", - "yellow_max_threshold":"516096", - "yellow_min_threshold":"516096", - "green_max_threshold": "184320", - "green_min_threshold": "184320" - } - }, - "QUEUE": { - "Ethernet8,Ethernet2,Ethernet0,Ethernet6,Ethernet4,Ethernet108,Ethernet100,Ethernet104,Ethernet106,Ethernet58,Ethernet126,Ethernet96,Ethernet124,Ethernet122,Ethernet92,Ethernet120,Ethernet50,Ethernet52,Ethernet54,Ethernet56,Ethernet76,Ethernet74,Ethernet18,Ethernet70,Ethernet32,Ethernet72,Ethernet16,Ethernet36,Ethernet78,Ethernet60,Ethernet28,Ethernet62,Ethernet14,Ethernet88,Ethernet118,Ethernet24,Ethernet116,Ethernet82,Ethernet114,Ethernet80,Ethernet112,Ethernet86,Ethernet110,Ethernet84,Ethernet48,Ethernet10,Ethernet44,Ethernet42,Ethernet40,Ethernet64,Ethernet66,Ethernet12,Ethernet46,Ethernet20,Ethernet22,Ethernet68|0": { - "scheduler" : "[SCHEDULER|scheduler.1]" - }, - "Ethernet8,Ethernet2,Ethernet0,Ethernet6,Ethernet4,Ethernet108,Ethernet100,Ethernet104,Ethernet106,Ethernet58,Ethernet126,Ethernet96,Ethernet124,Ethernet122,Ethernet92,Ethernet120,Ethernet50,Ethernet52,Ethernet54,Ethernet56,Ethernet76,Ethernet74,Ethernet18,Ethernet70,Ethernet32,Ethernet72,Ethernet16,Ethernet36,Ethernet78,Ethernet60,Ethernet28,Ethernet62,Ethernet14,Ethernet88,Ethernet118,Ethernet24,Ethernet116,Ethernet82,Ethernet114,Ethernet80,Ethernet112,Ethernet86,Ethernet110,Ethernet84,Ethernet48,Ethernet10,Ethernet44,Ethernet42,Ethernet40,Ethernet64,Ethernet66,Ethernet12,Ethernet46,Ethernet20,Ethernet22,Ethernet68|1": { - "scheduler" : "[SCHEDULER|scheduler.2]" - }, - "Ethernet0,Ethernet4,Ethernet8,Ethernet12,Ethernet16,Ethernet20,Ethernet24,Ethernet28,Ethernet32,Ethernet36,Ethernet40,Ethernet44,Ethernet48,Ethernet52,Ethernet56,Ethernet60,Ethernet64,Ethernet68,Ethernet72,Ethernet76,Ethernet80,Ethernet84,Ethernet88,Ethernet92,Ethernet96,Ethernet100,Ethernet104,Ethernet108,Ethernet112,Ethernet116,Ethernet120,Ethernet124|0-1": { - "wred_profile" : "[WRED_PROFILE|AZURE_LOSSY]" - }, - "Ethernet8,Ethernet2,Ethernet0,Ethernet6,Ethernet4,Ethernet108,Ethernet100,Ethernet104,Ethernet106,Ethernet58,Ethernet126,Ethernet96,Ethernet124,Ethernet122,Ethernet92,Ethernet120,Ethernet50,Ethernet52,Ethernet54,Ethernet56,Ethernet76,Ethernet74,Ethernet18,Ethernet70,Ethernet32,Ethernet72,Ethernet16,Ethernet36,Ethernet78,Ethernet60,Ethernet28,Ethernet62,Ethernet14,Ethernet88,Ethernet118,Ethernet24,Ethernet116,Ethernet82,Ethernet114,Ethernet80,Ethernet112,Ethernet86,Ethernet110,Ethernet84,Ethernet48,Ethernet10,Ethernet44,Ethernet42,Ethernet40,Ethernet64,Ethernet66,Ethernet12,Ethernet46,Ethernet20,Ethernet22,Ethernet68|3-4": { - "scheduler" : "[SCHEDULER|scheduler.0]", - "wred_profile" : "[WRED_PROFILE|AZURE_LOSSLESS]" - } - } -} - diff --git a/tests/sku_create_input/port_split_files/test b/tests/sku_create_input/port_split_files/test new file mode 100644 index 0000000000..a49b65d26d --- /dev/null +++ b/tests/sku_create_input/port_split_files/test @@ -0,0 +1 @@ +this is a test file for maintaining the port_split_files directory in git diff --git a/tests/sku_create_input/port_unsplit_files/test b/tests/sku_create_input/port_unsplit_files/test new file mode 100644 index 0000000000..1b8a1eae22 --- /dev/null +++ b/tests/sku_create_input/port_unsplit_files/test @@ -0,0 +1 @@ +this is a test file for maintaining port_unsplit_files directory in git diff --git a/tests/sku_create_test.py b/tests/sku_create_test.py index a948b26a1e..27e65bb0f5 100644 --- a/tests/sku_create_test.py +++ b/tests/sku_create_test.py @@ -1,3 +1,4 @@ +import json import os import re import shutil @@ -9,12 +10,30 @@ test_path = os.path.dirname(os.path.abspath(__file__)) modules_path = os.path.dirname(test_path) scripts_path = os.path.join(modules_path, "scripts") -input_path = os.path.join(modules_path, "tests/sku_create_input") -output_dir_path = os.path.join(modules_path, "tests/sku_create_input/Mellanox-SN2700-D48C8_NEW") -sku_def_file = os.path.join(input_path, "Mellanox-SN2700-D48C8.xml") +xml_input_path = os.path.join(modules_path, "tests/sku_create_input/2700_files") +output_xml_dir_path = os.path.join(modules_path, "tests/sku_create_input/2700_files/Mellanox-SN2700-D48C8_NEW/") +sku_def_file = os.path.join(xml_input_path, "Mellanox-SN2700-D48C8.xml") +output_xml_file_path = os.path.join(modules_path, "tests/sku_create_input/2700_files/Mellanox-SN2700-D48C8_NEW/port_config.ini") +model_xml_file_path = os.path.join(modules_path, "tests/sku_create_input/2700_files/Mellanox-SN2700-D48C8/port_config.ini") +minigraph_input_path = os.path.join(modules_path, "tests/sku_create_input/3800_files") +output_minigraph_dir_path = os.path.join(modules_path, "tests/sku_create_input/3800_files/Mellanox-SN3800-D28C50_NEW/") +minigraph_file = os.path.join(minigraph_input_path, "t0-1-06-minigraph.xml") +output_minigraph_file_path = os.path.join(modules_path, "tests/sku_create_input/3800_files/Mellanox-SN3800-D28C50_NEW/port_config.ini") +model_minigraph_file_path = os.path.join(modules_path, "tests/sku_create_input/3800_files/Mellanox-SN3800-D28C50/port_config.ini") +config_db_input_path = os.path.join(modules_path, "tests/sku_create_input/2700_files") +output_config_db_dir_path = os.path.join(modules_path, "tests/sku_create_input/2700_files/Mellanox-SN2700-C28D8/") +config_db_file = os.path.join(config_db_input_path, "config_db.json") +output_config_db_file_path = os.path.join(modules_path, "tests/sku_create_input/2700_files/Mellanox-SN2700-C28D8/port_config.ini") +model_config_db_file_path = os.path.join(modules_path, "tests/sku_create_input/2700_files/Mellanox-SN2700-C28D8-ORIG/port_config.ini") +port_split_input_path = os.path.join(modules_path, "tests/sku_create_input/2700_files") +port_split_output_path = os.path.join(modules_path, "tests/sku_create_input/port_split_files") +port_split_config_db_output_file_path = os.path.join(port_split_output_path, "config_db.json") +port_split_pc_ini_file_output_path = os.path.join(port_split_output_path, "port_config.ini") +port_unsplit_input_path = os.path.join(modules_path, "tests/sku_create_input/2700_files") +port_unsplit_output_path = os.path.join(modules_path, "tests/sku_create_input/port_unsplit_files") +port_unsplit_config_db_output_file_path = os.path.join(port_unsplit_output_path, "config_db.json") +port_unsplit_pc_ini_file_output_path = os.path.join(port_unsplit_output_path, "port_config.ini") sku_create_script = "sonic_sku_create.py" -output_file_path = os.path.join(modules_path, "tests/sku_create_input/Mellanox-SN2700-D48C8_NEW/port_config.ini") -model_file_path = os.path.join(modules_path, "tests/sku_create_input/Mellanox-SN2700-D48C8/port_config.ini") sys.path.insert(0, test_path) sys.path.insert(0, modules_path) @@ -23,7 +42,6 @@ class TestSkuCreate(object): @classmethod def setup_class(cls): os.environ["PATH"] += os.pathsep + scripts_path - os.environ["UTILITIES_UNIT_TESTING"] = "1" def are_file_contents_same(self,fname1,fname2): #Open the file for reading in text mode (default mode) @@ -51,30 +69,197 @@ def are_file_contents_same(self,fname1,fname2): f2.close() return True - def test_no_param(self): - if (os.path.exists(output_dir_path)): - shutil.rmtree(output_dir_path) + def test_sku_from_xml_file(self): + if (os.path.exists(output_xml_dir_path)): + shutil.rmtree(output_xml_dir_path) - my_command = sku_create_script + " -f " + sku_def_file + " -d " + input_path + my_command = sku_create_script + " -f " + sku_def_file + " -d " + xml_input_path #Test case execution without stdout - result = subprocess.check_output(my_command, stderr=subprocess.STDOUT, shell=True, text=True) + result = subprocess.check_output(my_command,stderr=subprocess.STDOUT,shell=True) print(result) #Check if the Output file exists - if (os.path.exists(output_file_path)): - print("Output file: ",output_file_path,"exists. SUCCESS!") + if (os.path.exists(output_xml_file_path)): + print("Output file: ",output_xml_file_path, "exists. SUCCESS!") else: - pytest.fail("Output file: {} does not exist. FAILURE!".format(output_file_path)) + pytest.fail("Output file: {} does not exist. FAILURE!".format(output_xml_file_path)) #Check if the Output file and the model file have same contents - if self.are_file_contents_same(output_file_path,model_file_path) == True: - print("Output file: ",output_file_path," and model file: ",model_file_path,"contents are same. SUCCESS!") + if self.are_file_contents_same(output_xml_file_path, model_xml_file_path) == True: + print("Output file: ",output_xml_file_path, " and model file: ",model_xml_file_path, "contents are same. SUCCESS!") else: - pytest.fail("Output file: {} and model file: {} contents are not same. FAILURE!".format(output_file_path,model_file_path)) + pytest.fail("Output file: {} and model file: {} contents are not same. FAILURE!".format(output_xml_file_path, model_xml_file_path)) + + def test_sku_from_minigraph_file(self): + if (os.path.exists(output_minigraph_dir_path)): + shutil.rmtree(output_minigraph_dir_path) + + my_command = sku_create_script + " -m " + minigraph_file + " -d " + minigraph_input_path + + #Test case execution without stdout + result = subprocess.check_output(my_command,stderr=subprocess.STDOUT,shell=True) + print(result) + + #Check if the Output file exists + if (os.path.exists(output_minigraph_file_path)): + print("Output file: ",output_minigraph_file_path, "exists. SUCCESS!") + else: + pytest.fail("Output file: {} does not exist. FAILURE!".format(output_minigraph_file_path)) + + #Check if the Output file and the model file have same contents + if self.are_file_contents_same(output_minigraph_file_path, model_minigraph_file_path) == True: + print("Output file: ",output_minigraph_file_path, " and model file: ",model_minigraph_file_path, "contents are same. SUCCESS!") + else: + pytest.fail("Output file: {} and model file: {} contents are not same. FAILURE!".format(output_minigraph_file_path, model_minigraph_file_path)) + + def test_sku_from_config_db_file(self): + if (os.path.exists(output_config_db_dir_path)): + shutil.rmtree(output_config_db_dir_path) + + my_command = sku_create_script + " -j " + config_db_file + " -d " + config_db_input_path + + #Test case execution without stdout + result = subprocess.check_output(my_command,stderr=subprocess.STDOUT,shell=True) + print(result) + + #Check if the Output file exists + if (os.path.exists(output_config_db_file_path)): + print("Output file: ",output_config_db_file_path, "exists. SUCCESS!") + else: + pytest.fail("Output file: {} does not exist. FAILURE!".format(output_config_db_file_path)) + + #Check if the Output file and the model file have same contents + if self.are_file_contents_same(output_config_db_file_path, model_config_db_file_path) == True: + print("Output file: ",output_config_db_file_path, " and model file: ",model_config_db_file_path, "contents are same. SUCCESS!") + else: + pytest.fail("Output file: {} and model file: {} contents are not same. FAILURE!".format(output_config_db_file_path, model_config_db_file_path)) + + def test_sku_port_split(self): + if (not os.path.exists(config_db_file)): + pytest.fail("Input config_db.json file does not exist. Exitting...") + return + else: + shutil.copyfile(config_db_file, port_split_config_db_output_file_path) + + if (not os.path.exists(model_config_db_file_path)): + pytest.fail("Input port_config.ini file does not exist. Exitting...") + return + else: + shutil.copyfile(model_config_db_file_path, port_split_pc_ini_file_output_path) + + my_command = sku_create_script + " -s Ethernet16 2x50 -d " + port_split_input_path + " -q " + port_split_output_path + + #Test case execution without stdout + result = subprocess.check_output(my_command,stderr=subprocess.STDOUT,shell=True) + print(result) + + #Verify the output of port_config.ini file + eth16_found = False + eth18_found = False + + f_in = open(port_split_pc_ini_file_output_path, 'r') + + for line in f_in.readlines(): + port_info = line.split() + eth16_info = ['Ethernet16', '16,17', 'etp5a', '5', '50000'] + eth18_info = ['Ethernet18', '18,19', 'etp5b', '5', '50000'] + + if port_info == eth16_info: + eth16_found = True + + if port_info == eth18_info: + eth18_found = True + + if eth16_found and eth18_found: + break + + if eth16_found and eth18_found: + print("Success: Port split information found in port_config.ini file") + else: + pytest.fail("Failure: Port split information not found in port_config.ini file") + return + + #Verify the output of config_db.json + with open(port_split_config_db_output_file_path) as f: + data = json.load(f) + + eth16_dict = {u'alias': u'etp5a', u'lanes': u'16,17', u'speed': 50000, u'mtu': u'9100'} + eth16_instance = data['PORT'].get("Ethernet16") + if eth16_instance is None: + pytest.fail("Failure: Port split information not found in config_db.json file") + return + else: + if eth16_instance != eth16_dict: + pytest.fail("Failure: Port split information not found in config_db.json file") + return + + eth18_dict = {u'alias': u'etp5b', u'lanes': u'18,19', u'speed': 50000, u'mtu': u'9100'} + eth18_instance = data['PORT'].get("Ethernet18") + if eth18_instance is None: + pytest.fail("Failure: Port split information not found in config_db.json file") + return + else: + if eth18_instance != eth18_dict: + pytest.fail("Failure: Port split information not found in config_db.json file") + return + + print("Success: Port split information found in config_db.json file") + + def test_sku_port_unsplit(self): + if (not os.path.exists(config_db_file)): + pytest.fail("Input config_db.json file does not exist. Exitting...") + return + else: + shutil.copyfile(config_db_file, port_unsplit_config_db_output_file_path) + + if (not os.path.exists(model_config_db_file_path)): + pytest.fail("Input port_config.ini file does not exist. Exitting...") + return + else: + shutil.copyfile(model_config_db_file_path, port_unsplit_pc_ini_file_output_path) + + my_command = sku_create_script + " -s Ethernet112 1x100 -d " + port_unsplit_input_path + " -q " + port_unsplit_output_path + + #Test case execution without stdout + result = subprocess.check_output(my_command,stderr=subprocess.STDOUT,shell=True) + print(result) + + #Verify the output of port_config.ini file + eth112_found = False + + f_in = open(port_unsplit_pc_ini_file_output_path, 'r') + + for line in f_in.readlines(): + port_info = line.split() + eth112_info = ['Ethernet112', '112,113,114,115', 'etp29', '29', '100000'] + if port_info == eth112_info: + eth112_found = True + break + + if eth112_found: + print("Success: Port split information found in port_config.ini file") + else: + pytest.fail("Failure: Port split information not found in port_config.ini file") + return + + #Verify the output of config_db.json + with open(port_unsplit_config_db_output_file_path) as f: + data = json.load(f) + + eth112_dict = {'alias': 'etp29', 'lanes': '112,113,114,115', 'speed': 100000, 'mtu': u'9100'} + eth112_instance = data['PORT'].get("Ethernet112") + if eth112_instance is None: + pytest.fail("Failure: Port split information not found in config_db.json file") + return + else: + if eth112_instance != eth112_dict: + pytest.fail("Failure: Port split information not found in config_db.json file") + return + + print("Success: Port split information found in config_db.json file") @classmethod def teardown_class(cls): print("TEARDOWN") os.environ["PATH"] = os.pathsep.join(os.environ["PATH"].split(os.pathsep)[:-1]) - os.environ["UTILITIES_UNIT_TESTING"] = "0" From 38c8e00fec6673e53a46aea45ff046f26cf91688 Mon Sep 17 00:00:00 2001 From: Danny Allen Date: Wed, 3 Mar 2021 13:14:08 -0800 Subject: [PATCH 111/342] [acl-loader] Add support for matching on ICMP and VLAN info (#1469) - Add ICMP and VLAN fields - Add new unit test cases Signed-off-by: Danny Allen --- acl_loader/main.py | 57 +++++++++- tests/acl_input/acl1.json | 102 ++++++++++++++++++ tests/acl_input/illegal_icmp_code_300.json | 37 +++++++ tests/acl_input/illegal_icmp_code_nan.json | 37 +++++++ tests/acl_input/illegal_icmp_code_neg_1.json | 37 +++++++ tests/acl_input/illegal_icmp_type_300.json | 37 +++++++ tests/acl_input/illegal_icmp_type_nan.json | 37 +++++++ tests/acl_input/illegal_icmp_type_neg_1.json | 37 +++++++ tests/acl_input/illegal_vlan_0.json | 36 +++++++ tests/acl_input/illegal_vlan_9000.json | 36 +++++++ tests/acl_input/illegal_vlan_nan.json | 36 +++++++ tests/acl_loader_test.py | 104 ++++++++++++++++++- tests/aclshow_test.py | 2 +- tests/mock_tables/config_db.json | 5 + 14 files changed, 590 insertions(+), 10 deletions(-) create mode 100644 tests/acl_input/illegal_icmp_code_300.json create mode 100644 tests/acl_input/illegal_icmp_code_nan.json create mode 100644 tests/acl_input/illegal_icmp_code_neg_1.json create mode 100644 tests/acl_input/illegal_icmp_type_300.json create mode 100644 tests/acl_input/illegal_icmp_type_nan.json create mode 100644 tests/acl_input/illegal_icmp_type_neg_1.json create mode 100644 tests/acl_input/illegal_vlan_0.json create mode 100644 tests/acl_input/illegal_vlan_9000.json create mode 100644 tests/acl_input/illegal_vlan_nan.json diff --git a/acl_loader/main.py b/acl_loader/main.py index e0df7eec8b..6a5311be51 100644 --- a/acl_loader/main.py +++ b/acl_loader/main.py @@ -103,6 +103,7 @@ class AclLoader(object): "IP_RSVP": 46, "IP_GRE": 47, "IP_AUTH": 51, + "IP_ICMPV6": 58, "IP_L2TP": 115 } @@ -290,6 +291,14 @@ def is_table_mirror(self, tname): """ return self.tables_db_info[tname]['type'].upper().startswith(self.ACL_TABLE_TYPE_MIRROR) + def is_table_ipv6(self, tname): + """ + Check if ACL table type is IPv6 (L3V6 or MIRRORV6) + :param tname: ACL table name + :return: True if table type is IPv6 else False + """ + return self.tables_db_info[tname]["type"].upper() in ("L3V6", "MIRRORV6") + def is_table_control_plane(self, tname): """ Check if ACL table type is ACL_TABLE_TYPE_CTRLPLANE @@ -409,9 +418,18 @@ def convert_l2(self, table_name, rule_idx, rule): else: try: rule_props["ETHER_TYPE"] = int(rule.l2.config.ethertype) - except: - raise AclLoaderException("Failed to convert ethertype %s table %s rule %s" % ( - rule.l2.config.ethertype, table_name, rule_idx)) + except Exception as e: + raise AclLoaderException( + "Failed to convert ethertype %s; table %s rule %s; exception=%s" % + (rule.l2.config.ethertype, table_name, rule_idx, str(e))) + + if rule.l2.config.vlan_id != "" and rule.l2.config.vlan_id != "null": + vlan_id = rule.l2.config.vlan_id + + if vlan_id <= 0 or vlan_id >= 4096: + raise AclLoaderException("VLAN ID %d is out of bounds (0, 4096)" % (vlan_id)) + + rule_props["VLAN_ID"] = vlan_id return rule_props @@ -422,7 +440,12 @@ def convert_ip(self, table_name, rule_idx, rule): # so there isn't currently a good way to check if the user defined proto=0 or not. if rule.ip.config.protocol: if rule.ip.config.protocol in self.ip_protocol_map: - rule_props["IP_PROTOCOL"] = self.ip_protocol_map[rule.ip.config.protocol] + # Special case: ICMP has different protocol numbers for IPv4 and IPv6, so if we receive + # "IP_ICMP" we need to pick the correct protocol number for the IP version + if rule.ip.config.protocol == "IP_ICMP" and self.is_table_ipv6(table_name): + rule_props["IP_PROTOCOL"] = self.ip_protocol_map["IP_ICMPV6"] + else: + rule_props["IP_PROTOCOL"] = self.ip_protocol_map[rule.ip.config.protocol] else: try: int(rule.ip.config.protocol) @@ -453,6 +476,31 @@ def convert_ip(self, table_name, rule_idx, rule): return rule_props + def convert_icmp(self, table_name, rule_idx, rule): + rule_props = {} + + is_table_v6 = self.is_table_ipv6(table_name) + type_key = "ICMPV6_TYPE" if is_table_v6 else "ICMP_TYPE" + code_key = "ICMPV6_CODE" if is_table_v6 else "ICMP_CODE" + + if rule.icmp.config.type != "" and rule.icmp.config.type != "null": + icmp_type = rule.icmp.config.type + + if icmp_type < 0 or icmp_type > 255: + raise AclLoaderException("ICMP type %d is out of bounds [0, 255]" % (icmp_type)) + + rule_props[type_key] = icmp_type + + if rule.icmp.config.code != "" and rule.icmp.config.code != "null": + icmp_code = rule.icmp.config.code + + if icmp_code < 0 or icmp_code > 255: + raise AclLoaderException("ICMP code %d is out of bounds [0, 255]" % (icmp_code)) + + rule_props[code_key] = icmp_code + + return rule_props + def convert_port(self, port): """ Convert port field format from openconfig ACL to Config DB schema @@ -527,6 +575,7 @@ def convert_rule_to_db_schema(self, table_name, rule): deep_update(rule_props, self.convert_action(table_name, rule_idx, rule)) deep_update(rule_props, self.convert_l2(table_name, rule_idx, rule)) deep_update(rule_props, self.convert_ip(table_name, rule_idx, rule)) + deep_update(rule_props, self.convert_icmp(table_name, rule_idx, rule)) deep_update(rule_props, self.convert_transport(table_name, rule_idx, rule)) deep_update(rule_props, self.convert_input_interface(table_name, rule_idx, rule)) diff --git a/tests/acl_input/acl1.json b/tests/acl_input/acl1.json index 1149070f44..adfde60f3a 100644 --- a/tests/acl_input/acl1.json +++ b/tests/acl_input/acl1.json @@ -141,6 +141,108 @@ "config": { "name": "everflowV6" } + }, + "DATAACL": { + "acl-entries": { + "acl-entry": { + "1": { + "config": { + "sequence-id": 1 + }, + "actions": { + "config": { + "forwarding-action": "ACCEPT" + } + }, + "ip": { + "config": { + "protocol": "IP_ICMP", + "source-ip-address": "20.0.0.2/32", + "destination-ip-address": "30.0.0.3/32" + } + }, + "icmp": { + "config": { + "type": "3", + "code": "0" + } + } + }, + "2": { + "config": { + "sequence-id": 2 + }, + "actions": { + "config": { + "forwarding-action": "ACCEPT" + } + }, + "l2": { + "config": { + "vlan-id": "369" + } + }, + "ip": { + "config": { + "protocol": "IP_TCP", + "source-ip-address": "20.0.0.2/32", + "destination-ip-address": "30.0.0.3/32" + } + } + } + } + } + }, + "DATAACLV6": { + "acl-entries": { + "acl-entry": { + "1": { + "config": { + "sequence-id": 1 + }, + "actions": { + "config": { + "forwarding-action": "ACCEPT" + } + }, + "ip": { + "config": { + "protocol": "IP_ICMP", + "source-ip-address": "::1/128", + "destination-ip-address": "::1/128" + } + }, + "icmp": { + "config": { + "type": "1", + "code": "0" + } + } + }, + "2": { + "config": { + "sequence-id": 100 + }, + "actions": { + "config": { + "forwarding-action": "ACCEPT" + } + }, + "ip": { + "config": { + "protocol": "IP_ICMP", + "source-ip-address": "::1/128", + "destination-ip-address": "::1/128" + } + }, + "icmp": { + "config": { + "type": "128" + } + } + } + } + } } } } diff --git a/tests/acl_input/illegal_icmp_code_300.json b/tests/acl_input/illegal_icmp_code_300.json new file mode 100644 index 0000000000..f3eff2e443 --- /dev/null +++ b/tests/acl_input/illegal_icmp_code_300.json @@ -0,0 +1,37 @@ +{ + "acl": { + "acl-sets": { + "acl-set": { + "DATAACL": { + "acl-entries": { + "acl-entry": { + "1": { + "config": { + "sequence-id": 1 + }, + "actions": { + "config": { + "forwarding-action": "ACCEPT" + } + }, + "ip": { + "config": { + "protocol": "IP_ICMP", + "source-ip-address": "20.0.0.2/32", + "destination-ip-address": "30.0.0.3/32" + } + }, + "icmp": { + "config": { + "type": "3", + "code": "300" + } + } + } + } + } + } + } + } + } +} diff --git a/tests/acl_input/illegal_icmp_code_nan.json b/tests/acl_input/illegal_icmp_code_nan.json new file mode 100644 index 0000000000..382056d165 --- /dev/null +++ b/tests/acl_input/illegal_icmp_code_nan.json @@ -0,0 +1,37 @@ +{ + "acl": { + "acl-sets": { + "acl-set": { + "DATAACL": { + "acl-entries": { + "acl-entry": { + "1": { + "config": { + "sequence-id": 1 + }, + "actions": { + "config": { + "forwarding-action": "ACCEPT" + } + }, + "ip": { + "config": { + "protocol": "IP_ICMP", + "source-ip-address": "20.0.0.2/32", + "destination-ip-address": "30.0.0.3/32" + } + }, + "icmp": { + "config": { + "type": "3", + "code": "foo" + } + } + } + } + } + } + } + } + } +} diff --git a/tests/acl_input/illegal_icmp_code_neg_1.json b/tests/acl_input/illegal_icmp_code_neg_1.json new file mode 100644 index 0000000000..ff9364a7b0 --- /dev/null +++ b/tests/acl_input/illegal_icmp_code_neg_1.json @@ -0,0 +1,37 @@ +{ + "acl": { + "acl-sets": { + "acl-set": { + "DATAACL": { + "acl-entries": { + "acl-entry": { + "1": { + "config": { + "sequence-id": 1 + }, + "actions": { + "config": { + "forwarding-action": "ACCEPT" + } + }, + "ip": { + "config": { + "protocol": "IP_ICMP", + "source-ip-address": "20.0.0.2/32", + "destination-ip-address": "30.0.0.3/32" + } + }, + "icmp": { + "config": { + "type": "3", + "code": "-1" + } + } + } + } + } + } + } + } + } +} diff --git a/tests/acl_input/illegal_icmp_type_300.json b/tests/acl_input/illegal_icmp_type_300.json new file mode 100644 index 0000000000..c21c91e083 --- /dev/null +++ b/tests/acl_input/illegal_icmp_type_300.json @@ -0,0 +1,37 @@ +{ + "acl": { + "acl-sets": { + "acl-set": { + "DATAACL": { + "acl-entries": { + "acl-entry": { + "1": { + "config": { + "sequence-id": 1 + }, + "actions": { + "config": { + "forwarding-action": "ACCEPT" + } + }, + "ip": { + "config": { + "protocol": "IP_ICMP", + "source-ip-address": "20.0.0.2/32", + "destination-ip-address": "30.0.0.3/32" + } + }, + "icmp": { + "config": { + "type": "300", + "code": "0" + } + } + } + } + } + } + } + } + } +} diff --git a/tests/acl_input/illegal_icmp_type_nan.json b/tests/acl_input/illegal_icmp_type_nan.json new file mode 100644 index 0000000000..d6ca81f9d2 --- /dev/null +++ b/tests/acl_input/illegal_icmp_type_nan.json @@ -0,0 +1,37 @@ +{ + "acl": { + "acl-sets": { + "acl-set": { + "DATAACL": { + "acl-entries": { + "acl-entry": { + "1": { + "config": { + "sequence-id": 1 + }, + "actions": { + "config": { + "forwarding-action": "ACCEPT" + } + }, + "ip": { + "config": { + "protocol": "IP_ICMP", + "source-ip-address": "20.0.0.2/32", + "destination-ip-address": "30.0.0.3/32" + } + }, + "icmp": { + "config": { + "type": "foo", + "code": "0" + } + } + } + } + } + } + } + } + } +} diff --git a/tests/acl_input/illegal_icmp_type_neg_1.json b/tests/acl_input/illegal_icmp_type_neg_1.json new file mode 100644 index 0000000000..cd8d6ff702 --- /dev/null +++ b/tests/acl_input/illegal_icmp_type_neg_1.json @@ -0,0 +1,37 @@ +{ + "acl": { + "acl-sets": { + "acl-set": { + "DATAACL": { + "acl-entries": { + "acl-entry": { + "1": { + "config": { + "sequence-id": 1 + }, + "actions": { + "config": { + "forwarding-action": "ACCEPT" + } + }, + "ip": { + "config": { + "protocol": "IP_ICMP", + "source-ip-address": "20.0.0.2/32", + "destination-ip-address": "30.0.0.3/32" + } + }, + "icmp": { + "config": { + "type": "-1", + "code": "0" + } + } + } + } + } + } + } + } + } +} diff --git a/tests/acl_input/illegal_vlan_0.json b/tests/acl_input/illegal_vlan_0.json new file mode 100644 index 0000000000..ae3cd34910 --- /dev/null +++ b/tests/acl_input/illegal_vlan_0.json @@ -0,0 +1,36 @@ +{ + "acl": { + "acl-sets": { + "acl-set": { + "DATAACL": { + "acl-entries": { + "acl-entry": { + "1": { + "config": { + "sequence-id": 1 + }, + "actions": { + "config": { + "forwarding-action": "ACCEPT" + } + }, + "l2": { + "config": { + "vlan-id": "0" + } + }, + "ip": { + "config": { + "protocol": "IP_TCP", + "source-ip-address": "20.0.0.2/32", + "destination-ip-address": "30.0.0.3/32" + } + } + } + } + } + } + } + } + } +} diff --git a/tests/acl_input/illegal_vlan_9000.json b/tests/acl_input/illegal_vlan_9000.json new file mode 100644 index 0000000000..65d56b20d7 --- /dev/null +++ b/tests/acl_input/illegal_vlan_9000.json @@ -0,0 +1,36 @@ +{ + "acl": { + "acl-sets": { + "acl-set": { + "DATAACL": { + "acl-entries": { + "acl-entry": { + "1": { + "config": { + "sequence-id": 1 + }, + "actions": { + "config": { + "forwarding-action": "ACCEPT" + } + }, + "l2": { + "config": { + "vlan-id": "9000" + } + }, + "ip": { + "config": { + "protocol": "IP_TCP", + "source-ip-address": "20.0.0.2/32", + "destination-ip-address": "30.0.0.3/32" + } + } + } + } + } + } + } + } + } +} diff --git a/tests/acl_input/illegal_vlan_nan.json b/tests/acl_input/illegal_vlan_nan.json new file mode 100644 index 0000000000..ba0d24dba3 --- /dev/null +++ b/tests/acl_input/illegal_vlan_nan.json @@ -0,0 +1,36 @@ +{ + "acl": { + "acl-sets": { + "acl-set": { + "DATAACL": { + "acl-entries": { + "acl-entry": { + "1": { + "config": { + "sequence-id": 1 + }, + "actions": { + "config": { + "forwarding-action": "ACCEPT" + } + }, + "l2": { + "config": { + "vlan-id": "nan" + } + }, + "ip": { + "config": { + "protocol": "IP_TCP", + "source-ip-address": "20.0.0.2/32", + "destination-ip-address": "30.0.0.3/32" + } + } + } + } + } + } + } + } + } +} diff --git a/tests/acl_loader_test.py b/tests/acl_loader_test.py index ae98cd9571..9a33819eb2 100644 --- a/tests/acl_loader_test.py +++ b/tests/acl_loader_test.py @@ -10,8 +10,9 @@ from acl_loader.main import * class TestAclLoader(object): - def setUp(self): - pass + @pytest.fixture(scope="class") + def acl_loader(self): + yield AclLoader() def test_acl_empty(self): yang_acl = AclLoader.parse_acl_json(os.path.join(test_path, 'acl_input/empty_acl.json')) @@ -19,13 +20,13 @@ def test_acl_empty(self): def test_valid(self): yang_acl = AclLoader.parse_acl_json(os.path.join(test_path, 'acl_input/acl1.json')) - assert len(yang_acl.acl.acl_sets.acl_set) == 4 + assert len(yang_acl.acl.acl_sets.acl_set) == 6 def test_invalid(self): with pytest.raises(AclLoaderException): yang_acl = AclLoader.parse_acl_json(os.path.join(test_path, 'acl_input/acl2.json')) - def test_validate_mirror_action(self): + def test_validate_mirror_action(self, acl_loader): ingress_mirror_rule_props = { "MIRROR_INGRESS_ACTION": "everflow0" } @@ -34,7 +35,6 @@ def test_validate_mirror_action(self): "mirror_egress_action": "everflow0" } - acl_loader = AclLoader() # switch capability taken from mock_tables/state_db.json SWITCH_CAPABILITY table assert acl_loader.validate_actions("EVERFLOW", ingress_mirror_rule_props) assert not acl_loader.validate_actions("EVERFLOW", egress_mirror_rule_props) @@ -53,3 +53,97 @@ def test_validate_mirror_action(self): # switch capability taken from mock_tables/state_db.json SWITCH_CAPABILITY table assert acl_loader.validate_actions("DATAACL", forward_packet_action) assert not acl_loader.validate_actions("DATAACL", drop_packet_action) + + def test_vlan_id_translation(self, acl_loader): + acl_loader.rules_info = {} + acl_loader.load_rules_from_file(os.path.join(test_path, 'acl_input/acl1.json')) + assert acl_loader.rules_info[("DATAACL", "RULE_2")] + assert acl_loader.rules_info[("DATAACL", "RULE_2")] == { + "VLAN_ID": 369, + "IP_PROTOCOL": 6, + "SRC_IP": "20.0.0.2/32", + "DST_IP": "30.0.0.3/32", + "PACKET_ACTION": "FORWARD", + "PRIORITY": "9998" + } + + def test_vlan_id_lower_bound(self, acl_loader): + with pytest.raises(ValueError): + acl_loader.rules_info = {} + acl_loader.load_rules_from_file(os.path.join(test_path, 'acl_input/illegal_vlan_0.json')) + + def test_vlan_id_upper_bound(self, acl_loader): + with pytest.raises(ValueError): + acl_loader.rules_info = {} + acl_loader.load_rules_from_file(os.path.join(test_path, 'acl_input/illegal_vlan_9000.json')) + + def test_vlan_id_not_a_number(self, acl_loader): + with pytest.raises(ValueError): + acl_loader.rules_info = {} + acl_loader.load_rules_from_file(os.path.join(test_path, 'acl_input/illegal_vlan_nan.json')) + + def test_icmp_translation(self, acl_loader): + acl_loader.rules_info = {} + acl_loader.load_rules_from_file(os.path.join(test_path, 'acl_input/acl1.json')) + assert acl_loader.rules_info[("DATAACL", "RULE_1")] + assert acl_loader.rules_info[("DATAACL", "RULE_1")] == { + "ICMP_TYPE": 3, + "ICMP_CODE": 0, + "IP_PROTOCOL": 1, + "SRC_IP": "20.0.0.2/32", + "DST_IP": "30.0.0.3/32", + "PACKET_ACTION": "FORWARD", + "PRIORITY": "9999" + } + + def test_icmpv6_translation(self, acl_loader): + acl_loader.rules_info = {} + acl_loader.load_rules_from_file(os.path.join(test_path, 'acl_input/acl1.json')) + print(acl_loader.rules_info) + assert acl_loader.rules_info[("DATAACLV6", "RULE_1")] == { + "ICMPV6_TYPE": 1, + "ICMPV6_CODE": 0, + "IP_PROTOCOL": 58, + "SRC_IPV6": "::1/128", + "DST_IPV6": "::1/128", + "PACKET_ACTION": "FORWARD", + "PRIORITY": "9999" + } + assert acl_loader.rules_info[("DATAACLV6", "RULE_100")] == { + "ICMPV6_TYPE": 128, + "IP_PROTOCOL": 58, + "SRC_IPV6": "::1/128", + "DST_IPV6": "::1/128", + "PACKET_ACTION": "FORWARD", + "PRIORITY": "9900" + } + + def test_icmp_type_lower_bound(self, acl_loader): + with pytest.raises(ValueError): + acl_loader.rules_info = {} + acl_loader.load_rules_from_file(os.path.join(test_path, 'acl_input/illegal_icmp_type_neg_1.json')) + + def test_icmp_type_upper_bound(self, acl_loader): + with pytest.raises(ValueError): + acl_loader.rules_info = {} + acl_loader.load_rules_from_file(os.path.join(test_path, 'acl_input/illegal_icmp_type_300.json')) + + def test_icmp_type_not_a_number(self, acl_loader): + with pytest.raises(ValueError): + acl_loader.rules_info = {} + acl_loader.load_rules_from_file(os.path.join(test_path, 'acl_input/illegal_icmp_type_nan.json')) + + def test_icmp_code_lower_bound(self, acl_loader): + with pytest.raises(ValueError): + acl_loader.rules_info = {} + acl_loader.load_rules_from_file(os.path.join(test_path, 'acl_input/illegal_icmp_code_neg_1.json')) + + def test_icmp_code_upper_bound(self, acl_loader): + with pytest.raises(ValueError): + acl_loader.rules_info = {} + acl_loader.load_rules_from_file(os.path.join(test_path, 'acl_input/illegal_icmp_code_300.json')) + + def test_icmp_code_not_a_number(self, acl_loader): + with pytest.raises(ValueError): + acl_loader.rules_info = {} + acl_loader.load_rules_from_file(os.path.join(test_path, 'acl_input/illegal_icmp_code_nan.json')) diff --git a/tests/aclshow_test.py b/tests/aclshow_test.py index 5003771296..a2c122ddd7 100644 --- a/tests/aclshow_test.py +++ b/tests/aclshow_test.py @@ -78,7 +78,7 @@ # Expected output for aclshow -r RULE_4,RULE_6 -vv rule4_rule6_verbose_output = '' + \ """Reading ACL info... -Total number of ACL Tables: 5 +Total number of ACL Tables: 6 Total number of ACL Rules: 11 RULE NAME TABLE NAME PRIO PACKETS COUNT BYTES COUNT diff --git a/tests/mock_tables/config_db.json b/tests/mock_tables/config_db.json index 858fe349b2..f9a7459680 100644 --- a/tests/mock_tables/config_db.json +++ b/tests/mock_tables/config_db.json @@ -400,6 +400,11 @@ "ports@": "PortChannel0002,PortChannel0005,PortChannel0008,PortChannel0011,PortChannel0014,PortChannel0017,PortChannel0020,PortChannel0023,Ethernet64,Ethernet68,Ethernet72,Ethernet76,Ethernet80,Ethernet84,Ethernet88,Ethernet92,Ethernet96,Ethernet100,Ethernet104,Ethernet108,Ethernet112,Ethernet116,Ethernet120,Ethernet124", "type": "L3" }, + "ACL_TABLE|DATAACLV6": { + "policy_desc": "DATAACLV6", + "ports@": "PortChannel0002,PortChannel0005,PortChannel0008,PortChannel0011,PortChannel0014,PortChannel0017,PortChannel0020,PortChannel0023,Ethernet64,Ethernet68,Ethernet72,Ethernet76,Ethernet80,Ethernet84,Ethernet88,Ethernet92,Ethernet96,Ethernet100,Ethernet104,Ethernet108,Ethernet112,Ethernet116,Ethernet120,Ethernet124", + "type": "L3V6" + }, "ACL_TABLE|EVERFLOW": { "policy_desc": "EVERFLOW", "ports@": "PortChannel0002,PortChannel0005,PortChannel0008,PortChannel0011,PortChannel0014,PortChannel0017,PortChannel0020,PortChannel0023,Ethernet100,Ethernet104,Ethernet92,Ethernet96,Ethernet84,Ethernet88,Ethernet76,Ethernet80,Ethernet108,Ethernet112,Ethernet64,Ethernet120,Ethernet116,Ethernet124,Ethernet72,Ethernet68", From 10a359a25b7474aeaf663972abecfd732d31f724 Mon Sep 17 00:00:00 2001 From: Junchao-Mellanox <57339448+Junchao-Mellanox@users.noreply.github.com> Date: Thu, 4 Mar 2021 08:31:30 +0800 Subject: [PATCH 112/342] [Mellanox] Change mellanox buffer migrator for new SKU Mellanox-SN2700-D40C8S8 (#1470) **- What I did** Change mellanox buffer migrator for new SKU Mellanox-SN2700-D40C8S8 **- How I did it** New SKU Mellanox-SN2700-D40C8S8 will reuse buffer configuration of Mellanox-SN2700-D48C8 **- How to verify it** Run sonic-mgmt qos test and pass --- scripts/mellanox_buffer_migrator.py | 6 +- ...lanox-sn2700-d40c8s8-t0-version_1_0_5.json | 2 + ...lanox-sn2700-d40c8s8-t0-version_2_0_0.json | 697 ++++++++++ ...lanox-sn2700-d40c8s8-t1-version_1_0_5.json | 2 + ...lanox-sn2700-d40c8s8-t1-version_2_0_0.json | 790 +++++++++++ ...lanox-sn2700-d40c8s8-t0-version_1_0_5.json | 1060 +++++++++++++++ ...lanox-sn2700-d40c8s8-t0-version_2_0_0.json | 1061 +++++++++++++++ ...lanox-sn2700-d40c8s8-t1-version_1_0_5.json | 1157 ++++++++++++++++ ...lanox-sn2700-d40c8s8-t1-version_2_0_0.json | 1158 +++++++++++++++++ tests/db_migrator_test.py | 2 + 10 files changed, 5933 insertions(+), 2 deletions(-) create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn2700-d40c8s8-t0-version_1_0_5.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn2700-d40c8s8-t0-version_2_0_0.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn2700-d40c8s8-t1-version_1_0_5.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn2700-d40c8s8-t1-version_2_0_0.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-d40c8s8-t0-version_1_0_5.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-d40c8s8-t0-version_2_0_0.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-d40c8s8-t1-version_1_0_5.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-d40c8s8-t1-version_2_0_0.json diff --git a/scripts/mellanox_buffer_migrator.py b/scripts/mellanox_buffer_migrator.py index f147e7c1f3..2d32d1359e 100755 --- a/scripts/mellanox_buffer_migrator.py +++ b/scripts/mellanox_buffer_migrator.py @@ -104,7 +104,7 @@ def __init__(self, configDB): self.spc2_platforms = ["x86_64-mlnx_msn3700-r0", "x86_64-mlnx_msn3700c-r0"] self.spc3_platforms = ["x86_64-mlnx_msn4600-r0", "x86_64-mlnx_msn4600c-r0", "x86_64-mlnx_msn4700-r0"] - msftskus = ["Mellanox-SN2700", "Mellanox-SN2700-C28D8", "Mellanox-SN2700-D48C8", + msftskus = ["Mellanox-SN2700", "Mellanox-SN2700-C28D8", "Mellanox-SN2700-D48C8", "Mellanox-SN2700-D40C8S8", "Mellanox-SN3800-C64", "Mellanox-SN3800-D24C52", "Mellanox-SN3800-D112C8", "Mellanox-SN3800-D28C50"] self.is_msft_sku = self.sku in msftskus @@ -328,9 +328,11 @@ def __init__(self, configDB): "pool_convert_map": { "spc1_t0_pool_sku_map": {"Mellanox-SN2700-C28D8": "spc1_2700-d48c8_t0_pool_shp", "Mellanox-SN2700-D48C8": "spc1_2700-d48c8_t0_pool_shp", + "Mellanox-SN2700-D40C8S8": "spc1_2700-d48c8_t0_pool_shp", "Mellanox-SN2700": "spc1_2700_t0_pool_shp"}, "spc1_t1_pool_sku_map": {"Mellanox-SN2700-C28D8": "spc1_2700-d48c8_t1_pool_shp", "Mellanox-SN2700-D48C8": "spc1_2700-d48c8_t1_pool_shp", + "Mellanox-SN2700-D40C8S8": "spc1_2700-d48c8_t1_pool_shp", "Mellanox-SN2700": "spc1_2700_t1_pool_shp"} }, "pool_mapped_from_old_version": { @@ -379,7 +381,7 @@ def __init__(self, configDB): "headrooms": { "mapping": { - "default": ("skumap", {"Mellanox-SN2700": "msft", "Mellanox-SN2700-C28D8": "msft", "Mellanox-SN2700-D48C8": "msft"}) + "default": ("skumap", {"Mellanox-SN2700": "msft", "Mellanox-SN2700-C28D8": "msft", "Mellanox-SN2700-D48C8": "msft", "Mellanox-SN2700-D40C8S8": "msft"}) }, "spc1_headroom": { "default": ("version_1_0_4", "spc1_headroom"), diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-d40c8s8-t0-version_1_0_5.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-d40c8s8-t0-version_1_0_5.json new file mode 100644 index 0000000000..2c63c08510 --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn2700-d40c8s8-t0-version_1_0_5.json @@ -0,0 +1,2 @@ +{ +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-d40c8s8-t0-version_2_0_0.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-d40c8s8-t0-version_2_0_0.json new file mode 100644 index 0000000000..aca494618d --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn2700-d40c8s8-t0-version_2_0_0.json @@ -0,0 +1,697 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet20:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet28:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet52:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet56:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet56:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet60:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet60:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet68:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet68:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet72:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet72:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet76:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet76:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet80:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet80:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet84:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet84:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet88:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet88:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet92:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet92:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet96:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet96:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet100:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet104:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet108:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet112:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet112:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet116:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet116:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet120:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet120:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet124:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet124:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "3859968" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "xoff": "1032192", + "type": "ingress", + "mode": "dynamic", + "size": "3859968" + }, + "BUFFER_POOL_TABLE:ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "3859968" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + } +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-d40c8s8-t1-version_1_0_5.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-d40c8s8-t1-version_1_0_5.json new file mode 100644 index 0000000000..2c63c08510 --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn2700-d40c8s8-t1-version_1_0_5.json @@ -0,0 +1,2 @@ +{ +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-d40c8s8-t1-version_2_0_0.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-d40c8s8-t1-version_2_0_0.json new file mode 100644 index 0000000000..4d7e38e97e --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn2700-d40c8s8-t1-version_2_0_0.json @@ -0,0 +1,790 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet20:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet28:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet52:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet56:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet56:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet60:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet60:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet68:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet68:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet72:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet72:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet76:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet76:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet80:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet80:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet84:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet84:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet88:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet88:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet92:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet92:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet96:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet96:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet100:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet100:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet104:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet104:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet108:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet108:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet112:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet112:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet116:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet116:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet120:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet120:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet124:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet124:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "4843008" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "xoff": "1179648", + "type": "ingress", + "mode": "dynamic", + "size": "4843008" + }, + "BUFFER_POOL_TABLE:ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "4843008" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "27648", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "24576", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "36864", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "45056", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "50176", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "78848", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-d40c8s8-t0-version_1_0_5.json b/tests/db_migrator_input/config_db/mellanox-sn2700-d40c8s8-t0-version_1_0_5.json new file mode 100644 index 0000000000..5c37717595 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-d40c8s8-t0-version_1_0_5.json @@ -0,0 +1,1060 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "3859968" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "1032192", + "type": "ingress", + "mode": "dynamic", + "size": "3859968" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "3859968" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet68": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet76": "5m", + "Ethernet72": "5m", + "Ethernet64": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet88": "5m", + "Ethernet116": "40m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet84": "5m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet28": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-D40C8S8", + "default_bgp_status": "up", + "type": "ToRRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "100000", + "description": "etp1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "10000", + "description": "Servers0:eth0" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "25000", + "description": "Servers1:eth0" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "40000", + "description": "Servers2:eth0" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "50000", + "description": "Servers3:eth0" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "Servers4:eth0" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "Servers5:eth0" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "Servers6:eth0" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "Servers7:eth0" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "Servers8:eth0" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "Servers9:eth0" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "Servers10:eth0" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "Servers11:eth0" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "Servers12:eth0" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "Servers13:eth0" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "Servers14:eth0" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "100000", + "description": "Servers15:eth0" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "100000", + "description": "Servers16:eth0" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "100000", + "description": "Servers17:eth0" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "100000", + "description": "Servers18:eth0" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "Servers19:eth0" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "Servers20:eth0" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "Servers21:eth0" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "Servers22:eth0" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "Servers23:eth0" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "description": "etp26" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "description": "etp27" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "description": "etp28" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA01T1:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA02T1:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_5" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-d40c8s8-t0-version_2_0_0.json b/tests/db_migrator_input/config_db/mellanox-sn2700-d40c8s8-t0-version_2_0_0.json new file mode 100644 index 0000000000..b374de1c84 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-d40c8s8-t0-version_2_0_0.json @@ -0,0 +1,1061 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "3859968" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "1032192", + "type": "ingress", + "mode": "dynamic", + "size": "3859968" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "3859968" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet68": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet76": "5m", + "Ethernet72": "5m", + "Ethernet64": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet88": "5m", + "Ethernet116": "40m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet84": "5m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet28": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-D40C8S8", + "default_bgp_status": "up", + "type": "ToRRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "traditional", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "100000", + "description": "etp1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "10000", + "description": "Servers0:eth0" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "25000", + "description": "Servers1:eth0" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "40000", + "description": "Servers2:eth0" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "50000", + "description": "Servers3:eth0" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "Servers4:eth0" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "Servers5:eth0" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "Servers6:eth0" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "Servers7:eth0" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "Servers8:eth0" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "Servers9:eth0" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "Servers10:eth0" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "Servers11:eth0" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "Servers12:eth0" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "Servers13:eth0" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "Servers14:eth0" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "100000", + "description": "Servers15:eth0" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "100000", + "description": "Servers16:eth0" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "100000", + "description": "Servers17:eth0" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "100000", + "description": "Servers18:eth0" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "Servers19:eth0" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "Servers20:eth0" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "Servers21:eth0" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "Servers22:eth0" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "Servers23:eth0" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "description": "etp26" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "description": "etp27" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "description": "etp28" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA01T1:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA02T1:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_0" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-d40c8s8-t1-version_1_0_5.json b/tests/db_migrator_input/config_db/mellanox-sn2700-d40c8s8-t1-version_1_0_5.json new file mode 100644 index 0000000000..d38706fdf5 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-d40c8s8-t1-version_1_0_5.json @@ -0,0 +1,1157 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "4843008" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "1179648", + "type": "ingress", + "mode": "dynamic", + "size": "4843008" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "4843008" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "27648", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "24576", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "36864", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "45056", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "50176", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "78848", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet68": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet76": "40m", + "Ethernet72": "40m", + "Ethernet64": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet88": "40m", + "Ethernet116": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet84": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet28": "300m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet24": "300m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-D40C8S8", + "default_bgp_status": "up", + "type": "LeafRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T2:Ethernet1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA01T2:Ethernet2" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T2:Ethernet1" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA03T2:Ethernet2" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet1" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet2" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet1" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet2" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet1" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet2" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet1" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet2" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet1" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet2" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet1" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet2" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T0:Ethernet1" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA02T0:Ethernet1" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T0:Ethernet1" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA04T0:Ethernet1" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T0:Ethernet1" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA06T0:Ethernet1" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T0:Ethernet1" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA08T0:Ethernet1" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T0:Ethernet1" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp26", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA10T0:Ethernet1" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp27", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T0:Ethernet1" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp28", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA12T0:Ethernet1" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T0:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA14T0:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_5" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-d40c8s8-t1-version_2_0_0.json b/tests/db_migrator_input/config_db/mellanox-sn2700-d40c8s8-t1-version_2_0_0.json new file mode 100644 index 0000000000..bbc5ebc3da --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-d40c8s8-t1-version_2_0_0.json @@ -0,0 +1,1158 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "4843008" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "1179648", + "type": "ingress", + "mode": "dynamic", + "size": "4843008" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "4843008" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "27648", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "24576", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "36864", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "45056", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "50176", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "78848", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet68": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet76": "40m", + "Ethernet72": "40m", + "Ethernet64": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet88": "40m", + "Ethernet116": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet84": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet28": "300m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet24": "300m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-D40C8S8", + "default_bgp_status": "up", + "type": "LeafRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "traditional", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T2:Ethernet1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA01T2:Ethernet2" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T2:Ethernet1" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA03T2:Ethernet2" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet1" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet2" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet1" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet2" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet1" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet2" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet1" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet2" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet1" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet2" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet1" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet2" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T0:Ethernet1" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA02T0:Ethernet1" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T0:Ethernet1" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA04T0:Ethernet1" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T0:Ethernet1" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA06T0:Ethernet1" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T0:Ethernet1" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA08T0:Ethernet1" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T0:Ethernet1" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp26", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA10T0:Ethernet1" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp27", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T0:Ethernet1" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp28", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA12T0:Ethernet1" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T0:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA14T0:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_0" + } +} diff --git a/tests/db_migrator_test.py b/tests/db_migrator_test.py index 100cffada1..87cf2c8c11 100644 --- a/tests/db_migrator_test.py +++ b/tests/db_migrator_test.py @@ -104,6 +104,7 @@ def test_mellanox_buffer_migrator_negative_cold_reboot(self, scenario): ('Mellanox-SN2700-C28D8-Single-Pool', 'version_1_0_4'), ('Mellanox-SN2700-D48C8', 'version_1_0_1'), ('Mellanox-SN2700-D48C8-Single-Pool', 'version_1_0_4'), + ('Mellanox-SN2700-D40C8S8', 'version_1_0_5'), ('ACS-MSN3700', 'version_1_0_2'), ('ACS-MSN3800', 'version_1_0_5'), ('Mellanox-SN3800-C64', 'version_1_0_5'), @@ -154,6 +155,7 @@ def mellanox_buffer_migrator_warm_reboot_runner(self, input_config_db, input_app ['ACS-MSN2700', 'Mellanox-SN2700', 'Mellanox-SN2700-Single-Pool', 'Mellanox-SN2700-C28D8', 'Mellanox-SN2700-C28D8-Single-Pool', 'Mellanox-SN2700-D48C8', 'Mellanox-SN2700-D48C8-Single-Pool', + 'Mellanox-SN2700-D40C8S8', 'ACS-MSN3700', 'ACS-MSN3800', 'Mellanox-SN3800-C64', From 10de91d8c581cd0ed0e5ae79edeb05dfdda4f755 Mon Sep 17 00:00:00 2001 From: Lawrence Lee Date: Wed, 3 Mar 2021 17:09:37 -0800 Subject: [PATCH 113/342] [config reload]: On dual ToR systems, cache ARP and FDB tables (#1465) Use the fast-reboot-dump and filter_fdb_entries scripts to cache the current ARP and FDB tables in /host/config-reload. Also create a file in the same directory to indicate to SWSS that it should restore from the cache. Signed-off-by: Lawrence Lee --- config/main.py | 42 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/config/main.py b/config/main.py index b38221b012..b8fbaab6e2 100644 --- a/config/main.py +++ b/config/main.py @@ -793,6 +793,38 @@ def update_sonic_environment(): display_cmd=True ) +def cache_arp_entries(): + success = True + cache_dir = '/host/config-reload' + click.echo('Caching ARP table to {}'.format(cache_dir)) + + if not os.path.exists(cache_dir): + os.mkdir(cache_dir) + + arp_cache_cmd = '/usr/local/bin/fast-reboot-dump.py -t {}'.format(cache_dir) + cache_proc = subprocess.Popen(arp_cache_cmd, shell=True, text=True, stdout=subprocess.PIPE) + _, cache_err = cache_proc.communicate() + if cache_err: + click.echo("Could not cache ARP and FDB info prior to reloading") + success = False + + if not cache_err: + fdb_cache_file = os.path.join(cache_dir, 'fdb.json') + arp_cache_file = os.path.join(cache_dir, 'arp.json') + fdb_filter_cmd = '/usr/local/bin/filter_fdb_entries -f {} -a {} -c /etc/sonic/configdb.json'.format(fdb_cache_file, arp_cache_file) + filter_proc = subprocess.Popen(fdb_filter_cmd, shell=True, text=True, stdout=subprocess.PIPE) + _, filter_err = filter_proc.communicate() + if filter_err: + click.echo("Could not filter FDB entries prior to reloading") + success = False + + # If we are able to successfully cache ARP table info, signal SWSS to restore from our cache + # by creating /host/config-reload/needs-restore + if success: + restore_flag_file = os.path.join(cache_dir, 'needs-restore') + open(restore_flag_file, 'w').close() + return success + # This is our main entrypoint - the main 'config' command @click.group(cls=clicommon.AbbreviationGroup, context_settings=CONTEXT_SETTINGS) @click.pass_context @@ -953,9 +985,10 @@ def load(filename, yes): @click.option('-y', '--yes', is_flag=True) @click.option('-l', '--load-sysinfo', is_flag=True, help='load system default information (mac, portmap etc) first.') @click.option('-n', '--no_service_restart', default=False, is_flag=True, help='Do not restart docker services') +@click.option('-d', '--disable_arp_cache', default=False, is_flag=True, help='Do not cache ARP table before reloading (applies to dual ToR systems only)') @click.argument('filename', required=False) @clicommon.pass_db -def reload(db, filename, yes, load_sysinfo, no_service_restart): +def reload(db, filename, yes, load_sysinfo, no_service_restart, disable_arp_cache): """Clear current configuration and import a previous saved config DB dump file. : Names of configuration file(s) to load, separated by comma with no spaces in between """ @@ -994,6 +1027,13 @@ def reload(db, filename, yes, load_sysinfo, no_service_restart): else: cfg_hwsku = cfg_hwsku.strip() + # For dual ToR devices, cache ARP and FDB info + localhost_metadata = db.cfgdb.get_table('DEVICE_METADATA')['localhost'] + cache_arp_table = not disable_arp_cache and 'subtype' in localhost_metadata and localhost_metadata['subtype'].lower() == 'dualtor' + + if cache_arp_table: + cache_arp_entries() + #Stop services before config push if not no_service_restart: log.log_info("'reload' stopping services...") From 64604dbf20f0d1fe0b3063b105a88447de606005 Mon Sep 17 00:00:00 2001 From: Danny Allen Date: Wed, 3 Mar 2021 17:24:22 -0800 Subject: [PATCH 114/342] [acl] Expand VLAN into VLAN members when creating an ACL table (#1475) Signed-off-by: Danny Allen --- config/main.py | 74 +++++++++++++++++++++++----- doc/Command-Reference.md | 29 +++++++++++ tests/acl_config_test.py | 83 ++++++++++++++++++++++++++++++++ tests/mock_tables/config_db.json | 3 ++ tests/vlan_test.py | 14 ++++++ 5 files changed, 190 insertions(+), 13 deletions(-) create mode 100644 tests/acl_config_test.py diff --git a/config/main.py b/config/main.py index b8fbaab6e2..f2a204b93f 100644 --- a/config/main.py +++ b/config/main.py @@ -3291,23 +3291,33 @@ def get_acl_bound_ports(): return list(ports) -# -# 'table' subcommand ('config acl add table ...') -# -@add.command() -@click.argument("table_name", metavar="") -@click.argument("table_type", metavar="") -@click.option("-d", "--description") -@click.option("-p", "--ports") -@click.option("-s", "--stage", type=click.Choice(["ingress", "egress"]), default="ingress") -def table(table_name, table_type, description, ports, stage): +def expand_vlan_ports(port_name): """ - Add ACL table + Expands a given VLAN interface into its member ports. + + If the provided interface is a VLAN, then this method will return its member ports. + + If the provided interface is not a VLAN, then this method will return a list with only + the provided interface in it. """ config_db = ConfigDBConnector() config_db.connect() + if port_name not in config_db.get_keys("VLAN"): + return [port_name] + + vlan_members = config_db.get_keys("VLAN_MEMBER") + + members = [member for vlan, member in vlan_members if port_name == vlan] + + if not members: + raise ValueError("Cannot bind empty VLAN {}".format(port_name)) + + return members + + +def parse_acl_table_info(table_name, table_type, description, ports, stage): table_info = {"type": table_type} if description: @@ -3315,13 +3325,51 @@ def table(table_name, table_type, description, ports, stage): else: table_info["policy_desc"] = table_name + if not ports and ports != None: + raise ValueError("Cannot bind empty list of ports") + + port_list = [] + valid_acl_ports = get_acl_bound_ports() if ports: - table_info["ports@"] = ports + for port in ports.split(","): + port_list += expand_vlan_ports(port) + port_list = set(port_list) else: - table_info["ports@"] = ",".join(get_acl_bound_ports()) + port_list = valid_acl_ports + + for port in port_list: + if port not in valid_acl_ports: + raise ValueError("Cannot bind ACL to specified port {}".format(port)) + + table_info["ports@"] = ",".join(port_list) table_info["stage"] = stage + return table_info + +# +# 'table' subcommand ('config acl add table ...') +# + +@add.command() +@click.argument("table_name", metavar="") +@click.argument("table_type", metavar="") +@click.option("-d", "--description") +@click.option("-p", "--ports") +@click.option("-s", "--stage", type=click.Choice(["ingress", "egress"]), default="ingress") +@click.pass_context +def table(ctx, table_name, table_type, description, ports, stage): + """ + Add ACL table + """ + config_db = ConfigDBConnector() + config_db.connect() + + try: + table_info = parse_acl_table_info(table_name, table_type, description, ports, stage) + except ValueError as e: + ctx.fail("Failed to parse ACL table config: exception={}".format(e)) + config_db.set_entry("ACL_TABLE", table_name, table_info) # diff --git a/doc/Command-Reference.md b/doc/Command-Reference.md index 08237329bd..172e103273 100644 --- a/doc/Command-Reference.md +++ b/doc/Command-Reference.md @@ -1371,6 +1371,35 @@ When the optional argument "max_priority" is specified, each rule’s priority Go Back To [Beginning of the document](#) or [Beginning of this section](#acl) +**config acl add table** + +This command is used to create new ACL tables. + +- Usage: + ``` + config acl add table [OPTIONS] [-d ] [-p ] [-s (ingress | egress)] + ``` + +- Parameters: + - table_name: The name of the ACL table to create. + - table_type: The type of ACL table to create (e.g. "L3", "L3V6", "MIRROR") + - description: A description of the table for the user. (default is the table_name) + - ports: A comma-separated list of ports/interfaces to add to the table. The behavior is as follows: + - Physical ports will be bound as physical ports + - Portchannels will be bound as portchannels - passing a portchannel member is invalid + - VLANs will be expanded into their members (e.g. "Vlan1000" will become "Ethernet0,Ethernet2,Ethernet4...") + - stage: The stage this ACL table will be applied to, either ingress or egress. (default is ingress) + +- Examples: + ``` + admin@sonic:~$ sudo config acl add table EXAMPLE L3 -p Ethernet0,Ethernet4 -s ingress + ``` + ``` + admin@sonic:~$ sudo config acl add table EXAMPLE_2 L3V6 -p Vlan1000,PortChannel0001,Ethernet128 -s egress + ``` + +Go Back To [Beginning of the document](#) or [Beginning of this section](#acl) + ## ARP & NDP diff --git a/tests/acl_config_test.py b/tests/acl_config_test.py new file mode 100644 index 0000000000..63f92b787b --- /dev/null +++ b/tests/acl_config_test.py @@ -0,0 +1,83 @@ +import pytest + +import config.main as config + +from click.testing import CliRunner +from config.main import expand_vlan_ports, parse_acl_table_info + + +class TestConfigAcl(object): + def test_expand_vlan(self): + assert set(expand_vlan_ports("Vlan1000")) == {"Ethernet4", "Ethernet8", "Ethernet12", "Ethernet16"} + + def test_expand_lag(self): + assert set(expand_vlan_ports("PortChannel1001")) == {"PortChannel1001"} + + def test_expand_physical_interface(self): + assert set(expand_vlan_ports("Ethernet4")) == {"Ethernet4"} + + def test_expand_empty_vlan(self): + with pytest.raises(ValueError): + expand_vlan_ports("Vlan3000") + + def test_parse_table_with_vlan_expansion(self): + table_info = parse_acl_table_info("TEST", "L3", None, "Vlan1000", "egress") + assert table_info["type"] == "L3" + assert table_info["policy_desc"] == "TEST" + assert table_info["stage"] == "egress" + + port_list = table_info["ports@"].split(",") + assert set(port_list) == {"Ethernet4", "Ethernet8", "Ethernet12", "Ethernet16"} + + def test_parse_table_with_vlan_and_duplicates(self): + table_info = parse_acl_table_info("TEST", "L3", None, "Ethernet4,Vlan1000", "egress") + assert table_info["type"] == "L3" + assert table_info["policy_desc"] == "TEST" + assert table_info["stage"] == "egress" + + # Since Ethernet4 is a member of Vlan1000 we should not include it twice in the output + port_list = table_info["ports@"].split(",") + assert len(port_list) == 4 + assert set(port_list) == {"Ethernet4", "Ethernet8", "Ethernet12", "Ethernet16"} + + def test_parse_table_with_empty_vlan(self): + with pytest.raises(ValueError): + parse_acl_table_info("TEST", "L3", None, "Ethernet4,Vlan3000", "egress") + + def test_parse_table_with_invalid_ports(self): + with pytest.raises(ValueError): + parse_acl_table_info("TEST", "L3", None, "Ethernet200", "egress") + + def test_parse_table_with_empty_ports(self): + with pytest.raises(ValueError): + parse_acl_table_info("TEST", "L3", None, "", "egress") + + def test_acl_add_table_nonexistent_port(self): + runner = CliRunner() + + result = runner.invoke( + config.config.commands["acl"].commands["add"].commands["table"], + ["TEST", "L3", "-p", "Ethernet200"]) + + assert result.exit_code != 0 + assert "Cannot bind ACL to specified port Ethernet200" in result.output + + def test_acl_add_table_empty_string_port_list(self): + runner = CliRunner() + + result = runner.invoke( + config.config.commands["acl"].commands["add"].commands["table"], + ["TEST", "L3", "-p", ""]) + + assert result.exit_code != 0 + assert "Cannot bind empty list of ports" in result.output + + def test_acl_add_table_empty_vlan(self): + runner = CliRunner() + + result = runner.invoke( + config.config.commands["acl"].commands["add"].commands["table"], + ["TEST", "L3", "-p", "Vlan3000"]) + + assert result.exit_code != 0 + assert "Cannot bind empty VLAN Vlan3000" in result.output diff --git a/tests/mock_tables/config_db.json b/tests/mock_tables/config_db.json index f9a7459680..a8545a5a80 100644 --- a/tests/mock_tables/config_db.json +++ b/tests/mock_tables/config_db.json @@ -434,6 +434,9 @@ "dhcp_servers@": "192.0.0.1,192.0.0.2,192.0.0.3,192.0.0.4", "vlanid": "2000" }, + "VLAN|Vlan3000": { + "vlanid": "3000" + }, "VLAN_INTERFACE|Vlan1000": { "NULL": "NULL" }, diff --git a/tests/vlan_test.py b/tests/vlan_test.py index f17abac431..8be9db1e2e 100644 --- a/tests/vlan_test.py +++ b/tests/vlan_test.py @@ -22,6 +22,8 @@ | | | | | 192.0.0.3 | | | | | | | 192.0.0.4 | | +-----------+-----------------+------------+----------------+-----------------------+-------------+ +| 3000 | | | | | disabled | ++-----------+-----------------+------------+----------------+-----------------------+-------------+ """ show_vlan_brief_in_alias_mode_output="""\ @@ -38,6 +40,8 @@ | | | | | 192.0.0.3 | | | | | | | 192.0.0.4 | | +-----------+-----------------+---------+----------------+-----------------------+-------------+ +| 3000 | | | | | disabled | ++-----------+-----------------+---------+----------------+-----------------------+-------------+ """ show_vlan_brief_empty_output="""\ @@ -49,6 +53,8 @@ | | | | | 192.0.0.3 | | | | | | | 192.0.0.4 | | +-----------+-----------------+------------+----------------+-----------------------+-------------+ +| 3000 | | | | | disabled | ++-----------+-----------------+------------+----------------+-----------------------+-------------+ """ show_vlan_brief_with_portchannel_output="""\ @@ -66,6 +72,8 @@ | | | | | 192.0.0.3 | | | | | | | 192.0.0.4 | | +-----------+-----------------+-----------------+----------------+-----------------------+-------------+ +| 3000 | | | | | disabled | ++-----------+-----------------+-----------------+----------------+-----------------------+-------------+ """ show_vlan_config_output="""\ @@ -115,6 +123,8 @@ | | | | | 192.0.0.3 | | | | | | | 192.0.0.4 | | +-----------+-----------------+------------+----------------+-----------------------+-------------+ +| 3000 | | | | | disabled | ++-----------+-----------------+------------+----------------+-----------------------+-------------+ """ config_add_del_vlan_and_vlan_member_output="""\ @@ -133,6 +143,8 @@ | | | | | 192.0.0.3 | | | | | | | 192.0.0.4 | | +-----------+-----------------+------------+----------------+-----------------------+-------------+ +| 3000 | | | | | disabled | ++-----------+-----------------+------------+----------------+-----------------------+-------------+ """ config_add_del_vlan_and_vlan_member_in_alias_mode_output="""\ @@ -151,6 +163,8 @@ | | | | | 192.0.0.3 | | | | | | | 192.0.0.4 | | +-----------+-----------------+---------+----------------+-----------------------+-------------+ +| 3000 | | | | | disabled | ++-----------+-----------------+---------+----------------+-----------------------+-------------+ """ class TestVlan(object): @classmethod From 748dbbf94e9050fb1a390df457a7b393ce63cf09 Mon Sep 17 00:00:00 2001 From: maksymbelei95 <75987222+maksymbelei95@users.noreply.github.com> Date: Thu, 4 Mar 2021 09:40:22 +0200 Subject: [PATCH 115/342] [show] Fix 'show mac' output, when FDB entry with Vlan 1 is present (#1368) * Skip records of FDB entries, which are linked to default Vlan 1, to prevent exception throwing while performing command 'show mac' or 'fdbshow'. Signed-off-by: Maksym Belei --- scripts/fdbshow | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/scripts/fdbshow b/scripts/fdbshow index 169bf7cf3c..53badedc69 100755 --- a/scripts/fdbshow +++ b/scripts/fdbshow @@ -87,6 +87,10 @@ class FdbShow(object): elif 'bvid' in fdb: try: vlan_id = port_util.get_vlan_id_from_bvid(self.db, fdb["bvid"]) + if vlan_id is None: + # the situation could be faced if the system has an FDB entries, + # which are linked to default Vlan(caused by untagged trafic) + continue except Exception: vlan_id = fdb["bvid"] print("Failed to get Vlan id for bvid {}\n".format(fdb["bvid"])) From f78e7ce8e8afe7928dfb02c6aab98758c84c0aca Mon Sep 17 00:00:00 2001 From: Danny Allen Date: Thu, 4 Mar 2021 18:56:59 -0800 Subject: [PATCH 116/342] [acl-loader] Improve input validation for acl_loader (#1479) Signed-off-by: Danny Allen --- acl_loader/main.py | 17 ++++++++- tests/acl_input/acl1.json | 2 +- tests/acl_input/icmp_bad_protocol_number.json | 37 +++++++++++++++++++ .../acl_input/icmpv6_bad_protocol_number.json | 37 +++++++++++++++++++ tests/acl_input/tcp_bad_protocol_number.json | 36 ++++++++++++++++++ tests/acl_loader_test.py | 20 +++++++++- tests/mock_tables/config_db.json | 4 +- 7 files changed, 147 insertions(+), 6 deletions(-) create mode 100644 tests/acl_input/icmp_bad_protocol_number.json create mode 100644 tests/acl_input/icmpv6_bad_protocol_number.json create mode 100644 tests/acl_input/tcp_bad_protocol_number.json diff --git a/acl_loader/main.py b/acl_loader/main.py index 6a5311be51..91cb750c33 100644 --- a/acl_loader/main.py +++ b/acl_loader/main.py @@ -559,6 +559,19 @@ def convert_input_interface(self, table_name, rule_idx, rule): return rule_props + def validate_rule_fields(self, rule_props): + protocol = rule_props.get("IP_PROTOCOL") + + if protocol: + if "TCP_FLAGS" in rule_props and protocol != 6: + raise AclLoaderException("IP_PROTOCOL={} is not TCP, but TCP flags were provided".format(protocol)) + + if ("ICMP_TYPE" in rule_props or "ICMP_CODE" in rule_props) and protocol != 1: + raise AclLoaderException("IP_PROTOCOL={} is not ICMP, but ICMP fields were provided".format(protocol)) + + if ("ICMPV6_TYPE" in rule_props or "ICMPV6_CODE" in rule_props) and protocol != 58: + raise AclLoaderException("IP_PROTOCOL={} is not ICMPV6, but ICMPV6 fields were provided".format(protocol)) + def convert_rule_to_db_schema(self, table_name, rule): """ Convert rules format from openconfig ACL to Config DB schema @@ -579,6 +592,8 @@ def convert_rule_to_db_schema(self, table_name, rule): deep_update(rule_props, self.convert_transport(table_name, rule_idx, rule)) deep_update(rule_props, self.convert_input_interface(table_name, rule_idx, rule)) + self.validate_rule_fields(rule_props) + return rule_data def deny_rule(self, table_name): @@ -591,7 +606,7 @@ def deny_rule(self, table_name): rule_data = {(table_name, "DEFAULT_RULE"): rule_props} rule_props["PRIORITY"] = str(self.min_priority) rule_props["PACKET_ACTION"] = "DROP" - if 'v6' in table_name.lower(): + if self.is_table_ipv6(table_name): rule_props["IP_TYPE"] = "IPV6ANY" # ETHERTYPE is not supported for DATAACLV6 else: rule_props["ETHER_TYPE"] = str(self.ethertype_map["ETHERTYPE_IPV4"]) diff --git a/tests/acl_input/acl1.json b/tests/acl_input/acl1.json index adfde60f3a..4af13400fa 100644 --- a/tests/acl_input/acl1.json +++ b/tests/acl_input/acl1.json @@ -193,7 +193,7 @@ } } }, - "DATAACLV6": { + "DATAACL_2": { "acl-entries": { "acl-entry": { "1": { diff --git a/tests/acl_input/icmp_bad_protocol_number.json b/tests/acl_input/icmp_bad_protocol_number.json new file mode 100644 index 0000000000..1bc1d6ef48 --- /dev/null +++ b/tests/acl_input/icmp_bad_protocol_number.json @@ -0,0 +1,37 @@ +{ + "acl": { + "acl-sets": { + "acl-set": { + "DATAACL": { + "acl-entries": { + "acl-entry": { + "1": { + "config": { + "sequence-id": 1 + }, + "actions": { + "config": { + "forwarding-action": "ACCEPT" + } + }, + "ip": { + "config": { + "protocol": "IP_UDP", + "source-ip-address": "20.0.0.2/32", + "destination-ip-address": "30.0.0.3/32" + } + }, + "icmp": { + "config": { + "type": "3", + "code": "0" + } + } + } + } + } + } + } + } + } +} diff --git a/tests/acl_input/icmpv6_bad_protocol_number.json b/tests/acl_input/icmpv6_bad_protocol_number.json new file mode 100644 index 0000000000..a4494ecec5 --- /dev/null +++ b/tests/acl_input/icmpv6_bad_protocol_number.json @@ -0,0 +1,37 @@ +{ + "acl": { + "acl-sets": { + "acl-set": { + "DATAACL_2": { + "acl-entries": { + "acl-entry": { + "1": { + "config": { + "sequence-id": 1 + }, + "actions": { + "config": { + "forwarding-action": "ACCEPT" + } + }, + "ip": { + "config": { + "protocol": "IP_UDP", + "source-ip-address": "20.0.0.2/32", + "destination-ip-address": "30.0.0.3/32" + } + }, + "icmp": { + "config": { + "type": "3", + "code": "0" + } + } + } + } + } + } + } + } + } +} diff --git a/tests/acl_input/tcp_bad_protocol_number.json b/tests/acl_input/tcp_bad_protocol_number.json new file mode 100644 index 0000000000..3510a80464 --- /dev/null +++ b/tests/acl_input/tcp_bad_protocol_number.json @@ -0,0 +1,36 @@ +{ + "acl": { + "acl-sets": { + "acl-set": { + "DATAACL": { + "acl-entries": { + "acl-entry": { + "1": { + "config": { + "sequence-id": 1 + }, + "actions": { + "config": { + "forwarding-action": "ACCEPT" + } + }, + "ip": { + "config": { + "protocol": "IP_UDP", + "source-ip-address": "20.0.0.2/32", + "destination-ip-address": "30.0.0.3/32" + } + }, + "transport": { + "config": { + "tcp-flags": ["TCP_ACK"] + } + } + } + } + } + } + } + } + } +} diff --git a/tests/acl_loader_test.py b/tests/acl_loader_test.py index 9a33819eb2..e2ee414a50 100644 --- a/tests/acl_loader_test.py +++ b/tests/acl_loader_test.py @@ -100,7 +100,7 @@ def test_icmpv6_translation(self, acl_loader): acl_loader.rules_info = {} acl_loader.load_rules_from_file(os.path.join(test_path, 'acl_input/acl1.json')) print(acl_loader.rules_info) - assert acl_loader.rules_info[("DATAACLV6", "RULE_1")] == { + assert acl_loader.rules_info[("DATAACL_2", "RULE_1")] == { "ICMPV6_TYPE": 1, "ICMPV6_CODE": 0, "IP_PROTOCOL": 58, @@ -109,7 +109,7 @@ def test_icmpv6_translation(self, acl_loader): "PACKET_ACTION": "FORWARD", "PRIORITY": "9999" } - assert acl_loader.rules_info[("DATAACLV6", "RULE_100")] == { + assert acl_loader.rules_info[("DATAACL_2", "RULE_100")] == { "ICMPV6_TYPE": 128, "IP_PROTOCOL": 58, "SRC_IPV6": "::1/128", @@ -147,3 +147,19 @@ def test_icmp_code_not_a_number(self, acl_loader): with pytest.raises(ValueError): acl_loader.rules_info = {} acl_loader.load_rules_from_file(os.path.join(test_path, 'acl_input/illegal_icmp_code_nan.json')) + + def test_icmp_fields_with_non_icmp_protocol(self, acl_loader): + acl_loader.rules_info = {} + acl_loader.load_rules_from_file(os.path.join(test_path, 'acl_input/icmp_bad_protocol_number.json')) + assert not acl_loader.rules_info.get("RULE_1") + + def ttest_icmp_fields_with_non_icmpv6_protocol(self, acl_loader): + acl_loader.rules_info = {} + acl_loader.load_rules_from_file(os.path.join(test_path, 'acl_input/icmpv6_bad_protocol_number.json')) + assert not acl_loader.rules_info.get("RULE_1") + + + def test_icmp_fields_with_non_tcp_protocol(self, acl_loader): + acl_loader.rules_info = {} + acl_loader.load_rules_from_file(os.path.join(test_path, 'acl_input/tcp_bad_protocol_number.json')) + assert not acl_loader.rules_info.get("RULE_1") diff --git a/tests/mock_tables/config_db.json b/tests/mock_tables/config_db.json index a8545a5a80..dc951f977d 100644 --- a/tests/mock_tables/config_db.json +++ b/tests/mock_tables/config_db.json @@ -400,8 +400,8 @@ "ports@": "PortChannel0002,PortChannel0005,PortChannel0008,PortChannel0011,PortChannel0014,PortChannel0017,PortChannel0020,PortChannel0023,Ethernet64,Ethernet68,Ethernet72,Ethernet76,Ethernet80,Ethernet84,Ethernet88,Ethernet92,Ethernet96,Ethernet100,Ethernet104,Ethernet108,Ethernet112,Ethernet116,Ethernet120,Ethernet124", "type": "L3" }, - "ACL_TABLE|DATAACLV6": { - "policy_desc": "DATAACLV6", + "ACL_TABLE|DATAACL_2": { + "policy_desc": "DATAACL_2", "ports@": "PortChannel0002,PortChannel0005,PortChannel0008,PortChannel0011,PortChannel0014,PortChannel0017,PortChannel0020,PortChannel0023,Ethernet64,Ethernet68,Ethernet72,Ethernet76,Ethernet80,Ethernet84,Ethernet88,Ethernet92,Ethernet96,Ethernet100,Ethernet104,Ethernet108,Ethernet112,Ethernet116,Ethernet120,Ethernet124", "type": "L3V6" }, From 13ce4b69eb3da50ee9bfd18c9951c2546c9b99e2 Mon Sep 17 00:00:00 2001 From: vdahiya12 <67608553+vdahiya12@users.noreply.github.com> Date: Mon, 8 Mar 2021 18:35:38 -0800 Subject: [PATCH 117/342] [show][config] fix show mux status health field; add support for hwmode functionality to toggle mux, check mux direction for Y cable (#1467) This PR fixes the show mux status "health" field. There is also support for new commands for muxcable show muxcable hwmode muxdirection sudo config muxcable hwmode state active all which can check the muxdirection and toggle the mux direction directly through eeprom What I did Fixed the show mux status health field Also added these new commands vdahiya@BN9-0101-0301-01UT0:~$ show muxcable hwmode muxdirection Port Direction ----------- ----------- Ethernet0 active Ethernet4 active Ethernet8 active Ethernet12 active Ethernet16 active vdahiya@BN9-0101-0301-01UT0:~$ sudo config muxcable hwmode state active all Muxcables at all ports will be changed to active state. Continue? [y/N]: y Success in toggling port Ethernet0 to active Success in toggling port Ethernet4 to active Success in toggling port Ethernet8 to active Success in toggling port Ethernet12 to active Success in toggling port Ethernet16 to active Signed-off-by: vaibhav-dahiya --- config/muxcable.py | 214 ++++++++++++++++- show/muxcable.py | 253 +++++++++++++++++++- tests/mock_tables/state_db.json | 141 ++++++----- tests/muxcable_test.py | 168 ++++++++++++- utilities_common/platform_sfputil_helper.py | 17 ++ 5 files changed, 716 insertions(+), 77 deletions(-) diff --git a/config/muxcable.py b/config/muxcable.py index 8edde8c461..903156bd22 100644 --- a/config/muxcable.py +++ b/config/muxcable.py @@ -16,6 +16,8 @@ CONFIG_SUCCESSFUL = 100 CONFIG_FAIL = 1 +VENDOR_NAME = "Credo" +VENDOR_MODEL = "CAC125321P2PA0MS" # Helper functions @@ -146,7 +148,7 @@ def mode(state, port, json_output): if per_npu_statedb[asic_index] is not None: y_cable_asic_table_keys = port_table_keys[asic_index] - logical_key = "MUX_CABLE_TABLE"+"|"+port + logical_key = "MUX_CABLE_TABLE|{}".format(port) if logical_key in y_cable_asic_table_keys: port_status_dict = {} lookup_statedb_and_update_configdb( @@ -188,11 +190,13 @@ def mode(state, port, json_output): sys.exit(CONFIG_SUCCESSFUL) + @muxcable.group(cls=clicommon.AbbreviationGroup) def prbs(): """Enable/disable PRBS mode on a port""" pass + @prbs.command() @click.argument('port', required=True, default=None, type=click.INT) @click.argument('target', required=True, default=None, type=click.INT) @@ -209,6 +213,7 @@ def enable(port, target, mode_value, lane_map): click.echo("PRBS config sucessful") sys.exit(CONFIG_SUCCESSFUL) + @prbs.command() @click.argument('port', required=True, default=None, type=click.INT) @click.argument('target', required=True, default=None, type=click.INT) @@ -223,6 +228,7 @@ def disable(port, target): click.echo("PRBS disable sucessful") sys.exit(CONFIG_SUCCESSFUL) + @muxcable.group(cls=clicommon.AbbreviationGroup) def loopback(): """Enable/disable loopback mode on a port""" @@ -244,6 +250,7 @@ def enable(port, target, lane_map): click.echo("loopback config sucessful") sys.exit(CONFIG_SUCCESSFUL) + @loopback.command() @click.argument('port', required=True, default=None, type=click.INT) @click.argument('target', required=True, default=None, type=click.INT) @@ -257,3 +264,208 @@ def disable(port, target): sys.exit(CONFIG_FAIL) click.echo("loopback disable sucessful") sys.exit(CONFIG_SUCCESSFUL) + + +@muxcable.group(cls=clicommon.AbbreviationGroup) +def hwmode(): + """Configure muxcable hardware directly""" + pass + + +@hwmode.command() +@click.argument('state', metavar='', required=True, type=click.Choice(["active", "standby"])) +@click.argument('port', metavar='', required=True, default=None) +def state(state, port): + """Configure the muxcable mux state {active/standby}""" + + per_npu_statedb = {} + transceiver_table_keys = {} + transceiver_dict = {} + + # Getting all front asic namespace and correspding config and state DB connector + + namespaces = multi_asic.get_front_end_namespaces() + for namespace in namespaces: + asic_id = multi_asic.get_asic_index_from_namespace(namespace) + per_npu_statedb[asic_id] = SonicV2Connector(use_unix_socket_path=False, namespace=namespace) + per_npu_statedb[asic_id].connect(per_npu_statedb[asic_id].STATE_DB) + + transceiver_table_keys[asic_id] = per_npu_statedb[asic_id].keys( + per_npu_statedb[asic_id].STATE_DB, 'TRANSCEIVER_INFO|*') + + if port is not None and port != "all": + click.confirm(('Muxcable at port {} will be changed to {} state. Continue?'.format(port, state)), abort=True) + logical_port_list = platform_sfputil_helper.get_logical_list() + if port not in logical_port_list: + click.echo("ERR: This is not a valid port, valid ports ({})".format(", ".join(logical_port_list))) + sys.exit(CONFIG_FAIL) + + asic_index = None + if platform_sfputil is not None: + asic_index = platform_sfputil_helper.get_asic_id_for_logical_port(port) + if asic_index is None: + # TODO this import is only for unit test purposes, and should be removed once sonic_platform_base + # is fully mocked + import sonic_platform_base.sonic_sfp.sfputilhelper + asic_index = sonic_platform_base.sonic_sfp.sfputilhelper.SfpUtilHelper().get_asic_id_for_logical_port(port) + if asic_index is None: + click.echo("Got invalid asic index for port {}, cant retreive mux status".format(port)) + sys.exit(CONFIG_FAIL) + + if platform_sfputil is not None: + physical_port_list = platform_sfputil_helper.logical_port_name_to_physical_port_list(port) + + if not isinstance(physical_port_list, list): + click.echo(("ERR: Unable to locate physical port information for {}".format(port))) + sys.exit(CONFIG_FAIL) + if len(physical_port_list) != 1: + click.echo("ERR: Found multiple physical ports ({}) associated with {}".format( + ", ".join(physical_port_list), port)) + sys.exit(CONFIG_FAIL) + + transceiver_dict[asic_index] = per_npu_statedb[asic_index].get_all( + per_npu_statedb[asic_index].STATE_DB, 'TRANSCEIVER_INFO|{}'.format(port)) + + vendor_value = get_value_for_key_in_dict(transceiver_dict[asic_index], port, "manufacturer", "TRANSCEIVER_INFO") + model_value = get_value_for_key_in_dict(transceiver_dict[asic_index], port, "model", "TRANSCEIVER_INFO") + + """ This check is required for checking whether or not this port is connected to a Y cable + or not. The check gives a way to differentiate between non Y cable ports and Y cable ports. + TODO: this should be removed once their is support for multiple vendors on Y cable""" + + if vendor_value != VENDOR_NAME or model_value != VENDOR_MODEL: + click.echo("ERR: Got invalid vendor value and model for port {}".format(port)) + sys.exit(CONFIG_FAIL) + + physical_port = physical_port_list[0] + + logical_port_list_for_physical_port = platform_sfputil_helper.get_physical_to_logical() + + logical_port_list_per_port = logical_port_list_for_physical_port.get(physical_port, None) + + """ This check is required for checking whether or not this logical port is the one which is + actually mapped to physical port and by convention it is always the first port. + TODO: this should be removed with more logic to check which logical port maps to actual physical port + being used""" + + if port != logical_port_list_per_port[0]: + click.echo("ERR: This logical Port {} is not on a muxcable".format(port)) + sys.exit(CONFIG_FAIL) + + import sonic_y_cable.y_cable + read_side = sonic_y_cable.y_cable.check_read_side(physical_port) + if read_side == False or read_side == -1: + click.echo(("ERR: Unable to get read_side for the cable port {}".format(port))) + sys.exit(CONFIG_FAIL) + + mux_direction = sonic_y_cable.y_cable.check_mux_direction(physical_port) + if mux_direction == False or mux_direction == -1: + click.echo(("ERR: Unable to get mux direction for the cable port {}".format(port))) + sys.exit(CONFIG_FAIL) + + if int(read_side) == 1: + if state == "active": + res = sonic_y_cable.y_cable.toggle_mux_to_torA(physical_port) + elif state == "standby": + res = sonic_y_cable.y_cable.toggle_mux_to_torB(physical_port) + click.echo("Success in toggling port {} to {}".format(port, state)) + elif int(read_side) == 2: + if state == "active": + res = sonic_y_cable.y_cable.toggle_mux_to_torB(physical_port) + elif state == "standby": + res = sonic_y_cable.y_cable.toggle_mux_to_torA(physical_port) + click.echo("Success in toggling port {} to {}".format(port, state)) + + if res == False: + click.echo("ERR: Unable to toggle port {} to {}".format(port, state)) + sys.exit(CONFIG_FAIL) + + elif port == "all" and port is not None: + + click.confirm(('Muxcables at all ports will be changed to {} state. Continue?'.format(state)), abort=True) + logical_port_list = platform_sfputil_helper.get_logical_list() + + rc = True + for port in logical_port_list: + if platform_sfputil is not None: + physical_port_list = platform_sfputil_helper.logical_port_name_to_physical_port_list(port) + + asic_index = None + if platform_sfputil is not None: + asic_index = platform_sfputil_helper.get_asic_id_for_logical_port(port) + if asic_index is None: + # TODO this import is only for unit test purposes, and should be removed once sonic_platform_base + # is fully mocked + import sonic_platform_base.sonic_sfp.sfputilhelper + asic_index = sonic_platform_base.sonic_sfp.sfputilhelper.SfpUtilHelper().get_asic_id_for_logical_port(port) + if asic_index is None: + click.echo("Got invalid asic index for port {}, cant retreive mux status".format(port)) + + if not isinstance(physical_port_list, list): + click.echo(("ERR: Unable to locate physical port information for {}".format(port))) + continue + + if len(physical_port_list) != 1: + click.echo("ERR: Found multiple physical ports ({}) associated with {}".format( + ", ".join(physical_port_list), port)) + continue + + transceiver_dict[asic_index] = per_npu_statedb[asic_index].get_all( + per_npu_statedb[asic_index].STATE_DB, 'TRANSCEIVER_INFO|{}'.format(port)) + vendor_value = transceiver_dict[asic_index].get("manufacturer", None) + model_value = transceiver_dict[asic_index].get("model", None) + + """ This check is required for checking whether or not this port is connected to a Y cable + or not. The check gives a way to differentiate between non Y cable ports and Y cable ports. + TODO: this should be removed once their is support for multiple vendors on Y cable""" + + if vendor_value != VENDOR_NAME or model_value != VENDOR_MODEL: + continue + + physical_port = physical_port_list[0] + + logical_port_list_for_physical_port = platform_sfputil_helper.get_physical_to_logical() + + logical_port_list_per_port = logical_port_list_for_physical_port.get(physical_port, None) + + """ This check is required for checking whether or not this logical port is the one which is + actually mapped to physical port and by convention it is always the first port. + TODO: this should be removed with more logic to check which logical port maps to actual physical port + being used""" + + if port != logical_port_list_per_port[0]: + continue + + import sonic_y_cable.y_cable + read_side = sonic_y_cable.y_cable.check_read_side(physical_port) + if read_side == False or read_side == -1: + click.echo(("ERR: Unable to get read side for the cable port {}".format(port))) + rc = False + continue + + mux_direction = sonic_y_cable.y_cable.check_mux_direction(physical_port) + if mux_direction == False or mux_direction == -1: + click.echo(("ERR: Unable to get mux direction for the cable port {}".format(port))) + rc = False + continue + + if int(read_side) == 1: + if state == "active": + res = sonic_y_cable.y_cable.toggle_mux_to_torA(physical_port) + elif state == "standby": + res = sonic_y_cable.y_cable.toggle_mux_to_torB(physical_port) + click.echo("Success in toggling port {} to {}".format(port, state)) + elif int(read_side) == 2: + if state == "active": + res = sonic_y_cable.y_cable.toggle_mux_to_torB(physical_port) + elif state == "standby": + res = sonic_y_cable.y_cable.toggle_mux_to_torA(physical_port) + click.echo("Success in toggling port {} to {}".format(port, state)) + + if res == False: + rc = False + click.echo("ERR: Unable to toggle port {} to {}".format(port, state)) + + if rc == False: + click.echo("ERR: Unable to toggle one or more ports to {}".format(state)) + sys.exit(CONFIG_FAIL) diff --git a/show/muxcable.py b/show/muxcable.py index 8df8dc11d8..f688a41403 100644 --- a/show/muxcable.py +++ b/show/muxcable.py @@ -21,6 +21,10 @@ STATUS_FAIL = 1 STATUS_SUCCESSFUL = 102 +VENDOR_NAME = "Credo" +VENDOR_MODEL = "CAC125321P2PA0MS" + + # # 'muxcable' command ("show muxcable") # @@ -74,24 +78,25 @@ def get_switch_name(config_db): sys.exit(STATUS_FAIL) -def create_json_dump_per_port_status(port_status_dict, muxcable_info_dict, asic_index, port): +def create_json_dump_per_port_status(port_status_dict, muxcable_info_dict, muxcable_health_dict, asic_index, port): status_value = get_value_for_key_in_dict(muxcable_info_dict[asic_index], port, "state", "MUX_CABLE_TABLE") port_status_dict["MUX_CABLE"][port] = {} port_status_dict["MUX_CABLE"][port]["STATUS"] = status_value - # TODO : Fix the health status of the port - port_status_dict["MUX_CABLE"][port]["HEALTH"] = "HEALTHY" + health_value = get_value_for_key_in_dict(muxcable_health_dict[asic_index], port, "state", "MUX_LINKMGR_TABLE") + port_status_dict["MUX_CABLE"][port]["HEALTH"] = health_value -def create_table_dump_per_port_status(print_data, muxcable_info_dict, asic_index, port): +def create_table_dump_per_port_status(print_data, muxcable_info_dict, muxcable_health_dict, asic_index, port): print_port_data = [] status_value = get_value_for_key_in_dict(muxcable_info_dict[asic_index], port, "state", "MUX_CABLE_TABLE") #status_value = get_value_for_key_in_tbl(y_cable_asic_table, port, "status") + health_value = get_value_for_key_in_dict(muxcable_health_dict[asic_index], port, "state", "MUX_LINKMGR_TABLE") print_port_data.append(port) print_port_data.append(status_value) - print_port_data.append("HEALTHY") + print_port_data.append(health_value) print_data.append(print_port_data) @@ -126,8 +131,10 @@ def status(port, json_output): """Show muxcable status information""" port_table_keys = {} + port_health_table_keys = {} per_npu_statedb = {} muxcable_info_dict = {} + muxcable_health_dict = {} # Getting all front asic namespace and correspding config and state DB connector @@ -139,6 +146,8 @@ def status(port, json_output): port_table_keys[asic_id] = per_npu_statedb[asic_id].keys( per_npu_statedb[asic_id].STATE_DB, 'MUX_CABLE_TABLE|*') + port_health_table_keys[asic_id] = per_npu_statedb[asic_id].keys( + per_npu_statedb[asic_id].STATE_DB, 'MUX_LINKMGR_TABLE|*') if port is not None: asic_index = None @@ -155,22 +164,27 @@ def status(port, json_output): muxcable_info_dict[asic_index] = per_npu_statedb[asic_index].get_all( per_npu_statedb[asic_index].STATE_DB, 'MUX_CABLE_TABLE|{}'.format(port)) + muxcable_health_dict[asic_index] = per_npu_statedb[asic_index].get_all( + per_npu_statedb[asic_index].STATE_DB, 'MUX_LINKMGR_TABLE|{}'.format(port)) if muxcable_info_dict[asic_index] is not None: - logical_key = "MUX_CABLE_TABLE"+"|"+port - if logical_key in port_table_keys[asic_index]: + logical_key = "MUX_CABLE_TABLE|{}".format(port) + logical_health_key = "MUX_LINKMGR_TABLE|{}".format(port) + if logical_key in port_table_keys[asic_index] and logical_health_key in port_health_table_keys[asic_index]: if json_output: port_status_dict = {} port_status_dict["MUX_CABLE"] = {} - create_json_dump_per_port_status(port_status_dict, muxcable_info_dict, asic_index, port) + create_json_dump_per_port_status(port_status_dict, muxcable_info_dict, + muxcable_health_dict, asic_index, port) click.echo("{}".format(json.dumps(port_status_dict, indent=4))) sys.exit(STATUS_SUCCESSFUL) else: print_data = [] - create_table_dump_per_port_status(print_data, muxcable_info_dict, asic_index, port) + create_table_dump_per_port_status(print_data, muxcable_info_dict, + muxcable_health_dict, asic_index, port) headers = ['PORT', 'STATUS', 'HEALTH'] @@ -194,7 +208,10 @@ def status(port, json_output): port = key.split("|")[1] muxcable_info_dict[asic_id] = per_npu_statedb[asic_id].get_all( per_npu_statedb[asic_id].STATE_DB, 'MUX_CABLE_TABLE|{}'.format(port)) - create_json_dump_per_port_status(port_status_dict, muxcable_info_dict, asic_id, port) + muxcable_health_dict[asic_id] = per_npu_statedb[asic_id].get_all( + per_npu_statedb[asic_id].STATE_DB, 'MUX_LINKMGR_TABLE|{}'.format(port)) + create_json_dump_per_port_status(port_status_dict, muxcable_info_dict, + muxcable_health_dict, asic_id, port) click.echo("{}".format(json.dumps(port_status_dict, indent=4))) else: @@ -203,10 +220,13 @@ def status(port, json_output): asic_id = multi_asic.get_asic_index_from_namespace(namespace) for key in natsorted(port_table_keys[asic_id]): port = key.split("|")[1] + muxcable_health_dict[asic_id] = per_npu_statedb[asic_id].get_all( + per_npu_statedb[asic_id].STATE_DB, 'MUX_LINKMGR_TABLE|{}'.format(port)) muxcable_info_dict[asic_id] = per_npu_statedb[asic_id].get_all( per_npu_statedb[asic_id].STATE_DB, 'MUX_CABLE_TABLE|{}'.format(port)) - create_table_dump_per_port_status(print_data, muxcable_info_dict, asic_id, port) + create_table_dump_per_port_status(print_data, muxcable_info_dict, + muxcable_health_dict, asic_id, port) headers = ['PORT', 'STATUS', 'HEALTH'] click.echo(tabulate(print_data, headers=headers)) @@ -412,3 +432,214 @@ def cableinfo(port): body = [[vendor, part_num]] click.echo(tabulate(body, headers=headers)) + + +@muxcable.group(cls=clicommon.AbbreviationGroup) +def hwmode(): + """Shows the muxcable hardware information directly""" + pass + + +@hwmode.command() +@click.argument('port', metavar='', required=False, default=None) +def muxdirection(port): + """Shows the current direction of the muxcable {active/standy}""" + + per_npu_statedb = {} + transceiver_table_keys = {} + transceiver_dict = {} + + # Getting all front asic namespace and correspding config and state DB connector + + namespaces = multi_asic.get_front_end_namespaces() + for namespace in namespaces: + asic_id = multi_asic.get_asic_index_from_namespace(namespace) + per_npu_statedb[asic_id] = SonicV2Connector(use_unix_socket_path=False, namespace=namespace) + per_npu_statedb[asic_id].connect(per_npu_statedb[asic_id].STATE_DB) + + transceiver_table_keys[asic_id] = per_npu_statedb[asic_id].keys( + per_npu_statedb[asic_id].STATE_DB, 'TRANSCEIVER_INFO|*') + + if port is not None: + + logical_port_list = platform_sfputil_helper.get_logical_list() + if port not in logical_port_list: + click.echo("ERR: This is not a valid port, valid ports ({})".format(", ".join(logical_port_list))) + sys.exit(EXIT_FAIL) + + asic_index = None + if platform_sfputil is not None: + asic_index = platform_sfputil_helper.get_asic_id_for_logical_port(port) + if asic_index is None: + # TODO this import is only for unit test purposes, and should be removed once sonic_platform_base + # is fully mocked + import sonic_platform_base.sonic_sfp.sfputilhelper + asic_index = sonic_platform_base.sonic_sfp.sfputilhelper.SfpUtilHelper().get_asic_id_for_logical_port(port) + if asic_index is None: + click.echo("Got invalid asic index for port {}, cant retreive mux status".format(port)) + sys.exit(CONFIG_FAIL) + + transceiver_dict[asic_index] = per_npu_statedb[asic_index].get_all( + per_npu_statedb[asic_index].STATE_DB, 'TRANSCEIVER_INFO|{}'.format(port)) + + vendor_value = get_value_for_key_in_dict(transceiver_dict[asic_index], port, "manufacturer", "TRANSCEIVER_INFO") + model_value = get_value_for_key_in_dict(transceiver_dict[asic_index], port, "model", "TRANSCEIVER_INFO") + + """ This check is required for checking whether or not this port is connected to a Y cable + or not. The check gives a way to differentiate between non Y cable ports and Y cable ports. + TODO: this should be removed once their is support for multiple vendors on Y cable""" + + if vendor_value != VENDOR_NAME or model_value != VENDOR_MODEL: + click.echo("ERR: Got invalid vendor value and model for port {}".format(port)) + sys.exit(EXIT_FAIL) + + if platform_sfputil is not None: + physical_port_list = platform_sfputil_helper.logical_port_name_to_physical_port_list(port) + + if not isinstance(physical_port_list, list): + click.echo(("ERR: Unable to locate physical port information for {}".format(port))) + sys.exit(EXIT_FAIL) + if len(physical_port_list) != 1: + click.echo("ERR: Found multiple physical ports ({}) associated with {}".format( + ", ".join(physical_port_list), port)) + sys.exit(EXIT_FAIL) + + physical_port = physical_port_list[0] + + logical_port_list_for_physical_port = platform_sfputil_helper.get_physical_to_logical() + + logical_port_list_per_port = logical_port_list_for_physical_port.get(physical_port, None) + + """ This check is required for checking whether or not this logical port is the one which is + actually mapped to physical port and by convention it is always the first port. + TODO: this should be removed with more logic to check which logical port maps to actual physical port + being used""" + + if port != logical_port_list_per_port[0]: + click.echo("ERR: This logical Port {} is not on a muxcable".format(port)) + sys.exit(EXIT_FAIL) + + import sonic_y_cable.y_cable + read_side = sonic_y_cable.y_cable.check_read_side(physical_port) + if read_side == False or read_side == -1: + click.echo(("ERR: Unable to get read_side for the cable port {}".format(port))) + sys.exit(EXIT_FAIL) + + mux_direction = sonic_y_cable.y_cable.check_mux_direction(physical_port) + if mux_direction == False or mux_direction == -1: + click.echo(("ERR: Unable to get mux direction for the cable port {}".format(port))) + sys.exit(EXIT_FAIL) + + if int(read_side) == 1: + if mux_direction == 1: + state = "active" + elif mux_direction == 2: + state = "standby" + elif int(read_side) == 2: + if mux_direction == 1: + state = "standby" + elif mux_direction == 2: + state = "active" + else: + click.echo(("ERR: Unable to get mux direction, port {}".format(port))) + state = "unknown" + headers = ['Port', 'Direction'] + + body = [[port, state]] + click.echo(tabulate(body, headers=headers)) + + else: + + logical_port_list = platform_sfputil_helper.get_logical_list() + + rc = True + body = [] + for port in logical_port_list: + + temp_list = [] + if platform_sfputil is not None: + physical_port_list = platform_sfputil_helper.logical_port_name_to_physical_port_list(port) + + if not isinstance(physical_port_list, list): + continue + if len(physical_port_list) != 1: + continue + + asic_index = None + if platform_sfputil is not None: + asic_index = platform_sfputil_helper.get_asic_id_for_logical_port(port) + if asic_index is None: + # TODO this import is only for unit test purposes, and should be removed once sonic_platform_base + # is fully mocked + import sonic_platform_base.sonic_sfp.sfputilhelper + asic_index = sonic_platform_base.sonic_sfp.sfputilhelper.SfpUtilHelper().get_asic_id_for_logical_port(port) + if asic_index is None: + continue + + transceiver_dict[asic_index] = per_npu_statedb[asic_index].get_all( + per_npu_statedb[asic_index].STATE_DB, 'TRANSCEIVER_INFO|{}'.format(port)) + vendor_value = transceiver_dict[asic_index].get("manufacturer", None) + model_value = transceiver_dict[asic_index].get("model", None) + + """ This check is required for checking whether or not this port is connected to a Y cable + or not. The check gives a way to differentiate between non Y cable ports and Y cable ports. + TODO: this should be removed once their is support for multiple vendors on Y cable""" + + if vendor_value != VENDOR_NAME or model_value != VENDOR_MODEL: + continue + + physical_port = physical_port_list[0] + logical_port_list_for_physical_port = platform_sfputil_helper.get_physical_to_logical() + + logical_port_list_per_port = logical_port_list_for_physical_port.get(physical_port, None) + + """ This check is required for checking whether or not this logical port is the one which is + actually mapped to physical port and by convention it is always the first port. + TODO: this should be removed with more logic to check which logical port maps to actual physical port + being used""" + + if port != logical_port_list_per_port[0]: + continue + + import sonic_y_cable.y_cable + read_side = sonic_y_cable.y_cable.check_read_side(physical_port) + if read_side == False or read_side == -1: + rc = False + temp_list.append(port) + temp_list.append("unknown") + body.append(temp_list) + continue + + mux_direction = sonic_y_cable.y_cable.check_mux_direction(physical_port) + if mux_direction == False or mux_direction == -1: + rc = False + temp_list.append(port) + temp_list.append("unknown") + body.append(temp_list) + continue + + if int(read_side) == 1: + if mux_direction == 1: + state = "active" + elif mux_direction == 2: + state = "standby" + elif int(read_side) == 2: + if mux_direction == 1: + state = "standby" + elif mux_direction == 2: + state = "active" + else: + rc = False + temp_list.append(port) + temp_list.append("unknown") + body.append(temp_list) + continue + temp_list.append(port) + temp_list.append(state) + body.append(temp_list) + + headers = ['Port', 'Direction'] + + click.echo(tabulate(body, headers=headers)) + if rc == False: + sys.exit(EXIT_FAIL) diff --git a/tests/mock_tables/state_db.json b/tests/mock_tables/state_db.json index 64d685752e..bf9383f5e7 100644 --- a/tests/mock_tables/state_db.json +++ b/tests/mock_tables/state_db.json @@ -17,6 +17,24 @@ "nominal_bit_rate": "255", "application_advertisement": "N/A" }, + "TRANSCEIVER_INFO|Ethernet12": { + "type": "QSFP28 or later", + "hardware_rev": "AC", + "serial": "MT1706FT02064", + "manufacturer": "Credo", + "model": "CAC125321P2PA0MS", + "vendor_oui": "00-02-c9", + "vendor_date": "2017-01-13 ", + "connector": "No separable connector", + "encoding": "64B66B", + "ext_identifier": "Power Class 3(2.5W max), CDR present in Rx Tx", + "ext_rateselect_compliance": "QSFP+ Rate Select Version 1", + "cable_type": "Length Cable Assembly(m)", + "cable_length": "3", + "specification_compliance": "{'10/40G Ethernet Compliance Code': '40G Active Cable (XLPPI)'}", + "nominal_bit_rate": "255", + "application_advertisement": "N/A" + }, "TRANSCEIVER_DOM_SENSOR|Ethernet0": { "temperature": "30.9258", "voltage": "3.2824", @@ -393,33 +411,33 @@ "2": "200:200:200:200::4@Vlan1000", "3": "200:200:200:200::4@Vlan1000", "4": "200:200:200:200::4@Vlan1000", - "5" : "200:200:200:200::4@Vlan1000", - "6" : "200:200:200:200::4@Vlan1000", - "7" : "200:200:200:200::4@Vlan1000", - "8" : "200:200:200:200::4@Vlan1000", - "9" : "200:200:200:200::4@Vlan1000", - "10" : "200:200:200:200::4@Vlan1000", - "11" : "200:200:200:200::4@Vlan1000", - "12" : "200:200:200:200::4@Vlan1000", - "13" : "200:200:200:200::4@Vlan1000", - "14" : "200:200:200:200::4@Vlan1000", - "15" : "200:200:200:200::4@Vlan1000", - "16" : "200:200:200:200::5@Vlan1000", - "17" : "200:200:200:200::5@Vlan1000", - "18" : "200:200:200:200::5@Vlan1000", - "19" : "200:200:200:200::5@Vlan1000", - "20" : "200:200:200:200::5@Vlan1000", - "21" : "200:200:200:200::5@Vlan1000", - "22" : "200:200:200:200::5@Vlan1000", - "23" : "200:200:200:200::5@Vlan1000", - "24" : "200:200:200:200::5@Vlan1000", - "25" : "200:200:200:200::5@Vlan1000", - "26" : "200:200:200:200::5@Vlan1000", - "27" : "200:200:200:200::5@Vlan1000", - "28" : "200:200:200:200::5@Vlan1000", - "29" : "200:200:200:200::5@Vlan1000", - "30" : "200:200:200:200::5@Vlan1000", - "31" : "200:200:200:200::5@Vlan1000" + "5": "200:200:200:200::4@Vlan1000", + "6": "200:200:200:200::4@Vlan1000", + "7": "200:200:200:200::4@Vlan1000", + "8": "200:200:200:200::4@Vlan1000", + "9": "200:200:200:200::4@Vlan1000", + "10": "200:200:200:200::4@Vlan1000", + "11": "200:200:200:200::4@Vlan1000", + "12": "200:200:200:200::4@Vlan1000", + "13": "200:200:200:200::4@Vlan1000", + "14": "200:200:200:200::4@Vlan1000", + "15": "200:200:200:200::4@Vlan1000", + "16": "200:200:200:200::5@Vlan1000", + "17": "200:200:200:200::5@Vlan1000", + "18": "200:200:200:200::5@Vlan1000", + "19": "200:200:200:200::5@Vlan1000", + "20": "200:200:200:200::5@Vlan1000", + "21": "200:200:200:200::5@Vlan1000", + "22": "200:200:200:200::5@Vlan1000", + "23": "200:200:200:200::5@Vlan1000", + "24": "200:200:200:200::5@Vlan1000", + "25": "200:200:200:200::5@Vlan1000", + "26": "200:200:200:200::5@Vlan1000", + "27": "200:200:200:200::5@Vlan1000", + "28": "200:200:200:200::5@Vlan1000", + "29": "200:200:200:200::5@Vlan1000", + "30": "200:200:200:200::5@Vlan1000", + "31": "200:200:200:200::5@Vlan1000" }, "FG_ROUTE_TABLE|100.50.25.12/32": { "0": "200.200.200.4@Vlan1000", @@ -427,33 +445,33 @@ "2": "200.200.200.4@Vlan1000", "3": "200.200.200.4@Vlan1000", "4": "200.200.200.4@Vlan1000", - "5" : "200.200.200.4@Vlan1000", - "6" : "200.200.200.4@Vlan1000", - "7" : "200.200.200.4@Vlan1000", - "8" : "200.200.200.4@Vlan1000", - "9" : "200.200.200.4@Vlan1000", - "10" : "200.200.200.4@Vlan1000", - "11" : "200.200.200.4@Vlan1000", - "12" : "200.200.200.4@Vlan1000", - "13" : "200.200.200.4@Vlan1000", - "14" : "200.200.200.4@Vlan1000", - "15" : "200.200.200.4@Vlan1000", - "16" : "200.200.200.5@Vlan1000", - "17" : "200.200.200.5@Vlan1000", - "18" : "200.200.200.5@Vlan1000", - "19" : "200.200.200.5@Vlan1000", - "20" : "200.200.200.5@Vlan1000", - "21" : "200.200.200.5@Vlan1000", - "22" : "200.200.200.5@Vlan1000", - "23" : "200.200.200.5@Vlan1000", - "24" : "200.200.200.5@Vlan1000", - "25" : "200.200.200.5@Vlan1000", - "26" : "200.200.200.5@Vlan1000", - "27" : "200.200.200.5@Vlan1000", - "28" : "200.200.200.5@Vlan1000", - "29" : "200.200.200.5@Vlan1000", - "30" : "200.200.200.5@Vlan1000", - "31" : "200.200.200.5@Vlan1000" + "5": "200.200.200.4@Vlan1000", + "6": "200.200.200.4@Vlan1000", + "7": "200.200.200.4@Vlan1000", + "8": "200.200.200.4@Vlan1000", + "9": "200.200.200.4@Vlan1000", + "10": "200.200.200.4@Vlan1000", + "11": "200.200.200.4@Vlan1000", + "12": "200.200.200.4@Vlan1000", + "13": "200.200.200.4@Vlan1000", + "14": "200.200.200.4@Vlan1000", + "15": "200.200.200.4@Vlan1000", + "16": "200.200.200.5@Vlan1000", + "17": "200.200.200.5@Vlan1000", + "18": "200.200.200.5@Vlan1000", + "19": "200.200.200.5@Vlan1000", + "20": "200.200.200.5@Vlan1000", + "21": "200.200.200.5@Vlan1000", + "22": "200.200.200.5@Vlan1000", + "23": "200.200.200.5@Vlan1000", + "24": "200.200.200.5@Vlan1000", + "25": "200.200.200.5@Vlan1000", + "26": "200.200.200.5@Vlan1000", + "27": "200.200.200.5@Vlan1000", + "28": "200.200.200.5@Vlan1000", + "29": "200.200.200.5@Vlan1000", + "30": "200.200.200.5@Vlan1000", + "31": "200.200.200.5@Vlan1000" }, "REBOOT_CAUSE|2020_10_09_04_53_58": { "cause": "warm-reboot", @@ -510,6 +528,21 @@ "MUX_CABLE_TABLE|Ethernet12": { "state": "unknown" }, + "MUX_LINKMGR_TABLE|Ethernet32": { + "state": "healthy" + }, + "MUX_LINKMGR_TABLE|Ethernet0": { + "state": "healthy" + }, + "MUX_LINKMGR_TABLE|Ethernet4": { + "state": "healthy" + }, + "MUX_LINKMGR_TABLE|Ethernet8": { + "state": "unhealthy" + }, + "MUX_LINKMGR_TABLE|Ethernet12": { + "state": "unhealthy" + }, "VXLAN_TUNNEL_TABLE|EVPN_25.25.25.25": { "src_ip": "1.1.1.1", "dst_ip": "25.25.25.25", diff --git a/tests/muxcable_test.py b/tests/muxcable_test.py index 80968ec574..88c278850f 100644 --- a/tests/muxcable_test.py +++ b/tests/muxcable_test.py @@ -16,6 +16,7 @@ sys.modules['platform_sfputil'] = mock.Mock() sys.modules['platform_sfputil_helper'] = mock.Mock() sys.modules['utilities_common.platform_sfputil_helper'] = mock.Mock() +sys.modules['show.muxcable.platform_sfputil'] = mock.Mock() #sys.modules['os'] = mock.Mock() #sys.modules['os.geteuid'] = mock.Mock() #sys.modules['platform_sfputil'] = mock.Mock() @@ -25,12 +26,12 @@ tabular_data_status_output_expected = """\ PORT STATUS HEALTH ----------- -------- -------- -Ethernet0 active HEALTHY -Ethernet4 standby HEALTHY -Ethernet8 standby HEALTHY -Ethernet12 unknown HEALTHY -Ethernet32 active HEALTHY +---------- -------- --------- +Ethernet0 active healthy +Ethernet4 standby healthy +Ethernet8 standby unhealthy +Ethernet12 unknown unhealthy +Ethernet32 active healthy """ json_data_status_output_expected = """\ @@ -38,23 +39,23 @@ "MUX_CABLE": { "Ethernet0": { "STATUS": "active", - "HEALTH": "HEALTHY" + "HEALTH": "healthy" }, "Ethernet4": { "STATUS": "standby", - "HEALTH": "HEALTHY" + "HEALTH": "healthy" }, "Ethernet8": { "STATUS": "standby", - "HEALTH": "HEALTHY" + "HEALTH": "unhealthy" }, "Ethernet12": { "STATUS": "unknown", - "HEALTH": "HEALTHY" + "HEALTH": "unhealthy" }, "Ethernet32": { "STATUS": "active", - "HEALTH": "HEALTHY" + "HEALTH": "healthy" } } } @@ -162,11 +163,24 @@ Credo CACL1X321P2PA1M """ +show_muxcable_hwmode_muxdirection_active_expected_output = """\ +Port Direction +---------- ----------- +Ethernet12 active +""" + +show_muxcable_hwmode_muxdirection_standby_expected_output = """\ +Port Direction +---------- ----------- +Ethernet12 standby +""" + class TestMuxcable(object): @classmethod def setup_class(cls): os.environ['UTILITIES_UNIT_TESTING'] = "1" + #show.muxcable.platform_sfputil.logical = mock.Mock(return_value=["Ethernet0", "Ethernet4"]) print("SETUP") def test_muxcable_status(self): @@ -546,6 +560,138 @@ def test_show_muxcable_cableinfo_incorrect_logical_port_return_value(self): ["Ethernet0"], obj=db) assert result.exit_code == 1 + @mock.patch('utilities_common.platform_sfputil_helper.get_logical_list', mock.MagicMock(return_value=["Ethernet0", "Ethernet12"])) + @mock.patch('utilities_common.platform_sfputil_helper.get_asic_id_for_logical_port', mock.MagicMock(return_value=0)) + @mock.patch('show.muxcable.platform_sfputil', mock.MagicMock(return_value={0: ["Ethernet12", "Ethernet0"]})) + @mock.patch('utilities_common.platform_sfputil_helper.get_physical_to_logical', mock.MagicMock(return_value={0: ["Ethernet12", "Ethernet0"]})) + @mock.patch('utilities_common.platform_sfputil_helper.logical_port_name_to_physical_port_list', mock.MagicMock(return_value=[0])) + @mock.patch('sonic_y_cable.y_cable.check_read_side', mock.MagicMock(return_value=(1))) + @mock.patch('sonic_y_cable.y_cable.check_mux_direction', mock.MagicMock(return_value=(1))) + def test_show_muxcable_hwmode_muxdirection_port_active(self): + runner = CliRunner() + db = Db() + + result = runner.invoke(show.cli.commands["muxcable"].commands["hwmode"].commands["muxdirection"], + ["Ethernet12"], obj=db) + assert result.exit_code == 0 + assert result.output == show_muxcable_hwmode_muxdirection_active_expected_output + + @mock.patch('utilities_common.platform_sfputil_helper.get_logical_list', mock.MagicMock(return_value=["Ethernet0", "Ethernet12"])) + @mock.patch('utilities_common.platform_sfputil_helper.get_asic_id_for_logical_port', mock.MagicMock(return_value=0)) + @mock.patch('show.muxcable.platform_sfputil', mock.MagicMock(return_value={0: ["Ethernet12", "Ethernet0"]})) + @mock.patch('utilities_common.platform_sfputil_helper.get_physical_to_logical', mock.MagicMock(return_value={0: ["Ethernet12", "Ethernet0"]})) + @mock.patch('utilities_common.platform_sfputil_helper.logical_port_name_to_physical_port_list', mock.MagicMock(return_value=[0])) + @mock.patch('sonic_y_cable.y_cable.check_read_side', mock.MagicMock(return_value=(1))) + @mock.patch('sonic_y_cable.y_cable.check_mux_direction', mock.MagicMock(return_value=(1))) + def test_show_muxcable_hwmode_muxdirection_active(self): + runner = CliRunner() + db = Db() + + result = runner.invoke(show.cli.commands["muxcable"].commands["hwmode"].commands["muxdirection"], obj=db) + assert result.exit_code == 0 + + @mock.patch('utilities_common.platform_sfputil_helper.get_logical_list', mock.MagicMock(return_value=["Ethernet0", "Ethernet12"])) + @mock.patch('utilities_common.platform_sfputil_helper.get_asic_id_for_logical_port', mock.MagicMock(return_value=0)) + @mock.patch('show.muxcable.platform_sfputil', mock.MagicMock(return_value={0: ["Ethernet12", "Ethernet0"]})) + @mock.patch('utilities_common.platform_sfputil_helper.get_physical_to_logical', mock.MagicMock(return_value={0: ["Ethernet12", "Ethernet0"]})) + @mock.patch('utilities_common.platform_sfputil_helper.logical_port_name_to_physical_port_list', mock.MagicMock(return_value=[0])) + @mock.patch('sonic_y_cable.y_cable.check_read_side', mock.MagicMock(return_value=(1))) + @mock.patch('sonic_y_cable.y_cable.check_mux_direction', mock.MagicMock(return_value=(2))) + def test_show_muxcable_hwmode_muxdirection_port_standby(self): + runner = CliRunner() + db = Db() + + result = runner.invoke(show.cli.commands["muxcable"].commands["hwmode"].commands["muxdirection"], + ["Ethernet12"], obj=db) + assert result.exit_code == 0 + assert result.output == show_muxcable_hwmode_muxdirection_standby_expected_output + + @mock.patch('utilities_common.platform_sfputil_helper.get_logical_list', mock.MagicMock(return_value=["Ethernet0", "Ethernet12"])) + @mock.patch('utilities_common.platform_sfputil_helper.get_asic_id_for_logical_port', mock.MagicMock(return_value=0)) + @mock.patch('show.muxcable.platform_sfputil', mock.MagicMock(return_value={0: ["Ethernet12", "Ethernet0"]})) + @mock.patch('utilities_common.platform_sfputil_helper.get_physical_to_logical', mock.MagicMock(return_value={0: ["Ethernet12", "Ethernet0"]})) + @mock.patch('utilities_common.platform_sfputil_helper.logical_port_name_to_physical_port_list', mock.MagicMock(return_value=[0])) + @mock.patch('sonic_y_cable.y_cable.check_read_side', mock.MagicMock(return_value=(1))) + @mock.patch('sonic_y_cable.y_cable.check_mux_direction', mock.MagicMock(return_value=(2))) + def test_show_muxcable_hwmode_muxdirection_standby(self): + runner = CliRunner() + db = Db() + + result = runner.invoke(show.cli.commands["muxcable"].commands["hwmode"].commands["muxdirection"], obj=db) + assert result.exit_code == 0 + + @mock.patch('utilities_common.platform_sfputil_helper.get_logical_list', mock.MagicMock(return_value=["Ethernet0", "Ethernet12"])) + @mock.patch('utilities_common.platform_sfputil_helper.get_asic_id_for_logical_port', mock.MagicMock(return_value=0)) + @mock.patch('config.muxcable.platform_sfputil', mock.MagicMock(return_value={0: ["Ethernet12", "Ethernet0"]})) + @mock.patch('utilities_common.platform_sfputil_helper.get_physical_to_logical', mock.MagicMock(return_value={0: ["Ethernet12", "Ethernet0"]})) + @mock.patch('utilities_common.platform_sfputil_helper.logical_port_name_to_physical_port_list', mock.MagicMock(return_value=[0])) + @mock.patch('sonic_y_cable.y_cable.check_read_side', mock.MagicMock(return_value=(1))) + @mock.patch('sonic_y_cable.y_cable.check_mux_direction', mock.MagicMock(return_value=(1))) + @mock.patch('sonic_y_cable.y_cable.toggle_mux_to_torA', mock.MagicMock(return_value=(True))) + @mock.patch('sonic_y_cable.y_cable.toggle_mux_to_torB', mock.MagicMock(return_value=(True))) + @mock.patch('click.confirm', mock.MagicMock(return_value=("y"))) + def test_config_muxcable_hwmode_state_port_active(self): + runner = CliRunner() + db = Db() + + result = runner.invoke(config.config.commands["muxcable"].commands["hwmode"].commands["state"], + ["active", "Ethernet12"], obj=db) + assert result.exit_code == 0 + + @mock.patch('utilities_common.platform_sfputil_helper.get_logical_list', mock.MagicMock(return_value=["Ethernet0", "Ethernet12"])) + @mock.patch('utilities_common.platform_sfputil_helper.get_asic_id_for_logical_port', mock.MagicMock(return_value=0)) + @mock.patch('config.muxcable.platform_sfputil', mock.MagicMock(return_value={0: ["Ethernet12", "Ethernet0"]})) + @mock.patch('utilities_common.platform_sfputil_helper.get_physical_to_logical', mock.MagicMock(return_value={0: ["Ethernet12", "Ethernet0"]})) + @mock.patch('utilities_common.platform_sfputil_helper.logical_port_name_to_physical_port_list', mock.MagicMock(return_value=[0])) + @mock.patch('sonic_y_cable.y_cable.check_read_side', mock.MagicMock(return_value=(1))) + @mock.patch('sonic_y_cable.y_cable.check_mux_direction', mock.MagicMock(return_value=(1))) + @mock.patch('sonic_y_cable.y_cable.toggle_mux_to_torA', mock.MagicMock(return_value=(True))) + @mock.patch('sonic_y_cable.y_cable.toggle_mux_to_torB', mock.MagicMock(return_value=(True))) + @mock.patch('click.confirm', mock.MagicMock(return_value=("y"))) + def test_config_muxcable_hwmode_state_active(self): + runner = CliRunner() + db = Db() + + result = runner.invoke(config.config.commands["muxcable"].commands["hwmode"].commands["state"], + ["active", "all"], obj=db) + assert result.exit_code == 0 + + @mock.patch('utilities_common.platform_sfputil_helper.get_logical_list', mock.MagicMock(return_value=["Ethernet0", "Ethernet12"])) + @mock.patch('utilities_common.platform_sfputil_helper.get_asic_id_for_logical_port', mock.MagicMock(return_value=0)) + @mock.patch('config.muxcable.platform_sfputil', mock.MagicMock(return_value={0: ["Ethernet12", "Ethernet0"]})) + @mock.patch('utilities_common.platform_sfputil_helper.get_physical_to_logical', mock.MagicMock(return_value={0: ["Ethernet12", "Ethernet0"]})) + @mock.patch('utilities_common.platform_sfputil_helper.logical_port_name_to_physical_port_list', mock.MagicMock(return_value=[0])) + @mock.patch('sonic_y_cable.y_cable.check_read_side', mock.MagicMock(return_value=(1))) + @mock.patch('sonic_y_cable.y_cable.check_mux_direction', mock.MagicMock(return_value=(1))) + @mock.patch('sonic_y_cable.y_cable.toggle_mux_to_torA', mock.MagicMock(return_value=(True))) + @mock.patch('sonic_y_cable.y_cable.toggle_mux_to_torB', mock.MagicMock(return_value=(True))) + @mock.patch('click.confirm', mock.MagicMock(return_value=("y"))) + def test_config_muxcable_hwmode_state_port_standby(self): + runner = CliRunner() + db = Db() + + result = runner.invoke(config.config.commands["muxcable"].commands["hwmode"].commands["state"], + ["standby", "Ethernet12"], obj=db) + assert result.exit_code == 0 + + @mock.patch('utilities_common.platform_sfputil_helper.get_logical_list', mock.MagicMock(return_value=["Ethernet0", "Ethernet12"])) + @mock.patch('utilities_common.platform_sfputil_helper.get_asic_id_for_logical_port', mock.MagicMock(return_value=0)) + @mock.patch('config.muxcable.platform_sfputil', mock.MagicMock(return_value={0: ["Ethernet12", "Ethernet0"]})) + @mock.patch('utilities_common.platform_sfputil_helper.get_physical_to_logical', mock.MagicMock(return_value={0: ["Ethernet12", "Ethernet0"]})) + @mock.patch('utilities_common.platform_sfputil_helper.logical_port_name_to_physical_port_list', mock.MagicMock(return_value=[0])) + @mock.patch('sonic_y_cable.y_cable.check_read_side', mock.MagicMock(return_value=(1))) + @mock.patch('sonic_y_cable.y_cable.check_mux_direction', mock.MagicMock(return_value=(1))) + @mock.patch('sonic_y_cable.y_cable.toggle_mux_to_torA', mock.MagicMock(return_value=(True))) + @mock.patch('sonic_y_cable.y_cable.toggle_mux_to_torB', mock.MagicMock(return_value=(True))) + @mock.patch('click.confirm', mock.MagicMock(return_value=("y"))) + def test_config_muxcable_hwmode_state_standby(self): + runner = CliRunner() + db = Db() + + result = runner.invoke(config.config.commands["muxcable"].commands["hwmode"].commands["state"], + ["standby", "all"], obj=db) + assert result.exit_code == 0 + @classmethod def teardown_class(cls): os.environ['UTILITIES_UNIT_TESTING'] = "0" diff --git a/utilities_common/platform_sfputil_helper.py b/utilities_common/platform_sfputil_helper.py index fbacdd4126..27406b8abe 100644 --- a/utilities_common/platform_sfputil_helper.py +++ b/utilities_common/platform_sfputil_helper.py @@ -5,6 +5,7 @@ platform_sfputil = None + def load_platform_sfputil(): global platform_sfputil @@ -38,6 +39,7 @@ def platform_sfputil_read_porttab_mappings(): return 0 + def logical_port_name_to_physical_port_list(port_name): if port_name.startswith("Ethernet"): if platform_sfputil.is_logical_port(port_name): @@ -47,3 +49,18 @@ def logical_port_name_to_physical_port_list(port_name): return None else: return [int(port_name)] + + +def get_logical_list(): + + return platform_sfputil.logical + + +def get_asic_id_for_logical_port(port): + + return platform_sfputil.get_asic_id_for_logical_port(port) + + +def get_physical_to_logical(): + + return platform_sfputil.physical_to_logical From a4ae643dd5fa601e468ad8b681118420aff1fb76 Mon Sep 17 00:00:00 2001 From: fk410167 <51665572+fk410167@users.noreply.github.com> Date: Wed, 10 Mar 2021 05:48:01 +0530 Subject: [PATCH 118/342] [PDDF] Remove references to deprecated platform plugins (#1485) #### What I did - Removed the references of deprecated plugins from PDDF utils - Removed the references of the deprecated plugins from helper utility util_base #### How I did it - Made PDDF debug utils python3 - Modified them to base only upon the 2.0 platform APIs classes - Removed the helper utilities pertaining to old plugins init --- pddf_fanutil/main.py | 242 +++++++++---------------- pddf_ledutil/main.py | 66 +++---- pddf_psuutil/main.py | 324 +++++++++++++--------------------- pddf_thermalutil/main.py | 140 ++++++--------- utilities_common/util_base.py | 60 +++---- 5 files changed, 299 insertions(+), 533 deletions(-) diff --git a/pddf_fanutil/main.py b/pddf_fanutil/main.py index 3620be42f9..48969e9d0a 100644 --- a/pddf_fanutil/main.py +++ b/pddf_fanutil/main.py @@ -16,121 +16,40 @@ VERSION = '2.0' -SYSLOG_IDENTIFIER = "fanutil" -PLATFORM_SPECIFIC_MODULE_NAME = "fanutil" -PLATFORM_SPECIFIC_CLASS_NAME = "FanUtil" +ERROR_PERMISSIONS = 1 +ERROR_CHASSIS_LOAD = 2 +ERROR_NOT_IMPLEMENTED = 3 +ERROR_PDDF_NOT_SUPPORTED = 4 -# Global platform-specific fanutil class instance -platform_fanutil = None +# Global platform-specific chassis class instance platform_chassis = None +# Load the helper class +helper = UtilHelper() -def _wrapper_get_num_fans(): - if platform_chassis is not None: - try: - return platform_chassis.get_num_fans() - except NotImplementedError: - pass - return platform_fanutil.get_num_fans() - -def _wrapper_get_fan_name(idx): - if platform_chassis is not None: - try: - return platform_chassis.get_fan(idx-1).get_name() - except NotImplementedError: - pass - return "FAN {}".format(idx) - -def _wrapper_get_fan_presence(idx): - if platform_chassis is not None: - try: - return platform_chassis.get_fan(idx-1).get_presence() - except NotImplementedError: - pass - return platform_fanutil.get_presence(idx) - -def _wrapper_get_fan_status(idx): - if platform_chassis is not None: - try: - return platform_chassis.get_fan(idx-1).get_status() - except NotImplementedError: - pass - return platform_fanutil.get_status(idx) - -def _wrapper_get_fan_direction(idx): - if platform_chassis is not None: - try: - return platform_chassis.get_fan(idx-1).get_direction() - except NotImplementedError: - pass - return platform_fanutil.get_direction(idx) - -def _wrapper_get_fan_speed(idx): - if platform_chassis is not None: - try: - return platform_chassis.get_fan(idx-1).get_speed_rpm() - except NotImplementedError: - pass - return platform_fanutil.get_speed(idx) - -def _wrapper_get_fan_speed_rear(idx): - if platform_chassis is not None: - # This wrapper API is invalid for Pl API 2.0 as every fan - # is treated as a separate fan - return 0 - return platform_fanutil.get_speed_rear(idx) - -def _wrapper_set_fan_speed(idx, percent): - if platform_chassis is not None: - try: - return platform_chassis.get_fan(idx-1).set_speed(percent) - except NotImplementedError: - pass - return platform_fanutil.set_speed(percent) - -def _wrapper_dump_sysfs(idx): - if platform_chassis is not None: - try: - return platform_chassis.get_fan(idx).dump_sysfs() - except NotImplementedError: - pass - return platform_fanutil.dump_sysfs() +# ==================== CLI commands and groups ==================== -# This is our main entrypoint - the main 'fanutil' command +# This is our main entrypoint - the main 'pddf_fanutil' command @click.group() def cli(): """pddf_fanutil - Command line utility for providing FAN information""" - global platform_fanutil global platform_chassis if os.geteuid() != 0: click.echo("Root privileges are required for this operation") - sys.exit(1) - - # Load the helper class - helper = UtilHelper() + sys.exit(ERROR_PERMISSIONS) if not helper.check_pddf_mode(): click.echo("PDDF mode should be supported and enabled for this platform for this operation") - sys.exit(1) - - # Load new platform api class - try: - import sonic_platform.platform - platform_chassis = sonic_platform.platform.Platform().get_chassis() - except Exception as e: - click.echo("Failed to load chassis due to {}".format(str(e))) + sys.exit(ERROR_PDDF_NOT_SUPPORTED) + # Load platform-specific chassis 2.0 api class + platform_chassis = helper.load_platform_chassis() + if not platform_chassis: + sys.exit(ERROR_CHASSIS_LOAD) - # Load platform-specific fanutil class if new platform object class is not found - if platform_chassis is None: - try: - platform_fanutil = helper.load_platform_util(PLATFORM_SPECIFIC_MODULE_NAME, PLATFORM_SPECIFIC_CLASS_NAME) - except Exception as e: - click.echo("Failed to load {}: {}".format(PLATFORM_SPECIFIC_MODULE_NAME, str(e))) - sys.exit(2) # 'version' subcommand @cli.command() @@ -138,107 +57,98 @@ def version(): """Display version info""" click.echo("PDDF fanutil version {0}".format(VERSION)) + # 'numfans' subcommand @cli.command() def numfans(): """Display number of FANs installed on device""" - click.echo(_wrapper_get_num_fans()) + num_fans = platform_chassis.get_num_fans() + click.echo(num_fans) + # 'status' subcommand @cli.command() -@click.option('-i', '--index', default=-1, type=int, help="the index of FAN") +@click.option('-i', '--index', default=-1, type=int, help="Index of FAN (1-based)") def status(index): """Display FAN status""" - supported_fan = list(range(1, _wrapper_get_num_fans()+1)) - fan_ids = [] + fan_list = [] if (index < 0): - fan_ids = supported_fan + fan_list = platform_chassis.get_all_fans() + default_index = 0 else: - fan_ids = [index] + fan_list = platform_chassis.get_fan(index-1) + default_index = index-1 header = ['FAN', 'Status'] status_table = [] - for fan in fan_ids: - msg = "" - fan_name = _wrapper_get_fan_name(fan) - if fan not in supported_fan: - click.echo("Error! The {} is not available on the platform.\n" \ - "Number of supported FAN - {}.".format(fan_name, len(supported_fan))) - continue - presence = _wrapper_get_fan_presence(fan) - if presence: - oper_status = _wrapper_get_fan_status(fan) - msg = 'OK' if oper_status else "NOT OK" - else: - msg = 'NOT PRESENT' - status_table.append([fan_name, msg]) + for idx, fan in enumerate(fan_list, default_index): + fan_name = helper.try_get(fan.get_name, "Fan {}".format(idx+1)) + status = 'NOT PRESENT' + if fan.get_presence(): + oper_status = helper.try_get(fan.get_status, 'UNKNOWN') + if oper_status is True: + status = 'OK' + elif oper_status is False: + status = 'NOT OK' + else: + status = oper_status + + status_table.append([fan_name, status]) if status_table: click.echo(tabulate(status_table, header, tablefmt="simple")) + # 'direction' subcommand @cli.command() -@click.option('-i', '--index', default=-1, type=int, help="the index of FAN") +@click.option('-i', '--index', default=-1, type=int, help="Index of FAN (1-based)") def direction(index): """Display FAN airflow direction""" - supported_fan = list(range(1, _wrapper_get_num_fans() + 1)) - fan_ids = [] + fan_list = [] if (index < 0): - fan_ids = supported_fan + fan_list = platform_chassis.get_all_fans() + default_index = 0 else: - fan_ids = [index] + fan_list = platform_chassis.get_fan(index-1) + default_index = index-1 header = ['FAN', 'Direction'] - status_table = [] + dir_table = [] - for fan in fan_ids: - fan_name = _wrapper_get_fan_name(fan) - if fan not in supported_fan: - click.echo("Error! The {} is not available on the platform.\n" \ - "Number of supported FAN - {}.".format(fan_name, len(supported_fan))) - continue - direction = _wrapper_get_fan_direction(fan) - status_table.append([fan_name, direction.capitalize()]) + for idx, fan in enumerate(fan_list, default_index): + fan_name = helper.try_get(fan.get_name, "Fan {}".format(idx+1)) + direction = helper.try_get(fan.get_direction, 'N/A') + dir_table.append([fan_name, direction.capitalize()]) + + if dir_table: + click.echo(tabulate(dir_table, header, tablefmt="simple")) - if status_table: - click.echo(tabulate(status_table, header, tablefmt="simple")) # 'speed' subcommand @cli.command() -@click.option('-i', '--index', default=-1, type=int, help="the index of FAN") +@click.option('-i', '--index', default=-1, type=int, help="Index of FAN (1-based)") def getspeed(index): """Display FAN speed in RPM""" - supported_fan = list(range(1, _wrapper_get_num_fans() + 1)) - fan_ids = [] + fan_list = [] if (index < 0): - fan_ids = supported_fan + fan_list = platform_chassis.get_all_fans() + default_index = 0 else: - fan_ids = [index] + fan_list = platform_chassis.get_fan(index-1) + default_index = index-1 - if platform_chassis is not None: - header = ['FAN', 'SPEED (RPM)'] - else: - header = ['FAN', 'Front Fan RPM', 'Rear Fan RPM'] - - status_table = [] + header = ['FAN', 'SPEED (RPM)'] + speed_table = [] - for fan in fan_ids: - fan_name = _wrapper_get_fan_name(fan) - if fan not in supported_fan: - click.echo("Error! The {} is not available on the platform.\n" \ - "Number of supported FAN - {}.".format(fan_name, len(supported_fan))) - continue - front = _wrapper_get_fan_speed(fan) - rear = _wrapper_get_fan_speed_rear(fan) + for idx, fan in enumerate(fan_list, default_index): + fan_name = helper.try_get(fan.get_name, "Fan {}".format(idx+1)) + rpm = helper.try_get(fan.get_speed_rpm, 'N/A') + speed_table.append([fan_name, rpm]) - if platform_chassis is not None: - status_table.append([fan_name, front]) - else: - status_table.append([fan_name, front, rear]) + if speed_table: + click.echo(tabulate(speed_table, header, tablefmt="simple")) - if status_table: - click.echo(tabulate(status_table, header, tablefmt="simple")) # 'setspeed' subcommand @cli.command() @@ -249,30 +159,38 @@ def setspeed(speed): click.echo("speed value is required") raise click.Abort() - for fan in range(_wrapper_get_num_fans()): - status = _wrapper_set_fan_speed(fan, speed) + fan_list = platform_chassis.get_all_fans() + for idx, fan in enumerate(fan_list): + try: + status = fan.set_speed(speed) + except NotImplementedError: + click.echo("Set speed API not implemented") + sys.exit(0) + if not status: click.echo("Failed") sys.exit(1) click.echo("Successful") + @cli.group() def debug(): """pddf_fanutil debug commands""" pass + @debug.command() def dump_sysfs(): """Dump all Fan related SysFS paths""" - for fan in range(_wrapper_get_num_fans()): - status = _wrapper_dump_sysfs(fan) + fan_list = platform_chassis.get_all_fans() + for idx, fan in enumerate(fan_list): + status = fan.dump_sysfs() if status: for i in status: click.echo(i) - if __name__ == '__main__': cli() diff --git a/pddf_ledutil/main.py b/pddf_ledutil/main.py index c7bfb71314..63a87939c1 100644 --- a/pddf_ledutil/main.py +++ b/pddf_ledutil/main.py @@ -15,68 +15,40 @@ VERSION = '2.0' -SYSLOG_IDENTIFIER = "ledutil" -PLATFORM_SPECIFIC_MODULE_NAME = "ledutil" -PLATFORM_SPECIFIC_CLASS_NAME = "LedUtil" +ERROR_PERMISSIONS = 1 +ERROR_CHASSIS_LOAD = 2 +ERROR_NOT_IMPLEMENTED = 3 +ERROR_PDDF_NOT_SUPPORTED = 4 -# Global platform-specific ledutil class instance -platform_ledutil = None +# Global platform-specific chassis class instance platform_chassis = None - -# ==================== Wrapper APIs ==================== -def _wrapper_getstatusled(device_name): - if platform_chassis is not None: - outputs=platform_chassis.get_system_led(device_name) - else: - outputs = platform_ledutil.get_status_led(device_name) - click.echo(outputs) - -def _wrapper_setstatusled(device_name, color, color_state): - if platform_chassis is not None: - outputs=platform_chassis.set_system_led(device_name, color) - else: - outputs = platform_ledutil.set_status_led(device_name, color, color_state) - click.echo(outputs) - +# Load the helper class +helper = UtilHelper() # ==================== CLI commands and groups ==================== -# This is our main entrypoint - the main 'ledutil' command +# This is our main entrypoint - the main 'pddf_ledutil' command @click.group() def cli(): """pddf_ledutil - Command line utility for providing System LED information""" + global platform_chassis + if os.geteuid() != 0: click.echo("Root privileges are required for this operation") sys.exit(1) - # Load the helper class - helper = UtilHelper() - if not helper.check_pddf_mode(): click.echo("PDDF mode should be supported and enabled for this platform for this operation") sys.exit(1) - # Load platform-specific fanutil class - global platform_ledutil - global platform_chassis + # Load platform-specific chassis 2.0 api class + platform_chassis = helper.load_platform_chassis() + if not platform_chassis: + sys.exit(ERROR_CHASSIS_LOAD) - # Load new platform api class - try: - import sonic_platform.platform - platform_chassis = sonic_platform.platform.Platform().get_chassis() - except Exception as e: - click.echo("Failed to load chassis due to {}".format(str(e))) - - # Load platform-specific psuutil class if 2.0 implementation is not present - if platform_chassis is None: - try: - platform_ledutil = helper.load_platform_util(PLATFORM_SPECIFIC_MODULE_NAME, PLATFORM_SPECIFIC_CLASS_NAME) - except Exception as e: - click.echo("Failed to load {}: {}".format(PLATFORM_SPECIFIC_MODULE_NAME, str(e))) - sys.exit(2) # 'version' subcommand @cli.command() @@ -84,6 +56,7 @@ def version(): """Display version info""" click.echo("PDDF ledutil version {0}".format(VERSION)) + # 'getstatusled' subcommand @cli.command() @click.argument('device_name', type=click.STRING) @@ -92,20 +65,21 @@ def getstatusled(device_name): click.echo("device_name is required") raise click.Abort() - _wrapper_getstatusled(device_name) + outputs = platform_chassis.get_system_led(device_name) + click.echo(outputs) # 'setstatusled' subcommand @cli.command() @click.argument('device_name', type=click.STRING) @click.argument('color', type=click.STRING) -@click.argument('color_state', default='SOLID', type=click.STRING) -def setstatusled(device_name, color, color_state): +def setstatusled(device_name, color): if device_name is None: click.echo("device_name is required") raise click.Abort() - _wrapper_setstatusled(device_name, color, color_state) + outputs = platform_chassis.set_system_led(device_name, color) + click.echo(outputs) if __name__ == '__main__': diff --git a/pddf_psuutil/main.py b/pddf_psuutil/main.py index 4662eb3534..41c4b78d28 100644 --- a/pddf_psuutil/main.py +++ b/pddf_psuutil/main.py @@ -16,234 +16,130 @@ VERSION = '2.0' -SYSLOG_IDENTIFIER = "psuutil" -PLATFORM_SPECIFIC_MODULE_NAME = "psuutil" -PLATFORM_SPECIFIC_CLASS_NAME = "PsuUtil" +ERROR_PERMISSIONS = 1 +ERROR_CHASSIS_LOAD = 2 +ERROR_NOT_IMPLEMENTED = 3 +ERROR_PDDF_NOT_SUPPORTED = 4 -# Global platform-specific psuutil class instance -platform_psuutil = None +# Global platform-specific chassis class instance platform_chassis = None - -# Wrapper APIs so that this util is suited to both 1.0 and 2.0 platform APIs -def _wrapper_get_num_psus(): - if platform_chassis is not None: - try: - return platform_chassis.get_num_psus() - except NotImplementedError: - pass - return platform_psuutil.get_num_psus() - -def _wrapper_get_psu_name(idx): - if platform_chassis is not None: - try: - return platform_chassis.get_psu(idx-1).get_name() - except NotImplementedError: - pass - return "PSU {}".format(idx) - -def _wrapper_get_psu_presence(idx): - if platform_chassis is not None: - try: - return platform_chassis.get_psu(idx-1).get_presence() - except NotImplementedError: - pass - return platform_psuutil.get_psu_presence(idx) - -def _wrapper_get_psu_status(idx): - if platform_chassis is not None: - try: - return platform_chassis.get_psu(idx-1).get_status() - except NotImplementedError: - pass - return platform_psuutil.get_psu_status(idx) - -def _wrapper_get_psu_model(idx): - if platform_chassis is not None: - try: - return platform_chassis.get_psu(idx-1).get_model() - except NotImplementedError: - pass - return platform_psuutil.get_model(idx) - -def _wrapper_get_psu_mfr_id(idx): - if platform_chassis is not None: - try: - return platform_chassis.get_psu(idx-1).get_mfr_id() - except NotImplementedError: - pass - return platform_psuutil.get_mfr_id(idx) - -def _wrapper_get_psu_serial(idx): - if platform_chassis is not None: - try: - return platform_chassis.get_psu(idx-1).get_serial() - except NotImplementedError: - pass - return platform_psuutil.get_serial(idx) - -def _wrapper_get_psu_direction(idx): - if platform_chassis is not None: - try: - return platform_chassis.get_psu(idx-1)._fan_list[0].get_direction() - except NotImplementedError: - pass - return platform_psuutil.get_direction(idx) - -def _wrapper_get_output_voltage(idx): - if platform_chassis is not None: - try: - return platform_chassis.get_psu(idx-1).get_voltage() - except NotImplementedError: - pass - return platform_psuutil.get_output_voltage(idx) - -def _wrapper_get_output_current(idx): - if platform_chassis is not None: - try: - return platform_chassis.get_psu(idx-1).get_current() - except NotImplementedError: - pass - return platform_psuutil.get_output_current(idx) - -def _wrapper_get_output_power(idx): - if platform_chassis is not None: - try: - return platform_chassis.get_psu(idx-1).get_power() - except NotImplementedError: - pass - return platform_psuutil.get_output_power(idx) - -def _wrapper_get_fan_rpm(idx, fan_idx): - if platform_chassis is not None: - try: - return platform_chassis.get_psu(idx-1)._fan_list[fan_idx-1].get_speed_rpm() - except NotImplementedError: - pass - return platform_psuutil.get_fan_rpm(idx, fan_idx) - -def _wrapper_dump_sysfs(idx): - if platform_chassis is not None: - try: - return platform_chassis.get_psu(idx).dump_sysfs() - except NotImplementedError: - pass - return platform_psuutil.dump_sysfs() +# Load the helper class +helper = UtilHelper() # ==================== CLI commands and groups ==================== - -# This is our main entrypoint - the main 'psuutil' command +# This is our main entrypoint - the main 'pddf_psuutil' command @click.group() def cli(): - """psuutil - Command line utility for providing PSU status""" + """pddf_psuutil - Command line utility for providing PSU status for a platform using PDDF""" - global platform_psuutil global platform_chassis if os.geteuid() != 0: click.echo("Root privileges are required for this operation") - sys.exit(1) - - # Load the helper class - helper = UtilHelper() + sys.exit(ERROR_PERMISSIONS) if not helper.check_pddf_mode(): click.echo("PDDF mode should be supported and enabled for this platform for this operation") - sys.exit(1) + sys.exit(ERROR_PDDF_NOT_SUPPORTED) - # Load new platform api class - try: - import sonic_platform.platform - platform_chassis = sonic_platform.platform.Platform().get_chassis() - except Exception as e: - click.echo("Failed to load chassis due to {}".format(str(e))) + # Load platform-specific chassis 2.0 api class + platform_chassis = helper.load_platform_chassis() + if not platform_chassis: + sys.exit(ERROR_CHASSIS_LOAD) - # Load platform-specific psuutil class if 2.0 implementation is not present - if platform_chassis is None: - try: - platform_psuutil = helper.load_platform_util(PLATFORM_SPECIFIC_MODULE_NAME, PLATFORM_SPECIFIC_CLASS_NAME) - except Exception as e: - click.echo("Failed to load {}: {}".format(PLATFORM_SPECIFIC_MODULE_NAME, str(e))) - sys.exit(2) - # 'version' subcommand @cli.command() def version(): """Display version info""" click.echo("PDDF psuutil version {0}".format(VERSION)) + # 'numpsus' subcommand @cli.command() def numpsus(): """Display number of supported PSUs on device""" - click.echo(_wrapper_get_num_psus()) + num_psus = platform_chassis.get_num_psus() + click.echo(str(num_psus)) + # 'status' subcommand @cli.command() -@click.option('-i', '--index', default=-1, type=int, help="the index of PSU") +@click.option('-i', '--index', default=-1, type=int, help="Index of the PSU (1-based)") def status(index): """Display PSU status""" - supported_psu = list(range(1, _wrapper_get_num_psus() + 1)) - psu_ids = [] + psu_list = [] if (index < 0): - psu_ids = supported_psu + psu_list = platform_chassis.get_all_psus() + default_index = 0 else: - psu_ids = [index] + psu_list = platform_chassis.get_psu(index-1) + default_index = index-1 header = ['PSU', 'Status'] status_table = [] - for psu in psu_ids: - msg = "" - psu_name = _wrapper_get_psu_name(psu) - if psu not in supported_psu: - click.echo("Error! The {} is not available on the platform.\n" \ - "Number of supported PSU - {}.".format(psu_name, len(supported_psu))) - continue - presence = _wrapper_get_psu_presence(psu) - if presence: - oper_status = _wrapper_get_psu_status(psu) - msg = 'OK' if oper_status else "NOT OK" - else: - msg = 'NOT PRESENT' - status_table.append([psu_name, msg]) + for idx, psu in enumerate(psu_list, default_index): + psu_name = helper.try_get(psu.get_name, "PSU {}".format(idx+1)) + status = 'NOT PRESENT' + if psu.get_presence(): + oper_status = helper.try_get(psu.get_powergood_status, 'UNKNOWN') + if oper_status is True: + status = 'OK' + elif oper_status is False: + status = 'NOT OK' + else: + status = oper_status + + status_table.append([psu_name, status]) if status_table: - click.echo(tabulate(status_table, header, tablefmt="simple")) + click.echo(tabulate(status_table, header, tablefmt='simple')) + # 'mfrinfo' subcommand @cli.command() -@click.option('-i', '--index', default=-1, type=int, help="the index of PSU") +@click.option('-i', '--index', default=-1, type=int, help="Index of the PSU (1-based)") def mfrinfo(index): """Display PSU manufacturer info""" - supported_psu = list(range(1, _wrapper_get_num_psus() + 1)) - psu_ids = [] + psu_list = [] if (index < 0): - psu_ids = supported_psu + psu_list = platform_chassis.get_all_psus() + default_index = 0 else: - psu_ids = [index] - - for psu in psu_ids: - psu_name = _wrapper_get_psu_name(psu) - if psu not in supported_psu: - click.echo("Error! The {} is not available on the platform.\n" \ - "Number of supported PSU - {}.".format(psu_name, len(supported_psu))) - continue - status = _wrapper_get_psu_status(psu) - if not status: - click.echo("{} is Not OK\n".format(psu_name)) - continue - - model_name = _wrapper_get_psu_model(psu) - mfr_id = _wrapper_get_psu_mfr_id(psu) - serial_num = _wrapper_get_psu_serial(psu) - airflow_dir = _wrapper_get_psu_direction(psu) - - click.echo("{} is OK\nManufacture Id: {}\n" \ - "Model: {}\nSerial Number: {}\n" \ - "Fan Direction: {}\n".format(psu_name, mfr_id, model_name, serial_num, airflow_dir.capitalize())) + psu_list = platform_chassis.get_psu(index-1) + default_index = index-1 + + header = ['PSU', 'Status', 'Manufacturer ID', 'Model', 'Serial', 'Fan Airflow Direction'] + mfrinfo_table = [] + + for idx, psu in enumerate(psu_list, default_index): + psu_name = helper.try_get(psu.get_name, "PSU {}".format(idx+1)) + status = 'NOT PRESENT' + model_name = 'N/A' + mfr_id = 'N/A' + serial_num = 'N/A' + airflow_dir = 'N/A' + if psu.get_presence(): + oper_status = helper.try_get(psu.get_powergood_status, 'UNKNOWN') + if oper_status is True: + status = 'OK' + elif oper_status is False: + status = 'NOT OK' + else: + status = oper_status + + model_name = helper.try_get(psu.get_model, 'N/A') + mfr_id = helper.try_get(psu.get_mfr_id, 'N/A') + serial_num = helper.try_get(psu.get_serial, 'N/A') + airflow_dir = helper.try_get(psu._fan_list[0].get_direction, 'N/A') + + mfrinfo_table.append([psu_name, status, mfr_id, model_name, serial_num, airflow_dir]) + + if mfrinfo_table: + click.echo(tabulate(mfrinfo_table, header, tablefmt='simple')) # 'seninfo' subcommand @@ -251,44 +147,60 @@ def mfrinfo(index): @click.option('-i', '--index', default=-1, type=int, help="the index of PSU") def seninfo(index): """Display PSU sensor info""" - supported_psu = list(range(1, _wrapper_get_num_psus() + 1)) - psu_ids = [] + psu_list = [] if (index < 0): - psu_ids = supported_psu + psu_list = platform_chassis.get_all_psus() + default_index = 0 else: - psu_ids = [index] - - for psu in psu_ids: - psu_name = _wrapper_get_psu_name(psu) - if psu not in supported_psu: - click.echo("Error! The {} is not available on the platform.\n" \ - "Number of supported PSU - {}.".format(psu_name, len(supported_psu))) - continue - oper_status = _wrapper_get_psu_status(psu) - - if not oper_status: - click.echo("{} is Not OK\n".format(psu_name)) - continue - - v_out = _wrapper_get_output_voltage(psu) * 1000 - i_out = _wrapper_get_output_current(psu) * 1000 - p_out = _wrapper_get_output_power(psu) * 1000 - - fan1_rpm = _wrapper_get_fan_rpm(psu, 1) - click.echo("{} is OK\nOutput Voltage: {} mv\n" \ - "Output Current: {} ma\nOutput Power: {} mw\n" \ - "Fan1 Speed: {} rpm\n".format(psu_name, v_out, i_out, p_out, fan1_rpm)) + psu_list = platform_chassis.get_psu(index-1) + default_index = index-1 + + header = ['PSU', 'Status', 'Output Voltage (V)', 'Output Current (A)', + 'Output Power (W)', 'Temperature1 (C)', 'Fan1 Speed (RPM)'] + seninfo_table = [] + + for idx, psu in enumerate(psu_list, default_index): + psu_name = helper.try_get(psu.get_name, "PSU {}".format(idx+1)) + status = 'NOT PRESENT' + v_out = 'N/A' + i_out = 'N/A' + p_out = 'N/A' + temp1 = 'N/A' + fan1_rpm = 'N/A' + + if psu.get_presence(): + oper_status = helper.try_get(psu.get_powergood_status, 'UNKNOWN') + if oper_status is True: + status = 'OK' + elif oper_status is False: + status = 'NOT OK' + else: + status = oper_status + + v_out = helper.try_get(psu.get_voltage, 'N/A') + i_out = helper.try_get(psu.get_current, 'N/A') + p_out = helper.try_get(psu.get_power, 'N/A') + temp1 = helper.try_get(psu.get_temperature, 'N/A') + fan1_rpm = helper.try_get(psu._fan_list[0].get_speed_rpm, 'N/A') + + seninfo_table.append([psu_name, status, v_out, i_out, p_out, temp1, fan1_rpm]) + + if seninfo_table: + click.echo(tabulate(seninfo_table, header, tablefmt='simple', floatfmt='.2f')) + @cli.group() def debug(): """pddf_psuutil debug commands""" pass + @debug.command() def dump_sysfs(): """Dump all PSU related SysFS paths""" - for psu in range(_wrapper_get_num_psus()): - status = _wrapper_dump_sysfs(psu) + psu_list = platform_chassis.get_all_psus() + for psu in psu_list: + status = psu.dump_sysfs() if status: for i in status: diff --git a/pddf_thermalutil/main.py b/pddf_thermalutil/main.py index 976e5b4f2f..aacad45e0b 100644 --- a/pddf_thermalutil/main.py +++ b/pddf_thermalutil/main.py @@ -16,69 +16,38 @@ VERSION = '2.0' -SYSLOG_IDENTIFIER = "thermalutil" -PLATFORM_SPECIFIC_MODULE_NAME = "thermalutil" -PLATFORM_SPECIFIC_CLASS_NAME = "ThermalUtil" +ERROR_PERMISSIONS = 1 +ERROR_CHASSIS_LOAD = 2 +ERROR_NOT_IMPLEMENTED = 3 +ERROR_PDDF_NOT_SUPPORTED = 4 -# Global platform-specific thermalutil class instance -platform_thermalutil = None +# Global platform-specific chassis class instance platform_chassis = None -# Wrapper APIs so that this util is suited to both 1.0 and 2.0 platform APIs -def _wrapper_get_num_thermals(): - if platform_chassis is not None: - try: - return platform_chassis.get_num_thermals() - except NotImplementedError: - pass - return platform_thermalutil.get_num_thermals() - -def _wrapper_get_thermal_name(idx): - if platform_chassis is not None: - try: - return platform_chassis.get_thermal(idx-1).get_name() - except NotImplementedError: - pass - return "TEMP{}".format(idx) - +# Load the helper class +helper = UtilHelper() # ==================== CLI commands and groups ==================== - # This is our main entrypoint - the main 'thermalutil' command @click.group() def cli(): """pddf_thermalutil - Command line utility for providing Temp Sensors information""" - global platform_thermalutil global platform_chassis if os.geteuid() != 0: click.echo("Root privileges are required for this operation") sys.exit(1) - # Load the helper class - helper = UtilHelper() - if not helper.check_pddf_mode(): click.echo("PDDF mode should be supported and enabled for this platform for this operation") sys.exit(1) - # Load new platform api class - try: - import sonic_platform.platform - platform_chassis = sonic_platform.platform.Platform().get_chassis() - except Exception as e: - click.echo("Failed to load chassis due to {}".format(str(e))) - - - # Load platform-specific fanutil class - if platform_chassis is None: - try: - platform_thermalutil = helper.load_platform_util(PLATFORM_SPECIFIC_MODULE_NAME, PLATFORM_SPECIFIC_CLASS_NAME) - except Exception as e: - click.echo("Failed to load {}: {}".format(PLATFORM_SPECIFIC_MODULE_NAME, str(e))) - sys.exit(2) + # Load platform-specific chassis 2.0 api class + platform_chassis = helper.load_platform_chassis() + if not platform_chassis: + sys.exit(ERROR_CHASSIS_LOAD) # 'version' subcommand @@ -87,83 +56,78 @@ def version(): """Display version info""" click.echo("PDDF thermalutil version {0}".format(VERSION)) + # 'numthermals' subcommand @cli.command() def numthermals(): """Display number of Thermal Sensors installed """ - click.echo(_wrapper_get_num_thermals()) + num_thermals = platform_chassis.get_num_thermals() + click.echo(num_thermals) + # 'gettemp' subcommand @cli.command() -@click.option('-i', '--index', default=-1, type=int, help="the index of Temp Sensor") +@click.option('-i', '--index', default=-1, type=int, help="Index of Temp Sensor (1-based)") def gettemp(index): """Display Temperature values of thermal sensors""" - supported_thermal = list(range(1, _wrapper_get_num_thermals()+ 1)) - thermal_ids = [] + thermal_list = [] if (index < 0): - thermal_ids = supported_thermal + thermal_list = platform_chassis.get_all_thermals() + default_index = 0 else: - thermal_ids = [index] + thermal_list = platform_chassis.get_thermal(index-1) + default_index = index-1 - header=[] - status_table = [] + header = [] + temp_table = [] - for thermal in thermal_ids: - thermal_name = _wrapper_get_thermal_name(thermal) - if thermal not in supported_thermal: - click.echo("Error! The {} is not available on the platform.\n" \ - "Number of supported Temp - {}.".format(thermal_name, len(supported_thermal))) - continue + for idx, thermal in enumerate(thermal_list, default_index): + thermal_name = helper.try_get(thermal.get_name, "TEMP{}".format(idx+1)) # TODO: Provide a wrapper API implementation for the below function - if platform_chassis is not None: - try: - temp = platform_chassis.get_thermal(thermal-1).get_temperature() - if temp: - value = "temp1\t %+.1f C ("%temp - high = platform_chassis.get_thermal(thermal-1).get_high_threshold() - if high: - value += "high = %+.1f C"%high - crit = platform_chassis.get_thermal(thermal-1).get_high_critical_threshold() - if high and crit: - value += ", " - if crit: - value += "crit = %+.1f C"%crit - - - label = platform_chassis.get_thermal(thermal-1).get_temp_label() - value +=")" - - except NotImplementedError: - pass - else: - label, value = platform_thermalutil.show_thermal_temp_values(thermal) + try: + temp = thermal.get_temperature() + if temp: + value = "temp1\t %+.1f C (" % temp + high = thermal.get_high_threshold() + if high: + value += "high = %+.1f C" % high + crit = thermal.get_high_critical_threshold() + if high and crit: + value += ", " + if crit: + value += "crit = %+.1f C" % crit + + label = thermal.get_temp_label() + value += ")" + + except NotImplementedError: + pass if label is None: - status_table.append([thermal_name, value]) + temp_table.append([thermal_name, value]) else: - status_table.append([thermal_name, label, value]) + temp_table.append([thermal_name, label, value]) - if status_table: + if temp_table: if label is None: header = ['Temp Sensor', 'Value'] else: header = ['Temp Sensor', 'Label', 'Value'] - click.echo(tabulate(status_table, header, tablefmt="simple")) + click.echo(tabulate(temp_table, header, tablefmt="simple")) + @cli.group() def debug(): """pddf_thermalutil debug commands""" pass + @debug.command() def dump_sysfs(): """Dump all Temp Sensor related SysFS paths""" - if platform_chassis is not None: - supported_thermal = list(range(1, _wrapper_get_num_thermals()+ 1)) - for index in supported_thermal: - status = platform_chassis.get_thermal(index-1).dump_sysfs() - else: - status = platform_thermalutil.dump_sysfs() + thermal_list = platform_chassis.get_all_thermals() + for idx, thermal in enumerate(thermal_list): + status = thermal.dump_sysfs() if status: for i in status: diff --git a/utilities_common/util_base.py b/utilities_common/util_base.py index 8dc15a4402..18da93de7a 100644 --- a/utilities_common/util_base.py +++ b/utilities_common/util_base.py @@ -1,51 +1,49 @@ -try: - import imp - import os - from sonic_py_common import device_info -except ImportError as e: - raise ImportError (str(e) + " - required module not found") +import os +import sonic_platform -# # Constants ==================================================================== -# -PDDF_FILE_PATH = '/usr/share/sonic/platform/pddf_support' +PDDF_SUPPORT_FILE = '/usr/share/sonic/platform/pddf_support' -EEPROM_MODULE_NAME = 'eeprom' -EEPROM_CLASS_NAME = 'board' +# Helper classs class UtilHelper(object): def __init__(self): pass - # Loads platform specific psuutil module from source - def load_platform_util(self, module_name, class_name): - platform_util = None + # try get information from platform API and return a default value if caught NotImplementedError + def try_get(self, callback, default=None): + """ + Handy function to invoke the callback and catch NotImplementedError + :param callback: Callback to be invoked + :param default: Default return value if exception occur + :return: Default return value if exception occur else return value of the callback + """ + try: + ret = callback() + if ret is None: + ret = default + except NotImplementedError: + ret = default - # Get path to platform and hwsku - (platform_path, hwsku_path) = device_info.get_paths_to_platform_and_hwsku_dirs() + return ret - try: - module_file = os.path.join(platform_path, "plugins", module_name + ".py") - module = imp.load_source(module_name, module_file) - except IOError as e: - raise IOError("Failed to load platform module '%s': %s" % (module_name, str(e))) + # Instantiate platform-specific Chassis class + def load_platform_chassis(self): + chassis = None + # Load 2.0 platform API chassis class try: - platform_util_class = getattr(module, class_name) - # board class of eeprom requires 4 paramerters, need special treatment here. - if module_name == EEPROM_MODULE_NAME and class_name == EEPROM_CLASS_NAME: - platform_util = platform_util_class('','','','') - else: - platform_util = platform_util_class() - except AttributeError as e: - raise AttributeError("Failed to instantiate '%s' class: %s" % (class_name, str(e))) + chassis = sonic_platform.platform.Platform().get_chassis() + except Exception as e: + raise Exception("Failed to load chassis due to {}".format(repr(e))) - return platform_util + return chassis + # Check for PDDF mode enabled def check_pddf_mode(self): - if os.path.exists(PDDF_FILE_PATH): + if os.path.exists(PDDF_SUPPORT_FILE): return True else: return False From e1c52a0a165b67bbc0029636e5051c254e1c8390 Mon Sep 17 00:00:00 2001 From: Vadym Hlushko <62022266+vadymhlushko-mlnx@users.noreply.github.com> Date: Thu, 11 Mar 2021 02:55:41 +0200 Subject: [PATCH 119/342] [warm-reboot]: added automated recover for ISSU file (#1466) #### What I did Modified pre-check for file `/host/warmboot/issu_bank.txt` in `warm-reboot` script. Added automated recovery of `/host/warmboot/issu_bank.txt` #### How I did it Modified the `warm-reboot` script. #### How to verify it Need to somehow corrupt the `/host/warmboot/issu_bank.txt` (list below) and then run the `warm-reboot` command. For testing I have modified the `warm-reboot` script - added corruption command before `check_issu_bank_file` function call. 1. Remove `issu_bank.txt` 2. Clear `issu_bank.txt` 3. Change characters count in `issu_bank.txt` 4. Write invalid content into `issu_bank.txt` #### Previous command output (if the output of a command-line utility has changed) ``` root@arc-switch1041:~# warm-reboot (/host/warmboot/issu_bank.txt) does NOT exist or empty ... To recover (/host/warmboot/issu_bank.txt) file, do the following: $ docker exec -it syncd sx_api_dbg_generate_dump.py $ docker exec -it syncd cat /tmp/sdkdump | grep 'ISSU Bank' Command above will print the VALUE of ISSU BANK - 0 or 1, use this VALUE in the next command $ printf VALUE > /host/warmboot/issu_bank.txt ``` #### New command output (if the output of a command-line utility has changed) ``` root@arc-switch1041:~# warm-reboot (/host/warmboot/issu_bank.txt) does NOT exist or empty ... Recovering the (/host/warmboot/issu_bank.txt) file ``` --- scripts/fast-reboot | 26 ++++++++------------------ 1 file changed, 8 insertions(+), 18 deletions(-) diff --git a/scripts/fast-reboot b/scripts/fast-reboot index 13ad66a25e..7b5b1a27b4 100755 --- a/scripts/fast-reboot +++ b/scripts/fast-reboot @@ -170,26 +170,21 @@ function request_pre_shutdown() } } -function recover_issu_bank_file_instruction() +function recover_issu_bank_file() { - debug "To recover (${ISSU_BANK_FILE}) file, do the following:" - debug "$ docker exec -it syncd sx_api_dbg_generate_dump.py" - debug "$ docker exec -it syncd cat /tmp/sdkdump | grep 'ISSU Bank'" - debug "Command above will print the VALUE of ISSU BANK - 0 or 1, use this VALUE in the next command" - debug "$ printf VALUE > /host/warmboot/issu_bank.txt" + debug "Recovering the (${ISSU_BANK_FILE}) file" + docker exec -i syncd sx_api_dbg_generate_dump.py + issu_bank_value=`docker exec -i syncd cat /tmp/sdkdump | grep 'ISSU Bank' | grep -o -E '[0-9]+'` + printf $issu_bank_value > /host/warmboot/issu_bank.txt } function check_issu_bank_file() { ISSU_BANK_FILE=/host/warmboot/issu_bank.txt - MLNX_ISSU_BANK_BROKEN=102 if [[ ! -s "$ISSU_BANK_FILE" ]]; then error "(${ISSU_BANK_FILE}) does NOT exist or empty ..." - recover_issu_bank_file_instruction - if [[ "$1" = true ]]; then - exit "${MLNX_ISSU_BANK_BROKEN}" - fi + recover_issu_bank_file return fi @@ -199,10 +194,7 @@ function check_issu_bank_file() if [[ $issu_file_chars_count != 1 ]] || [[ "$issu_file_content" != "0" && "$issu_file_content" != "1" ]]; then error "(${ISSU_BANK_FILE}) is broken ..." - recover_issu_bank_file_instruction - if [[ "$1" = true ]]; then - exit "${MLNX_ISSU_BANK_BROKEN}" - fi + recover_issu_bank_file fi } @@ -599,10 +591,8 @@ if [[ "$REBOOT_TYPE" = "warm-reboot" || "$REBOOT_TYPE" = "fastfast-reboot" ]]; t # Pre-shutdown syncd initialize_pre_shutdown - BEFORE_PRE_SHUTDOWN=true - if [[ "x$sonic_asic_type" == x"mellanox" ]]; then - check_issu_bank_file "$BEFORE_PRE_SHUTDOWN" + check_issu_bank_file fi request_pre_shutdown From 6ced42c20c8b6c48f47cff3b54070daa1fdec343 Mon Sep 17 00:00:00 2001 From: Guohan Lu Date: Thu, 11 Mar 2021 07:10:48 -0800 Subject: [PATCH 120/342] Revert "[config] Enable/disable container monitoring when starting/stopping the services. (#1471)" This reverts commit 4a78c01122e1f3ef847cf714774671e804087478. --- config/main.py | 6 ------ tests/config_test.py | 4 +--- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/config/main.py b/config/main.py index f2a204b93f..78dee15a21 100644 --- a/config/main.py +++ b/config/main.py @@ -669,9 +669,6 @@ def _get_disabled_services_list(config_db): def _stop_services(): - click.echo("Disabling container monitoring ...") - clicommon.run_command("sudo monit unmonitor container_checker") - click.echo("Stopping SONiC target ...") clicommon.run_command("sudo systemctl stop sonic.target") @@ -695,9 +692,6 @@ def _restart_services(): click.echo("Reloading Monit configuration ...") clicommon.run_command("sudo monit reload") - click.echo("Enabling container monitoring ...") - clicommon.run_command("sudo monit monitor container_checker") - def interface_is_in_vlan(vlan_member_table, interface_name): """ Check if an interface is in a vlan """ diff --git a/tests/config_test.py b/tests/config_test.py index 21200a6ecd..89d8313d53 100644 --- a/tests/config_test.py +++ b/tests/config_test.py @@ -12,14 +12,12 @@ from utilities_common.db import Db load_minigraph_command_output="""\ -Disabling container monitoring ... Stopping SONiC target ... Running command: /usr/local/bin/sonic-cfggen -H -m --write-to-db Running command: pfcwd start_default Running command: config qos reload --no-dynamic-buffer Restarting SONiC target ... Reloading Monit configuration ... -Enabling container monitoring ... Please note setting loaded from minigraph will be lost after system reboot. To preserve setting, run `config save`. """ @@ -51,7 +49,7 @@ def test_load_minigraph(self, get_cmd_module, setup_single_broadcom_asic): traceback.print_tb(result.exc_info[2]) assert result.exit_code == 0 assert "\n".join([l.rstrip() for l in result.output.split('\n')]) == load_minigraph_command_output - assert mock_run_command.call_count == 9 + assert mock_run_command.call_count == 7 @classmethod def teardown_class(cls): From 4a5bd47c8a12ad1a33d507df9ea3c4ff1cb167ed Mon Sep 17 00:00:00 2001 From: Joe LeVeque Date: Thu, 11 Mar 2021 18:03:36 -0800 Subject: [PATCH 121/342] [pytest] Increase verbosity (#1451) Increase verbosity of pytest to allow for full, non-truncated error messages to appear in CI unit test results in order to help facilitate troubleshooting of unit test failures. --- pytest.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pytest.ini b/pytest.ini index 836f5437df..4fb7432d5d 100644 --- a/pytest.ini +++ b/pytest.ini @@ -1,2 +1,2 @@ [pytest] -addopts = --cov-config=.coveragerc --cov --cov-report html --cov-report term --cov-report xml --junitxml=test-results.xml -v +addopts = --cov-config=.coveragerc --cov --cov-report html --cov-report term --cov-report xml --junitxml=test-results.xml -vv From 5739cd9ea6e55e2da87e66519df72de38a72b6d5 Mon Sep 17 00:00:00 2001 From: vdahiya12 <67608553+vdahiya12@users.noreply.github.com> Date: Thu, 11 Mar 2021 23:27:24 -0800 Subject: [PATCH 122/342] [show][config] fix for show/config muxcable hwmode model value; fix show/config muxcable return codes; (#1494) his PR fixes the show mux hwmode muxdirection config mux hwmode state cli commands to correctly use the model values for matching the vendor model value present in TRANSCEIVER_INFO table in state DB. This PR also supports the fix for return codes for show mux config mux commands to return 0 if the command executes correctly. What I did fix for show/config muxcable hwmode model value; fix show/config muxcable return codes; Signed-off-by: vaibhav-dahiya --- config/muxcable.py | 9 +++--- show/muxcable.py | 11 +++---- tests/mock_tables/state_db.json | 2 +- tests/muxcable_test.py | 52 ++++++++++++++++++--------------- 4 files changed, 40 insertions(+), 34 deletions(-) diff --git a/config/muxcable.py b/config/muxcable.py index 903156bd22..2e5bc1c80b 100644 --- a/config/muxcable.py +++ b/config/muxcable.py @@ -3,6 +3,7 @@ import sys import click +import re import utilities_common.cli as clicommon from sonic_py_common import multi_asic from swsscommon.swsscommon import SonicV2Connector, ConfigDBConnector @@ -13,11 +14,11 @@ REDIS_TIMEOUT_MSECS = 0 -CONFIG_SUCCESSFUL = 100 +CONFIG_SUCCESSFUL = 0 CONFIG_FAIL = 1 VENDOR_NAME = "Credo" -VENDOR_MODEL = "CAC125321P2PA0MS" +VENDOR_MODEL_REGEX = re.compile(r"CAC\w{3}321P2P\w{2}MS") # Helper functions @@ -333,7 +334,7 @@ def state(state, port): or not. The check gives a way to differentiate between non Y cable ports and Y cable ports. TODO: this should be removed once their is support for multiple vendors on Y cable""" - if vendor_value != VENDOR_NAME or model_value != VENDOR_MODEL: + if vendor_value != VENDOR_NAME or not re.match(VENDOR_MODEL_REGEX, model_value): click.echo("ERR: Got invalid vendor value and model for port {}".format(port)) sys.exit(CONFIG_FAIL) @@ -419,7 +420,7 @@ def state(state, port): or not. The check gives a way to differentiate between non Y cable ports and Y cable ports. TODO: this should be removed once their is support for multiple vendors on Y cable""" - if vendor_value != VENDOR_NAME or model_value != VENDOR_MODEL: + if vendor_value != VENDOR_NAME or not re.match(VENDOR_MODEL_REGEX, model_value): continue physical_port = physical_port_list[0] diff --git a/show/muxcable.py b/show/muxcable.py index f688a41403..2620247ebe 100644 --- a/show/muxcable.py +++ b/show/muxcable.py @@ -3,6 +3,7 @@ import sys import click +import re import utilities_common.cli as clicommon from natsort import natsorted from sonic_py_common import multi_asic @@ -14,15 +15,15 @@ REDIS_TIMEOUT_MSECS = 0 -CONFIG_SUCCESSFUL = 101 +CONFIG_SUCCESSFUL = 0 CONFIG_FAIL = 1 EXIT_FAIL = 1 EXIT_SUCCESS = 0 STATUS_FAIL = 1 -STATUS_SUCCESSFUL = 102 +STATUS_SUCCESSFUL = 0 VENDOR_NAME = "Credo" -VENDOR_MODEL = "CAC125321P2PA0MS" +VENDOR_MODEL_REGEX = re.compile(r"CAC\w{3}321P2P\w{2}MS") # @@ -489,7 +490,7 @@ def muxdirection(port): or not. The check gives a way to differentiate between non Y cable ports and Y cable ports. TODO: this should be removed once their is support for multiple vendors on Y cable""" - if vendor_value != VENDOR_NAME or model_value != VENDOR_MODEL: + if vendor_value != VENDOR_NAME or not re.match(VENDOR_MODEL_REGEX, model_value): click.echo("ERR: Got invalid vendor value and model for port {}".format(port)) sys.exit(EXIT_FAIL) @@ -585,7 +586,7 @@ def muxdirection(port): or not. The check gives a way to differentiate between non Y cable ports and Y cable ports. TODO: this should be removed once their is support for multiple vendors on Y cable""" - if vendor_value != VENDOR_NAME or model_value != VENDOR_MODEL: + if vendor_value != VENDOR_NAME or not re.match(VENDOR_MODEL_REGEX, model_value): continue physical_port = physical_port_list[0] diff --git a/tests/mock_tables/state_db.json b/tests/mock_tables/state_db.json index bf9383f5e7..45057b5cf4 100644 --- a/tests/mock_tables/state_db.json +++ b/tests/mock_tables/state_db.json @@ -22,7 +22,7 @@ "hardware_rev": "AC", "serial": "MT1706FT02064", "manufacturer": "Credo", - "model": "CAC125321P2PA0MS", + "model": "CACL1X321P2PA1MS", "vendor_oui": "00-02-c9", "vendor_date": "2017-01-13 ", "connector": "No separable connector", diff --git a/tests/muxcable_test.py b/tests/muxcable_test.py index 88c278850f..9f91a0336b 100644 --- a/tests/muxcable_test.py +++ b/tests/muxcable_test.py @@ -188,7 +188,7 @@ def test_muxcable_status(self): db = Db() result = runner.invoke(show.cli.commands["muxcable"].commands["status"], obj=db) - assert result.exit_code == 102 + assert result.exit_code == 0 assert result.output == tabular_data_status_output_expected def test_muxcable_status_json(self): @@ -197,7 +197,7 @@ def test_muxcable_status_json(self): result = runner.invoke(show.cli.commands["muxcable"].commands["status"], ["--json"], obj=db) - assert result.exit_code == 102 + assert result.exit_code == 0 assert result.output == json_data_status_output_expected def test_muxcable_status_config(self): @@ -206,7 +206,7 @@ def test_muxcable_status_config(self): result = runner.invoke(show.cli.commands["muxcable"].commands["config"], obj=db) - assert result.exit_code == 101 + assert result.exit_code == 0 assert result.output == tabular_data_config_output_expected def test_muxcable_status_config_json(self): @@ -215,7 +215,7 @@ def test_muxcable_status_config_json(self): result = runner.invoke(show.cli.commands["muxcable"].commands["config"], ["--json"], obj=db) - assert result.exit_code == 101 + assert result.exit_code == 0 assert result.output == json_data_status_config_output_expected def test_muxcable_config_json_with_incorrect_port(self): @@ -233,7 +233,7 @@ def test_muxcable_status_json_with_correct_port(self): patched_util.SfpUtilHelper.return_value.get_asic_id_for_logical_port.return_value = 0 result = runner.invoke(show.cli.commands["muxcable"].commands["status"], ["Ethernet0", "--json"], obj=db) - assert result.exit_code == 102 + assert result.exit_code == 0 def test_muxcable_status_json_port_incorrect_index(self): runner = CliRunner() @@ -266,7 +266,7 @@ def test_muxcable_config_with_correct_port(self): patched_util.SfpUtilHelper.return_value.get_asic_id_for_logical_port.return_value = 0 result = runner.invoke(show.cli.commands["muxcable"].commands["config"], ["Ethernet0"], obj=db) - assert result.exit_code == 101 + assert result.exit_code == 0 def test_muxcable_config_json_with_correct_port(self): runner = CliRunner() @@ -275,7 +275,7 @@ def test_muxcable_config_json_with_correct_port(self): patched_util.SfpUtilHelper.return_value.get_asic_id_for_logical_port.return_value = 0 result = runner.invoke(show.cli.commands["muxcable"].commands["config"], ["Ethernet0", "--json"], obj=db) - assert result.exit_code == 101 + assert result.exit_code == 0 def test_muxcable_config_json_port_with_incorrect_index(self): runner = CliRunner() @@ -284,7 +284,7 @@ def test_muxcable_config_json_port_with_incorrect_index(self): patched_util.SfpUtilHelper.return_value.get_asic_id_for_logical_port.return_value = 1 result = runner.invoke(show.cli.commands["muxcable"].commands["config"], ["Ethernet0", "--json"], obj=db) - assert result.exit_code == 101 + assert result.exit_code == 0 def test_muxcable_config_json_with_incorrect_port_patch(self): runner = CliRunner() @@ -302,7 +302,7 @@ def test_muxcable_status_json_port_eth0(self): patched_util.SfpUtilHelper.return_value.get_asic_id_for_logical_port.return_value = 0 result = runner.invoke(show.cli.commands["muxcable"].commands["status"], ["Ethernet0"], obj=db) - assert result.exit_code == 102 + assert result.exit_code == 0 def test_config_muxcable_tabular_port_Ethernet8_active(self): runner = CliRunner() @@ -312,7 +312,7 @@ def test_config_muxcable_tabular_port_Ethernet8_active(self): patched_util.SfpUtilHelper.return_value.get_asic_id_for_logical_port.return_value = 0 result = runner.invoke(config.config.commands["muxcable"].commands["mode"], ["active", "Ethernet8"], obj=db) - assert result.exit_code == 100 + assert result.exit_code == 0 def test_config_muxcable_tabular_port_Ethernet8_auto(self): runner = CliRunner() @@ -322,7 +322,7 @@ def test_config_muxcable_tabular_port_Ethernet8_auto(self): patched_util.SfpUtilHelper.return_value.get_asic_id_for_logical_port.return_value = 0 result = runner.invoke(config.config.commands["muxcable"].commands["mode"], ["auto", "Ethernet8"], obj=db) - assert result.exit_code == 100 + assert result.exit_code == 0 def test_config_muxcable_mode_auto_json(self): runner = CliRunner() @@ -330,7 +330,7 @@ def test_config_muxcable_mode_auto_json(self): result = runner.invoke(config.config.commands["muxcable"].commands["mode"], ["auto", "all", "--json"], obj=db) - assert result.exit_code == 100 + assert result.exit_code == 0 assert result.output == json_data_config_output_auto_expected def test_config_muxcable_mode_active_json(self): @@ -341,7 +341,7 @@ def test_config_muxcable_mode_active_json(self): f = open("newfile1", "w") f.write(result.output) - assert result.exit_code == 100 + assert result.exit_code == 0 assert result.output == json_data_config_output_active_expected def test_config_muxcable_json_port_auto_Ethernet0(self): @@ -353,7 +353,7 @@ def test_config_muxcable_json_port_auto_Ethernet0(self): result = runner.invoke(config.config.commands["muxcable"].commands["mode"], [ "auto", "Ethernet0", "--json"], obj=db) - assert result.exit_code == 100 + assert result.exit_code == 0 def test_config_muxcable_json_port_active_Ethernet0(self): runner = CliRunner() @@ -364,13 +364,13 @@ def test_config_muxcable_json_port_active_Ethernet0(self): result = runner.invoke(config.config.commands["muxcable"].commands["mode"], [ "active", "Ethernet0", "--json"], obj=db) - assert result.exit_code == 100 + assert result.exit_code == 0 def test_config_muxcable_mode_auto_tabular(self): runner = CliRunner() db = Db() result = runner.invoke(config.config.commands["muxcable"].commands["mode"], ["auto", "all"], obj=db) - assert result.exit_code == 100 + assert result.exit_code == 0 def test_config_muxcable_mode_active_tabular(self): runner = CliRunner() @@ -380,7 +380,7 @@ def test_config_muxcable_mode_active_tabular(self): f = open("newfile", "w") f.write(result.output) - assert result.exit_code == 100 + assert result.exit_code == 0 def test_config_muxcable_tabular_port(self): runner = CliRunner() @@ -390,7 +390,7 @@ def test_config_muxcable_tabular_port(self): patched_util.SfpUtilHelper.return_value.get_asic_id_for_logical_port.return_value = 0 result = runner.invoke(config.config.commands["muxcable"].commands["mode"], ["active", "Ethernet0"], obj=db) - assert result.exit_code == 100 + assert result.exit_code == 0 def test_config_muxcable_tabular_port_Ethernet4_active(self): runner = CliRunner() @@ -400,7 +400,7 @@ def test_config_muxcable_tabular_port_Ethernet4_active(self): patched_util.SfpUtilHelper.return_value.get_asic_id_for_logical_port.return_value = 0 result = runner.invoke(config.config.commands["muxcable"].commands["mode"], ["active", "Ethernet4"], obj=db) - assert result.exit_code == 100 + assert result.exit_code == 0 def test_config_muxcable_tabular_port_Ethernet4_auto(self): runner = CliRunner() @@ -410,7 +410,7 @@ def test_config_muxcable_tabular_port_Ethernet4_auto(self): patched_util.SfpUtilHelper.return_value.get_asic_id_for_logical_port.return_value = 0 result = runner.invoke(config.config.commands["muxcable"].commands["mode"], ["auto", "Ethernet4"], obj=db) - assert result.exit_code == 100 + assert result.exit_code == 0 def test_config_muxcable_tabular_port_with_incorrect_index(self): runner = CliRunner() @@ -475,7 +475,7 @@ def test_config_muxcable_enable_prbs(self): result = runner.invoke(config.config.commands["muxcable"].commands["prbs"].commands["enable"], ["0", "0", "0", "0"], obj=db) - assert result.exit_code == 100 + assert result.exit_code == 0 @mock.patch('os.geteuid', mock.MagicMock(return_value=0)) @mock.patch('sonic_y_cable.y_cable.enable_loopback_mode', mock.MagicMock(return_value=1)) @@ -486,7 +486,7 @@ def test_config_muxcable_enable_loopback(self): result = runner.invoke(config.config.commands["muxcable"].commands["loopback"].commands["enable"], ["0", "0", "0"], obj=db) - assert result.exit_code == 100 + assert result.exit_code == 0 @mock.patch('os.geteuid', mock.MagicMock(return_value=0)) @mock.patch('sonic_y_cable.y_cable.disable_prbs_mode', mock.MagicMock(return_value=1)) @@ -497,7 +497,7 @@ def test_config_muxcable_disble_prbs(self): result = runner.invoke(config.config.commands["muxcable"].commands["prbs"].commands["disable"], ["0", "0"], obj=db) - assert result.exit_code == 100 + assert result.exit_code == 0 @mock.patch('os.geteuid', mock.MagicMock(return_value=0)) @mock.patch('sonic_y_cable.y_cable.disable_loopback_mode', mock.MagicMock(return_value=1)) @@ -508,7 +508,7 @@ def test_config_muxcable_disable_loopback(self): result = runner.invoke(config.config.commands["muxcable"].commands["loopback"].commands["disable"], ["0", "0"], obj=db) - assert result.exit_code == 100 + assert result.exit_code == 0 @mock.patch('sonic_y_cable.y_cable.get_part_number', mock.MagicMock(return_value=("CACL1X321P2PA1M"))) @mock.patch('sonic_y_cable.y_cable.get_vendor', mock.MagicMock(return_value=("Credo "))) @@ -567,6 +567,7 @@ def test_show_muxcable_cableinfo_incorrect_logical_port_return_value(self): @mock.patch('utilities_common.platform_sfputil_helper.logical_port_name_to_physical_port_list', mock.MagicMock(return_value=[0])) @mock.patch('sonic_y_cable.y_cable.check_read_side', mock.MagicMock(return_value=(1))) @mock.patch('sonic_y_cable.y_cable.check_mux_direction', mock.MagicMock(return_value=(1))) + @mock.patch('re.match', mock.MagicMock(return_value=(True))) def test_show_muxcable_hwmode_muxdirection_port_active(self): runner = CliRunner() db = Db() @@ -583,6 +584,7 @@ def test_show_muxcable_hwmode_muxdirection_port_active(self): @mock.patch('utilities_common.platform_sfputil_helper.logical_port_name_to_physical_port_list', mock.MagicMock(return_value=[0])) @mock.patch('sonic_y_cable.y_cable.check_read_side', mock.MagicMock(return_value=(1))) @mock.patch('sonic_y_cable.y_cable.check_mux_direction', mock.MagicMock(return_value=(1))) + @mock.patch('re.match', mock.MagicMock(return_value=(True))) def test_show_muxcable_hwmode_muxdirection_active(self): runner = CliRunner() db = Db() @@ -597,6 +599,7 @@ def test_show_muxcable_hwmode_muxdirection_active(self): @mock.patch('utilities_common.platform_sfputil_helper.logical_port_name_to_physical_port_list', mock.MagicMock(return_value=[0])) @mock.patch('sonic_y_cable.y_cable.check_read_side', mock.MagicMock(return_value=(1))) @mock.patch('sonic_y_cable.y_cable.check_mux_direction', mock.MagicMock(return_value=(2))) + @mock.patch('re.match', mock.MagicMock(return_value=(True))) def test_show_muxcable_hwmode_muxdirection_port_standby(self): runner = CliRunner() db = Db() @@ -613,6 +616,7 @@ def test_show_muxcable_hwmode_muxdirection_port_standby(self): @mock.patch('utilities_common.platform_sfputil_helper.logical_port_name_to_physical_port_list', mock.MagicMock(return_value=[0])) @mock.patch('sonic_y_cable.y_cable.check_read_side', mock.MagicMock(return_value=(1))) @mock.patch('sonic_y_cable.y_cable.check_mux_direction', mock.MagicMock(return_value=(2))) + @mock.patch('re.match', mock.MagicMock(return_value=(True))) def test_show_muxcable_hwmode_muxdirection_standby(self): runner = CliRunner() db = Db() From 1260f900b14442eb38bbf4e7bb91ad16bd3abdc1 Mon Sep 17 00:00:00 2001 From: Vaibhav Hemant Dixit Date: Fri, 12 Mar 2021 09:25:21 -0800 Subject: [PATCH 123/342] [warm-reboot]: Check empty key before issuing redis hget (#1496) Added a check for empty key before checking WARM_RESTART_ENABLE_TABLE --- scripts/fast-reboot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/fast-reboot b/scripts/fast-reboot index 7b5b1a27b4..92648bd207 100755 --- a/scripts/fast-reboot +++ b/scripts/fast-reboot @@ -392,7 +392,7 @@ function save_counters_folder() { function check_warm_restart_in_progress() { sonic-db-cli STATE_DB keys "WARM_RESTART_ENABLE_TABLE|*" | while read key ; do - if [[ x"$(sonic-db-cli STATE_DB hget $key enable)" == x"true" ]]; then + if [ -n "$key" ] && [[ x"$(sonic-db-cli STATE_DB hget $key enable)" == x"true" ]]; then if [[ x"${FORCE}" == x"yes" ]]; then debug "Ignoring warm restart flag for ${key#*|}" else From 47d1a142dd1f7f5e7cd796dbf49abe17d4b75bfa Mon Sep 17 00:00:00 2001 From: Samuel Angebault Date: Fri, 12 Mar 2021 09:26:23 -0800 Subject: [PATCH 124/342] [generate-dump] Remove Arista specific logic (#1482) Cleanup review to remove Arista specific logic from generate_dump. We now implement the vendor specific hw-management-generate-dump.sh hook which achieves the same purpose. Signed-off-by: Samuel Angebault --- scripts/generate_dump | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/scripts/generate_dump b/scripts/generate_dump index 1c087246e6..92508edefa 100755 --- a/scripts/generate_dump +++ b/scripts/generate_dump @@ -854,21 +854,6 @@ collect_broadcom() { copy_from_masic_docker "syncd" "/var/log/bcm_diag_post" "/var/log/bcm_diag_post" } -############################################################################### -# Collect Arista specific information -# Globals: -# None -# Arguments: -# None -# Returns: -# None -############################################################################### -collect_arista() { - save_cmd "cat /proc/scd" "scd" - save_cmd "arista syseeprom" "arista.syseeprom" - save_cmd "arista dump" "arista.dump" -} - ############################################################################### # Save log file # Globals: @@ -1148,10 +1133,6 @@ main() { collect_broadcom fi - if $GREP -qi "aboot_platform=.*arista" /host/machine.conf; then - collect_arista - fi - # 2nd counter snapshot late. Need 2 snapshots to make sense of counters trend. save_counter_snapshot $asic 2 From 569a079460a6b1e1952d3ab4bdaeb5997b0d5e62 Mon Sep 17 00:00:00 2001 From: Joe LeVeque Date: Fri, 12 Mar 2021 10:41:10 -0800 Subject: [PATCH 125/342] [decode-syseeprom] When reading from DB, display CRC-32 and all Vendor Extensions (#1497) Changes when reading system EEPROM values from State DB (`decode-syseeprom -d`): - Display CRC-32 - Display all present vendor extensions - Display hex TLV code with lower-case `x` to match the output when reading directly from EEPROM - If a TLV code is not available, omit it from the output rather than displaying 'N/A' for all fields --- scripts/decode-syseeprom | 39 ++++++++++++++++------- tests/decode_syseeprom_test.py | 56 +++++++++++++++++++++------------- 2 files changed, 63 insertions(+), 32 deletions(-) diff --git a/scripts/decode-syseeprom b/scripts/decode-syseeprom index b1877327fc..eeb38306b0 100755 --- a/scripts/decode-syseeprom +++ b/scripts/decode-syseeprom @@ -62,7 +62,7 @@ def print_eeprom_dict(tlv_dict): tlv_table_header = ['TLV Name', 'Code', 'Len', 'Value'] tlv_table_body = [] for tlv in tlv_dict['tlv_list']: - tlv_table_body.append([tlv['name'], tlv['code'].upper(), tlv['length'], tlv['value']]) + tlv_table_body.append([tlv['name'], tlv['code'], tlv['length'], tlv['value']]) print(tabulate(tlv_table_body, tlv_table_header, tablefmt='simple')) @@ -91,16 +91,33 @@ def read_eeprom_from_db(): tlv_dict['header']['length'] = tlv_header.get('Total Length', 'N/A') tlv_dict['tlv_list'] = [] - for tlv_code in range(TlvInfoDecoder._TLV_CODE_PRODUCT_NAME, TlvInfoDecoder._TLV_CODE_SERVICE_TAG + 1): - tlv_code_string = '0x{:02x}'.format(tlv_code) - tlv_data = db.get_all(db.STATE_DB, '{}|{}'.format(EEPROM_INFO_TABLE, tlv_code_string)) - - tlv = {} - tlv['code'] = tlv_code_string - tlv['name'] = tlv_data.get('Name', 'N/A') - tlv['length'] = tlv_data.get('Len', 'N/A') - tlv['value'] = tlv_data.get('Value', 'N/A') - tlv_dict['tlv_list'].append(tlv) + concerned_tlvs = [] + concerned_tlvs.extend(range(TlvInfoDecoder._TLV_CODE_PRODUCT_NAME, TlvInfoDecoder._TLV_CODE_SERVICE_TAG + 1)) + concerned_tlvs.append(TlvInfoDecoder._TLV_CODE_VENDOR_EXT) + concerned_tlvs.append(TlvInfoDecoder._TLV_CODE_CRC_32) + for tlv_code in concerned_tlvs: + tlv_code_string = '0x{:02X}'.format(tlv_code) + + tlv_data = db.get_all(db.STATE_DB, '{}|{}'.format(EEPROM_INFO_TABLE, tlv_code_string.lower())) + if not tlv_data: + continue + + if tlv_code == TlvInfoDecoder._TLV_CODE_VENDOR_EXT: + num_vendor_ext = int(tlv_data.get('Num_vendor_ext', '0')) + for i in range(num_vendor_ext): + tlv = {} + tlv['code'] = tlv_code_string + tlv['name'] = tlv_data.get('Name_{}'.format(i), 'N/A') + tlv['length'] = tlv_data.get('Len_{}'.format(i), 'N/A') + tlv['value'] = tlv_data.get('Value_{}'.format(i), 'N/A') + tlv_dict['tlv_list'].append(tlv) + else: + tlv = {} + tlv['code'] = tlv_code_string + tlv['name'] = tlv_data.get('Name', 'N/A') + tlv['length'] = tlv_data.get('Len', 'N/A') + tlv['value'] = tlv_data.get('Value', 'N/A') + tlv_dict['tlv_list'].append(tlv) checksum_valid = db.get(db.STATE_DB, '{}|{}'.format(EEPROM_INFO_TABLE, 'Checksum'), 'Valid') tlv_dict['checksum_valid'] = (checksum_valid == '1') diff --git a/tests/decode_syseeprom_test.py b/tests/decode_syseeprom_test.py index 7dc93e0331..4b7758d36c 100644 --- a/tests/decode_syseeprom_test.py +++ b/tests/decode_syseeprom_test.py @@ -87,40 +87,52 @@ 'value': '3.15.1.0' }, { - 'code': '0x2a', + 'code': '0x2A', 'name': 'MAC Addresses', 'length': '2', 'value': '384' }, { - 'code': '0x2b', + 'code': '0x2B', 'name': 'Manufacturer', 'length': '5', 'value': 'CET00' }, { - 'code': '0x2c', + 'code': '0x2C', 'name': 'Manufacture Country', 'length': '2', 'value': 'TH' }, { - 'code': '0x2d', + 'code': '0x2D', 'name': 'Vendor Name', 'length': '4', 'value': 'DELL' }, { - 'code': '0x2e', + 'code': '0x2E', 'name': 'Diag Version', 'length': '8', 'value': '3.25.4.1' }, { - 'code': '0x2f', + 'code': '0x2F', 'name': 'Service Tag', 'length': '7', 'value': 'F3CD9Z2' + }, + { + 'code': '0xFD', + 'name': 'Vendor Extension', + 'length': '7', + 'value': '' + }, + { + 'code': '0xFE', + 'name': 'CRC-32', + 'length': '4', + 'value': '0xAC518FB3' } ], 'checksum_valid': True @@ -136,21 +148,23 @@ def test_print_eeprom_dict(self, capsys): Total Length: 170 TLV Name Code Len Value ------------------- ------ ----- -------------------------- -Product Name 0X21 8 S6100-ON -Part Number 0X22 6 0F6N2R -Serial Number 0X23 20 TH0F6N2RCET0007600NG -Base MAC Address 0X24 6 0C:29:EF:CF:AC:A0 -Manufacture Date 0X25 19 07/07/2020 15:05:34 -Device Version 0X26 1 1 -Label Revision 0X27 3 A08 -Platform Name 0X28 26 x86_64-dell_s6100_c2538-r0 -ONIE Version 0X29 8 3.15.1.0 -MAC Addresses 0X2A 2 384 -Manufacturer 0X2B 5 CET00 -Manufacture Country 0X2C 2 TH -Vendor Name 0X2D 4 DELL -Diag Version 0X2E 8 3.25.4.1 -Service Tag 0X2F 7 F3CD9Z2 +Product Name 0x21 8 S6100-ON +Part Number 0x22 6 0F6N2R +Serial Number 0x23 20 TH0F6N2RCET0007600NG +Base MAC Address 0x24 6 0C:29:EF:CF:AC:A0 +Manufacture Date 0x25 19 07/07/2020 15:05:34 +Device Version 0x26 1 1 +Label Revision 0x27 3 A08 +Platform Name 0x28 26 x86_64-dell_s6100_c2538-r0 +ONIE Version 0x29 8 3.15.1.0 +MAC Addresses 0x2A 2 384 +Manufacturer 0x2B 5 CET00 +Manufacture Country 0x2C 2 TH +Vendor Name 0x2D 4 DELL +Diag Version 0x2E 8 3.25.4.1 +Service Tag 0x2F 7 F3CD9Z2 +Vendor Extension 0xFD 7 +CRC-32 0xFE 4 0xAC518FB3 (checksum valid) ''' From 0de99c3f29e7c34f66b07a83e9f116791c2c57e4 Mon Sep 17 00:00:00 2001 From: Joe LeVeque Date: Fri, 12 Mar 2021 10:50:49 -0800 Subject: [PATCH 126/342] [decode-syseeprom] When reading from DB, display CRC-32 and all Vendor Extensions (#1497) Changes when reading system EEPROM values from State DB (`decode-syseeprom -d`): - Display CRC-32 - Display all present vendor extensions - Display hex TLV code with lower-case `x` to match the output when reading directly from EEPROM - If a TLV code is not available, omit it from the output rather than displaying 'N/A' for all fields From fbad274350428cb8d83e5fd27683e68de8234d90 Mon Sep 17 00:00:00 2001 From: Andriy Yurkiv <70649192+ayurkiv-nvda@users.noreply.github.com> Date: Tue, 16 Mar 2021 18:16:44 +0200 Subject: [PATCH 127/342] Add 'show' and 'clear' command for PG drop (#1461) * What I did Added new CLI commands to view and clear PG dropped packet statistics. Added the new CLI commands to the command reference guide. * How I did it I have added script which can generate table that shows current PG dropped packet statistic and also can clean it Clean and Show is implemented with using serialized stats from previous execution. To calculate current stats we do next step: - take old serialized data (if no 'clear' executed all serialized data is 0) - take current stat - show diff between current and old * How to verify it run show priority-group drop counters - show current stat sonic-clear priority-group drop counters - clear current stat * New command output (if the output of a command-line utility has changed) show priority-group drop counters Ingress PG dropped packets: Port PG0 PG1 PG2 PG3 PG4 PG5 PG6 PG7 --------- ----- ----- ----- ----- ----- ----- ----- ----- Ethernet0 800 801 802 803 804 805 806 807 Ethernet4 400 401 402 403 404 405 406 407 Ethernet8 100 101 102 103 104 105 106 107 ... sonic-clear priority-group drop counters Cleared PG drop counters Co-authored-by: ayurkiv --- clear/main.py | 14 ++ doc/Command-Reference.md | 21 ++- scripts/pg-drop | 250 +++++++++++++++++++++++++++++ show/main.py | 11 ++ tests/mock_tables/counters_db.json | 74 +++++++++ tests/pgdropstat_test.py | 72 +++++++++ 6 files changed, 440 insertions(+), 2 deletions(-) create mode 100755 scripts/pg-drop create mode 100644 tests/pgdropstat_test.py diff --git a/clear/main.py b/clear/main.py index c9400097a5..26e9e22f32 100755 --- a/clear/main.py +++ b/clear/main.py @@ -216,6 +216,20 @@ def clear_wm_pg_shared(): command = 'watermarkstat -c -t pg_shared' run_command(command) +@priority_group.group() +def drop(): + """Clear priority-group dropped packets stats""" + pass + +@drop.command('counters') +def clear_pg_counters(): + """Clear priority-group dropped packets counter """ + + if os.geteuid() != 0 and os.environ.get("UTILITIES_UNIT_TESTING", "0") != "2": + exit("Root privileges are required for this operation") + command = 'pg-drop -c clear' + run_command(command) + @priority_group.group(name='persistent-watermark') def persistent_watermark(): """Clear queue persistent WM. One does not simply clear WM, root is required""" diff --git a/doc/Command-Reference.md b/doc/Command-Reference.md index 172e103273..ffbc0c26f4 100644 --- a/doc/Command-Reference.md +++ b/doc/Command-Reference.md @@ -6153,11 +6153,14 @@ This command displays the user watermark for the queues (Egress shared pool occu **show priority-group** -This command displays the user watermark or persistent-watermark for the Ingress "headroom" or "shared pool occupancy" per priority-group for all ports +This command displays: +1) The user watermark or persistent-watermark for the Ingress "headroom" or "shared pool occupancy" per priority-group for all ports. +2) Dropped packets per priority-group for all ports - Usage: ``` show priority-group (watermark | persistent-watermark) (headroom | shared) + show priority-group drop counters ``` - Example: @@ -6187,6 +6190,18 @@ This command displays the user watermark or persistent-watermark for the Ingress admin@sonic:~$ show priority-group persistent-watermark headroom ``` +- Example (Ingress dropped packets per PG): + ``` + admin@sonic:~$ show priority-group drop counters + Ingress PG dropped packets: + Port PG0 PG1 PG2 PG3 PG4 PG5 PG6 PG7 + ----------- ----- ----- ----- ----- ----- ----- ----- ----- + Ethernet0 0 0 0 0 0 0 0 0 + Ethernet4 0 0 0 0 0 0 0 0 + Ethernet8 0 0 0 0 0 0 0 0 + Ethernet12 0 0 0 0 0 0 0 0 + ``` + In addition to user watermark("show queue|priority-group watermark ..."), a persistent watermark is available. It hold values independently of user watermark. This way user can use "user watermark" for debugging, clear it, etc, but the "persistent watermark" will not be affected. @@ -6216,7 +6231,7 @@ This command displays the user persistet-watermark for the queues (Egress shared admin@sonic:~$ show queue persistent-watermark multicast ``` -- NOTE: Both "user watermark" and "persistent watermark" can be cleared by user: +- NOTE: "user watermark", "persistent watermark" and "ingress dropped packets" can be cleared by user: ``` admin@sonic:~$ sonic-clear queue persistent-watermark unicast @@ -6226,6 +6241,8 @@ This command displays the user persistet-watermark for the queues (Egress shared admin@sonic:~$ sonic-clear priority-group persistent-watermark shared admin@sonic:~$ sonic-clear priority-group persistent-watermark headroom + + admin@sonic:~$ sonic-clear priority-group drop counters ``` #### Buffer Pool diff --git a/scripts/pg-drop b/scripts/pg-drop new file mode 100755 index 0000000000..ae891c50b5 --- /dev/null +++ b/scripts/pg-drop @@ -0,0 +1,250 @@ +#!/usr/bin/env python3 + +##################################################################### +# +# pg-drop is a tool for show/clear ingress pg dropped packet stats. +# +##################################################################### +import _pickle as pickle +import argparse +import os +import sys +from collections import OrderedDict + +from natsort import natsorted +from tabulate import tabulate + +# mock the redis for unit test purposes # +try: + if os.environ["UTILITIES_UNIT_TESTING"] == "2": + modules_path = os.path.join(os.path.dirname(__file__), "..") + tests_path = os.path.join(modules_path, "tests") + sys.path.insert(0, modules_path) + sys.path.insert(0, tests_path) + import mock_tables.dbconnector + +except KeyError: + pass + +from swsscommon.swsscommon import SonicV2Connector + +STATUS_NA = 'N/A' + +COUNTER_TABLE_PREFIX = "COUNTERS:" + +COUNTERS_PORT_NAME_MAP = "COUNTERS_PORT_NAME_MAP" +COUNTERS_PG_NAME_MAP = "COUNTERS_PG_NAME_MAP" +COUNTERS_PG_PORT_MAP = "COUNTERS_PG_PORT_MAP" +COUNTERS_PG_INDEX_MAP = "COUNTERS_PG_INDEX_MAP" + +def get_dropstat_dir(): + dropstat_dir_prefix = '/tmp/dropstat' + return "{}-{}/".format(dropstat_dir_prefix, os.getuid()) + +class PgDropStat(object): + + def __init__(self): + self.counters_db = SonicV2Connector(host='127.0.0.1') + self.counters_db.connect(self.counters_db.COUNTERS_DB) + + dropstat_dir = get_dropstat_dir() + self.port_drop_stats_file = os.path.join(dropstat_dir, 'pg_drop_stats') + + def get_port_id(oid): + """ + Get port ID using object ID + """ + port_id = self.counters_db.get(self.counters_db.COUNTERS_DB, COUNTERS_PG_PORT_MAP, oid) + if port_id is None: + print("Port is not available for oid '{}'".format(oid), file=sys.stderr) + sys.exit(1) + return port_id + + # Get all ports + self.counter_port_name_map = self.counters_db.get_all(self.counters_db.COUNTERS_DB, COUNTERS_PORT_NAME_MAP) + if self.counter_port_name_map is None: + print("COUNTERS_PORT_NAME_MAP is empty!", file=sys.stderr) + sys.exit(1) + + self.port_pg_map = {} + self.port_name_map = {} + + for port in self.counter_port_name_map: + self.port_pg_map[port] = {} + self.port_name_map[self.counter_port_name_map[port]] = port + + # Get PGs for each port + counter_pg_name_map = self.counters_db.get_all(self.counters_db.COUNTERS_DB, COUNTERS_PG_NAME_MAP) + if counter_pg_name_map is None: + print("COUNTERS_PG_NAME_MAP is empty!", file=sys.stderr) + sys.exit(1) + + for pg in counter_pg_name_map: + port = self.port_name_map[get_port_id(counter_pg_name_map[pg])] + self.port_pg_map[port][pg] = counter_pg_name_map[pg] + + self.pg_drop_types = { + "pg_drop" : {"message" : "Ingress PG dropped packets:", + "obj_map" : self.port_pg_map, + "idx_func": self.get_pg_index, + "counter_name" : "SAI_INGRESS_PRIORITY_GROUP_STAT_DROPPED_PACKETS", + "header_prefix": "PG"}, + } + + def get_pg_index(self, oid): + """ + return PG index (0-7) + + oid - object ID for entry in redis + """ + pg_index = self.counters_db.get(self.counters_db.COUNTERS_DB, COUNTERS_PG_INDEX_MAP, oid) + if pg_index is None: + print("Priority group index is not available for oid '{}'".format(table_id), file=sys.stderr) + sys.exit(1) + return pg_index + + def build_header(self, pg_drop_type): + """ + Construct header for table with PG counters + """ + if pg_drop_type is None: + print("Header info is not available!", file=sys.stderr) + sys.exit(1) + + self.header_list = ['Port'] + header_map = pg_drop_type["obj_map"] + single_key = list(header_map.keys())[0] + header_len = len(header_map[single_key]) + min_idx = sys.maxsize + + for name, counter_oid in header_map[single_key].items(): + curr_idx = int(pg_drop_type["idx_func"](counter_oid)) + min_idx = min(min_idx, curr_idx) + + self.min_idx = min_idx + self.header_list += ["{}{}".format(pg_drop_type["header_prefix"], idx) for idx in range(self.min_idx, self.min_idx + header_len)] + + def get_counters(self, table_prefix, port_obj, idx_func, counter_name): + """ + Get the counters of a specific table. + """ + port_drop_ckpt = {} + # Grab the latest clear checkpoint, if it exists + if os.path.isfile(self.port_drop_stats_file): + port_drop_ckpt = pickle.load(open(self.port_drop_stats_file, 'rb')) + + # Header list contains the port name followed by the PGs. Fields is used to populate the pg values + fields = ["0"]* (len(self.header_list) - 1) + + for name, obj_id in port_obj.items(): + full_table_id = table_prefix + obj_id + old_collected_data = port_drop_ckpt.get(name,{})[full_table_id] if len(port_drop_ckpt) > 0 else 0 + idx = int(idx_func(obj_id)) + pos = idx - self.min_idx + counter_data = self.counters_db.get(self.counters_db.COUNTERS_DB, full_table_id, counter_name) + if counter_data is None: + fields[pos] = STATUS_NA + elif fields[pos] != STATUS_NA: + fields[pos] = str(int(counter_data) - old_collected_data) + return fields + + def print_all_stat(self, table_prefix, key): + """ + Print table that show stats per PG + """ + table = [] + type = self.pg_drop_types[key] + self.build_header(type) + # Get stat for each port + for port in natsorted(self.counter_port_name_map): + row_data = list() + data = self.get_counters(table_prefix, type["obj_map"][port], type["idx_func"], type["counter_name"]) + row_data.append(port) + row_data.extend(data) + table.append(tuple(row_data)) + + print(type["message"]) + print(tabulate(table, self.header_list, tablefmt='simple', stralign='right')) + + def get_counts(self, counters, oid): + """ + Get the PG drop counts for an individual counter. + """ + counts = {} + table_id = COUNTER_TABLE_PREFIX + oid + for counter in counters: + counter_data = self.counters_db.get(self.counters_db.COUNTERS_DB, table_id, counter) + if counter_data is None: + counts[table_id] = 0 + else: + counts[table_id] = int(counter_data) + return counts + + def get_counts_table(self, counters, object_table): + """ + Returns a dictionary containing a mapping from an object (like a port) + to its PG drop counts. Counts are contained in a dictionary that maps + counter oid to its counts. + """ + counter_object_name_map = self.counters_db.get_all(self.counters_db.COUNTERS_DB, object_table) + current_stat_dict = OrderedDict() + + if counter_object_name_map is None: + return current_stat_dict + + for obj in natsorted(counter_object_name_map): + current_stat_dict[obj] = self.get_counts(counters, counter_object_name_map[obj]) + return current_stat_dict + + def clear_drop_counts(self): + """ + Clears the current PG drop counter. + """ + + counter_pg_drop_array = [ "SAI_INGRESS_PRIORITY_GROUP_STAT_DROPPED_PACKETS"] + try: + pickle.dump(self.get_counts_table( + counter_pg_drop_array, + COUNTERS_PG_NAME_MAP), + open(self.port_drop_stats_file, 'wb+')) + except IOError as e: + print(e) + sys.exit(e.errno) + print("Cleared PG drop counter") + +def main(): + parser = argparse.ArgumentParser(description='Display PG drop counter', + formatter_class=argparse.RawTextHelpFormatter, + epilog=""" +Examples: +pg-drop -c show +pg-drop -c clear +""") + + parser.add_argument('-c', '--command', type=str, help='Desired action to perform') + + args = parser.parse_args() + command = args.command + + dropstat_dir = get_dropstat_dir() + # Create the directory to hold clear results + if not os.path.exists(dropstat_dir): + try: + os.makedirs(dropstat_dir) + except IOError as e: + print(e) + sys.exit(e.errno) + + pgdropstat = PgDropStat() + + if command == 'clear': + pgdropstat.clear_drop_counts() + elif command == 'show': + pgdropstat.print_all_stat(COUNTER_TABLE_PREFIX, "pg_drop" ) + else: + print("Command not recognized") + sys.exit(0) + + +if __name__ == "__main__": + main() diff --git a/show/main.py b/show/main.py index 4a1cc0d855..5fba9d828a 100644 --- a/show/main.py +++ b/show/main.py @@ -605,6 +605,17 @@ def wm_pg_shared(): command = 'watermarkstat -t pg_shared' run_command(command) +@priority_group.group() +def drop(): + """Show priority-group""" + pass + +@drop.command('counters') +def pg_drop_counters(): + """Show dropped packets for priority-group""" + command = 'pg-drop -c show' + run_command(command) + @priority_group.group(name='persistent-watermark') def persistent_watermark(): """Show priority-group persistent WM""" diff --git a/tests/mock_tables/counters_db.json b/tests/mock_tables/counters_db.json index 0a06fc22d9..41396c4fa4 100644 --- a/tests/mock_tables/counters_db.json +++ b/tests/mock_tables/counters_db.json @@ -294,6 +294,80 @@ "SAI_SWITCH_STAT_OUT_DROP_REASON_RANGE_BASE": "1000", "SAI_SWITCH_STAT_OUT_CONFIGURED_DROP_REASONS_1_DROPPED_PKTS": "0" }, + + "COUNTERS:oid:0x1a00000000034f": { + "SAI_INGRESS_PRIORITY_GROUP_STAT_DROPPED_PACKETS" : "800" + }, + "COUNTERS:oid:0x1a000000000350" : { + "SAI_INGRESS_PRIORITY_GROUP_STAT_DROPPED_PACKETS" : "801" + }, + "COUNTERS:oid:0x1a000000000351" : { + "SAI_INGRESS_PRIORITY_GROUP_STAT_DROPPED_PACKETS" : "802" + }, + "COUNTERS:oid:0x1a000000000352" : { + "SAI_INGRESS_PRIORITY_GROUP_STAT_DROPPED_PACKETS" : "803" + }, + "COUNTERS:oid:0x1a000000000353" : { + "SAI_INGRESS_PRIORITY_GROUP_STAT_DROPPED_PACKETS" : "804" + }, + "COUNTERS:oid:0x1a000000000354" : { + "SAI_INGRESS_PRIORITY_GROUP_STAT_DROPPED_PACKETS" : "805" + }, + "COUNTERS:oid:0x1a000000000355" : { + "SAI_INGRESS_PRIORITY_GROUP_STAT_DROPPED_PACKETS" : "806" + }, + "COUNTERS:oid:0x1a000000000356" : { + "SAI_INGRESS_PRIORITY_GROUP_STAT_DROPPED_PACKETS" : "807" + }, + "COUNTERS:oid:0x1a000000000377" : { + "SAI_INGRESS_PRIORITY_GROUP_STAT_DROPPED_PACKETS" : "400" + }, + "COUNTERS:oid:0x1a000000000378" : { + "SAI_INGRESS_PRIORITY_GROUP_STAT_DROPPED_PACKETS" : "401" + }, + "COUNTERS:oid:0x1a000000000379" : { + "SAI_INGRESS_PRIORITY_GROUP_STAT_DROPPED_PACKETS" : "402" + }, + "COUNTERS:oid:0x1a00000000037a" : { + "SAI_INGRESS_PRIORITY_GROUP_STAT_DROPPED_PACKETS" : "403" + }, + "COUNTERS:oid:0x1a00000000037b" : { + "SAI_INGRESS_PRIORITY_GROUP_STAT_DROPPED_PACKETS" : "404" + }, + "COUNTERS:oid:0x1a00000000037c" : { + "SAI_INGRESS_PRIORITY_GROUP_STAT_DROPPED_PACKETS" : "405" + }, + "COUNTERS:oid:0x1a00000000037d" : { + "SAI_INGRESS_PRIORITY_GROUP_STAT_DROPPED_PACKETS" : "406" + }, + "COUNTERS:oid:0x1a00000000037e" : { + "SAI_INGRESS_PRIORITY_GROUP_STAT_DROPPED_PACKETS" : "407" + }, + "COUNTERS:oid:0x1a00000000039f" : { + "SAI_INGRESS_PRIORITY_GROUP_STAT_DROPPED_PACKETS" : "100" + }, + "COUNTERS:oid:0x1a0000000003a0" : { + "SAI_INGRESS_PRIORITY_GROUP_STAT_DROPPED_PACKETS" : "101" + }, + "COUNTERS:oid:0x1a0000000003a1" : { + "SAI_INGRESS_PRIORITY_GROUP_STAT_DROPPED_PACKETS" : "102" + }, + "COUNTERS:oid:0x1a0000000003a2" : { + "SAI_INGRESS_PRIORITY_GROUP_STAT_DROPPED_PACKETS" : "103" + }, + "COUNTERS:oid:0x1a0000000003a3" : { + "SAI_INGRESS_PRIORITY_GROUP_STAT_DROPPED_PACKETS" : "104" + }, + "COUNTERS:oid:0x1a0000000003a4" : { + "SAI_INGRESS_PRIORITY_GROUP_STAT_DROPPED_PACKETS" : "105" + }, + "COUNTERS:oid:0x1a0000000003a5" : { + "SAI_INGRESS_PRIORITY_GROUP_STAT_DROPPED_PACKETS" : "106" + }, + "COUNTERS:oid:0x1a0000000003a6" : { + "SAI_INGRESS_PRIORITY_GROUP_STAT_DROPPED_PACKETS" : "107" + }, + "COUNTERS_PORT_NAME_MAP": { "Ethernet0": "oid:0x1000000000012", "Ethernet4": "oid:0x1000000000013", diff --git a/tests/pgdropstat_test.py b/tests/pgdropstat_test.py new file mode 100644 index 0000000000..e896ded811 --- /dev/null +++ b/tests/pgdropstat_test.py @@ -0,0 +1,72 @@ +import os +import sys + +import show.main as show +import clear.main as clear + +from click.testing import CliRunner + +test_path = os.path.dirname(os.path.abspath(__file__)) +modules_path = os.path.dirname(test_path) +scripts_path = os.path.join(modules_path, "scripts") +sys.path.insert(0, test_path) +sys.path.insert(0, modules_path) + + +show_pg_dropped_packet_stat="""\ +Ingress PG dropped packets: + Port PG0 PG1 PG2 PG3 PG4 PG5 PG6 PG7 +--------- ----- ----- ----- ----- ----- ----- ----- ----- +Ethernet0 800 801 802 803 804 805 806 807 +Ethernet4 400 401 402 403 404 405 406 407 +Ethernet8 100 101 102 103 104 105 106 107 +""" + +show_cleared_pg_dropped_packet_stat="""\ +Ingress PG dropped packets: + Port PG0 PG1 PG2 PG3 PG4 PG5 PG6 PG7 +--------- ----- ----- ----- ----- ----- ----- ----- ----- +Ethernet0 0 0 0 0 0 0 0 0 +Ethernet4 0 0 0 0 0 0 0 0 +Ethernet8 0 0 0 0 0 0 0 0 +""" + +class TestPgDropstat(object): + @classmethod + def setup_class(cls): + os.environ["PATH"] += os.pathsep + scripts_path + os.environ['UTILITIES_UNIT_TESTING'] = "2" + print("SETUP") + + def test_show_pg_drop_show(self): + self.executor(clear_before_show = False) + + def test_show_pg_drop_clear(self): + self.executor(clear_before_show = True) + + def executor(self, clear_before_show): + runner = CliRunner() + show_output = show_pg_dropped_packet_stat + + # Clear stats + if clear_before_show: + result = runner.invoke(clear.cli.commands["priority-group"].commands["drop"].commands["counters"], []) + assert result.exit_code == 0 + show_output = show_cleared_pg_dropped_packet_stat + + result = runner.invoke(show.cli.commands["priority-group"].commands["drop"].commands["counters"], []) + + print(result.exit_code) + print(result.output) + + assert result.exit_code == 0 + assert result.output == show_output + + @classmethod + def teardown_class(cls): + os.environ["PATH"] = os.pathsep.join(os.environ["PATH"].split(os.pathsep)[:-1]) + os.environ['UTILITIES_UNIT_TESTING'] = "0" + dropstat_dir_prefix = '/tmp/dropstat' + dir_path = "{}-{}/".format(dropstat_dir_prefix, os.getuid()) + os.system("rm -rf {}".format(dir_path)) + print("TEARDOWN") From aa7123189e96fe6eb6a8d82147294e58834597aa Mon Sep 17 00:00:00 2001 From: Lawrence Lee Date: Tue, 16 Mar 2021 18:35:54 -0700 Subject: [PATCH 128/342] [reboot]: Stop mux before reboot on dual ToR (#1500) If the script detects it is running on a dual ToR system, stop the mux container before shutting down syncd This is necessary to prevent some links from flapping when the standby ToR is rebooted - when reboot stop syncd, the linkmgr will stop receiving heartbeats and will then tell the mux to switchover. However, since the device is rebooting, no heartbeats will be sent out. The peer ToR will see this absence of heartbeats and tell the mux to switch back to itself (the peer ToR), causing the flap. By stopping the mux container before shutting down syncd, we prevent the rebooting ToR from switching the mux. Signed-off-by: Lawrence Lee --- scripts/reboot | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/scripts/reboot b/scripts/reboot index 8b1f9d60c3..ee10c77ba3 100755 --- a/scripts/reboot +++ b/scripts/reboot @@ -24,6 +24,7 @@ fi REBOOT_USER=$(logname) PLATFORM=$(sonic-cfggen -H -v DEVICE_METADATA.localhost.platform) ASIC_TYPE=$(sonic-cfggen -y /etc/sonic/sonic_version.yml -v asic_type) +SUBTYPE=$(sonic-cfggen -d -v DEVICE_METADATA.localhost.subtype) VERBOSE=no EXIT_NEXT_IMAGE_NOT_EXISTS=4 EXIT_SONIC_INSTALLER_VERIFY_REBOOT=21 @@ -52,6 +53,10 @@ function tag_images() function stop_sonic_services() { + if [[ x"$SUBTYPE" == x"DualToR" ]]; then + debug "DualToR detected, stopping mux container before reboot..." + systemctl stop mux + fi if [[ x"$ASIC_TYPE" != x"mellanox" ]]; then debug "Stopping syncd process..." docker exec -i syncd /usr/bin/syncd_request_shutdown --cold > /dev/null From 19d4042025b6d62ca8d4ed0ef244a3c082f4e9e6 Mon Sep 17 00:00:00 2001 From: Renuka Manavalan <47282725+renukamanavalan@users.noreply.github.com> Date: Tue, 16 Mar 2021 20:32:24 -0700 Subject: [PATCH 129/342] Add self timeout and crash if exceeded. (#1502) Log callstack on timeout. What I did Add self timeout and crash on timeout. Before crash log the error and call stack. How I did it Add a signal based alarm and the handler to print error & call stack. How to verify it Artificially introduce a sleep (> TIMEOUT, which is 2mins) in the script in any function that is in the call path. Invoke the script. Watch it crash and note the error & stack logged in syslog. --- scripts/route_check.py | 19 ++++++++++++++++++- tests/route_check_test.py | 20 ++++++++++++++++++++ 2 files changed, 38 insertions(+), 1 deletion(-) diff --git a/scripts/route_check.py b/scripts/route_check.py index e282d166af..fbc223b6d9 100755 --- a/scripts/route_check.py +++ b/scripts/route_check.py @@ -43,6 +43,8 @@ import sys import syslog import time +import signal +import traceback from swsscommon import swsscommon @@ -53,6 +55,9 @@ SUBSCRIBE_WAIT_SECS = 1 +# Max of 2 minutes +TIMEOUT_SECONDS = 120 + UNIT_TESTING = 0 os.environ['PYTHONUNBUFFERED']='True' @@ -75,6 +80,14 @@ def __str__(self): report_level = syslog.LOG_ERR write_to_syslog = False +def handler(signum, frame): + print_message(syslog.LOG_ERR, + "Aborting routeCheck.py upon timeout signal after {} seconds". + format(TIMEOUT_SECONDS)) + print_message(syslog.LOG_ERR, str(traceback.extract_stack())) + raise Exception("timeout occurred") + + def set_level(lvl, log_to_syslog): """ Sets the log level @@ -429,7 +442,7 @@ def main(): parser=argparse.ArgumentParser(description="Verify routes between APPL-DB & ASIC-DB are in sync") parser.add_argument('-m', "--mode", type=Level, choices=list(Level), default='ERR') parser.add_argument("-i", "--interval", type=int, default=0, help="Scan interval in seconds") - parser.add_argument("-s", "--log_to_syslog", action="store_true", default=False, help="Write message to syslog") + parser.add_argument("-s", "--log_to_syslog", action="store_true", default=True, help="Write message to syslog") args = parser.parse_args() set_level(args.mode, args.log_to_syslog) @@ -444,8 +457,12 @@ def main(): if UNIT_TESTING: interval = 1 + signal.signal(signal.SIGALRM, handler) + while True: + signal.alarm(TIMEOUT_SECONDS) ret, res= check_routes() + signal.alarm(0) if interval: time.sleep(interval) diff --git a/tests/route_check_test.py b/tests/route_check_test.py index c7c0d47b88..460fdd16d2 100644 --- a/tests/route_check_test.py +++ b/tests/route_check_test.py @@ -2,6 +2,7 @@ import json import os import sys +import time from unittest.mock import MagicMock, patch import pytest @@ -276,6 +277,7 @@ def table_side_effect(db, tbl): class mock_selector: TIMEOUT = 1 + EMULATE_HANG = False def __init__(self): self.select_state = 0 @@ -295,6 +297,9 @@ def select(self, timeout): state = self.select_state self.subs.update() + if mock_selector.EMULATE_HANG: + time.sleep(60) + if self.select_state == 0: self.select_state = self.TIMEOUT else: @@ -423,6 +428,21 @@ def test_server(self, mock_subs, mock_sel, mock_table, mock_conn): assert res == expect_res + # Test timeout + route_check.TIMEOUT_SECONDS = 5 + mock_selector.EMULATE_HANG = True + ex_raised = False + + try: + ret, res = route_check.main() + except Exception as err: + ex_raised = True + expect = "timeout occurred" + ex_str = str(err) + assert ex_str == expect, "{} != {}".format(ex_str, expect) + assert ex_raised, "Exception expected" + + From 4a0c0103c7dba820e4ab4aa2239b9a4437460b07 Mon Sep 17 00:00:00 2001 From: yozhao101 <56170650+yozhao101@users.noreply.github.com> Date: Wed, 17 Mar 2021 23:51:24 -0700 Subject: [PATCH 130/342] [config] Disable/enable container monitoring when stopping/starting services (#1499) Signed-off-by: Yong Zhao yozhao@microsoft.com What I did When we ran the commands sudo config reload or sudo config load_minigraph, the containers swss, snmp, lldp, teamd, syncd, snmp, bgp, radv, pmon, dhcp_relay, telemetry, mgmt-framework and restapi would be stopped and then restarted. The script container_checker ran by Monit will generate false alerting messages into syslog to indicate some containers were not running during such stopping and restarting process. So this PR aims to prevent Monit from generating false alarm messages. How I did it Before stopping services, we disable Monit to monitor the running status of containers. After restarting services, we enable Monit to monitor the running status of containers again. How to verify it I deliberately reduce the monitoring interval of Monit from 60 seconds to 10 seconds to ensure the alerting messages from the script container_checker was generated during sudo config reload and sudo config load_minigraph. After this change was added into _stop_services() and _restart_services() , I checked that the alerting messages from container_checker did not appear in the syslog. I verified this change on the virtual switch. --- config/main.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/config/main.py b/config/main.py index 78dee15a21..d27562bd4e 100644 --- a/config/main.py +++ b/config/main.py @@ -669,6 +669,13 @@ def _get_disabled_services_list(config_db): def _stop_services(): + try: + subprocess.check_call("sudo monit status", shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) + click.echo("Disabling container monitoring ...") + clicommon.run_command("sudo monit unmonitor container_checker") + except subprocess.CalledProcessError as err: + pass + click.echo("Stopping SONiC target ...") clicommon.run_command("sudo systemctl stop sonic.target") @@ -692,6 +699,13 @@ def _restart_services(): click.echo("Reloading Monit configuration ...") clicommon.run_command("sudo monit reload") + try: + subprocess.check_call("sudo monit status", shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) + click.echo("Enabling container monitoring ...") + clicommon.run_command("sudo monit monitor container_checker") + except subprocess.CalledProcessError as err: + pass + def interface_is_in_vlan(vlan_member_table, interface_name): """ Check if an interface is in a vlan """ From 3a482ac38f1440fa0cbc00f621dc94ebb551757b Mon Sep 17 00:00:00 2001 From: maksymbelei95 <75987222+maksymbelei95@users.noreply.github.com> Date: Thu, 18 Mar 2021 19:42:54 +0200 Subject: [PATCH 131/342] [test] Update unit test coverage for command 'show mac' (#1504) * Adding unit tests for CLI command 'show mac'. Testing both CLI command and 'fdbshow' script. Signed-off-by: Maksym Belei --- scripts/fdbshow | 41 +++- tests/fdbshow_input/asic_db.json | 73 +++++++ tests/fdbshow_input/asic_db_def_vlan.json | 42 ++++ tests/fdbshow_input/asic_db_fetch_except.json | 50 +++++ tests/fdbshow_input/asic_db_no_bridge.json | 15 ++ tests/fdbshow_input/asic_db_no_fdb.json | 27 +++ tests/fdbshow_input/counters_db.json | 9 + tests/fdbshow_test.py | 198 ++++++++++++++++++ 8 files changed, 446 insertions(+), 9 deletions(-) create mode 100644 tests/fdbshow_input/asic_db.json create mode 100644 tests/fdbshow_input/asic_db_def_vlan.json create mode 100644 tests/fdbshow_input/asic_db_fetch_except.json create mode 100644 tests/fdbshow_input/asic_db_no_bridge.json create mode 100644 tests/fdbshow_input/asic_db_no_fdb.json create mode 100644 tests/fdbshow_input/counters_db.json create mode 100755 tests/fdbshow_test.py diff --git a/scripts/fdbshow b/scripts/fdbshow index 53badedc69..2ae95cab79 100755 --- a/scripts/fdbshow +++ b/scripts/fdbshow @@ -29,6 +29,29 @@ import argparse import json import sys +import os + +# mock the redis for unit test purposes # +try: # pragma: no cover + if os.environ["UTILITIES_UNIT_TESTING"] == "1": + modules_path = os.path.join(os.path.dirname(__file__), "..") + test_path = os.path.join(modules_path, "tests") + sys.path.insert(0, modules_path) + sys.path.insert(0, test_path) + import mock_tables.dbconnector + mock_variants = { "1": 'asic_db', + "2": 'asic_db_def_vlan', + "3": 'asic_db_no_fdb', + "4": 'asic_db_no_bridge', + "5": 'asic_db_fetch_except'} + mock_db_path = os.path.join(test_path, "fdbshow_input") + file_name = mock_variants[os.environ["FDBSHOW_MOCK"]] + jsonfile_asic = os.path.join(mock_db_path, file_name) + mock_tables.dbconnector.dedicated_dbs['ASIC_DB'] = jsonfile_asic + jsonfile_counters = os.path.join(mock_db_path, 'counters_db') + mock_tables.dbconnector.dedicated_dbs['COUNTERS_DB'] = jsonfile_counters +except KeyError: # pragma: no cover + pass from natsort import natsorted from swsssdk import port_util @@ -56,14 +79,14 @@ class FdbShow(object): """ self.db.connect(self.db.ASIC_DB) self.bridge_mac_list = [] + + if not self.if_br_oid_map: + return fdb_str = self.db.keys('ASIC_DB', "ASIC_STATE:SAI_OBJECT_TYPE_FDB_ENTRY:*") if not fdb_str: return - if self.if_br_oid_map is None: - return - oid_pfx = len("oid:0x") for s in fdb_str: fdb_entry = s @@ -84,7 +107,10 @@ class FdbShow(object): if_name = port_id if 'vlan' in fdb: vlan_id = fdb["vlan"] - elif 'bvid' in fdb: + else: + if 'bvid' not in fdb: + # no possibility to find the Vlan id. skip the FDB entry + continue try: vlan_id = port_util.get_vlan_id_from_bvid(self.db, fdb["bvid"]) if vlan_id is None: @@ -100,16 +126,13 @@ class FdbShow(object): return - def get_iter_index(self, key_value=0, pos=0): + def get_iter_index(self, key_value, pos=0): """ Get the starting index of matched entry """ if pos != 0: self.bridge_mac_list = natsorted(self.bridge_mac_list, key = lambda x: x[pos]) - if key_value == 0: - return 0 - keys = [r[pos] for r in self.bridge_mac_list] return keys.index(key_value) @@ -154,5 +177,5 @@ def main(): print(str(e)) sys.exit(1) -if __name__ == "__main__": +if __name__ == "__main__": # pragma: no cover main() diff --git a/tests/fdbshow_input/asic_db.json b/tests/fdbshow_input/asic_db.json new file mode 100644 index 0000000000..4cc8d68201 --- /dev/null +++ b/tests/fdbshow_input/asic_db.json @@ -0,0 +1,73 @@ +{ + "ASIC_STATE:SAI_OBJECT_TYPE_SWITCH:oid:0x21000000000000": { + "SAI_SWITCH_ATTR_INIT_SWITCH": "true", + "SAI_SWITCH_ATTR_SRC_MAC_ADDRESS": "DE:AD:BE:EF:CA:FE" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_BRIDGE_PORT:oid:0x3a0000000005cb": { + "SAI_BRIDGE_PORT_ATTR_TYPE": "SAI_BRIDGE_PORT_TYPE_PORT", + "SAI_BRIDGE_PORT_ATTR_PORT_ID": "oid:0x1000000000528", + "SAI_BRIDGE_PORT_ATTR_ADMIN_STATE": "true", + "SAI_BRIDGE_PORT_ATTR_FDB_LEARNING_MODE": "SAI_BRIDGE_PORT_FDB_LEARNING_MODE_HW" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_BRIDGE_PORT:oid:0x3a0000000006cd": { + "SAI_BRIDGE_PORT_ATTR_TYPE": "SAI_BRIDGE_PORT_TYPE_PORT", + "SAI_BRIDGE_PORT_ATTR_PORT_ID": "oid:0x1000000000549", + "SAI_BRIDGE_PORT_ATTR_ADMIN_STATE": "true", + "SAI_BRIDGE_PORT_ATTR_FDB_LEARNING_MODE": "SAI_BRIDGE_PORT_FDB_LEARNING_MODE_HW" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_BRIDGE_PORT:oid:0x3a0000000007ef": { + "SAI_BRIDGE_PORT_ATTR_TYPE": "SAI_BRIDGE_PORT_TYPE_PORT", + "SAI_BRIDGE_PORT_ATTR_PORT_ID": "oid:0x1000000000fff", + "SAI_BRIDGE_PORT_ATTR_ADMIN_STATE": "true", + "SAI_BRIDGE_PORT_ATTR_FDB_LEARNING_MODE": "SAI_BRIDGE_PORT_FDB_LEARNING_MODE_HW" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_FDB_ENTRY:{\"bvid\":\"oid:0x260000000005c5\",\"mac\":\"11:22:33:44:55:66\",\"switch_id\":\"oid:0x21000000000000\"}": { + "SAI_FDB_ENTRY_ATTR_BRIDGE_PORT_ID": "oid:0x3a0000000005cb", + "SAI_FDB_ENTRY_ATTR_TYPE": "SAI_FDB_ENTRY_TYPE_DYNAMIC", + "SAI_FDB_ENTRY_ATTR_PACKET_ACTION": "SAI_PACKET_ACTION_FORWARD" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_FDB_ENTRY:{\"bvid\":\"oid:0x260000000006c6\",\"mac\":\"11:22:33:66:55:44\",\"switch_id\":\"oid:0x21000000000000\"}": { + "SAI_FDB_ENTRY_ATTR_BRIDGE_PORT_ID": "oid:0x3a0000000006cd", + "SAI_FDB_ENTRY_ATTR_TYPE": "SAI_FDB_ENTRY_TYPE_STATIC", + "SAI_FDB_ENTRY_ATTR_PACKET_ACTION": "SAI_PACKET_ACTION_FORWARD" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_FDB_ENTRY:{\"bvid\":\"oid:0x260000000007c7\",\"mac\":\"66:55:44:33:22:11\",\"switch_id\":\"oid:0x21000000000000\"}": { + "SAI_FDB_ENTRY_ATTR_BRIDGE_PORT_ID": "oid:0x3a0000000005cb", + "SAI_FDB_ENTRY_ATTR_TYPE": "SAI_FDB_ENTRY_TYPE_DYNAMIC", + "SAI_FDB_ENTRY_ATTR_PACKET_ACTION": "SAI_PACKET_ACTION_FORWARD" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_FDB_ENTRY:{}": { + "SAI_FDB_ENTRY_ATTR_BRIDGE_PORT_ID": "oid:0x3a0000000005ff", + "SAI_FDB_ENTRY_ATTR_TYPE": "SAI_FDB_ENTRY_TYPE_DYNAMIC", + "SAI_FDB_ENTRY_ATTR_PACKET_ACTION": "SAI_PACKET_ACTION_FORWARD" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_FDB_ENTRY:{\"bvid\":\"oid:0x260000000007c7\",\"mac\":\"77:55:44:33:22:11\",\"switch_id\":\"oid:0x21000000000000\"}": { + "SAI_FDB_ENTRY_ATTR_BRIDGE_PORT_ID": "oid:0x3a000000000fff", + "SAI_FDB_ENTRY_ATTR_TYPE": "SAI_FDB_ENTRY_TYPE_DYNAMIC", + "SAI_FDB_ENTRY_ATTR_PACKET_ACTION": "SAI_PACKET_ACTION_FORWARD" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_FDB_ENTRY:{\"bvid\":\"oid:0x260000000007c7\",\"mac\":\"77:66:44:33:22:11\",\"switch_id\":\"oid:0x21000000000000\"}": { + "SAI_FDB_ENTRY_ATTR_BRIDGE_PORT_ID": "oid:0x3a0000000007ef", + "SAI_FDB_ENTRY_ATTR_TYPE": "SAI_FDB_ENTRY_TYPE_DYNAMIC", + "SAI_FDB_ENTRY_ATTR_PACKET_ACTION": "SAI_PACKET_ACTION_FORWARD" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_FDB_ENTRY:{\"vlan\":\"5\",\"mac\":\"77:66:55:44:22:11\",\"switch_id\":\"oid:0x21000000000000\"}": { + "SAI_FDB_ENTRY_ATTR_BRIDGE_PORT_ID": "oid:0x3a0000000006cd", + "SAI_FDB_ENTRY_ATTR_TYPE": "SAI_FDB_ENTRY_TYPE_DYNAMIC", + "SAI_FDB_ENTRY_ATTR_PACKET_ACTION": "SAI_PACKET_ACTION_FORWARD" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_FDB_ENTRY:{\"mac\":\"77:66:55:33:22:11\",\"switch_id\":\"oid:0x21000000000000\"}": { + "SAI_FDB_ENTRY_ATTR_BRIDGE_PORT_ID": "oid:0x3a0000000007ef", + "SAI_FDB_ENTRY_ATTR_TYPE": "SAI_FDB_ENTRY_TYPE_DYNAMIC", + "SAI_FDB_ENTRY_ATTR_PACKET_ACTION": "SAI_PACKET_ACTION_FORWARD" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_VLAN:oid:0x260000000005c5": { + "SAI_VLAN_ATTR_VLAN_ID": "2" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_VLAN:oid:0x260000000006c6": { + "SAI_VLAN_ATTR_VLAN_ID": "3" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_VLAN:oid:0x260000000007c7": { + "SAI_VLAN_ATTR_VLAN_ID": "4" + } +} diff --git a/tests/fdbshow_input/asic_db_def_vlan.json b/tests/fdbshow_input/asic_db_def_vlan.json new file mode 100644 index 0000000000..b0c7e2100d --- /dev/null +++ b/tests/fdbshow_input/asic_db_def_vlan.json @@ -0,0 +1,42 @@ +{ + "ASIC_STATE:SAI_OBJECT_TYPE_SWITCH:oid:0x21000000000000": { + "SAI_SWITCH_ATTR_INIT_SWITCH": "true", + "SAI_SWITCH_ATTR_SRC_MAC_ADDRESS": "DE:AD:BE:EF:CA:FE" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_BRIDGE_PORT:oid:0x3a0000000005cb": { + "SAI_BRIDGE_PORT_ATTR_TYPE": "SAI_BRIDGE_PORT_TYPE_PORT", + "SAI_BRIDGE_PORT_ATTR_PORT_ID": "oid:0x1000000000528", + "SAI_BRIDGE_PORT_ATTR_ADMIN_STATE": "true", + "SAI_BRIDGE_PORT_ATTR_FDB_LEARNING_MODE": "SAI_BRIDGE_PORT_FDB_LEARNING_MODE_HW" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_BRIDGE_PORT:oid:0x3a0000000006cd": { + "SAI_BRIDGE_PORT_ATTR_TYPE": "SAI_BRIDGE_PORT_TYPE_PORT", + "SAI_BRIDGE_PORT_ATTR_PORT_ID": "oid:0x1000000000549", + "SAI_BRIDGE_PORT_ATTR_ADMIN_STATE": "true", + "SAI_BRIDGE_PORT_ATTR_FDB_LEARNING_MODE": "SAI_BRIDGE_PORT_FDB_LEARNING_MODE_HW" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_FDB_ENTRY:{\"bvid\":\"oid:0x260000000005c5\",\"mac\":\"11:22:33:44:55:66\",\"switch_id\":\"oid:0x21000000000000\"}": { + "SAI_FDB_ENTRY_ATTR_BRIDGE_PORT_ID": "oid:0x3a0000000005cb", + "SAI_FDB_ENTRY_ATTR_TYPE": "SAI_FDB_ENTRY_TYPE_DYNAMIC", + "SAI_FDB_ENTRY_ATTR_PACKET_ACTION": "SAI_PACKET_ACTION_FORWARD" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_FDB_ENTRY:{\"bvid\":\"oid:0x260000000006c6\",\"mac\":\"11:22:33:66:55:44\",\"switch_id\":\"oid:0x21000000000000\"}": { + "SAI_FDB_ENTRY_ATTR_BRIDGE_PORT_ID": "oid:0x3a0000000006cd", + "SAI_FDB_ENTRY_ATTR_TYPE": "SAI_FDB_ENTRY_TYPE_STATIC", + "SAI_FDB_ENTRY_ATTR_PACKET_ACTION": "SAI_PACKET_ACTION_FORWARD" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_FDB_ENTRY:{\"bvid\":\"oid:0x26000000000013\",\"mac\":\"66:55:44:33:22:11\",\"switch_id\":\"oid:0x21000000000000\"}": { + "SAI_FDB_ENTRY_ATTR_BRIDGE_PORT_ID": "oid:0x3a0000000005cb", + "SAI_FDB_ENTRY_ATTR_TYPE": "SAI_FDB_ENTRY_TYPE_DYNAMIC", + "SAI_FDB_ENTRY_ATTR_PACKET_ACTION": "SAI_PACKET_ACTION_FORWARD" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_VLAN:oid:0x260000000005c5": { + "SAI_VLAN_ATTR_VLAN_ID": "2" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_VLAN:oid:0x260000000006c6": { + "SAI_VLAN_ATTR_VLAN_ID": "3" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_VLAN:oid:0x26000000000013": { + "NULL": "NULL" + } +} diff --git a/tests/fdbshow_input/asic_db_fetch_except.json b/tests/fdbshow_input/asic_db_fetch_except.json new file mode 100644 index 0000000000..6913118bd7 --- /dev/null +++ b/tests/fdbshow_input/asic_db_fetch_except.json @@ -0,0 +1,50 @@ +{ + "ASIC_STATE:SAI_OBJECT_TYPE_SWITCH:oid:0x21000000000000": { + "SAI_SWITCH_ATTR_INIT_SWITCH": "true", + "SAI_SWITCH_ATTR_SRC_MAC_ADDRESS": "DE:AD:BE:EF:CA:FE" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_BRIDGE_PORT:oid:0x3a0000000005cb": { + "SAI_BRIDGE_PORT_ATTR_TYPE": "SAI_BRIDGE_PORT_TYPE_PORT", + "SAI_BRIDGE_PORT_ATTR_PORT_ID": "oid:0x1000000000528", + "SAI_BRIDGE_PORT_ATTR_ADMIN_STATE": "true", + "SAI_BRIDGE_PORT_ATTR_FDB_LEARNING_MODE": "SAI_BRIDGE_PORT_FDB_LEARNING_MODE_HW" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_BRIDGE_PORT:oid:0x3a0000000006cd": { + "SAI_BRIDGE_PORT_ATTR_TYPE": "SAI_BRIDGE_PORT_TYPE_PORT", + "SAI_BRIDGE_PORT_ATTR_PORT_ID": "oid:0x1000000000549", + "SAI_BRIDGE_PORT_ATTR_ADMIN_STATE": "true", + "SAI_BRIDGE_PORT_ATTR_FDB_LEARNING_MODE": "SAI_BRIDGE_PORT_FDB_LEARNING_MODE_HW" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_FDB_ENTRY:{\"bvid\":\"oid:0x260000000005c5\",\"mac\":\"11:22:33:44:55:66\",\"switch_id\":\"oid:0x21000000000000\"}": { + "SAI_FDB_ENTRY_ATTR_BRIDGE_PORT_ID": "oid:0x3a0000000005cb", + "SAI_FDB_ENTRY_ATTR_TYPE": "SAI_FDB_ENTRY_TYPE_DYNAMIC", + "SAI_FDB_ENTRY_ATTR_PACKET_ACTION": "SAI_PACKET_ACTION_FORWARD" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_FDB_ENTRY:{\"bvid\":\"oid:0x260000000006c6\",\"mac\":\"11:22:33:66:55:44\",\"switch_id\":\"oid:0x21000000000000\"}": { + "SAI_FDB_ENTRY_ATTR_BRIDGE_PORT_ID": "oid:0x3a0000000006cd", + "SAI_FDB_ENTRY_ATTR_TYPE": "SAI_FDB_ENTRY_TYPE_STATIC", + "SAI_FDB_ENTRY_ATTR_PACKET_ACTION": "SAI_PACKET_ACTION_FORWARD" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_FDB_ENTRY:{\"bvid\":\"oid:0x260000000007c7\",\"mac\":\"66:55:44:33:22:11\",\"switch_id\":\"oid:0x21000000000000\"}": { + "SAI_FDB_ENTRY_ATTR_BRIDGE_PORT_ID": "oid:0x3a0000000005cb", + "SAI_FDB_ENTRY_ATTR_TYPE": "SAI_FDB_ENTRY_TYPE_DYNAMIC", + "SAI_FDB_ENTRY_ATTR_PACKET_ACTION": "SAI_PACKET_ACTION_FORWARD" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_FDB_ENTRY:{}": { + "SAI_FDB_ENTRY_ATTR_BRIDGE_PORT_ID": "oid:0x3a0000000005ff", + "SAI_FDB_ENTRY_ATTR_TYPE": "SAI_FDB_ENTRY_TYPE_DYNAMIC", + "SAI_FDB_ENTRY_ATTR_PACKET_ACTION": "SAI_PACKET_ACTION_FORWARD" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_FDB_ENTRY:{\"bvid\":\"oid:0x260000000007c7\",\"mac\":\"77:55:44:33:22:11\",\"switch_id\":\"oid:0x21000000000000\"}": { + "SAI_FDB_ENTRY_ATTR_BRIDGE_PORT_ID": "oid:0x3a000000000fff", + "SAI_FDB_ENTRY_ATTR_TYPE": "SAI_FDB_ENTRY_TYPE_DYNAMIC", + "SAI_FDB_ENTRY_ATTR_PACKET_ACTION": "SAI_PACKET_ACTION_FORWARD" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_VLAN:oid:0x260000000005c5": { + "SAI_VLAN_ATTR_VLAN_ID": "2" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_VLAN:oid:0x260000000006c6": { + "SAI_VLAN_ATTR_VLAN_ID": "3" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_VLAN:oid:0x260000000007c7": {} +} diff --git a/tests/fdbshow_input/asic_db_no_bridge.json b/tests/fdbshow_input/asic_db_no_bridge.json new file mode 100644 index 0000000000..bfa72b1595 --- /dev/null +++ b/tests/fdbshow_input/asic_db_no_bridge.json @@ -0,0 +1,15 @@ +{ + "ASIC_STATE:SAI_OBJECT_TYPE_SWITCH:oid:0x21000000000000": { + "SAI_SWITCH_ATTR_INIT_SWITCH": "true", + "SAI_SWITCH_ATTR_SRC_MAC_ADDRESS": "DE:AD:BE:EF:CA:FE" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_VLAN:oid:0x260000000005c5": { + "SAI_VLAN_ATTR_VLAN_ID": "2" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_VLAN:oid:0x260000000006c6": { + "SAI_VLAN_ATTR_VLAN_ID": "3" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_VLAN:oid:0x260000000007c7": { + "SAI_VLAN_ATTR_VLAN_ID": "4" + } +} diff --git a/tests/fdbshow_input/asic_db_no_fdb.json b/tests/fdbshow_input/asic_db_no_fdb.json new file mode 100644 index 0000000000..029054c917 --- /dev/null +++ b/tests/fdbshow_input/asic_db_no_fdb.json @@ -0,0 +1,27 @@ +{ + "ASIC_STATE:SAI_OBJECT_TYPE_SWITCH:oid:0x21000000000000": { + "SAI_SWITCH_ATTR_INIT_SWITCH": "true", + "SAI_SWITCH_ATTR_SRC_MAC_ADDRESS": "DE:AD:BE:EF:CA:FE" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_BRIDGE_PORT:oid:0x3a0000000005cb": { + "SAI_BRIDGE_PORT_ATTR_TYPE": "SAI_BRIDGE_PORT_TYPE_PORT", + "SAI_BRIDGE_PORT_ATTR_PORT_ID": "oid:0x1000000000528", + "SAI_BRIDGE_PORT_ATTR_ADMIN_STATE": "true", + "SAI_BRIDGE_PORT_ATTR_FDB_LEARNING_MODE": "SAI_BRIDGE_PORT_FDB_LEARNING_MODE_HW" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_BRIDGE_PORT:oid:0x3a0000000006cd": { + "SAI_BRIDGE_PORT_ATTR_TYPE": "SAI_BRIDGE_PORT_TYPE_PORT", + "SAI_BRIDGE_PORT_ATTR_PORT_ID": "oid:0x1000000000549", + "SAI_BRIDGE_PORT_ATTR_ADMIN_STATE": "true", + "SAI_BRIDGE_PORT_ATTR_FDB_LEARNING_MODE": "SAI_BRIDGE_PORT_FDB_LEARNING_MODE_HW" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_VLAN:oid:0x260000000005c5": { + "SAI_VLAN_ATTR_VLAN_ID": "2" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_VLAN:oid:0x260000000006c6": { + "SAI_VLAN_ATTR_VLAN_ID": "3" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_VLAN:oid:0x260000000007c7": { + "SAI_VLAN_ATTR_VLAN_ID": "4" + } +} diff --git a/tests/fdbshow_input/counters_db.json b/tests/fdbshow_input/counters_db.json new file mode 100644 index 0000000000..acf46e0395 --- /dev/null +++ b/tests/fdbshow_input/counters_db.json @@ -0,0 +1,9 @@ +{ + "COUNTERS_PORT_NAME_MAP": { + "Ethernet0": "oid:0x1000000000528", + "Ethernet4": "oid:0x1000000000549" + }, + "COUNTERS_LAG_NAME_MAP": { + "": "" + } +} diff --git a/tests/fdbshow_test.py b/tests/fdbshow_test.py new file mode 100755 index 0000000000..3da84879f5 --- /dev/null +++ b/tests/fdbshow_test.py @@ -0,0 +1,198 @@ +import os +from click.testing import CliRunner +import pytest + +import show.main as show +from .utils import get_result_and_return_code +import subprocess + +root_path = os.path.dirname(os.path.abspath(__file__)) +modules_path = os.path.dirname(root_path) +scripts_path = os.path.join(modules_path, "scripts") + +show_mac_output_with_def_vlan = """\ + No. Vlan MacAddress Port Type +----- ------ ----------------- --------- ------- + 1 2 11:22:33:44:55:66 Ethernet0 Dynamic + 2 3 11:22:33:66:55:44 Ethernet4 Static +Total number of entries 2 +""" + +show_mac_output = """\ + No. Vlan MacAddress Port Type +----- ------ ----------------- ------------- ------- + 1 2 11:22:33:44:55:66 Ethernet0 Dynamic + 2 3 11:22:33:66:55:44 Ethernet4 Static + 3 4 66:55:44:33:22:11 Ethernet0 Dynamic + 4 4 77:66:44:33:22:11 1000000000fff Dynamic + 5 5 77:66:55:44:22:11 Ethernet4 Dynamic +Total number of entries 5 +""" + +show_mac__port_vlan_output = """\ + No. Vlan MacAddress Port Type +----- ------ ----------------- --------- ------- + 1 2 11:22:33:44:55:66 Ethernet0 Dynamic +Total number of entries 1 +""" + +show_mac_no_results_output = """\ +No. Vlan MacAddress Port Type +----- ------ ------------ ------ ------ +Total number of entries 0 +""" + +show_mac_no_port_output = """\ +'Ethernet20' is not in list +""" + +show_mac_no_vlan_output = """\ +123 is not in list +""" + + +class TestFdbshow(): + @pytest.fixture(scope="class", autouse=True) + def setup_class(cls): + print("SETUP") + os.environ["PATH"] += os.pathsep + scripts_path + os.environ["UTILITIES_UNIT_TESTING"] = "1" + yield + print("TEARDOWN") + os.environ["PATH"] = os.pathsep.join(os.environ["PATH"].split(os.pathsep)[:-1]) + os.environ["UTILITIES_UNIT_TESTING"] = "0" + + @pytest.fixture(scope="function", autouse=True) + def setUp(self): + self.runner = CliRunner() + yield + del os.environ["FDBSHOW_MOCK"] + + def set_mock_variant(self, variant: str): + os.environ["FDBSHOW_MOCK"] = variant + + def test_show_mac_def_vlan(self): + self.set_mock_variant("2") + + result = self.runner.invoke(show.cli.commands["mac"], []) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == show_mac_output_with_def_vlan + + return_code, result = get_result_and_return_code('fdbshow') + print("return_code: {}".format(return_code)) + print("result = {}".format(result)) + assert return_code == 0 + assert result == show_mac_output_with_def_vlan + + def test_show_mac(self): + self.set_mock_variant("1") + + result = self.runner.invoke(show.cli.commands["mac"], []) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == show_mac_output + + return_code, result = get_result_and_return_code('fdbshow') + print("return_code: {}".format(return_code)) + print("result = {}".format(result)) + assert return_code == 0 + assert result == show_mac_output + + def test_show_mac_port_vlan(self): + self.set_mock_variant("1") + + result = self.runner.invoke(show.cli.commands["mac"], "-p Ethernet0 -v 2") + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == show_mac__port_vlan_output + + return_code, result = get_result_and_return_code('fdbshow -p Ethernet0 -v 2') + print("return_code: {}".format(return_code)) + print("result = {}".format(result)) + assert return_code == 0 + assert result == show_mac__port_vlan_output + + def test_show_mac_no_port(self): + self.set_mock_variant("1") + + result = self.runner.invoke(show.cli.commands["mac"], "-p Ethernet20") + print(result.exit_code) + print(result.output) + assert result.exit_code == 1 + assert result.output == show_mac_no_port_output + + return_code, result = get_result_and_return_code('fdbshow -p Ethernet20') + print("return_code: {}".format(return_code)) + print("result = {}".format(result)) + assert return_code == 1 + assert result == show_mac_no_port_output.strip("\n") + + def test_show_mac_no_vlan(self): + self.set_mock_variant("1") + + result = self.runner.invoke(show.cli.commands["mac"], "-v 123") + print(result.exit_code) + print(result.output) + assert result.exit_code == 1 + assert result.output == show_mac_no_vlan_output + + return_code, result = get_result_and_return_code('fdbshow -v 123') + print("return_code: {}".format(return_code)) + print("result = {}".format(result)) + assert return_code == 1 + assert result == show_mac_no_vlan_output.strip("\n") + + def test_show_mac_no_fdb(self): + self.set_mock_variant("3") + + result = self.runner.invoke(show.cli.commands["mac"], []) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == show_mac_no_results_output + + return_code, result = get_result_and_return_code('fdbshow') + print("return_code: {}".format(return_code)) + print("result = {}".format(result)) + assert return_code == 0 + assert result == show_mac_no_results_output + + def test_show_mac_no_bridge(self): + self.set_mock_variant("4") + + result = self.runner.invoke(show.cli.commands["mac"], []) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == show_mac_no_results_output + + return_code, result = get_result_and_return_code('fdbshow') + print("return_code: {}".format(return_code)) + print("result = {}".format(result)) + assert return_code == 0 + assert result == show_mac_no_results_output + + def test_show_fetch_except(self): + self.set_mock_variant("5") + + result = self.runner.invoke(show.cli.commands["mac"], []) + print(result.exit_code) + print(result.output) + assert result.exit_code == 1 + assert "Failed to get Vlan id for bvid oid:0x260000000007c7" in result.output + + try: + output = subprocess.check_output( + 'fdbshow', stderr=subprocess.STDOUT, shell=True, text=True) + except subprocess.CalledProcessError as e: + return_code = e.returncode + output = e.output + + print("return_code: {}".format(return_code)) + print("result = {}".format(output)) + assert return_code == 1 + assert "Failed to get Vlan id for bvid oid:0x260000000007c7" in output From ae39883558b1ce22da00feb7324a1684b25ef1c7 Mon Sep 17 00:00:00 2001 From: allas-nvidia <76047578+allas-nvidia@users.noreply.github.com> Date: Mon, 22 Mar 2021 20:06:07 +0200 Subject: [PATCH 132/342] Fix bug: show vlan config for vlan with no members (#1503) File show/vlan.py, function config(db) was modified to fill the table with VLAN even without members. Signed-off-by: allas --- show/vlan.py | 45 ++++++++++++++++++++++----------------------- tests/vlan_test.py | 2 ++ 2 files changed, 24 insertions(+), 23 deletions(-) diff --git a/show/vlan.py b/show/vlan.py index f95d21a402..df4149fca9 100644 --- a/show/vlan.py +++ b/show/vlan.py @@ -109,33 +109,32 @@ def config(db): data = db.cfgdb.get_table('VLAN') keys = list(data.keys()) member_data = db.cfgdb.get_table('VLAN_MEMBER') - + interface_naming_mode = clicommon.get_interface_naming_mode() + iface_alias_converter = clicommon.InterfaceAliasConverter(db) + + def get_iface_name_for_display(member): + name_for_display = member + if interface_naming_mode == "alias" and member: + name_for_display = iface_alias_converter.name_to_alias(member) + return name_for_display + + def get_tagging_mode(vlan, member): + if not member: + return '' + tagging_mode = db.cfgdb.get_entry('VLAN_MEMBER', (vlan, member)).get('tagging_mode') + return '?' if tagging_mode is None else tagging_mode + def tablelize(keys, data): table = [] for k in natsorted(keys): - members = set(data[k].get('members', [])) - for (vlan, interface_name) in member_data: - if vlan == k: - members.add(interface_name) - - for m in natsorted(list(members)): - r = [] - r.append(k) - r.append(data[k]['vlanid']) - if clicommon.get_interface_naming_mode() == "alias": - alias = clicommon.InterfaceAliasConverter(db).name_to_alias(m) - r.append(alias) - else: - r.append(m) - - entry = db.cfgdb.get_entry('VLAN_MEMBER', (k, m)) - mode = entry.get('tagging_mode') - if mode is None: - r.append('?') - else: - r.append(mode) - + members = set([(vlan, member) for vlan, member in member_data if vlan == k] + [(k, member) for member in set(data[k].get('members', []))]) + # vlan with no members + if not members: + members = [(k, '')] + + for vlan, member in natsorted(members): + r = [vlan, data[vlan]['vlanid'], get_iface_name_for_display(member), get_tagging_mode(vlan, member)] table.append(r) return table diff --git a/tests/vlan_test.py b/tests/vlan_test.py index 8be9db1e2e..438f3acbbb 100644 --- a/tests/vlan_test.py +++ b/tests/vlan_test.py @@ -85,6 +85,7 @@ Vlan1000 1000 Ethernet16 untagged Vlan2000 2000 Ethernet24 untagged Vlan2000 2000 Ethernet28 untagged +Vlan3000 3000 """ show_vlan_config_in_alias_mode_output="""\ @@ -96,6 +97,7 @@ Vlan1000 1000 etp5 untagged Vlan2000 2000 etp7 untagged Vlan2000 2000 etp8 untagged +Vlan3000 3000 """ config_vlan_add_dhcp_relay_output="""\ From bf4663868275bcae91d385b5d030500aa04705ec Mon Sep 17 00:00:00 2001 From: Sudharsan Dhamal Gopalarathnam Date: Mon, 22 Mar 2021 20:08:13 -0700 Subject: [PATCH 133/342] Handling error scenario of adding port to Vlan which is part of LAG (#1516) *Handled error scenario when adding a port to Vlan which is already part of a LAG. Added unit test to cover the scenario. This is fix for the bug Azure/sonic-buildimage#4456 Signed-off-by: Sudharsan Dhamal Gopalarathnam --- config/vlan.py | 5 +++++ tests/vlan_test.py | 10 ++++++++++ 2 files changed, 15 insertions(+) diff --git a/config/vlan.py b/config/vlan.py index a10db74d09..36ef3da0ac 100644 --- a/config/vlan.py +++ b/config/vlan.py @@ -145,6 +145,11 @@ def add_vlan_member(db, vid, port, untagged): (not is_port and clicommon.is_pc_router_interface(db.cfgdb, port)): ctx.fail("{} is a router interface!".format(port)) + portchannel_member_table = db.cfgdb.get_table('PORTCHANNEL_MEMBER') + + if (is_port and clicommon.interface_is_in_portchannel(portchannel_member_table, port)): + ctx.fail("{} is part of portchannel!".format(port)) + if (clicommon.interface_is_untagged_member(db.cfgdb, port) and untagged): ctx.fail("{} is already untagged member!".format(port)) diff --git a/tests/vlan_test.py b/tests/vlan_test.py index 438f3acbbb..f0559560da 100644 --- a/tests/vlan_test.py +++ b/tests/vlan_test.py @@ -674,6 +674,16 @@ def test_config_set_router_port_on_member_interface(self): assert result.exit_code == 0 assert 'Interface Ethernet4 is a member of vlan' in result.output + def test_config_vlan_add_member_of_portchannel(self): + runner = CliRunner() + db = Db() + + result = runner.invoke(config.config.commands["vlan"].commands["member"].commands["add"], \ + ["1000", "Ethernet32", "--untagged"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code != 0 + assert "Error: Ethernet32 is part of portchannel!" in result.output @classmethod def teardown_class(cls): From ed4541205b03c90f71dedf5933d272261544e365 Mon Sep 17 00:00:00 2001 From: vdahiya12 <67608553+vdahiya12@users.noreply.github.com> Date: Mon, 22 Mar 2021 23:34:38 -0700 Subject: [PATCH 134/342] [show][config] add support for setting and displaying switching modes on Y cable (#1501) Summary There is also support for new commands for muxcable/Y cable show muxcable hwmode switchmode sudo config muxcable hwmode setswitchmode manual/auto all which can basically set/display the switching modes on the cable to auto or manual using the cli What I did Also added these new commands admin@STR43-0101-0101-01LT0:~$ show muxcable hwmode switchmode Port Switching --------- ----------- Ethernet0 manual Ethernet4 manual admin@STR43-0101-0101-01LT0:/usr$ sudo config muxcable hwmode setswitchmode manual all Muxcable at port all will be changed to manual switching mode. Continue? [y/N]: y Success in switching mode on port Ethernet0 to manual Success in switching mode on port Ethernet4 to manual admin@STR43-0101-0101-01LT0:/usr$ sudo config muxcable hwmode setswitchmode auto all Muxcable at port all will be changed to auto switching mode. Continue? [y/N]: y Success in switching mode on port Ethernet0 to auto Success in switching mode on port Ethernet4 to auto Signed-off-by: vaibhav-dahiya --- config/muxcable.py | 163 +++++++++++++++++++++++++++++++++++++++- show/muxcable.py | 180 ++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 340 insertions(+), 3 deletions(-) diff --git a/config/muxcable.py b/config/muxcable.py index 2e5bc1c80b..518446435d 100644 --- a/config/muxcable.py +++ b/config/muxcable.py @@ -429,7 +429,7 @@ def state(state, port): logical_port_list_per_port = logical_port_list_for_physical_port.get(physical_port, None) - """ This check is required for checking whether or not this logical port is the one which is + """ This check is required for checking whether or not this logical port is the one which is actually mapped to physical port and by convention it is always the first port. TODO: this should be removed with more logic to check which logical port maps to actual physical port being used""" @@ -470,3 +470,164 @@ def state(state, port): if rc == False: click.echo("ERR: Unable to toggle one or more ports to {}".format(state)) sys.exit(CONFIG_FAIL) + + +@hwmode.command() +@click.argument('state', metavar='', required=True, type=click.Choice(["auto", "manual"])) +@click.argument('port', metavar='', required=True, default=None) +def setswitchmode(state, port): + """Configure the muxcable mux switching mode {auto/manual}""" + + per_npu_statedb = {} + transceiver_dict = {} + + # Getting all front asic namespace and correspding config and state DB connector + + namespaces = multi_asic.get_front_end_namespaces() + for namespace in namespaces: + asic_id = multi_asic.get_asic_index_from_namespace(namespace) + per_npu_statedb[asic_id] = SonicV2Connector(use_unix_socket_path=False, namespace=namespace) + per_npu_statedb[asic_id].connect(per_npu_statedb[asic_id].STATE_DB) + + if port is not None and port != "all": + click.confirm(('Muxcable at port {} will be changed to {} switching mode. Continue?'.format(port, state)), abort=True) + logical_port_list = platform_sfputil_helper.get_logical_list() + if port not in logical_port_list: + click.echo("ERR: This is not a valid port, valid ports ({})".format(", ".join(logical_port_list))) + sys.exit(CONFIG_FAIL) + + asic_index = None + if platform_sfputil is not None: + asic_index = platform_sfputil_helper.get_asic_id_for_logical_port(port) + if asic_index is None: + # TODO this import is only for unit test purposes, and should be removed once sonic_platform_base + # is fully mocked + import sonic_platform_base.sonic_sfp.sfputilhelper + asic_index = sonic_platform_base.sonic_sfp.sfputilhelper.SfpUtilHelper().get_asic_id_for_logical_port(port) + if asic_index is None: + click.echo("Got invalid asic index for port {}, cant retreive mux status".format(port)) + sys.exit(CONFIG_FAIL) + + if platform_sfputil is not None: + physical_port_list = platform_sfputil_helper.logical_port_name_to_physical_port_list(port) + + if not isinstance(physical_port_list, list): + click.echo(("ERR: Unable to locate physical port information for {}".format(port))) + sys.exit(CONFIG_FAIL) + if len(physical_port_list) != 1: + click.echo("ERR: Found multiple physical ports ({}) associated with {}".format( + ", ".join(physical_port_list), port)) + sys.exit(CONFIG_FAIL) + + transceiver_dict[asic_index] = per_npu_statedb[asic_index].get_all( + per_npu_statedb[asic_index].STATE_DB, 'TRANSCEIVER_INFO|{}'.format(port)) + + vendor_value = get_value_for_key_in_dict(transceiver_dict[asic_index], port, "manufacturer", "TRANSCEIVER_INFO") + model_value = get_value_for_key_in_dict(transceiver_dict[asic_index], port, "model", "TRANSCEIVER_INFO") + + """ This check is required for checking whether or not this port is connected to a Y cable + or not. The check gives a way to differentiate between non Y cable ports and Y cable ports. + TODO: this should be removed once their is support for multiple vendors on Y cable""" + + if vendor_value != VENDOR_NAME or not re.match(VENDOR_MODEL_REGEX, model_value): + click.echo("ERR: Got invalid vendor value and model for port {}".format(port)) + sys.exit(CONFIG_FAIL) + + physical_port = physical_port_list[0] + + logical_port_list_for_physical_port = platform_sfputil_helper.get_physical_to_logical() + + logical_port_list_per_port = logical_port_list_for_physical_port.get(physical_port, None) + + """ This check is required for checking whether or not this logical port is the one which is + actually mapped to physical port and by convention it is always the first port. + TODO: this should be removed with more logic to check which logical port maps to actual physical port + being used""" + + if port != logical_port_list_per_port[0]: + click.echo("ERR: This logical Port {} is not on a muxcable".format(port)) + sys.exit(CONFIG_FAIL) + + if state == "auto": + mode = sonic_y_cable.y_cable.SWITCHING_MODE_AUTO + elif state == "manual": + mode = sonic_y_cable.y_cable.SWITCHING_MODE_MANUAL + import sonic_y_cable.y_cable + result = sonic_y_cable.y_cable.set_switching_mode(physical_port, mode) + if result == False: + click.echo(("ERR: Unable to set switching mode for the cable port {}".format(port))) + sys.exit(CONFIG_FAIL) + + click.echo("Success in switching mode on port {} to {}".format(port, state)) + + elif port == "all" and port is not None: + + click.confirm(('Muxcable at port {} will be changed to {} switching mode. Continue?'.format(port, state)), abort=True) + logical_port_list = platform_sfputil_helper.get_logical_list() + + rc = True + for port in logical_port_list: + if platform_sfputil is not None: + physical_port_list = platform_sfputil_helper.logical_port_name_to_physical_port_list(port) + + asic_index = None + if platform_sfputil is not None: + asic_index = platform_sfputil_helper.get_asic_id_for_logical_port(port) + if asic_index is None: + # TODO this import is only for unit test purposes, and should be removed once sonic_platform_base + # is fully mocked + import sonic_platform_base.sonic_sfp.sfputilhelper + asic_index = sonic_platform_base.sonic_sfp.sfputilhelper.SfpUtilHelper().get_asic_id_for_logical_port(port) + if asic_index is None: + click.echo("Got invalid asic index for port {}, cant retreive mux status".format(port)) + + if not isinstance(physical_port_list, list): + click.echo(("ERR: Unable to locate physical port information for {}".format(port))) + continue + + if len(physical_port_list) != 1: + click.echo("ERR: Found multiple physical ports ({}) associated with {}".format( + ", ".join(physical_port_list), port)) + continue + + transceiver_dict[asic_index] = per_npu_statedb[asic_index].get_all( + per_npu_statedb[asic_index].STATE_DB, 'TRANSCEIVER_INFO|{}'.format(port)) + vendor_value = transceiver_dict[asic_index].get("manufacturer", None) + model_value = transceiver_dict[asic_index].get("model", None) + + """ This check is required for checking whether or not this port is connected to a Y cable + or not. The check gives a way to differentiate between non Y cable ports and Y cable ports. + TODO: this should be removed once their is support for multiple vendors on Y cable""" + + if vendor_value != VENDOR_NAME or not re.match(VENDOR_MODEL_REGEX, model_value): + continue + + physical_port = physical_port_list[0] + + logical_port_list_for_physical_port = platform_sfputil_helper.get_physical_to_logical() + + logical_port_list_per_port = logical_port_list_for_physical_port.get(physical_port, None) + + """ This check is required for checking whether or not this logical port is the one which is + actually mapped to physical port and by convention it is always the first port. + TODO: this should be removed with more logic to check which logical port maps to actual physical port + being used""" + + if port != logical_port_list_per_port[0]: + continue + + if state == "auto": + mode = sonic_y_cable.y_cable.SWITCHING_MODE_AUTO + elif state == "manual": + mode = sonic_y_cable.y_cable.SWITCHING_MODE_MANUAL + import sonic_y_cable.y_cable + result = sonic_y_cable.y_cable.set_switching_mode(physical_port, mode) + if result == False: + rc = False + click.echo("ERR: Unable to set switching mode on port {} to {}".format(port, state)) + + click.echo("Success in switching mode on port {} to {}".format(port, state)) + + if rc == False: + click.echo("ERR: Unable to set switching mode one or more ports to {}".format(state)) + sys.exit(CONFIG_FAIL) diff --git a/show/muxcable.py b/show/muxcable.py index 2620247ebe..4c053dfd84 100644 --- a/show/muxcable.py +++ b/show/muxcable.py @@ -511,7 +511,7 @@ def muxdirection(port): logical_port_list_per_port = logical_port_list_for_physical_port.get(physical_port, None) - """ This check is required for checking whether or not this logical port is the one which is + """ This check is required for checking whether or not this logical port is the one which is actually mapped to physical port and by convention it is always the first port. TODO: this should be removed with more logic to check which logical port maps to actual physical port being used""" @@ -594,7 +594,7 @@ def muxdirection(port): logical_port_list_per_port = logical_port_list_for_physical_port.get(physical_port, None) - """ This check is required for checking whether or not this logical port is the one which is + """ This check is required for checking whether or not this logical port is the one which is actually mapped to physical port and by convention it is always the first port. TODO: this should be removed with more logic to check which logical port maps to actual physical port being used""" @@ -644,3 +644,179 @@ def muxdirection(port): click.echo(tabulate(body, headers=headers)) if rc == False: sys.exit(EXIT_FAIL) + + +@hwmode.command() +@click.argument('port', metavar='', required=False, default=None) +def switchmode(port): + """Shows the current switching mode of the muxcable {auto/manual}""" + + per_npu_statedb = {} + transceiver_dict = {} + + # Getting all front asic namespace and correspding config and state DB connector + + namespaces = multi_asic.get_front_end_namespaces() + for namespace in namespaces: + asic_id = multi_asic.get_asic_index_from_namespace(namespace) + per_npu_statedb[asic_id] = SonicV2Connector(use_unix_socket_path=False, namespace=namespace) + per_npu_statedb[asic_id].connect(per_npu_statedb[asic_id].STATE_DB) + + if port is not None: + + logical_port_list = platform_sfputil_helper.get_logical_list() + if port not in logical_port_list: + click.echo("ERR: This is not a valid port, valid ports ({})".format(", ".join(logical_port_list))) + sys.exit(EXIT_FAIL) + + asic_index = None + if platform_sfputil is not None: + asic_index = platform_sfputil_helper.get_asic_id_for_logical_port(port) + if asic_index is None: + # TODO this import is only for unit test purposes, and should be removed once sonic_platform_base + # is fully mocked + import sonic_platform_base.sonic_sfp.sfputilhelper + asic_index = sonic_platform_base.sonic_sfp.sfputilhelper.SfpUtilHelper().get_asic_id_for_logical_port(port) + if asic_index is None: + click.echo("Got invalid asic index for port {}, cant retreive mux status".format(port)) + sys.exit(CONFIG_FAIL) + + transceiver_dict[asic_index] = per_npu_statedb[asic_index].get_all( + per_npu_statedb[asic_index].STATE_DB, 'TRANSCEIVER_INFO|{}'.format(port)) + + vendor_value = get_value_for_key_in_dict(transceiver_dict[asic_index], port, "manufacturer", "TRANSCEIVER_INFO") + model_value = get_value_for_key_in_dict(transceiver_dict[asic_index], port, "model", "TRANSCEIVER_INFO") + + """ This check is required for checking whether or not this port is connected to a Y cable + or not. The check gives a way to differentiate between non Y cable ports and Y cable ports. + TODO: this should be removed once their is support for multiple vendors on Y cable""" + + if vendor_value != VENDOR_NAME or not re.match(VENDOR_MODEL_REGEX, model_value): + click.echo("ERR: Got invalid vendor value and model for port {}".format(port)) + sys.exit(EXIT_FAIL) + + if platform_sfputil is not None: + physical_port_list = platform_sfputil_helper.logical_port_name_to_physical_port_list(port) + + if not isinstance(physical_port_list, list): + click.echo(("ERR: Unable to locate physical port information for {}".format(port))) + sys.exit(EXIT_FAIL) + if len(physical_port_list) != 1: + click.echo("ERR: Found multiple physical ports ({}) associated with {}".format( + ", ".join(physical_port_list), port)) + sys.exit(EXIT_FAIL) + + physical_port = physical_port_list[0] + + logical_port_list_for_physical_port = platform_sfputil_helper.get_physical_to_logical() + + logical_port_list_per_port = logical_port_list_for_physical_port.get(physical_port, None) + + """ This check is required for checking whether or not this logical port is the one which is + actually mapped to physical port and by convention it is always the first port. + TODO: this should be removed with more logic to check which logical port maps to actual physical port + being used""" + + if port != logical_port_list_per_port[0]: + click.echo("ERR: This logical Port {} is not on a muxcable".format(port)) + sys.exit(EXIT_FAIL) + + import sonic_y_cable.y_cable + switching_mode = sonic_y_cable.y_cable.get_switching_mode(physical_port) + if switching_mode == -1: + click.echo(("ERR: Unable to get switching mode for the cable port {}".format(port))) + sys.exit(EXIT_FAIL) + + if switching_mode == sonic_y_cable.y_cable.SWITCHING_MODE_AUTO: + state = "auto" + elif switching_mode == sonic_y_cable.y_cable.SWITCHING_MODE_MANUAL: + state = "manual" + else: + click.echo(("ERR: Unable to get switching state mode, port {}".format(port))) + state = "unknown" + headers = ['Port', 'Switching'] + + body = [[port, state]] + click.echo(tabulate(body, headers=headers)) + + else: + + logical_port_list = platform_sfputil_helper.get_logical_list() + + rc = True + body = [] + for port in logical_port_list: + + temp_list = [] + if platform_sfputil is not None: + physical_port_list = platform_sfputil_helper.logical_port_name_to_physical_port_list(port) + + if not isinstance(physical_port_list, list): + continue + if len(physical_port_list) != 1: + continue + + asic_index = None + if platform_sfputil is not None: + asic_index = platform_sfputil_helper.get_asic_id_for_logical_port(port) + if asic_index is None: + # TODO this import is only for unit test purposes, and should be removed once sonic_platform_base + # is fully mocked + import sonic_platform_base.sonic_sfp.sfputilhelper + asic_index = sonic_platform_base.sonic_sfp.sfputilhelper.SfpUtilHelper().get_asic_id_for_logical_port(port) + if asic_index is None: + continue + + transceiver_dict[asic_index] = per_npu_statedb[asic_index].get_all( + per_npu_statedb[asic_index].STATE_DB, 'TRANSCEIVER_INFO|{}'.format(port)) + vendor_value = transceiver_dict[asic_index].get("manufacturer", None) + model_value = transceiver_dict[asic_index].get("model", None) + + """ This check is required for checking whether or not this port is connected to a Y cable + or not. The check gives a way to differentiate between non Y cable ports and Y cable ports. + TODO: this should be removed once their is support for multiple vendors on Y cable""" + + if vendor_value != VENDOR_NAME or not re.match(VENDOR_MODEL_REGEX, model_value): + continue + + physical_port = physical_port_list[0] + logical_port_list_for_physical_port = platform_sfputil_helper.get_physical_to_logical() + + logical_port_list_per_port = logical_port_list_for_physical_port.get(physical_port, None) + + """ This check is required for checking whether or not this logical port is the one which is + actually mapped to physical port and by convention it is always the first port. + TODO: this should be removed with more logic to check which logical port maps to actual physical port + being used""" + + if port != logical_port_list_per_port[0]: + continue + + import sonic_y_cable.y_cable + switching_mode = sonic_y_cable.y_cable.get_switching_mode(physical_port) + if switching_mode == -1: + rc = False + temp_list.append(port) + temp_list.append("unknown") + body.append(temp_list) + continue + + if switching_mode == sonic_y_cable.y_cable.SWITCHING_MODE_AUTO: + state = "auto" + elif switching_mode == sonic_y_cable.y_cable.SWITCHING_MODE_MANUAL: + state = "manual" + else: + rc = False + temp_list.append(port) + temp_list.append("unknown") + body.append(temp_list) + continue + temp_list.append(port) + temp_list.append(state) + body.append(temp_list) + + headers = ['Port', 'Switching'] + + click.echo(tabulate(body, headers=headers)) + if rc == False: + sys.exit(EXIT_FAIL) From 553936b61a677b95a45a797c0e3ccdaf015cce94 Mon Sep 17 00:00:00 2001 From: Renuka Manavalan <47282725+renukamanavalan@users.noreply.github.com> Date: Tue, 23 Mar 2021 17:01:32 -0700 Subject: [PATCH 135/342] route_check: Fix hanging & logging level (#1520) Fix for hanging: Enforce max len on string to be printed to stdout. With huge mismatch, the message to print can be too long to hang python print statement. Lower logging level: The log for "details of route mismatch" is lowered to WARNING. The caller of the route_check may log error, as it sees it fit. The failure of route_check is indicated to caller via exit code. How to verify it Simulate error (route-mismatch), and verify a) message len does not exceed set MAX b) log level is WARNING --- scripts/route_check.py | 22 +++++++++++++++------- tests/route_check_test.py | 15 +++++++++++++-- 2 files changed, 28 insertions(+), 9 deletions(-) diff --git a/scripts/route_check.py b/scripts/route_check.py index fbc223b6d9..72ed3201bf 100755 --- a/scripts/route_check.py +++ b/scripts/route_check.py @@ -68,6 +68,8 @@ MIN_SCAN_INTERVAL = 10 # Every 10 seconds MAX_SCAN_INTERVAL = 3600 # An hour +PRINT_MSG_LEN_MAX = 1000 + class Level(Enum): ERR = 'ERR' INFO = 'INFO' @@ -77,7 +79,7 @@ def __str__(self): return self.value -report_level = syslog.LOG_ERR +report_level = syslog.LOG_WARNING write_to_syslog = False def handler(signum, frame): @@ -113,14 +115,20 @@ def print_message(lvl, *args): :param args: message as list of strings or convertible to string :return None """ + msg = "" if (lvl <= report_level): - msg = "" for arg in args: - msg += " " + str(arg) + rem_len = PRINT_MSG_LEN_MAX - len(msg) + if rem_len <= 0: + break + msg += str(arg)[0:rem_len] + print(msg) if write_to_syslog: syslog.syslog(lvl, msg) + return msg + def add_prefix(ip): """ @@ -421,10 +429,10 @@ def check_routes(): results["Unaccounted_ROUTE_ENTRY_TABLE_entries"] = rt_asic_miss if results: - print_message(syslog.LOG_ERR, "Failure results: {", json.dumps(results, indent=4), "}") - print_message(syslog.LOG_ERR, "Failed. Look at reported mismatches above") - print_message(syslog.LOG_ERR, "add: {", json.dumps(adds, indent=4), "}") - print_message(syslog.LOG_ERR, "del: {", json.dumps(deletes, indent=4), "}") + print_message(syslog.LOG_WARNING, "Failure results: {", json.dumps(results, indent=4), "}") + print_message(syslog.LOG_WARNING, "Failed. Look at reported mismatches above") + print_message(syslog.LOG_WARNING, "add: {", json.dumps(adds, indent=4), "}") + print_message(syslog.LOG_WARNING, "del: {", json.dumps(deletes, indent=4), "}") return -1, results else: print_message(syslog.LOG_INFO, "All good!") diff --git a/tests/route_check_test.py b/tests/route_check_test.py index 460fdd16d2..cf271f6669 100644 --- a/tests/route_check_test.py +++ b/tests/route_check_test.py @@ -2,6 +2,7 @@ import json import os import sys +import syslog import time from unittest.mock import MagicMock, patch @@ -442,8 +443,18 @@ def test_server(self, mock_subs, mock_sel, mock_table, mock_conn): assert ex_str == expect, "{} != {}".format(ex_str, expect) assert ex_raised, "Exception expected" - - + # Test print_msg + route_check.PRINT_MSG_LEN_MAX = 5 + msg = route_check.print_message(syslog.LOG_ERR, "abcdefghi") + assert len(msg) == 5 + msg = route_check.print_message(syslog.LOG_ERR, "ab") + assert len(msg) == 2 + msg = route_check.print_message(syslog.LOG_ERR, "abcde") + assert len(msg) == 5 + msg = route_check.print_message(syslog.LOG_ERR, "a", "b", "c", "d", "e", "f") + assert len(msg) == 5 + + From c7d4947513caf0ceeb5f301daef3b4ce0d25cd06 Mon Sep 17 00:00:00 2001 From: maksymbelei95 <75987222+maksymbelei95@users.noreply.github.com> Date: Wed, 24 Mar 2021 17:18:50 +0200 Subject: [PATCH 136/342] [show] Fix int status of LAGs, configured as Vlan members (#1478) Pass missed argument to function "appl_db_portchannel_status_get" in "intfutil" script to provide correct information in "Vlan" column of command "show int status" for LAG interfaces. - What I did Fixed status of LAG interfaces in Vlan column. LAG interfaces, configured as a Vlan member, should be seen as trunk interface. - How I did it Missed argument "self.combined_int_to_vlan_po_dict" passed to function "appl_db_portchannel_status_get" in "intfutil" script. - How to verify it admin@sonic:~$ show int status | grep PortChannel0011 Signed-off-by: Maksym Belei --- scripts/intfutil | 2 +- tests/intfutil_test.py | 2 +- tests/mock_tables/asic0/config_db.json | 6 + tests/mock_tables/config_db.json | 6 + tests/multi_asic_intfutil_test.py | 8 +- tests/vlan_test.py | 228 +++++++++++++------------ 6 files changed, 140 insertions(+), 112 deletions(-) diff --git a/scripts/intfutil b/scripts/intfutil index 4c25cb7eee..3a77338b39 100755 --- a/scripts/intfutil +++ b/scripts/intfutil @@ -409,7 +409,7 @@ class IntfStatus(object): appl_db_portchannel_status_get(self.db, self.config_db, po, PORT_MTU_STATUS, self.portchannel_speed_dict), appl_db_portchannel_status_get(self.db, self.config_db, po, PORT_FEC, self.portchannel_speed_dict), appl_db_portchannel_status_get(self.db, self.config_db, po, PORT_ALIAS, self.portchannel_speed_dict), - appl_db_portchannel_status_get(self.db, self.config_db, po, "vlan", self.portchannel_speed_dict), + appl_db_portchannel_status_get(self.db, self.config_db, po, "vlan", self.portchannel_speed_dict, self.combined_int_to_vlan_po_dict), appl_db_portchannel_status_get(self.db, self.config_db, po, PORT_OPER_STATUS, self.portchannel_speed_dict), appl_db_portchannel_status_get(self.db, self.config_db, po, PORT_ADMIN_STATUS, self.portchannel_speed_dict), appl_db_portchannel_status_get(self.db, self.config_db, po, PORT_OPTICS_TYPE, self.portchannel_speed_dict), diff --git a/tests/intfutil_test.py b/tests/intfutil_test.py index c607ff5b8e..c350c57e50 100644 --- a/tests/intfutil_test.py +++ b/tests/intfutil_test.py @@ -23,7 +23,7 @@ PortChannel0002 N/A 40G 9100 N/A N/A routed up up N/A N/A PortChannel0003 N/A 40G 9100 N/A N/A routed up up N/A N/A PortChannel0004 N/A 40G 9100 N/A N/A routed up up N/A N/A -PortChannel1001 N/A 40G 9100 N/A N/A routed N/A N/A N/A N/A +PortChannel1001 N/A 40G 9100 N/A N/A trunk N/A N/A N/A N/A """ show_interface_status_Ethernet32_output="""\ diff --git a/tests/mock_tables/asic0/config_db.json b/tests/mock_tables/asic0/config_db.json index cd7b49fd0a..14ee76aaa3 100644 --- a/tests/mock_tables/asic0/config_db.json +++ b/tests/mock_tables/asic0/config_db.json @@ -176,5 +176,11 @@ "state": "enabled", "auto_restart": "enabled", "high_mem_alert": "disabled" + }, + "VLAN|Vlan1000": { + "vlanid": "1000" + }, + "VLAN_MEMBER|Vlan1000|PortChannel1002": { + "tagging_mode": "tagged" } } diff --git a/tests/mock_tables/config_db.json b/tests/mock_tables/config_db.json index dc951f977d..14dec0192b 100644 --- a/tests/mock_tables/config_db.json +++ b/tests/mock_tables/config_db.json @@ -437,6 +437,9 @@ "VLAN|Vlan3000": { "vlanid": "3000" }, + "VLAN|Vlan4000": { + "vlanid": "4000" + }, "VLAN_INTERFACE|Vlan1000": { "NULL": "NULL" }, @@ -473,6 +476,9 @@ "VLAN_MEMBER|Vlan2000|Ethernet28": { "tagging_mode": "untagged" }, + "VLAN_MEMBER|Vlan4000|PortChannel1001": { + "tagging_mode": "tagged" + }, "PORTCHANNEL|PortChannel1001": { "admin_status": "up", "members@": "Ethernet32", diff --git a/tests/multi_asic_intfutil_test.py b/tests/multi_asic_intfutil_test.py index 6e1afb4cfa..56e11fa0d3 100644 --- a/tests/multi_asic_intfutil_test.py +++ b/tests/multi_asic_intfutil_test.py @@ -19,7 +19,7 @@ Ethernet-BP4 97,98,99,100 40G 9100 N/A Ethernet-BP4 PortChannel4001 up up N/A off Ethernet-BP256 61,62,63,64 40G 9100 N/A Ethernet-BP256 PortChannel4009 up up N/A off Ethernet-BP260 57,58,59,60 40G 9100 N/A Ethernet-BP260 PortChannel4009 up up N/A off -PortChannel1002 N/A 80G 9100 N/A N/A routed up up N/A N/A +PortChannel1002 N/A 80G 9100 N/A N/A trunk up up N/A N/A PortChannel4001 N/A 80G 9100 N/A N/A routed up up N/A N/A PortChannel4009 N/A 80G 9100 N/A N/A routed up up N/A N/A """ @@ -28,7 +28,7 @@ --------------- ----------- ------- ----- ----- ----------- --------------- ------ ------- --------------- ---------- Ethernet0 33,34,35,36 40G 9100 N/A Ethernet1/1 PortChannel1002 up up QSFP28 or later off Ethernet4 29,30,31,32 40G 9100 N/A Ethernet1/2 PortChannel1002 up up N/A off -PortChannel1002 N/A 80G 9100 N/A N/A routed up up N/A N/A +PortChannel1002 N/A 80G 9100 N/A N/A trunk up up N/A N/A """ intf_status_asic0 = """\ @@ -36,7 +36,7 @@ --------------- ----------- ------- ----- ----- ----------- --------------- ------ ------- --------------- ---------- Ethernet0 33,34,35,36 40G 9100 N/A Ethernet1/1 PortChannel1002 up up QSFP28 or later off Ethernet4 29,30,31,32 40G 9100 N/A Ethernet1/2 PortChannel1002 up up N/A off -PortChannel1002 N/A 80G 9100 N/A N/A routed up up N/A N/A +PortChannel1002 N/A 80G 9100 N/A N/A trunk up up N/A N/A """ intf_status_asic0_all = """\ @@ -46,7 +46,7 @@ Ethernet4 29,30,31,32 40G 9100 N/A Ethernet1/2 PortChannel1002 up up N/A off Ethernet-BP0 93,94,95,96 40G 9100 N/A Ethernet-BP0 PortChannel4001 up up N/A off Ethernet-BP4 97,98,99,100 40G 9100 N/A Ethernet-BP4 PortChannel4001 up up N/A off -PortChannel1002 N/A 80G 9100 N/A N/A routed up up N/A N/A +PortChannel1002 N/A 80G 9100 N/A N/A trunk up up N/A N/A PortChannel4001 N/A 80G 9100 N/A N/A routed up up N/A N/A """ intf_description = """\ diff --git a/tests/vlan_test.py b/tests/vlan_test.py index f0559560da..d4832dc2cf 100644 --- a/tests/vlan_test.py +++ b/tests/vlan_test.py @@ -9,52 +9,58 @@ from utilities_common.db import Db show_vlan_brief_output="""\ -+-----------+-----------------+------------+----------------+-----------------------+-------------+ -| VLAN ID | IP Address | Ports | Port Tagging | DHCP Helper Address | Proxy ARP | -+===========+=================+============+================+=======================+=============+ -| 1000 | 192.168.0.1/21 | Ethernet4 | untagged | 192.0.0.1 | disabled | -| | fc02:1000::1/64 | Ethernet8 | untagged | 192.0.0.2 | | -| | | Ethernet12 | untagged | 192.0.0.3 | | -| | | Ethernet16 | untagged | 192.0.0.4 | | -+-----------+-----------------+------------+----------------+-----------------------+-------------+ -| 2000 | 192.168.0.10/21 | Ethernet24 | untagged | 192.0.0.1 | enabled | -| | fc02:1011::1/64 | Ethernet28 | untagged | 192.0.0.2 | | -| | | | | 192.0.0.3 | | -| | | | | 192.0.0.4 | | -+-----------+-----------------+------------+----------------+-----------------------+-------------+ -| 3000 | | | | | disabled | -+-----------+-----------------+------------+----------------+-----------------------+-------------+ ++-----------+-----------------+-----------------+----------------+-----------------------+-------------+ +| VLAN ID | IP Address | Ports | Port Tagging | DHCP Helper Address | Proxy ARP | ++===========+=================+=================+================+=======================+=============+ +| 1000 | 192.168.0.1/21 | Ethernet4 | untagged | 192.0.0.1 | disabled | +| | fc02:1000::1/64 | Ethernet8 | untagged | 192.0.0.2 | | +| | | Ethernet12 | untagged | 192.0.0.3 | | +| | | Ethernet16 | untagged | 192.0.0.4 | | ++-----------+-----------------+-----------------+----------------+-----------------------+-------------+ +| 2000 | 192.168.0.10/21 | Ethernet24 | untagged | 192.0.0.1 | enabled | +| | fc02:1011::1/64 | Ethernet28 | untagged | 192.0.0.2 | | +| | | | | 192.0.0.3 | | +| | | | | 192.0.0.4 | | ++-----------+-----------------+-----------------+----------------+-----------------------+-------------+ +| 3000 | | | | | disabled | ++-----------+-----------------+-----------------+----------------+-----------------------+-------------+ +| 4000 | | PortChannel1001 | tagged | | disabled | ++-----------+-----------------+-----------------+----------------+-----------------------+-------------+ """ show_vlan_brief_in_alias_mode_output="""\ -+-----------+-----------------+---------+----------------+-----------------------+-------------+ -| VLAN ID | IP Address | Ports | Port Tagging | DHCP Helper Address | Proxy ARP | -+===========+=================+=========+================+=======================+=============+ -| 1000 | 192.168.0.1/21 | etp2 | untagged | 192.0.0.1 | disabled | -| | fc02:1000::1/64 | etp3 | untagged | 192.0.0.2 | | -| | | etp4 | untagged | 192.0.0.3 | | -| | | etp5 | untagged | 192.0.0.4 | | -+-----------+-----------------+---------+----------------+-----------------------+-------------+ -| 2000 | 192.168.0.10/21 | etp7 | untagged | 192.0.0.1 | enabled | -| | fc02:1011::1/64 | etp8 | untagged | 192.0.0.2 | | -| | | | | 192.0.0.3 | | -| | | | | 192.0.0.4 | | -+-----------+-----------------+---------+----------------+-----------------------+-------------+ -| 3000 | | | | | disabled | -+-----------+-----------------+---------+----------------+-----------------------+-------------+ ++-----------+-----------------+-----------------+----------------+-----------------------+-------------+ +| VLAN ID | IP Address | Ports | Port Tagging | DHCP Helper Address | Proxy ARP | ++===========+=================+=================+================+=======================+=============+ +| 1000 | 192.168.0.1/21 | etp2 | untagged | 192.0.0.1 | disabled | +| | fc02:1000::1/64 | etp3 | untagged | 192.0.0.2 | | +| | | etp4 | untagged | 192.0.0.3 | | +| | | etp5 | untagged | 192.0.0.4 | | ++-----------+-----------------+-----------------+----------------+-----------------------+-------------+ +| 2000 | 192.168.0.10/21 | etp7 | untagged | 192.0.0.1 | enabled | +| | fc02:1011::1/64 | etp8 | untagged | 192.0.0.2 | | +| | | | | 192.0.0.3 | | +| | | | | 192.0.0.4 | | ++-----------+-----------------+-----------------+----------------+-----------------------+-------------+ +| 3000 | | | | | disabled | ++-----------+-----------------+-----------------+----------------+-----------------------+-------------+ +| 4000 | | PortChannel1001 | tagged | | disabled | ++-----------+-----------------+-----------------+----------------+-----------------------+-------------+ """ show_vlan_brief_empty_output="""\ -+-----------+-----------------+------------+----------------+-----------------------+-------------+ -| VLAN ID | IP Address | Ports | Port Tagging | DHCP Helper Address | Proxy ARP | -+===========+=================+============+================+=======================+=============+ -| 2000 | 192.168.0.10/21 | Ethernet24 | untagged | 192.0.0.1 | enabled | -| | fc02:1011::1/64 | Ethernet28 | untagged | 192.0.0.2 | | -| | | | | 192.0.0.3 | | -| | | | | 192.0.0.4 | | -+-----------+-----------------+------------+----------------+-----------------------+-------------+ -| 3000 | | | | | disabled | -+-----------+-----------------+------------+----------------+-----------------------+-------------+ ++-----------+-----------------+-----------------+----------------+-----------------------+-------------+ +| VLAN ID | IP Address | Ports | Port Tagging | DHCP Helper Address | Proxy ARP | ++===========+=================+=================+================+=======================+=============+ +| 2000 | 192.168.0.10/21 | Ethernet24 | untagged | 192.0.0.1 | enabled | +| | fc02:1011::1/64 | Ethernet28 | untagged | 192.0.0.2 | | +| | | | | 192.0.0.3 | | +| | | | | 192.0.0.4 | | ++-----------+-----------------+-----------------+----------------+-----------------------+-------------+ +| 3000 | | | | | disabled | ++-----------+-----------------+-----------------+----------------+-----------------------+-------------+ +| 4000 | | PortChannel1001 | tagged | | disabled | ++-----------+-----------------+-----------------+----------------+-----------------------+-------------+ """ show_vlan_brief_with_portchannel_output="""\ @@ -74,30 +80,34 @@ +-----------+-----------------+-----------------+----------------+-----------------------+-------------+ | 3000 | | | | | disabled | +-----------+-----------------+-----------------+----------------+-----------------------+-------------+ +| 4000 | | PortChannel1001 | tagged | | disabled | ++-----------+-----------------+-----------------+----------------+-----------------------+-------------+ """ show_vlan_config_output="""\ -Name VID Member Mode --------- ----- ---------- -------- -Vlan1000 1000 Ethernet4 untagged -Vlan1000 1000 Ethernet8 untagged -Vlan1000 1000 Ethernet12 untagged -Vlan1000 1000 Ethernet16 untagged -Vlan2000 2000 Ethernet24 untagged -Vlan2000 2000 Ethernet28 untagged +Name VID Member Mode +-------- ----- --------------- -------- +Vlan1000 1000 Ethernet4 untagged +Vlan1000 1000 Ethernet8 untagged +Vlan1000 1000 Ethernet12 untagged +Vlan1000 1000 Ethernet16 untagged +Vlan2000 2000 Ethernet24 untagged +Vlan2000 2000 Ethernet28 untagged Vlan3000 3000 +Vlan4000 4000 PortChannel1001 tagged """ show_vlan_config_in_alias_mode_output="""\ -Name VID Member Mode --------- ----- -------- -------- -Vlan1000 1000 etp2 untagged -Vlan1000 1000 etp3 untagged -Vlan1000 1000 etp4 untagged -Vlan1000 1000 etp5 untagged -Vlan2000 2000 etp7 untagged -Vlan2000 2000 etp8 untagged +Name VID Member Mode +-------- ----- --------------- -------- +Vlan1000 1000 etp2 untagged +Vlan1000 1000 etp3 untagged +Vlan1000 1000 etp4 untagged +Vlan1000 1000 etp5 untagged +Vlan2000 2000 etp7 untagged +Vlan2000 2000 etp8 untagged Vlan3000 3000 +Vlan4000 4000 PortChannel1001 tagged """ config_vlan_add_dhcp_relay_output="""\ @@ -111,62 +121,68 @@ """ show_vlan_brief_output_with_new_dhcp_relay_address="""\ -+-----------+-----------------+------------+----------------+-----------------------+-------------+ -| VLAN ID | IP Address | Ports | Port Tagging | DHCP Helper Address | Proxy ARP | -+===========+=================+============+================+=======================+=============+ -| 1000 | 192.168.0.1/21 | Ethernet4 | untagged | 192.0.0.1 | disabled | -| | fc02:1000::1/64 | Ethernet8 | untagged | 192.0.0.2 | | -| | | Ethernet12 | untagged | 192.0.0.3 | | -| | | Ethernet16 | untagged | 192.0.0.4 | | -| | | | | 192.0.0.100 | | -+-----------+-----------------+------------+----------------+-----------------------+-------------+ -| 2000 | 192.168.0.10/21 | Ethernet24 | untagged | 192.0.0.1 | enabled | -| | fc02:1011::1/64 | Ethernet28 | untagged | 192.0.0.2 | | -| | | | | 192.0.0.3 | | -| | | | | 192.0.0.4 | | -+-----------+-----------------+------------+----------------+-----------------------+-------------+ -| 3000 | | | | | disabled | -+-----------+-----------------+------------+----------------+-----------------------+-------------+ ++-----------+-----------------+-----------------+----------------+-----------------------+-------------+ +| VLAN ID | IP Address | Ports | Port Tagging | DHCP Helper Address | Proxy ARP | ++===========+=================+=================+================+=======================+=============+ +| 1000 | 192.168.0.1/21 | Ethernet4 | untagged | 192.0.0.1 | disabled | +| | fc02:1000::1/64 | Ethernet8 | untagged | 192.0.0.2 | | +| | | Ethernet12 | untagged | 192.0.0.3 | | +| | | Ethernet16 | untagged | 192.0.0.4 | | +| | | | | 192.0.0.100 | | ++-----------+-----------------+-----------------+----------------+-----------------------+-------------+ +| 2000 | 192.168.0.10/21 | Ethernet24 | untagged | 192.0.0.1 | enabled | +| | fc02:1011::1/64 | Ethernet28 | untagged | 192.0.0.2 | | +| | | | | 192.0.0.3 | | +| | | | | 192.0.0.4 | | ++-----------+-----------------+-----------------+----------------+-----------------------+-------------+ +| 3000 | | | | | disabled | ++-----------+-----------------+-----------------+----------------+-----------------------+-------------+ +| 4000 | | PortChannel1001 | tagged | | disabled | ++-----------+-----------------+-----------------+----------------+-----------------------+-------------+ """ config_add_del_vlan_and_vlan_member_output="""\ -+-----------+-----------------+------------+----------------+-----------------------+-------------+ -| VLAN ID | IP Address | Ports | Port Tagging | DHCP Helper Address | Proxy ARP | -+===========+=================+============+================+=======================+=============+ -| 1000 | 192.168.0.1/21 | Ethernet4 | untagged | 192.0.0.1 | disabled | -| | fc02:1000::1/64 | Ethernet8 | untagged | 192.0.0.2 | | -| | | Ethernet12 | untagged | 192.0.0.3 | | -| | | Ethernet16 | untagged | 192.0.0.4 | | -+-----------+-----------------+------------+----------------+-----------------------+-------------+ -| 1001 | | Ethernet20 | untagged | | disabled | -+-----------+-----------------+------------+----------------+-----------------------+-------------+ -| 2000 | 192.168.0.10/21 | Ethernet24 | untagged | 192.0.0.1 | enabled | -| | fc02:1011::1/64 | Ethernet28 | untagged | 192.0.0.2 | | -| | | | | 192.0.0.3 | | -| | | | | 192.0.0.4 | | -+-----------+-----------------+------------+----------------+-----------------------+-------------+ -| 3000 | | | | | disabled | -+-----------+-----------------+------------+----------------+-----------------------+-------------+ ++-----------+-----------------+-----------------+----------------+-----------------------+-------------+ +| VLAN ID | IP Address | Ports | Port Tagging | DHCP Helper Address | Proxy ARP | ++===========+=================+=================+================+=======================+=============+ +| 1000 | 192.168.0.1/21 | Ethernet4 | untagged | 192.0.0.1 | disabled | +| | fc02:1000::1/64 | Ethernet8 | untagged | 192.0.0.2 | | +| | | Ethernet12 | untagged | 192.0.0.3 | | +| | | Ethernet16 | untagged | 192.0.0.4 | | ++-----------+-----------------+-----------------+----------------+-----------------------+-------------+ +| 1001 | | Ethernet20 | untagged | | disabled | ++-----------+-----------------+-----------------+----------------+-----------------------+-------------+ +| 2000 | 192.168.0.10/21 | Ethernet24 | untagged | 192.0.0.1 | enabled | +| | fc02:1011::1/64 | Ethernet28 | untagged | 192.0.0.2 | | +| | | | | 192.0.0.3 | | +| | | | | 192.0.0.4 | | ++-----------+-----------------+-----------------+----------------+-----------------------+-------------+ +| 3000 | | | | | disabled | ++-----------+-----------------+-----------------+----------------+-----------------------+-------------+ +| 4000 | | PortChannel1001 | tagged | | disabled | ++-----------+-----------------+-----------------+----------------+-----------------------+-------------+ """ config_add_del_vlan_and_vlan_member_in_alias_mode_output="""\ -+-----------+-----------------+---------+----------------+-----------------------+-------------+ -| VLAN ID | IP Address | Ports | Port Tagging | DHCP Helper Address | Proxy ARP | -+===========+=================+=========+================+=======================+=============+ -| 1000 | 192.168.0.1/21 | etp2 | untagged | 192.0.0.1 | disabled | -| | fc02:1000::1/64 | etp3 | untagged | 192.0.0.2 | | -| | | etp4 | untagged | 192.0.0.3 | | -| | | etp5 | untagged | 192.0.0.4 | | -+-----------+-----------------+---------+----------------+-----------------------+-------------+ -| 1001 | | etp6 | untagged | | disabled | -+-----------+-----------------+---------+----------------+-----------------------+-------------+ -| 2000 | 192.168.0.10/21 | etp7 | untagged | 192.0.0.1 | enabled | -| | fc02:1011::1/64 | etp8 | untagged | 192.0.0.2 | | -| | | | | 192.0.0.3 | | -| | | | | 192.0.0.4 | | -+-----------+-----------------+---------+----------------+-----------------------+-------------+ -| 3000 | | | | | disabled | -+-----------+-----------------+---------+----------------+-----------------------+-------------+ ++-----------+-----------------+-----------------+----------------+-----------------------+-------------+ +| VLAN ID | IP Address | Ports | Port Tagging | DHCP Helper Address | Proxy ARP | ++===========+=================+=================+================+=======================+=============+ +| 1000 | 192.168.0.1/21 | etp2 | untagged | 192.0.0.1 | disabled | +| | fc02:1000::1/64 | etp3 | untagged | 192.0.0.2 | | +| | | etp4 | untagged | 192.0.0.3 | | +| | | etp5 | untagged | 192.0.0.4 | | ++-----------+-----------------+-----------------+----------------+-----------------------+-------------+ +| 1001 | | etp6 | untagged | | disabled | ++-----------+-----------------+-----------------+----------------+-----------------------+-------------+ +| 2000 | 192.168.0.10/21 | etp7 | untagged | 192.0.0.1 | enabled | +| | fc02:1011::1/64 | etp8 | untagged | 192.0.0.2 | | +| | | | | 192.0.0.3 | | +| | | | | 192.0.0.4 | | ++-----------+-----------------+-----------------+----------------+-----------------------+-------------+ +| 3000 | | | | | disabled | ++-----------+-----------------+-----------------+----------------+-----------------------+-------------+ +| 4000 | | PortChannel1001 | tagged | | disabled | ++-----------+-----------------+-----------------+----------------+-----------------------+-------------+ """ class TestVlan(object): @classmethod From eb7945fade50d53f94f266b2f27b7181bf3e665d Mon Sep 17 00:00:00 2001 From: Vaibhav Hemant Dixit Date: Wed, 24 Mar 2021 09:43:02 -0700 Subject: [PATCH 137/342] Warmboot script improvements - timeout exec, disable swss autorestart, remove trap (#1495) Below changes are made to warmboot/fastboot script: 1. Add timeout to make sure syncd shutdown request will return in time. 5s 2. Disable trap handler after +e. 3. Make sure that syncd pre-shutdown wait won't take more than 60 seconds. 4. Make sure subsequent docker exec won't stuck for long time 5. Before shutdown, check docker exec on the relevant docker containers still works. --- scripts/fast-reboot | 52 +++++++++++++++++++++++++++++++-------------- 1 file changed, 36 insertions(+), 16 deletions(-) diff --git a/scripts/fast-reboot b/scripts/fast-reboot index 92648bd207..c782265e6b 100755 --- a/scripts/fast-reboot +++ b/scripts/fast-reboot @@ -47,7 +47,7 @@ function error() function debug() { if [[ x"${VERBOSE}" == x"yes" ]]; then - echo `date` $@ + echo $(date) $@ fi logger "$@" } @@ -128,10 +128,10 @@ function clear_warm_boot() { common_clear - result=`timeout 10s config warm_restart disable; if [[ $? == 124 ]]; then echo timeout; else echo "code ($?)"; fi` || /bin/true + result=$(timeout 10s config warm_restart disable; res=$?; if [[ $res == 124 ]]; then echo timeout; else echo "code ($res)"; fi) || /bin/true debug "Cancel warm-reboot: ${result}" - TIMESTAMP=`date +%Y%m%d-%H%M%S` + TIMESTAMP=$(date +%Y%m%d-%H%M%S) if [[ -f ${WARM_DIR}/${REDIS_FILE} ]]; then mv -f ${WARM_DIR}/${REDIS_FILE} ${WARM_DIR}/${REDIS_FILE}.${TIMESTAMP} || /bin/true fi @@ -155,7 +155,7 @@ function initialize_pre_shutdown() { debug "Initialize pre-shutdown ..." TABLE="WARM_RESTART_TABLE|warm-shutdown" - RESTORE_COUNT=`sonic-db-cli STATE_DB hget "${TABLE}" restore_count` + RESTORE_COUNT=$(sonic-db-cli STATE_DB hget "${TABLE}" restore_count) if [[ -z "$RESTORE_COUNT" ]]; then sonic-db-cli STATE_DB hset "${TABLE}" "restore_count" "0" > /dev/null fi @@ -165,9 +165,10 @@ function initialize_pre_shutdown() function request_pre_shutdown() { debug "Requesting pre-shutdown ..." - /usr/bin/docker exec -i syncd /usr/bin/syncd_request_shutdown --pre &> /dev/null || { + STATE=$(timeout 5s docker exec syncd /usr/bin/syncd_request_shutdown --pre &> /dev/null; if [[ $? == 124 ]]; then echo "timed out"; fi) + if [[ x"${STATE}" == x"timed out" ]]; then error "Failed to request pre-shutdown" - } + fi } function recover_issu_bank_file() @@ -205,18 +206,18 @@ function wait_for_pre_shutdown_complete_or_fail() STATE="requesting" declare -i waitcount declare -i retrycount - waitcount=0 retrycount=0 + start_time=$SECONDS + elapsed_time=$(($SECONDS - $start_time)) # Wait up to 60 seconds for pre-shutdown to complete - while [[ ${waitcount} -lt 600 ]]; do + while [[ ${elapsed_time} -lt 60 ]]; do # timeout doesn't work with -i option of "docker exec". Therefore we have # to invoke docker exec directly below. - STATE=`timeout 5s sonic-db-cli STATE_DB hget "${TABLE}" state; if [[ $? == 124 ]]; then echo "timed out"; fi` + STATE=$(timeout 5s sonic-db-cli STATE_DB hget "${TABLE}" state; if [[ $? == 124 ]]; then echo "timed out"; fi) if [[ x"${STATE}" == x"timed out" ]]; then - waitcount+=50 retrycount+=1 - debug "Timed out getting pre-shutdown state (${waitcount}) retry count ${retrycount} ..." + debug "Timed out getting pre-shutdown state, retry count ${retrycount} ..." if [[ retrycount -gt 2 ]]; then break fi @@ -224,14 +225,14 @@ function wait_for_pre_shutdown_complete_or_fail() break else sleep 0.1 - waitcount+=1 fi + elapsed_time=$(($SECONDS - $start_time)) done if [[ x"${STATE}" != x"pre-shutdown-succeeded" ]]; then - debug "Syncd pre-shutdown failed: ${STATE} ..." + debug "Syncd pre-shutdown failed, state: ${STATE} ..." else - debug "Pre-shutdown succeeded ..." + debug "Pre-shutdown succeeded, state: ${STATE} ..." fi } @@ -259,7 +260,10 @@ function backup_database() # Dump redis content to a file 'dump.rdb' in warmboot directory docker cp database:/var/lib/$target_db_inst/$REDIS_FILE $WARM_DIR - docker exec -i database rm /var/lib/$target_db_inst/$REDIS_FILE + STATE=$(timeout 5s docker exec database rm /var/lib/$target_db_inst/$REDIS_FILE; if [[ $? == 124 ]]; then echo "timed out"; fi) + if [[ x"${STATE}" == x"timed out" ]]; then + error "Timed out during attempting to remove Redis dump file from database container" + fi } function setup_control_plane_assistant() @@ -309,10 +313,23 @@ function setup_reboot_variables() INITRD=$(echo $KERNEL_IMAGE | sed 's/vmlinuz/initrd.img/g') } +function check_docker_exec() +{ + containers="radv bgp lldp swss database teamd syncd" + for container in $containers; do + STATE=$(timeout 1s docker exec $container echo "success"; if [[ $? == 124 ]]; then echo "timed out"; fi) + if [[ x"${STATE}" == x"timed out" ]]; then + error "Docker exec on $container timedout" + exit "${EXIT_FAILURE}" + fi + done +} + function reboot_pre_check() { + check_docker_exec # Make sure that the file system is normal: read-write able - filename="/host/test-`date +%Y%m%d-%H%M%S`" + filename="/host/test-$(date +%Y%m%d-%H%M%S)" if [[ ! -f ${filename} ]]; then touch ${filename} fi @@ -541,6 +558,9 @@ fi # service will go down and we cannot recover from it. set +e +# disable trap-handlers which were set before +trap '' EXIT HUP INT QUIT TERM KILL ABRT ALRM + if [ -x ${LOG_SSD_HEALTH} ]; then debug "Collecting logs to check ssd health before ${REBOOT_TYPE}..." ${LOG_SSD_HEALTH} From 99d251f2da4c0e78da33d67b13239e2c1e183b4f Mon Sep 17 00:00:00 2001 From: Andriy Yurkiv <70649192+ayurkiv-nvda@users.noreply.github.com> Date: Wed, 24 Mar 2021 18:53:10 +0200 Subject: [PATCH 138/342] Enable PFCWD only on ports where PFC is enabled (#1508) - What I did Prevent errors in the log when PFCWD starts on ports that PFC was not previously enabled. Example of such errors in the log: Nov 13 17:27:22.878468 arc-switch1038 ERR swss#orchagent: :- createEntry: Failed to start PFC Watchdog on port Ethernet100 Nov 13 17:27:23.878620 arc-switch1038 NOTICE swss#orchagent: :- registerInWdDb: No lossless TC found on port Ethernet100 Add unit test to cover the new flow. - How I did it Before enabling PFCWD on a port, verify if PFC was previously enabled. If not, reply with an error to the user and as a warning in the log. In the case where the command to enable PFCWD is done for all ports, the configuration will be applied for only those that has PCF enabled and for the rest the configuration will be skipped. In this case the output of the requested command will be only with a list of skipped ports. - How to verify it 'pfcwd start EthernetX 600' where EthernetX is a port that has not configured PFC (usually admin state 'down' by default) --- pfcwd/main.py | 39 ++++++++----- tests/mock_tables/asic0/config_db.json | 21 +++++++ tests/mock_tables/asic1/config_db.json | 20 +++++++ tests/mock_tables/config_db.json | 9 +++ tests/pfcwd_input/pfcwd_test_vectors.py | 24 ++++++-- tests/pfcwd_test.py | 78 +++++++++++++++++++++++++ 6 files changed, 169 insertions(+), 22 deletions(-) diff --git a/pfcwd/main.py b/pfcwd/main.py index bc5211191b..9b038316ca 100644 --- a/pfcwd/main.py +++ b/pfcwd/main.py @@ -11,6 +11,11 @@ from tabulate import tabulate from utilities_common import multi_asic as multi_asic_util from utilities_common import constants +from sonic_py_common import logger + +SYSLOG_IDENTIFIER = "config" + +log = logger.Logger(SYSLOG_IDENTIFIER) # mock the redis for unit test purposes # try: @@ -53,7 +58,7 @@ CONFIG_HEADER = ('PORT',) + list(zip(*CONFIG_DESCRIPTION))[0] CONFIG_DB_PFC_WD_TABLE_NAME = 'PFC_WD' - +PORT_QOS_MAP = "PORT_QOS_MAP" # Main entrypoint @click.group() @@ -242,6 +247,20 @@ def start(self, action, restoration_time, ports, detection_time): exit() self.start_cmd(action, restoration_time, ports, detection_time) + + def verify_pfc_enable_status_per_port(self, port, pfcwd_info): + pfc_status = self.config_db.get_entry(PORT_QOS_MAP, port).get('pfc_enable') + if pfc_status is None: + log.log_warning("SKIPPED: PFC is not enabled on port: {}".format(port), also_print_to_console=True) + return + + self.config_db.mod_entry( + CONFIG_DB_PFC_WD_TABLE_NAME, port, None + ) + self.config_db.mod_entry( + CONFIG_DB_PFC_WD_TABLE_NAME, port, pfcwd_info + ) + @multi_asic_util.run_on_multi_asic def start_cmd(self, action, restoration_time, ports, detection_time): if os.geteuid() != 0: @@ -272,21 +291,11 @@ def start_cmd(self, action, restoration_time, ports, detection_time): for port in ports: if port == "all": for p in all_ports: - self.config_db.mod_entry( - CONFIG_DB_PFC_WD_TABLE_NAME, p, None - ) - self.config_db.mod_entry( - CONFIG_DB_PFC_WD_TABLE_NAME, p, pfcwd_info - ) + self.verify_pfc_enable_status_per_port(p, pfcwd_info) else: if port not in all_ports: continue - self.config_db.mod_entry( - CONFIG_DB_PFC_WD_TABLE_NAME, port, None - ) - self.config_db.mod_entry( - CONFIG_DB_PFC_WD_TABLE_NAME, port, pfcwd_info - ) + self.verify_pfc_enable_status_per_port(port, pfcwd_info) @multi_asic_util.run_on_multi_asic def interval(self, poll_interval): @@ -375,9 +384,7 @@ def start_default(self): } for port in active_ports: - self.config_db.set_entry( - CONFIG_DB_PFC_WD_TABLE_NAME, port, pfcwd_info - ) + self.verify_pfc_enable_status_per_port(port, pfcwd_info) pfcwd_info = {} pfcwd_info['POLL_INTERVAL'] = DEFAULT_POLL_INTERVAL * multiply diff --git a/tests/mock_tables/asic0/config_db.json b/tests/mock_tables/asic0/config_db.json index 14ee76aaa3..0643baf57f 100644 --- a/tests/mock_tables/asic0/config_db.json +++ b/tests/mock_tables/asic0/config_db.json @@ -108,6 +108,27 @@ "BIG_RED_SWITCH": "enable", "POLL_INTERVAL": "199" }, + "PORT_QOS_MAP|Ethernet0": { + "pfc_enable": "3,4" + }, + "PORT_QOS_MAP|Ethernet4": { + "pfc_enable": "3,4" + }, + "PORT_QOS_MAP|Ethernet8": { + "pfc_enable": "3,4" + }, + "PORT_QOS_MAP|Ethernet-BP0": { + "pfc_enable": "3,4" + }, + "PORT_QOS_MAP|Ethernet-BP4": { + "pfc_enable": "3,4" + }, + "PORT_QOS_MAP|Ethernet-BP256": { + "pfc_enable": "3,4" + }, + "PORT_QOS_MAP|Ethernet-BP260": { + "pfc_enable": "3,4" + }, "CRM|Config": { "acl_table_threshold_type": "percentage", "nexthop_group_threshold_type": "percentage", diff --git a/tests/mock_tables/asic1/config_db.json b/tests/mock_tables/asic1/config_db.json index 4d515ba2d3..5aab92c45a 100644 --- a/tests/mock_tables/asic1/config_db.json +++ b/tests/mock_tables/asic1/config_db.json @@ -77,6 +77,26 @@ "BIG_RED_SWITCH": "enable", "POLL_INTERVAL": "199" }, + "PORT_QOS_MAP|Ethernet0": { + "pfc_enable": "3,4" + }, + "PORT_QOS_MAP|Ethernet4": { + "pfc_enable": "3,4" + }, + "PORT_QOS_MAP|Ethernet8": { + "pfc_enable": "3,4" + }, + "PORT_QOS_MAP|Ethernet-BP0": { + "pfc_enable": "3,4" + }, + "PORT_QOS_MAP|Ethernet-BP4": { + "pfc_enable": "3,4" + }, + "PORT_QOS_MAP|Ethernet-BP256": { + "pfc_enable": "3,4" + }, + "PORT_QOS_MAP|Ethernet-BP260": { + }, "CRM|Config": { "acl_table_threshold_type": "percentage", "nexthop_group_threshold_type": "percentage", diff --git a/tests/mock_tables/config_db.json b/tests/mock_tables/config_db.json index 14dec0192b..051c49004d 100644 --- a/tests/mock_tables/config_db.json +++ b/tests/mock_tables/config_db.json @@ -683,6 +683,10 @@ "peer_switch": "sonic-switch", "type": "ToRRouter" }, + "DEVICE_NEIGHBOR|Ethernet0": { + "name": "Servers", + "port": "eth0" + }, "DEVICE_NEIGHBOR|Ethernet4": { "name": "Servers0", "port": "eth0" @@ -1450,6 +1454,11 @@ "PORT_QOS_MAP|Ethernet0": { "pfc_enable": "3,4" }, + "PORT_QOS_MAP|Ethernet4": { + "pfc_enable": "3,4" + }, + "PORT_QOS_MAP|Ethernet8": { + }, "DEFAULT_LOSSLESS_BUFFER_PARAMETER|AZURE": { "default_dynamic_th": "0", "over_subscribe_ratio": "2" diff --git a/tests/pfcwd_input/pfcwd_test_vectors.py b/tests/pfcwd_input/pfcwd_test_vectors.py index 9b6b7488a2..127bfaac2b 100644 --- a/tests/pfcwd_input/pfcwd_test_vectors.py +++ b/tests/pfcwd_input/pfcwd_test_vectors.py @@ -22,7 +22,7 @@ --------- -------- ---------------- ------------------ Ethernet0 forward 302 301 Ethernet4 forward 302 301 -Ethernet8 forward 302 301 +Ethernet8 drop 600 600 """ pfcwd_show_start_action_alert_output = """\ @@ -31,7 +31,7 @@ --------- -------- ---------------- ------------------ Ethernet0 alert 502 501 Ethernet4 alert 502 501 -Ethernet8 alert 502 501 +Ethernet8 drop 600 600 """ pfcwd_show_start_action_drop_output = """\ @@ -40,7 +40,16 @@ --------- -------- ---------------- ------------------ Ethernet0 drop 602 601 Ethernet4 drop 602 601 -Ethernet8 drop 602 601 +Ethernet8 drop 600 600 +""" + +pfcwd_show_start_default = """\ +Changed polling interval to 200ms + PORT ACTION DETECTION TIME RESTORATION TIME +--------- -------- ---------------- ------------------ +Ethernet0 drop 200 200 +Ethernet4 drop 200 200 +Ethernet8 drop 600 600 """ pfcwd_show_start_config_output_fail = """\ @@ -94,6 +103,9 @@ ------- -------- ------------------------- ------------ ------------ ----------------- ----------------- """ +pfc_is_not_enabled = "SKIPPED: PFC is not enabled on port: Ethernet8\n" +pfc_is_not_enabled_masic = "SKIPPED: PFC is not enabled on port: Ethernet-BP260\n" + testData = { 'pfcwd_show_config' : [ {'cmd' : ['show', 'config'], 'args': [], @@ -290,7 +302,7 @@ Ethernet-BP0 drop 302 301 Ethernet-BP4 drop 302 301 Ethernet-BP256 drop 302 301 -Ethernet-BP260 drop 302 301 +Ethernet-BP260 drop 200 200 """ show_pfc_config_start_action_alert_masic = """\ @@ -305,7 +317,7 @@ Ethernet-BP0 alert 402 401 Ethernet-BP4 alert 402 401 Ethernet-BP256 alert 402 401 -Ethernet-BP260 alert 402 401 +Ethernet-BP260 drop 200 200 """ show_pfc_config_start_action_forward_masic = """\ @@ -320,7 +332,7 @@ Ethernet-BP0 forward 702 701 Ethernet-BP4 forward 702 701 Ethernet-BP256 forward 702 701 -Ethernet-BP260 forward 702 701 +Ethernet-BP260 drop 200 200 """ show_pfc_config_start_fail = """\ diff --git a/tests/pfcwd_test.py b/tests/pfcwd_test.py index b8d19edd57..9a97ff7b33 100644 --- a/tests/pfcwd_test.py +++ b/tests/pfcwd_test.py @@ -131,6 +131,7 @@ def test_pfcwd_start_actions(self, mock_os): print(result.output) assert result.output == pfcwd_show_config_output + # always skip Ethernet8 because 'pfc_enable' not configured for this port mock_os.geteuid.return_value = 0 result = runner.invoke( pfcwd.cli.commands["start"], @@ -192,6 +193,53 @@ def test_pfcwd_start_actions(self, mock_os): assert result.exit_code == 0 assert result.output == pfcwd_show_start_action_drop_output + result = runner.invoke( + pfcwd.cli.commands["start_default"], + [], + obj=db + ) + + assert result.exit_code == 0 + + result = runner.invoke( + pfcwd.cli.commands["show"].commands["config"], + obj=db + ) + + print(result.output) + assert result.exit_code == 0 + assert result.output == pfcwd_show_start_default + + + @patch('pfcwd.main.os') + def test_pfcwd_pfc_not_enabled(self, mock_os): + import pfcwd.main as pfcwd + runner = CliRunner() + db = Db() + + # get initial config + result = runner.invoke( + pfcwd.cli.commands["show"].commands["config"], + obj=db + ) + print(result.output) + assert result.output == pfcwd_show_config_output + + mock_os.geteuid.return_value = 0 + + result = runner.invoke( + pfcwd.cli.commands["start"], + [ + "--action", "drop", "--restoration-time", "601", + "Ethernet8", "602" + ], + obj=db + ) + print(result.output) + assert result.exit_code == 0 + assert pfc_is_not_enabled == result.output + + def test_pfcwd_start_ports_invalid(self): # pfcwd start --action drop --restoration-time 200 Ethernet0 200 import pfcwd.main as pfcwd @@ -322,6 +370,7 @@ def test_pfcwd_start_actions_masic(self, mock_os): print(result.output) assert result.output == show_pfc_config_all + # always skip Ethernet-BP260 because 'pfc_enable' not configured for this port mock_os.geteuid.return_value = 0 result = runner.invoke( pfcwd.cli.commands["start"], @@ -411,6 +460,35 @@ def test_pfcwd_start_ports_masic_invalid(self): # same as original config assert result.output == show_pfc_config_all + @patch('pfcwd.main.os') + def test_pfcwd_pfc_not_enabled_masic(self, mock_os): + import pfcwd.main as pfcwd + runner = CliRunner() + db = Db() + + mock_os.geteuid.return_value = 0 + result = runner.invoke( + pfcwd.cli.commands["start"], + [ + "--action", "drop", "--restoration-time", "601", + "Ethernet-BP260", "602" + ], + obj=db + ) + + assert result.exit_code == 0 + assert pfc_is_not_enabled_masic == result.output + + result = runner.invoke( + pfcwd.cli.commands["show"].commands["config"], + obj=db + ) + + print(result.output) + assert result.exit_code == 0 + # same as original config + assert result.output == show_pfc_config_all + @classmethod def teardown_class(cls): print("TEARDOWN") From 1ee04fb4b07e801e4c6a4bde87e618b385a64c3c Mon Sep 17 00:00:00 2001 From: Sangita Maity Date: Wed, 24 Mar 2021 10:06:58 -0700 Subject: [PATCH 139/342] Modified the tests to use mock functionality of get_child_port function under portconfig utility (#1464) Modified the tests to use mock functionality of get_child_port function under portconfig utility. This will remove the dependency of port config utility in the sonic-buildimage and make the test case more robust specific to the DPB cli utility. Signed-off-by: Sangita Maity --- tests/config_dpb_test.py | 272 +++++++++++++++++++++++++++++++++++---- 1 file changed, 246 insertions(+), 26 deletions(-) diff --git a/tests/config_dpb_test.py b/tests/config_dpb_test.py index e8f3149682..e347538bcf 100644 --- a/tests/config_dpb_test.py +++ b/tests/config_dpb_test.py @@ -1,5 +1,6 @@ import json import os +import re from imp import load_source from unittest import mock @@ -16,12 +17,12 @@ os.path.join(os.path.dirname(__file__), '..', 'config', 'config_mgmt.py')) import config_mgmt -breakout_cfg_file_json = { +# Sample platform.json for Test +BRKOUT_CFG_FILE_JSON = { "interfaces": { "Ethernet0": { "index": "1,1,1,1", "lanes": "65,66,67,68", - "alias_at_lanes": "Eth1/1, Eth1/2, Eth1/3, Eth1/4", "breakout_modes": { "1x100G[40G]": ["Eth1"], "2x50G": ["Eth1/1", "Eth1/3"], @@ -31,7 +32,6 @@ "Ethernet4": { "index": "2,2,2,2", "lanes": "69,70,71,72", - "alias_at_lanes": "Eth2/1, Eth2/2, Eth2/3, Eth2/4", "breakout_modes": { "1x100G[40G]": ["Eth2"], "2x50G": ["Eth2/1", "Eth2/3"], @@ -42,7 +42,6 @@ "Ethernet8": { "index": "3,3,3,3", "lanes": "73,74,75,76", - "alias_at_lanes": "Eth3/1, Eth3/2, Eth3/3, Eth3/4", "breakout_modes": { "1x100G[40G]": ["Eth3"], "2x50G": ["Eth3/1", "Eth3/3"], @@ -53,7 +52,6 @@ "Ethernet12": { "index": "4,4,4,4", "lanes": "77,78,79,80", - "alias_at_lanes": "Eth4/1, Eth4/2, Eth4/3, Eth4/4", "breakout_modes": { "1x100G[40G]": ["Eth4"], "2x50G": ["Eth4/1", "Eth4/3"], @@ -63,6 +61,17 @@ } } +# Default Parameter +PREFIX = "Ethernet" +SPEED_LANE_MAP = { + "4x25G[10G]": [1,1,1,1], + "2x50G": [2,2], + "1x100G[40G]": [4], + "1x50G(2)+2x25G(2)": [2,1,1], + "2x25G(2)+1x50G(2)": [1,1,2] +} +LANE_SPEED = 25000 + @pytest.fixture(scope='module') def breakout_cfg_file(): ''' @@ -71,7 +80,7 @@ def breakout_cfg_file(): file = '/tmp/breakout_cfg_file.json' print("File is:{}",file) with open(file, 'w') as f: - json.dump(breakout_cfg_file_json, f, indent=4) + json.dump(BRKOUT_CFG_FILE_JSON, f, indent=4) yield file os.system("rm /tmp/breakout_cfg_file.json") @@ -163,6 +172,95 @@ def config_mgmt_dpb(cfgdb): cmdpb._verifyAsicDB = mock.MagicMock(return_value=True) return cmdpb +def _generate_args(portIdx, laneIdx, mode): + ''' + Generate port to deleted, added and {lanes, speed} setting based on + current and new mode. + + Parameters: + portIdx (int): Port Index. + laneIdx (int): Lane Index. + mode (str): can be current breakout mode or target breakout mode of Port. + + Example -> + For generate_args(0, 65, '4x25G', '2x25G(2)+1x50G(2)'): + Return: + childPorts, pJson (tuple)[list, dict] + Example -> + childPorts: ['Ethernet0', 'Ethernet1', 'Ethernet2', 'Ethernet3'] + pJson: { + 'PORT': { + 'Ethernet0': {'speed': '25000', 'lanes': '65'}, + 'Ethernet1': {'speed': '25000', 'lanes': '66'}, + 'Ethernet2': {'speed': '50000', 'lanes': '67,68'} + } + } + ''' + + # Generate child Ports + l = list(SPEED_LANE_MAP[mode]) + l.insert(0, 0) + id = portIdx + childPorts = list() + + for i in l[:-1]: + id = id + i + portName = portName = "{}{}".format(PREFIX, id) + childPorts.append(portName) + + # Generate port Json for child ports + l = SPEED_LANE_MAP[mode] + pJson = {"PORT": {}} + li = laneIdx + pi = 0 + + for i in l: + speed = int(LANE_SPEED)*int(i) + lanes = [str(int(li)+int(j)) for j in range(i)]; lanes = ','.join(lanes) + pJson['PORT'][childPorts[pi]] = {"speed": str(speed), "lanes": str(lanes)} + li = int(li)+int(i); pi = pi + 1 + + return childPorts, pJson + +def get_child_ports_mock(interface, mode): + ''' + get_child_ports function. portconfig class instance with mocked functions. + + Parameters: + interface (str): Interface Name. + mode (str): can be current breakout mode or target breakout mode of Port. + + Return: + childPorts, pJson (tuple)[list, dict] + Example-> Input sample: interface = 'Ethernet0' + mode = "2x25G(2)+1x50G(2)" + + childPorts: ['Ethernet0', 'Ethernet1', 'Ethernet2'] + pJson: { + 'PORT': { + 'Ethernet0': {'speed': '25000', 'lanes': '65'}, + 'Ethernet1': {'speed': '25000', 'lanes': '66'}, + 'Ethernet2': {'speed': '50000', 'lanes': '67,68'} + } + } + ''' + + interface_portmap = dict() + if interface in BRKOUT_CFG_FILE_JSON["interfaces"].keys(): + fv = BRKOUT_CFG_FILE_JSON["interfaces"][interface] + portIdx_reg = re.search("{}(\d+)".format(PREFIX), interface) + if portIdx_reg is not None: + portIdx = int(portIdx_reg.group(1)) + laneIdx = fv["lanes"].split(",")[0] + interface_portmap[interface] = { "portIdx": portIdx, "laneIdx": laneIdx } + + _, pJson = _generate_args(portIdx, laneIdx, mode) + return pJson['PORT'] + else: + return {} + else: + return {} + class TestConfigDPB(object): @classmethod def setup_class(cls): @@ -229,6 +327,11 @@ def test_config_breakout_extra_table_warning(self, breakout_cfg_file, sonic_db): write_config_db(db.cfgdb, unknown) print(db.cfgdb.get_table('UNKNOWN_TABLE')) + # Input Data + interface = 'Ethernet0' + curMode = '4x25G[10G]' + newMode = '2x50G' + # Mock functions except breakout_warnUser_extraTables mock_funcs[0] = config.device_info.get_path_to_port_config_file mock_funcs[1] = config.load_ConfigMgmt @@ -236,12 +339,15 @@ def test_config_breakout_extra_table_warning(self, breakout_cfg_file, sonic_db): mock.MagicMock(return_value = breakout_cfg_file) config.load_ConfigMgmt = \ mock.MagicMock(return_value = config_mgmt_dpb(db.cfgdb)) + config.get_child_ports = mock.MagicMock( + side_effect = [get_child_ports_mock(interface, curMode), get_child_ports_mock(interface, newMode)]) runner = CliRunner() obj = {'config_db':db.cfgdb} result = runner.invoke(config.config.commands["interface"].\ - commands["breakout"], ['Ethernet0', '2x50G', '-v', '-y'], obj=obj) + commands["breakout"], ['{}'.format(interface), '{}'.format(newMode), '-v', '-y'], obj=obj) + print(result.exit_code, result.output) assert result.exit_code == 0 assert 'Below Config can not be verified' in result.output @@ -249,7 +355,7 @@ def test_config_breakout_extra_table_warning(self, breakout_cfg_file, sonic_db): assert 'Do you wish to Continue?' in result.output brk_cfg_table = db.cfgdb.get_table('BREAKOUT_CFG') - assert brk_cfg_table["Ethernet0"]["brkout_mode"] == '4x25G[10G]' + assert brk_cfg_table["Ethernet0"]["brkout_mode"] == '{}'.format(curMode) # remove unknown table in config unknown = { @@ -275,8 +381,19 @@ def test_config_breakout_verbose(self, sonic_db): runner = CliRunner() obj = {'config_db':db.cfgdb} + # Input Data + interface = 'Ethernet0' + curMode = '4x25G[10G]' + newMode = '2x50G' + + print("Mocked Child ports data-> {}".format([get_child_ports_mock(interface, curMode), get_child_ports_mock(interface, newMode)])) + + config.get_child_ports = mock.MagicMock( + side_effect = [get_child_ports_mock(interface, curMode), get_child_ports_mock(interface, newMode)]) + result = runner.invoke(config.config.commands["interface"].\ - commands["breakout"], ['Ethernet0', '2x50G', '-v', '-y'], obj=obj) + commands["breakout"], ['{}'.format(interface), '{}'.format(newMode), '-v', '-y'], obj=obj) + print(result.exit_code, result.output) assert result.exit_code == 0 assert 'Dependecies Exist.' in result.output @@ -300,17 +417,29 @@ def test_config_breakout_negative_cases(self, sonic_db): runner = CliRunner() obj = {'config_db':db.cfgdb} + # Input Data + interface = 'Ethern' + curMode = '4x25G[10G]' + newMode = '2x50G' + + # Wrong interface name result = runner.invoke(config.config.commands["interface"].\ - commands["breakout"], ['Ethern', '2x50G', '-v', '-y'], obj=obj) + commands["breakout"], ['{}'.format(interface), '{}'.format(newMode), '-v', '-y'], obj=obj) + print(result.exit_code, result.output) assert result.exit_code == 1 - #TODO: Uncomment it after Dev Fix, right now it is python bt - #assert "Ethern is not present" in result.output + assert "Ethern interface is NOT present" in result.output + + # Input Data + interface = 'Ethernet0' + curMode = '4x25G[10G]' + newMode = '1x50G' # Wrong mode result = runner.invoke(config.config.commands["interface"].\ commands["breakout"], ['Ethernet0', '1x50G', '-v', '-y'], obj=obj) + print(result.exit_code, result.output) assert result.exit_code == 1 assert "Target mode 1x50G is not available for the port Ethernet0" in result.output @@ -318,9 +447,15 @@ def test_config_breakout_negative_cases(self, sonic_db): brk_cfg_table = db.cfgdb.get_table('BREAKOUT_CFG') assert brk_cfg_table["Ethernet0"]["brkout_mode"] == '4x25G[10G]' + # Input Data + interface = 'Ethernet0' + curMode = '4x25G[10G]' + newMode = '2x50G' + # Wrong option result = runner.invoke(config.config.commands["interface"].\ commands["breakout"], ['Ethernet0', '2x50G', '-v', '-p' '-y'], obj=obj) + print(result.exit_code, result.output) assert result.exit_code == 2 assert "no such option: -p" in result.output @@ -362,22 +497,44 @@ def test_config_breakout_various_modes(self, sonic_db): # Ethernet8: start from 4x25G-->2x50G with -f -l def config_dpb_port8_4x25G_2x50G_f_l(): + # Input Data + interface = 'Ethernet8' + curMode = '4x25G[10G]' + newMode = '2x50G' + + print("Mocked Child ports data-> {}".format([get_child_ports_mock(interface, curMode), get_child_ports_mock(interface, newMode)])) + + config.get_child_ports = mock.MagicMock( + side_effect = [get_child_ports_mock(interface, curMode), get_child_ports_mock(interface, newMode)]) + result = runner.invoke(config.config.commands["interface"].\ - commands["breakout"], ['Ethernet8', '2x50G', '-v', '-f',\ + commands["breakout"], ['{}'.format(interface), '{}'.format(newMode), '-v', '-f',\ '-l', '-y'], obj=obj) + print(result.exit_code, result.output) assert result.exit_code == 0 assert 'Breakout process got successfully completed.' in result.output brk_cfg_table = db.cfgdb.get_table('BREAKOUT_CFG') - assert brk_cfg_table["Ethernet8"]["brkout_mode"] == '2x50G' + assert brk_cfg_table["Ethernet8"]["brkout_mode"] == '{}'.format(newMode) return # Ethernet8: move from 2x50G-->1x100G without force, list deps def config_dpb_port8_2x50G_1x100G(): + # Input Data + interface = 'Ethernet8' + curMode = '2x50G' + newMode = '1x100G[40G]' + + print("Mocked Child ports data-> {}".format([get_child_ports_mock(interface, curMode), get_child_ports_mock(interface, newMode)])) + + config.get_child_ports = mock.MagicMock( + side_effect = [get_child_ports_mock(interface, curMode), get_child_ports_mock(interface, newMode)]) + result = runner.invoke(config.config.commands["interface"].\ - commands["breakout"], ['Ethernet8', '1x100G[40G]', '-v','-y'], obj=obj) + commands["breakout"], ['{}'.format(interface), '{}'.format(newMode), '-v','-y'], obj=obj) + print(result.exit_code, result.output) assert result.exit_code == 0 assert 'Dependecies Exist.' in result.output @@ -385,76 +542,133 @@ def config_dpb_port8_2x50G_1x100G(): assert 'NO-NSW-PACL-V4' in result.output brk_cfg_table = db.cfgdb.get_table('BREAKOUT_CFG') - assert brk_cfg_table["Ethernet8"]["brkout_mode"] == '2x50G' + assert brk_cfg_table["Ethernet8"]["brkout_mode"] == '{}'.format(curMode) return # Ethernet8: move from 2x50G-->1x100G with force, where deps exists def config_dpb_port8_2x50G_1x100G_f(): + # Input Data + interface = 'Ethernet8' + curMode = '2x50G' + newMode = '1x100G[40G]' + + print("Mocked Child ports data-> {}".format([get_child_ports_mock(interface, curMode), get_child_ports_mock(interface, newMode)])) + + config.get_child_ports = mock.MagicMock( + side_effect = [get_child_ports_mock(interface, curMode), get_child_ports_mock(interface, newMode)]) + result = runner.invoke(config.config.commands["interface"].\ - commands["breakout"], ['Ethernet8', '1x100G[40G]', '-v', '-f',\ + commands["breakout"], ['{}'.format(interface), '{}'.format(newMode), '-v', '-f',\ '-y'], obj=obj) + print(result.exit_code, result.output) assert result.exit_code == 0 assert 'Breakout process got successfully completed.' in result.output brk_cfg_table = db.cfgdb.get_table('BREAKOUT_CFG') - assert brk_cfg_table["Ethernet8"]["brkout_mode"] == '1x100G[40G]' + assert brk_cfg_table["Ethernet8"]["brkout_mode"] == '{}'.format(newMode) return # Ethernet8: move from 1x100G-->4x25G without force, no deps def config_dpb_port8_1x100G_4x25G(): + + # Input Data + interface = 'Ethernet8' + curMode = '1x100G[40G]' + newMode = '4x25G[10G]' + + print("Mocked Child ports data-> {}".format([get_child_ports_mock(interface, curMode), get_child_ports_mock(interface, newMode)])) + + config.get_child_ports = mock.MagicMock( + side_effect = [get_child_ports_mock(interface, curMode), get_child_ports_mock(interface, newMode)]) + + result = runner.invoke(config.config.commands["interface"].\ - commands["breakout"], ['Ethernet8', '4x25G[10G]', '-v',\ + commands["breakout"], ['{}'.format(interface), '{}'.format(newMode), '-v',\ '-y'], obj=obj) + print(result.exit_code, result.output) assert result.exit_code == 0 assert 'Breakout process got successfully completed.' in result.output brk_cfg_table = db.cfgdb.get_table('BREAKOUT_CFG') - assert brk_cfg_table["Ethernet8"]["brkout_mode"] == '4x25G[10G]' + assert brk_cfg_table["Ethernet8"]["brkout_mode"] == '{}'.format(newMode) return # Ethernet8: move from 4x25G-->1x100G with force, no deps def config_dpb_port8_4x25G_1x100G_f(): + # Input Data + interface = 'Ethernet8' + curMode = '4x25G[10G]' + newMode = '1x100G[40G]' + + print("Mocked Child ports data-> {}".format([get_child_ports_mock(interface, curMode), get_child_ports_mock(interface, newMode)])) + + config.get_child_ports = mock.MagicMock( + side_effect = [get_child_ports_mock(interface, curMode), get_child_ports_mock(interface, newMode)]) + result = runner.invoke(config.config.commands["interface"].\ - commands["breakout"], ['Ethernet8', '1x100G[40G]', '-v', '-f',\ + commands["breakout"], ['{}'.format(interface), '{}'.format(newMode), '-v', '-f',\ '-y'], obj=obj) + print(result.exit_code, result.output) assert result.exit_code == 0 assert 'Breakout process got successfully completed.' in result.output brk_cfg_table = db.cfgdb.get_table('BREAKOUT_CFG') - assert brk_cfg_table["Ethernet8"]["brkout_mode"] == '1x100G[40G]' + assert brk_cfg_table["Ethernet8"]["brkout_mode"] == '{}'.format(newMode) return # Ethernet8: move from 1x100G-->1x50G(2)+2x25G(2) with -f -l, def config_dpb_port8_1x100G_1x50G_2x25G_f_l(): + # Input Data + interface = 'Ethernet8' + curMode = '1x100G[40G]' + newMode = '1x50G(2)+2x25G(2)' + + print("Mocked Child ports data-> {}".format([get_child_ports_mock(interface, curMode), get_child_ports_mock(interface, newMode)])) + + config.get_child_ports = mock.MagicMock( + side_effect = [get_child_ports_mock(interface, curMode), get_child_ports_mock(interface, newMode)]) + result = runner.invoke(config.config.commands["interface"].\ - commands["breakout"], ['Ethernet8', '1x50G(2)+2x25G(2)', '-v',\ + commands["breakout"], ['{}'.format(interface), '{}'.format(newMode), '-v',\ '-f', '-l', '-y'], obj=obj) + print(result.exit_code, result.output) assert result.exit_code == 0 assert 'Breakout process got successfully completed.' in result.output brk_cfg_table = db.cfgdb.get_table('BREAKOUT_CFG') - assert brk_cfg_table["Ethernet8"]["brkout_mode"] == '1x50G(2)+2x25G(2)' + assert brk_cfg_table["Ethernet8"]["brkout_mode"] == '{}'.format(newMode) return # Ethernet4: breakout from 4x25G to 2x50G with -f -l def config_dpb_port4_4x25G_2x50G_f_l(): + # Input Data + interface = 'Ethernet4' + curMode = '4x25G[10G]' + newMode = '2x50G' + + print("Mocked Child ports data-> {}".format([get_child_ports_mock(interface, curMode), get_child_ports_mock(interface, newMode)])) + + config.get_child_ports = mock.MagicMock( + side_effect = [get_child_ports_mock(interface, curMode), get_child_ports_mock(interface, newMode)]) + result = runner.invoke(config.config.commands["interface"].\ - commands["breakout"], ['Ethernet4', '2x50G', '-v',\ + commands["breakout"], ['{}'.format(interface), '{}'.format(newMode), '-v',\ '-f', '-l', '-y'], obj=obj) + print(result.exit_code, result.output) assert result.exit_code == 0 assert 'Breakout process got successfully completed.' in result.output brk_cfg_table = db.cfgdb.get_table('BREAKOUT_CFG') - assert brk_cfg_table["Ethernet4"]["brkout_mode"] == '2x50G' + assert brk_cfg_table["Ethernet4"]["brkout_mode"] == '{}'.format(newMode) assert brk_cfg_table["Ethernet8"]["brkout_mode"] == '1x50G(2)+2x25G(2)' return ''' @@ -463,16 +677,22 @@ def config_dpb_port4_4x25G_2x50G_f_l(): # Ethernet8: start from 4x25G-->2x50G with -f -l config_dpb_port8_4x25G_2x50G_f_l() + # Ethernet8: move from 2x50G-->1x100G without force, list deps config_dpb_port8_2x50G_1x100G() + # Ethernet8: move from 2x50G-->1x100G with force, where deps exists config_dpb_port8_2x50G_1x100G_f() + # Ethernet8: move from 1x100G-->4x25G without force, no deps config_dpb_port8_1x100G_4x25G() + # Ethernet8: move from 4x25G-->1x100G with force, no deps config_dpb_port8_4x25G_1x100G_f() + # Ethernet8: move from 1x100G-->1x50G(2)+2x25G(2) with -f -l, config_dpb_port8_1x100G_1x50G_2x25G_f_l() + # Ethernet4: breakout from 4x25G to 2x50G with -f -l config_dpb_port4_4x25G_2x50G_f_l() From 1f1696a2a757ff2e6aea3db69199a588880bef8b Mon Sep 17 00:00:00 2001 From: Petro Bratash <68950226+bratashX@users.noreply.github.com> Date: Fri, 26 Mar 2021 00:17:30 +0200 Subject: [PATCH 140/342] Add `all` parameter to `show/clear queue watermark` command (#1149) Signed-off-by: Petro Bratash petrox.bratash@intel.com Depends on Azure/sonic-swss#1653 - What I did Add new commands : show queue persistent-watermark all show queue watermark all sonic-clear queue watermark all sonic-clear queue persistent-watermark all - How I did it Add q_shared_all type to watermarkstat file - How to verify it Execute: show queue persistent-watermark all show queue watermark all sonic-clear queue watermark all sonic-clear queue persistent-watermark all --- clear/main.py | 11 ++ scripts/watermarkstat | 23 ++- show/main.py | 13 ++ tests/mock_tables/counters_db.json | 218 ++++++++++++++++++++++++++++- tests/watermarkstat_test.py | 6 + tests/wm_input/wm_test_vectors.py | 26 ++++ 6 files changed, 288 insertions(+), 9 deletions(-) diff --git a/clear/main.py b/clear/main.py index 26e9e22f32..f7e5d715ed 100755 --- a/clear/main.py +++ b/clear/main.py @@ -272,6 +272,12 @@ def clear_wm_q_multi(): command = 'watermarkstat -c -t q_shared_multi' run_command(command) +@watermark.command('all') +def clear_wm_q_all(): + """Clear user WM for all queues""" + command = 'watermarkstat -c -t q_shared_all' + run_command(command) + @queue.group(name='persistent-watermark') def persistent_watermark(): """Clear queue persistent WM. One does not simply clear WM, root is required""" @@ -290,6 +296,11 @@ def clear_pwm_q_multi(): command = 'watermarkstat -c -p -t q_shared_multi' run_command(command) +@persistent_watermark.command('all') +def clear_pwm_q_all(): + """Clear persistent WM for all queues""" + command = 'watermarkstat -c -p -t q_shared_all' + run_command(command) @cli.group(name='headroom-pool') def headroom_pool(): diff --git a/scripts/watermarkstat b/scripts/watermarkstat index bae72821c7..7bdc7a0158 100755 --- a/scripts/watermarkstat +++ b/scripts/watermarkstat @@ -63,7 +63,7 @@ class Watermarkstat(object): def __init__(self): self.counters_db = SonicV2Connector(use_unix_socket_path=False) self.counters_db.connect(self.counters_db.COUNTERS_DB) - + # connect APP DB for clear notifications self.app_db = SonicV2Connector(use_unix_socket_path=False) self.app_db.connect(self.counters_db.APPL_DB) @@ -107,12 +107,14 @@ class Watermarkstat(object): self.port_uc_queues_map = {} self.port_mc_queues_map = {} + self.port_all_queues_map = {} self.port_pg_map = {} self.port_name_map = {} for port in self.counter_port_name_map: self.port_uc_queues_map[port] = {} self.port_mc_queues_map[port] = {} + self.port_all_queues_map[port] = {} self.port_pg_map[port] = {} self.port_name_map[self.counter_port_name_map[port]] = port @@ -130,6 +132,9 @@ class Watermarkstat(object): elif get_queue_type(counter_queue_name_map[queue]) == QUEUE_TYPE_MC: self.port_mc_queues_map[port][queue] = counter_queue_name_map[queue] + elif get_queue_type(counter_queue_name_map[queue]) == QUEUE_TYPE_ALL: + self.port_all_queues_map[port][queue] = counter_queue_name_map[queue] + # Get PGs for each port counter_pg_name_map = self.counters_db.get_all(self.counters_db.COUNTERS_DB, COUNTERS_PG_NAME_MAP) if counter_pg_name_map is None: @@ -167,6 +172,11 @@ class Watermarkstat(object): "idx_func": self.get_queue_index, "wm_name" : "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES", "header_prefix": "MC"}, + "q_shared_all": {"message" : "Egress shared pool occupancy per all queues:", + "obj_map" : self.port_all_queues_map, + "idx_func": self.get_queue_index, + "wm_name" : "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES", + "header_prefix": "ALL"}, "buffer_pool" : {"message": "Shared pool maximum occupancy:", "wm_name": "SAI_BUFFER_POOL_STAT_WATERMARK_BYTES", "header" : headerBufferPool}, @@ -271,6 +281,9 @@ def main(): Examples: watermarkstat -t pg_headroom watermarkstat -t pg_shared + watermarkstat -t q_shared_all + watermarkstat -p -t q_shared_all + watermarkstat -t q_shared_all -c watermarkstat -t q_shared_uni -c watermarkstat -t q_shared_multi -c watermarkstat -p -t pg_shared @@ -283,17 +296,17 @@ Examples: parser.add_argument('-c', '--clear', action='store_true', help='Clear watermarks request') parser.add_argument('-p', '--persistent', action='store_true', help='Do the operations on the persistent watermark') parser.add_argument('-t', '--type', required=True, action='store', - choices=['pg_headroom', 'pg_shared', 'q_shared_uni', 'q_shared_multi', 'buffer_pool', 'headroom_pool'], + choices=['pg_headroom', 'pg_shared', 'q_shared_uni', 'q_shared_multi', 'buffer_pool', 'headroom_pool', 'q_shared_all'], help='The type of watermark') parser.add_argument('-v', '--version', action='version', version='%(prog)s 1.0') args = parser.parse_args() watermarkstat = Watermarkstat() - + if args.clear: watermarkstat.send_clear_notification(("PERSISTENT" if args.persistent else "USER", args.type.upper())) sys.exit(0) - - table_prefix = PERSISTENT_TABLE_PREFIX if args.persistent else USER_TABLE_PREFIX + + table_prefix = PERSISTENT_TABLE_PREFIX if args.persistent else USER_TABLE_PREFIX watermarkstat.print_all_stat(table_prefix, args.type) sys.exit(0) diff --git a/show/main.py b/show/main.py index 5fba9d828a..8e9ee4bcea 100644 --- a/show/main.py +++ b/show/main.py @@ -556,6 +556,13 @@ def wm_q_multi(): command = 'watermarkstat -t q_shared_multi' run_command(command) +# 'all' subcommand ("show queue watermarks all") +@watermark.command('all') +def wm_q_all(): + """Show user WM for all queues""" + command = 'watermarkstat -t q_shared_all' + run_command(command) + # # 'persistent-watermarks' subgroup ("show queue persistent-watermarks ...") # @@ -579,6 +586,12 @@ def pwm_q_multi(): command = 'watermarkstat -p -t q_shared_multi' run_command(command) +# 'all' subcommand ("show queue persistent-watermarks all") +@persistent_watermark.command('all') +def pwm_q_all(): + """Show persistent WM for all queues""" + command = 'watermarkstat -p -t q_shared_all' + run_command(command) # # 'priority-group' group ("show priority-group ...") diff --git a/tests/mock_tables/counters_db.json b/tests/mock_tables/counters_db.json index 41396c4fa4..3d9164e1d8 100644 --- a/tests/mock_tables/counters_db.json +++ b/tests/mock_tables/counters_db.json @@ -394,6 +394,16 @@ "Ethernet0:7": "oid:0x1500000000035e", "Ethernet0:8": "oid:0x1500000000035f", "Ethernet0:9": "oid:0x15000000000360", + "Ethernet0:20": "oid:0x1500000000036d", + "Ethernet0:21": "oid:0x1500000000036e", + "Ethernet0:22": "oid:0x1500000000036f", + "Ethernet0:23": "oid:0x15000000000370", + "Ethernet0:24": "oid:0x15000000000371", + "Ethernet0:25": "oid:0x15000000000372", + "Ethernet0:26": "oid:0x15000000000373", + "Ethernet0:27": "oid:0x15000000000374", + "Ethernet0:28": "oid:0x15000000000375", + "Ethernet0:29": "oid:0x15000000000376", "Ethernet4:0": "oid:0x1500000000037f", "Ethernet4:1": "oid:0x15000000000380", "Ethernet4:10": "oid:0x1500000000038b", @@ -414,6 +424,16 @@ "Ethernet4:7": "oid:0x15000000000386", "Ethernet4:8": "oid:0x15000000000387", "Ethernet4:9": "oid:0x15000000000388", + "Ethernet4:20": "oid:0x15000000000395", + "Ethernet4:21": "oid:0x15000000000396", + "Ethernet4:22": "oid:0x15000000000397", + "Ethernet4:23": "oid:0x15000000000398", + "Ethernet4:24": "oid:0x15000000000399", + "Ethernet4:25": "oid:0x1500000000039a", + "Ethernet4:26": "oid:0x1500000000039b", + "Ethernet4:27": "oid:0x1500000000039c", + "Ethernet4:28": "oid:0x1500000000039d", + "Ethernet4:29": "oid:0x1500000000039e", "Ethernet8:0": "oid:0x150000000003a7", "Ethernet8:1": "oid:0x150000000003a8", "Ethernet8:10": "oid:0x150000000003b3", @@ -433,7 +453,17 @@ "Ethernet8:6": "oid:0x150000000003ad", "Ethernet8:7": "oid:0x150000000003ae", "Ethernet8:8": "oid:0x150000000003af", - "Ethernet8:9": "oid:0x150000000003b0" + "Ethernet8:9": "oid:0x150000000003b0", + "Ethernet8:20": "oid:0x150000000003bd", + "Ethernet8:21": "oid:0x150000000003be", + "Ethernet8:22": "oid:0x150000000003bf", + "Ethernet8:23": "oid:0x150000000003c0", + "Ethernet8:24": "oid:0x150000000003c1", + "Ethernet8:25": "oid:0x150000000003c2", + "Ethernet8:26": "oid:0x150000000003c3", + "Ethernet8:27": "oid:0x150000000003c4", + "Ethernet8:28": "oid:0x150000000003c5", + "Ethernet8:29": "oid:0x150000000003c6" }, "COUNTERS_LAG_NAME_MAP": { "PortChannel0001": "oid:0x60000000005a1", @@ -519,6 +549,16 @@ "oid:0x1500000000036a": "oid:0x1000000000012", "oid:0x1500000000036b": "oid:0x1000000000012", "oid:0x1500000000036c": "oid:0x1000000000012", + "oid:0x1500000000036d": "oid:0x1000000000012", + "oid:0x1500000000036e": "oid:0x1000000000012", + "oid:0x1500000000036f": "oid:0x1000000000012", + "oid:0x15000000000370": "oid:0x1000000000012", + "oid:0x15000000000371": "oid:0x1000000000012", + "oid:0x15000000000372": "oid:0x1000000000012", + "oid:0x15000000000373": "oid:0x1000000000012", + "oid:0x15000000000374": "oid:0x1000000000012", + "oid:0x15000000000375": "oid:0x1000000000012", + "oid:0x15000000000376": "oid:0x1000000000012", "oid:0x1500000000037f": "oid:0x1000000000013", "oid:0x15000000000380": "oid:0x1000000000013", "oid:0x15000000000381": "oid:0x1000000000013", @@ -539,6 +579,16 @@ "oid:0x15000000000392": "oid:0x1000000000013", "oid:0x15000000000393": "oid:0x1000000000013", "oid:0x15000000000394": "oid:0x1000000000013", + "oid:0x15000000000395": "oid:0x1000000000013", + "oid:0x15000000000396": "oid:0x1000000000013", + "oid:0x15000000000397": "oid:0x1000000000013", + "oid:0x15000000000398": "oid:0x1000000000013", + "oid:0x15000000000399": "oid:0x1000000000013", + "oid:0x1500000000039a": "oid:0x1000000000013", + "oid:0x1500000000039b": "oid:0x1000000000013", + "oid:0x1500000000039c": "oid:0x1000000000013", + "oid:0x1500000000039d": "oid:0x1000000000013", + "oid:0x1500000000039e": "oid:0x1000000000013", "oid:0x150000000003a7": "oid:0x1000000000014", "oid:0x150000000003a8": "oid:0x1000000000014", "oid:0x150000000003a9": "oid:0x1000000000014", @@ -558,7 +608,17 @@ "oid:0x150000000003b9": "oid:0x1000000000014", "oid:0x150000000003ba": "oid:0x1000000000014", "oid:0x150000000003bb": "oid:0x1000000000014", - "oid:0x150000000003bc": "oid:0x1000000000014" + "oid:0x150000000003bc": "oid:0x1000000000014", + "oid:0x150000000003bd": "oid:0x1000000000014", + "oid:0x150000000003be": "oid:0x1000000000014", + "oid:0x150000000003bf": "oid:0x1000000000014", + "oid:0x150000000003c0": "oid:0x1000000000014", + "oid:0x150000000003c1": "oid:0x1000000000014", + "oid:0x150000000003c2": "oid:0x1000000000014", + "oid:0x150000000003c3": "oid:0x1000000000014", + "oid:0x150000000003c4": "oid:0x1000000000014", + "oid:0x150000000003c5": "oid:0x1000000000014", + "oid:0x150000000003c6": "oid:0x1000000000014" }, "COUNTERS_PG_INDEX_MAP": { "oid:0x1a00000000034f": "0", @@ -607,6 +667,16 @@ "oid:0x1500000000036a": "17", "oid:0x1500000000036b": "18", "oid:0x1500000000036c": "19", + "oid:0x1500000000036d": "20", + "oid:0x1500000000036e": "21", + "oid:0x1500000000036f": "22", + "oid:0x15000000000370": "23", + "oid:0x15000000000371": "24", + "oid:0x15000000000372": "25", + "oid:0x15000000000373": "26", + "oid:0x15000000000374": "27", + "oid:0x15000000000375": "28", + "oid:0x15000000000376": "29", "oid:0x1500000000037f": "0", "oid:0x15000000000380": "1", "oid:0x15000000000381": "2", @@ -627,6 +697,16 @@ "oid:0x15000000000392": "17", "oid:0x15000000000393": "18", "oid:0x15000000000394": "19", + "oid:0x15000000000395": "20", + "oid:0x15000000000396": "21", + "oid:0x15000000000397": "22", + "oid:0x15000000000398": "23", + "oid:0x15000000000399": "24", + "oid:0x1500000000039a": "25", + "oid:0x1500000000039b": "26", + "oid:0x1500000000039c": "27", + "oid:0x1500000000039d": "28", + "oid:0x1500000000039e": "29", "oid:0x150000000003a7": "0", "oid:0x150000000003a8": "1", "oid:0x150000000003a9": "2", @@ -646,7 +726,17 @@ "oid:0x150000000003b9": "16", "oid:0x150000000003ba": "17", "oid:0x150000000003bb": "18", - "oid:0x150000000003bc": "19" + "oid:0x150000000003bc": "19", + "oid:0x150000000003bd": "20", + "oid:0x150000000003be": "21", + "oid:0x150000000003bf": "22", + "oid:0x150000000003c0": "23", + "oid:0x150000000003c1": "24", + "oid:0x150000000003c2": "25", + "oid:0x150000000003c3": "26", + "oid:0x150000000003c4": "27", + "oid:0x150000000003c5": "28", + "oid:0x150000000003c6": "29" }, "COUNTERS_QUEUE_TYPE_MAP": { "oid:0x15000000000357": "SAI_QUEUE_TYPE_UNICAST", @@ -669,6 +759,16 @@ "oid:0x1500000000036a": "SAI_QUEUE_TYPE_MULTICAST", "oid:0x1500000000036b": "SAI_QUEUE_TYPE_MULTICAST", "oid:0x1500000000036c": "SAI_QUEUE_TYPE_MULTICAST", + "oid:0x1500000000036d": "SAI_QUEUE_TYPE_ALL", + "oid:0x1500000000036e": "SAI_QUEUE_TYPE_ALL", + "oid:0x1500000000036f": "SAI_QUEUE_TYPE_ALL", + "oid:0x15000000000370": "SAI_QUEUE_TYPE_ALL", + "oid:0x15000000000371": "SAI_QUEUE_TYPE_ALL", + "oid:0x15000000000372": "SAI_QUEUE_TYPE_ALL", + "oid:0x15000000000373": "SAI_QUEUE_TYPE_ALL", + "oid:0x15000000000374": "SAI_QUEUE_TYPE_ALL", + "oid:0x15000000000375": "SAI_QUEUE_TYPE_ALL", + "oid:0x15000000000376": "SAI_QUEUE_TYPE_ALL", "oid:0x1500000000037f": "SAI_QUEUE_TYPE_UNICAST", "oid:0x15000000000380": "SAI_QUEUE_TYPE_UNICAST", "oid:0x15000000000381": "SAI_QUEUE_TYPE_UNICAST", @@ -689,6 +789,16 @@ "oid:0x15000000000392": "SAI_QUEUE_TYPE_MULTICAST", "oid:0x15000000000393": "SAI_QUEUE_TYPE_MULTICAST", "oid:0x15000000000394": "SAI_QUEUE_TYPE_MULTICAST", + "oid:0x15000000000395": "SAI_QUEUE_TYPE_ALL", + "oid:0x15000000000396": "SAI_QUEUE_TYPE_ALL", + "oid:0x15000000000397": "SAI_QUEUE_TYPE_ALL", + "oid:0x15000000000398": "SAI_QUEUE_TYPE_ALL", + "oid:0x15000000000399": "SAI_QUEUE_TYPE_ALL", + "oid:0x1500000000039a": "SAI_QUEUE_TYPE_ALL", + "oid:0x1500000000039b": "SAI_QUEUE_TYPE_ALL", + "oid:0x1500000000039c": "SAI_QUEUE_TYPE_ALL", + "oid:0x1500000000039d": "SAI_QUEUE_TYPE_ALL", + "oid:0x1500000000039e": "SAI_QUEUE_TYPE_ALL", "oid:0x150000000003a7": "SAI_QUEUE_TYPE_UNICAST", "oid:0x150000000003a8": "SAI_QUEUE_TYPE_UNICAST", "oid:0x150000000003a9": "SAI_QUEUE_TYPE_UNICAST", @@ -708,7 +818,17 @@ "oid:0x150000000003b9": "SAI_QUEUE_TYPE_MULTICAST", "oid:0x150000000003ba": "SAI_QUEUE_TYPE_MULTICAST", "oid:0x150000000003bb": "SAI_QUEUE_TYPE_MULTICAST", - "oid:0x150000000003bc": "SAI_QUEUE_TYPE_MULTICAST" + "oid:0x150000000003bc": "SAI_QUEUE_TYPE_MULTICAST", + "oid:0x150000000003bd": "SAI_QUEUE_TYPE_ALL", + "oid:0x150000000003be": "SAI_QUEUE_TYPE_ALL", + "oid:0x150000000003bf": "SAI_QUEUE_TYPE_ALL", + "oid:0x150000000003c0": "SAI_QUEUE_TYPE_ALL", + "oid:0x150000000003c1": "SAI_QUEUE_TYPE_ALL", + "oid:0x150000000003c2": "SAI_QUEUE_TYPE_ALL", + "oid:0x150000000003c3": "SAI_QUEUE_TYPE_ALL", + "oid:0x150000000003c4": "SAI_QUEUE_TYPE_ALL", + "oid:0x150000000003c5": "SAI_QUEUE_TYPE_ALL", + "oid:0x150000000003c6": "SAI_QUEUE_TYPE_ALL" }, "COUNTERS_DEBUG_NAME_PORT_STAT_MAP": { "DEBUG_0": "SAI_PORT_STAT_IN_DROP_REASON_RANGE_BASE", @@ -994,6 +1114,36 @@ "USER_WATERMARKS:oid:0x15000000000360": { "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "20" }, + "USER_WATERMARKS:oid:0x1500000000036d": { + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "1234567" + }, + "USER_WATERMARKS:oid:0x1500000000036e": { + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "7654321" + }, + "USER_WATERMARKS:oid:0x1500000000036f": { + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "0" + }, + "USER_WATERMARKS:oid:0x15000000000370": { + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "0" + }, + "USER_WATERMARKS:oid:0x15000000000371": { + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "0" + }, + "USER_WATERMARKS:oid:0x15000000000372": { + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "20" + }, + "USER_WATERMARKS:oid:0x15000000000373": { + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "500" + }, + "USER_WATERMARKS:oid:0x15000000000374": { + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "200" + }, + "USER_WATERMARKS:oid:0x15000000000375": { + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "0" + }, + "USER_WATERMARKS:oid:0x15000000000376": { + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "10" + }, "USER_WATERMARKS:oid:0x1500000000037f": { "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "0" }, @@ -1024,6 +1174,36 @@ "USER_WATERMARKS:oid:0x15000000000388": { "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "0" }, + "USER_WATERMARKS:oid:0x15000000000395": { + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "0" + }, + "USER_WATERMARKS:oid:0x15000000000396": { + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "0" + }, + "USER_WATERMARKS:oid:0x15000000000397": { + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "0" + }, + "USER_WATERMARKS:oid:0x15000000000398": { + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "1986" + }, + "USER_WATERMARKS:oid:0x15000000000399": { + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "2567" + }, + "USER_WATERMARKS:oid:0x1500000000039a": { + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "0" + }, + "USER_WATERMARKS:oid:0x1500000000039b": { + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "0" + }, + "USER_WATERMARKS:oid:0x1500000000039c": { + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "0" + }, + "USER_WATERMARKS:oid:0x1500000000039d": { + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "0" + }, + "USER_WATERMARKS:oid:0x1500000000039e": { + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "0" + }, "USER_WATERMARKS:oid:0x150000000003a7": { "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "0" }, @@ -1054,6 +1234,36 @@ "USER_WATERMARKS:oid:0x150000000003b0": { "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "7696" }, + "USER_WATERMARKS:oid:0x150000000003bd": { + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "20" + }, + "USER_WATERMARKS:oid:0x150000000003be": { + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "5" + }, + "USER_WATERMARKS:oid:0x150000000003bf": { + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "1998" + }, + "USER_WATERMARKS:oid:0x150000000003c0": { + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "0" + }, + "USER_WATERMARKS:oid:0x150000000003c1": { + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "0" + }, + "USER_WATERMARKS:oid:0x150000000003c2": { + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "0" + }, + "USER_WATERMARKS:oid:0x150000000003c3": { + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "0" + }, + "USER_WATERMARKS:oid:0x150000000003c4": { + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "0" + }, + "USER_WATERMARKS:oid:0x150000000003c5": { + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "8528" + }, + "USER_WATERMARKS:oid:0x150000000003c6": { + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "7696" + }, "PERSISTENT_WATERMARKS:oid:0x15000000000357": { "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "3057328" }, diff --git a/tests/watermarkstat_test.py b/tests/watermarkstat_test.py index b7c9eadb6b..3b710896c3 100644 --- a/tests/watermarkstat_test.py +++ b/tests/watermarkstat_test.py @@ -33,6 +33,9 @@ def test_show_queue_unicast_wm(self): def test_show_queue_multicast_wm(self): self.executor(testData['show_q_wm_multicast']) + def test_show_queue_all_wm(self): + self.executor(testData['show_q_wm_all']) + def test_show_buffer_pool_wm(self): self.executor(testData['show_buffer_pool_wm']) @@ -51,6 +54,9 @@ def test_show_queue_unicast_persistent_wm(self): def test_show_queue_multicast_persistent_wm(self): self.executor(testData['show_q_pwm_multicast']) + def test_show_queue_all_persistent_wm(self): + self.executor(testData['show_q_pwm_all']) + def test_show_buffer_pool_persistent_wm(self): self.executor(testData['show_buffer_pool_pwm']) diff --git a/tests/wm_input/wm_test_vectors.py b/tests/wm_input/wm_test_vectors.py index a5314b1fe6..336afdc42a 100644 --- a/tests/wm_input/wm_test_vectors.py +++ b/tests/wm_input/wm_test_vectors.py @@ -61,6 +61,24 @@ Ethernet8 N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A """ +show_queue_wm_all_output="""\ +Egress shared pool occupancy per all queues: + Port ALL20 ALL21 ALL22 ALL23 ALL24 ALL25 ALL26 ALL27 ALL28 ALL29 +--------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- +Ethernet0 1234567 7654321 0 0 0 20 500 200 0 10 +Ethernet4 0 0 0 1986 2567 0 0 0 0 0 +Ethernet8 20 5 1998 0 0 0 0 0 8528 7696 +""" + +show_queue_pwm_all_output="""\ +Egress shared pool occupancy per all queues: + Port ALL20 ALL21 ALL22 ALL23 ALL24 ALL25 ALL26 ALL27 ALL28 ALL29 +--------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- +Ethernet0 N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A +Ethernet4 N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A +Ethernet8 N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A +""" + show_buffer_pool_wm_output="""\ Shared pool maximum occupancy: Pool Bytes @@ -126,6 +144,14 @@ 'rc_output': show_queue_wm_multicast_output } ], + 'show_q_wm_all' : [ {'cmd' : ['queue', 'watermark', 'all'], + 'rc_output': show_queue_wm_all_output + } + ], + 'show_q_pwm_all' : [ {'cmd' : ['queue', 'persistent-watermark', 'all'], + 'rc_output': show_queue_pwm_all_output + } + ], 'show_buffer_pool_wm' : [ {'cmd' : ['buffer_pool', 'watermark'], 'rc_output': show_buffer_pool_wm_output } From 4d89510cf767418c9bddf7b1df7dc4d9ee17d6ae Mon Sep 17 00:00:00 2001 From: yozhao101 <56170650+yozhao101@users.noreply.github.com> Date: Sun, 28 Mar 2021 10:14:27 -0700 Subject: [PATCH 141/342] [reboot] User-friendly reboot cause message for kernel panic (#1486) Signed-off-by: Yong Zhao yozhao@microsoft.com What I did If the rebooting of SONiC device was caused by kernel panic, then the CLI command show reboot-cause should show Kernel Panic. How I did it Currently if kernel was panicked, then the device would be rebooted. The reboot script wrote a message into reboot-cause.txt. I just updated the content of this message. How to verify it I verified this change on the virtual switch in the following steps: Trigger kernel panic: echo c > /proc/sysrq-trigger After device was rebooted, run the CLI show reboot-cause: admin@vlab-01:~$ show reboot-cause Kernel Panic [Time: Tue 09 Mar 2021 03:03:56 AM UTC] Previous command output (if the output of a command-line utility has changed) admin@vlab-01:~$ show reboot-cause User issued 'kdump' command [User: kdump, Time: Mon 08 Mar 2021 01:47:43 AM UTC] New command output (if the output of a command-line utility has changed) admin@vlab-01:~$ show reboot-cause Kernel Panic [Time: Tue 09 Mar 2021 03:03:56 AM UTC] --- scripts/reboot | 2 +- show/reboot_cause.py | 54 ++++++++++++++++++++++++++++---------- tests/reboot_cause_test.py | 2 +- 3 files changed, 42 insertions(+), 16 deletions(-) diff --git a/scripts/reboot b/scripts/reboot index ee10c77ba3..1384fb89e7 100755 --- a/scripts/reboot +++ b/scripts/reboot @@ -9,7 +9,7 @@ REBOOT_TIME=$(date) VMCORE_FILE=/proc/vmcore if [ -e $VMCORE_FILE -a -s $VMCORE_FILE ]; then echo "We have a /proc/vmcore, then we just kdump'ed" - echo "User issued 'kdump' command [User: kdump, Time: ${REBOOT_TIME}]" > ${REBOOT_CAUSE_FILE} + echo "Kernel Panic [Time: ${REBOOT_TIME}]" > ${REBOOT_CAUSE_FILE} sync PLATFORM=$(grep -oP 'sonic_platform=\K\S+' /proc/cmdline) if [ ! -z "${PLATFORM}" -a -x ${DEVPATH}/${PLATFORM}/${PLAT_REBOOT} ]; then diff --git a/show/reboot_cause.py b/show/reboot_cause.py index d1424d8676..57bd15e863 100755 --- a/show/reboot_cause.py +++ b/show/reboot_cause.py @@ -8,15 +8,21 @@ import utilities_common.cli as clicommon -PREVIOUS_REBOOT_CAUSE_FILE = "/host/reboot-cause/previous-reboot-cause.json" -USER_ISSUED_REBOOT_CAUSE_REGEX ="User issued \'{}\' command [User: {}, Time: {}]" +PREVIOUS_REBOOT_CAUSE_FILE_PATH = "/host/reboot-cause/previous-reboot-cause.json" + def read_reboot_cause_file(): - result = "" - if os.path.exists(PREVIOUS_REBOOT_CAUSE_FILE): - with open(PREVIOUS_REBOOT_CAUSE_FILE) as f: - result = json.load(f) - return result + reboot_cause_dict = {} + + if os.path.exists(PREVIOUS_REBOOT_CAUSE_FILE_PATH): + with open(PREVIOUS_REBOOT_CAUSE_FILE_PATH) as prev_reboot_cause_file: + try: + reboot_cause_dict = json.load(prev_reboot_cause_file) + except json.JSONDecodeError as err: + click.echo("Failed to load JSON file '{}'!".format(PREVIOUS_REBOOT_CAUSE_FILE_PATH), err=True) + + return reboot_cause_dict + # # 'reboot-cause' group ("show reboot-cause") @@ -26,15 +32,35 @@ def read_reboot_cause_file(): def reboot_cause(ctx): """Show cause of most recent reboot""" if ctx.invoked_subcommand is None: - reboot_cause = "" + reboot_cause_str = "" + # Read the previous reboot cause - data = read_reboot_cause_file() - if data['user'] == "N/A": - reboot_cause = "{}".format(data['cause']) + reboot_cause_dict = read_reboot_cause_file() + + reboot_cause = reboot_cause_dict.get("cause", "Unknown") + reboot_user = reboot_cause_dict.get("user", "N/A") + reboot_time = reboot_cause_dict.get("time", "N/A") + + if reboot_user != "N/A": + reboot_cause_str = "User issued '{}' command".format(reboot_cause) else: - reboot_cause = USER_ISSUED_REBOOT_CAUSE_REGEX.format(data['cause'], data['user'], data['time']) + reboot_cause_str = reboot_cause + + if reboot_user != "N/A" or reboot_time != "N/A": + reboot_cause_str += " [" + + if reboot_user != "N/A": + reboot_cause_str += "User: {}".format(reboot_user) + if reboot_time != "N/A": + reboot_cause_str += ", " + + if reboot_time != "N/A": + reboot_cause_str += "Time: {}".format(reboot_time) + + reboot_cause_str += "]" + + click.echo(reboot_cause_str) - click.echo(reboot_cause) # 'history' subcommand ("show reboot-cause history") @reboot_cause.command() @@ -54,7 +80,7 @@ def history(): for tk in table_keys: entry = db.get_all(db.STATE_DB, tk) r = [] - r.append(tk.replace(prefix,"")) + r.append(tk.replace(prefix, "")) r.append(entry['cause'] if 'cause' in entry else "") r.append(entry['time'] if 'time' in entry else "") r.append(entry['user'] if 'user' in entry else "") diff --git a/tests/reboot_cause_test.py b/tests/reboot_cause_test.py index 6ecc248dd5..f3372c3eb1 100644 --- a/tests/reboot_cause_test.py +++ b/tests/reboot_cause_test.py @@ -31,7 +31,7 @@ def setup_class(cls): # Test 'show reboot-cause' without previous-reboot-cause.json def test_reboot_cause_no_history_file(self): - expected_output = "" + expected_output = "Unknown\n" runner = CliRunner() result = runner.invoke(show.cli.commands["reboot-cause"], []) assert result.output == expected_output From 28b64ecb56a15eebba3106900487c0b843eb03b8 Mon Sep 17 00:00:00 2001 From: lguohan Date: Sun, 28 Mar 2021 22:20:30 -0700 Subject: [PATCH 142/342] [acl-loader]: do not add default deny rule for egress acl (#1531) * [acl-loader]: do not add default deny rule for egress acl Signed-off-by: Guohan Lu --- acl_loader/main.py | 50 ++++++++------ tests/acl_input/acl_egress.json | 110 +++++++++++++++++++++++++++++++ tests/acl_loader_test.py | 22 +++++++ tests/aclshow_test.py | 2 +- tests/mock_tables/config_db.json | 26 +++++--- 5 files changed, 180 insertions(+), 30 deletions(-) create mode 100644 tests/acl_input/acl_egress.json diff --git a/acl_loader/main.py b/acl_loader/main.py index 91cb750c33..bb09e20487 100644 --- a/acl_loader/main.py +++ b/acl_loader/main.py @@ -132,27 +132,27 @@ def __init__(self): # Global namespace will be used for Control plane ACL which are via IPTables. # Per ASIC namespace will be used for Data and Everflow ACL's. # Global Configdb will have all ACL information for both Ctrl and Data/Evereflow ACL's - # and will be used as souurce of truth for ACL modification to config DB which will be done to both Global DB and + # and will be used as souurce of truth for ACL modification to config DB which will be done to both Global DB and # front asic namespace - + self.per_npu_configdb = {} # State DB are used for to get mirror Session monitor port. # For multi-npu platforms each asic namespace can have different monitor port # dependinding on which route to session destination ip. So for multi-npu - # platforms we get state db for all front asic namespace in addition to - + # platforms we get state db for all front asic namespace in addition to + self.per_npu_statedb = {} # Getting all front asic namespace and correspding config and state DB connector - + namespaces = device_info.get_all_namespaces() for front_asic_namespaces in namespaces['front_ns']: self.per_npu_configdb[front_asic_namespaces] = ConfigDBConnector(use_unix_socket_path=True, namespace=front_asic_namespaces) self.per_npu_configdb[front_asic_namespaces].connect() self.per_npu_statedb[front_asic_namespaces] = SonicV2Connector(use_unix_socket_path=True, namespace=front_asic_namespaces) self.per_npu_statedb[front_asic_namespaces].connect(self.per_npu_statedb[front_asic_namespaces].STATE_DB) - + self.read_tables_info() self.read_rules_info() self.read_sessions_info() @@ -183,8 +183,8 @@ def read_policers_info(self): Read POLICER table from configuration database :return: """ - - # For multi-npu platforms we will read from any one of front asic namespace + + # For multi-npu platforms we will read from any one of front asic namespace # config db as the information should be same across all config db if self.per_npu_configdb: namespace_configdb = list(self.per_npu_configdb.values())[0] @@ -201,7 +201,7 @@ def read_sessions_info(self): :return: """ - # For multi-npu platforms we will read from any one of front asic namespace + # For multi-npu platforms we will read from any one of front asic namespace # config db as the information should be same across all config db if self.per_npu_configdb: namespace_configdb = list(self.per_npu_configdb.values())[0] @@ -210,8 +210,8 @@ def read_sessions_info(self): self.sessions_db_info = self.configdb.get_table(self.CFG_MIRROR_SESSION_TABLE) for key in self.sessions_db_info: if self.per_npu_statedb: - # For multi-npu platforms we will read from all front asic name space - # statedb as the monitor port will be differnt for each asic + # For multi-npu platforms we will read from all front asic name space + # statedb as the monitor port will be differnt for each asic # and it's status also might be different (ideally should not happen) # We will store them as dict of 'asic' : value self.sessions_db_info[key]["status"] = {} @@ -283,6 +283,14 @@ def set_max_priority(self, priority): def is_table_valid(self, tname): return self.tables_db_info.get(tname) + def is_table_egress(self, tname): + """ + Check if ACL table stage is egress + :param tname: ACL table name + :return: True if table type is Egress + """ + return self.tables_db_info[tname].get("stage", Stage.INGRESS).upper() == Stage.EGRESS + def is_table_mirror(self, tname): """ Check if ACL table type is ACL_TABLE_TYPE_MIRROR or ACL_TABLE_TYPE_MIRRORV6 @@ -377,12 +385,12 @@ def validate_actions(self, table_name, action_props): # check if per npu state db is there then read using first state db # else read from global statedb if self.per_npu_statedb: - # For multi-npu we will read using anyone statedb connector for front asic namespace. - # Same information should be there in all state DB's + # For multi-npu we will read using anyone statedb connector for front asic namespace. + # Same information should be there in all state DB's # as it is static information about switch capability namespace_statedb = list(self.per_npu_statedb.values())[0] capability = namespace_statedb.get_all(self.statedb.STATE_DB, "{}|switch".format(self.SWITCH_CAPABILITY_TABLE)) - else: + else: capability = self.statedb.get_all(self.statedb.STATE_DB, "{}|switch".format(self.SWITCH_CAPABILITY_TABLE)) for action_key in dict(action_props): key = "{}|{}".format(self.ACL_ACTIONS_CAPABILITY_FIELD, stage.upper()) @@ -636,7 +644,7 @@ def convert_rules(self): except AclLoaderException as ex: error("Error processing rule %s: %s. Skipped." % (acl_entry_name, ex)) - if not self.is_table_mirror(table_name): + if not self.is_table_mirror(table_name) and not self.is_table_egress(table_name): deep_update(self.rules_info, self.deny_rule(table_name)) def full_update(self): @@ -705,7 +713,7 @@ def incremental_update(self): # Add all new dataplane rules for key in new_dataplane_rules: self.configdb.mod_entry(self.ACL_RULE, key, self.rules_info[key]) - # Program for per-asic namespace corresponding to front asic also if present. + # Program for per-asic namespace corresponding to front asic also if present. for namespace_configdb in self.per_npu_configdb.values(): namespace_configdb.mod_entry(self.ACL_RULE, key, self.rules_info[key]) @@ -715,14 +723,14 @@ def incremental_update(self): for key in added_controlplane_rules: self.configdb.mod_entry(self.ACL_RULE, key, self.rules_info[key]) - # Program for per-asic namespace corresponding to front asic also if present. + # Program for per-asic namespace corresponding to front asic also if present. # For control plane ACL it's not needed but to keep all db in sync program everywhere for namespace_configdb in self.per_npu_configdb.values(): namespace_configdb.mod_entry(self.ACL_RULE, key, self.rules_info[key]) for key in removed_controlplane_rules: self.configdb.mod_entry(self.ACL_RULE, key, None) - # Program for per-asic namespace corresponding to front asic also if present. + # Program for per-asic namespace corresponding to front asic also if present. # For control plane ACL it's not needed but to keep all db in sync program everywhere for namespace_configdb in self.per_npu_configdb.values(): namespace_configdb.mod_entry(self.ACL_RULE, key, None) @@ -730,7 +738,7 @@ def incremental_update(self): for key in existing_controlplane_rules: if cmp(self.rules_info[key], self.rules_db_info[key]) != 0: self.configdb.set_entry(self.ACL_RULE, key, self.rules_info[key]) - # Program for per-asic namespace corresponding to front asic also if present. + # Program for per-asic namespace corresponding to front asic also if present. # For control plane ACL it's not needed but to keep all db in sync program everywhere for namespace_configdb in self.per_npu_configdb.values(): namespace_configdb.set_entry(self.ACL_RULE, key, self.rules_info[key]) @@ -745,10 +753,10 @@ def delete(self, table=None, rule=None): if not table or table == key[0]: if not rule or rule == key[1]: self.configdb.set_entry(self.ACL_RULE, key, None) - # Program for per-asic namespace corresponding to front asic also if present. + # Program for per-asic namespace corresponding to front asic also if present. for namespace_configdb in self.per_npu_configdb.values(): namespace_configdb.set_entry(self.ACL_RULE, key, None) - + def show_table(self, table_name): """ Show ACL table configuration. diff --git a/tests/acl_input/acl_egress.json b/tests/acl_input/acl_egress.json new file mode 100644 index 0000000000..ed0f590078 --- /dev/null +++ b/tests/acl_input/acl_egress.json @@ -0,0 +1,110 @@ +{ + "acl": { + "acl-sets": { + "acl-set": { + "DATAACL_3": { + "acl-entries": { + "acl-entry": { + "1": { + "config": { + "sequence-id": 1 + }, + "actions": { + "config": { + "forwarding-action": "ACCEPT" + } + }, + "ip": { + "config": { + "protocol": "IP_ICMP", + "source-ip-address": "20.0.0.2/32", + "destination-ip-address": "30.0.0.3/32" + } + }, + "icmp": { + "config": { + "type": "3", + "code": "0" + } + } + }, + "2": { + "config": { + "sequence-id": 2 + }, + "actions": { + "config": { + "forwarding-action": "ACCEPT" + } + }, + "l2": { + "config": { + "vlan-id": "369" + } + }, + "ip": { + "config": { + "protocol": "IP_TCP", + "source-ip-address": "20.0.0.2/32", + "destination-ip-address": "30.0.0.3/32" + } + } + } + } + } + }, + "DATAACL_4": { + "acl-entries": { + "acl-entry": { + "1": { + "config": { + "sequence-id": 1 + }, + "actions": { + "config": { + "forwarding-action": "ACCEPT" + } + }, + "ip": { + "config": { + "protocol": "IP_ICMP", + "source-ip-address": "::1/128", + "destination-ip-address": "::1/128" + } + }, + "icmp": { + "config": { + "type": "1", + "code": "0" + } + } + }, + "2": { + "config": { + "sequence-id": 100 + }, + "actions": { + "config": { + "forwarding-action": "ACCEPT" + } + }, + "ip": { + "config": { + "protocol": "IP_ICMP", + "source-ip-address": "::1/128", + "destination-ip-address": "::1/128" + } + }, + "icmp": { + "config": { + "type": "128" + } + } + } + } + } + } + } + } + } +} diff --git a/tests/acl_loader_test.py b/tests/acl_loader_test.py index e2ee414a50..ee5ba65ed1 100644 --- a/tests/acl_loader_test.py +++ b/tests/acl_loader_test.py @@ -118,6 +118,28 @@ def test_icmpv6_translation(self, acl_loader): "PRIORITY": "9900" } + def test_ingress_default_deny_rule(self, acl_loader): + acl_loader.rules_info = {} + acl_loader.load_rules_from_file(os.path.join(test_path, 'acl_input/acl1.json')) + print(acl_loader.rules_info) + assert acl_loader.rules_info[('DATAACL', 'DEFAULT_RULE')] == { + 'PRIORITY': '1', + 'PACKET_ACTION': 'DROP', + 'ETHER_TYPE': '2048' + } + assert acl_loader.rules_info[('DATAACL_2', 'DEFAULT_RULE')] == { + 'PRIORITY': '1', + 'PACKET_ACTION': 'DROP', + 'IP_TYPE': 'IPV6ANY' + } + + def test_egress_no_default_deny_rule(self, acl_loader): + acl_loader.rules_info = {} + acl_loader.load_rules_from_file(os.path.join(test_path, 'acl_input/acl_egress.json')) + print(acl_loader.rules_info) + assert ('DATAACL_3', 'DEFAULT_RULE') not in acl_loader.rules_info + assert ('DATAACL_4', 'DEFAULT_RULE') not in acl_loader.rules_info + def test_icmp_type_lower_bound(self, acl_loader): with pytest.raises(ValueError): acl_loader.rules_info = {} diff --git a/tests/aclshow_test.py b/tests/aclshow_test.py index a2c122ddd7..b2371e9723 100644 --- a/tests/aclshow_test.py +++ b/tests/aclshow_test.py @@ -78,7 +78,7 @@ # Expected output for aclshow -r RULE_4,RULE_6 -vv rule4_rule6_verbose_output = '' + \ """Reading ACL info... -Total number of ACL Tables: 6 +Total number of ACL Tables: 8 Total number of ACL Rules: 11 RULE NAME TABLE NAME PRIO PACKETS COUNT BYTES COUNT diff --git a/tests/mock_tables/config_db.json b/tests/mock_tables/config_db.json index 051c49004d..f8ceebffbf 100644 --- a/tests/mock_tables/config_db.json +++ b/tests/mock_tables/config_db.json @@ -405,6 +405,18 @@ "ports@": "PortChannel0002,PortChannel0005,PortChannel0008,PortChannel0011,PortChannel0014,PortChannel0017,PortChannel0020,PortChannel0023,Ethernet64,Ethernet68,Ethernet72,Ethernet76,Ethernet80,Ethernet84,Ethernet88,Ethernet92,Ethernet96,Ethernet100,Ethernet104,Ethernet108,Ethernet112,Ethernet116,Ethernet120,Ethernet124", "type": "L3V6" }, + "ACL_TABLE|DATAACL_3": { + "policy_desc": "DATAACL_3", + "ports@": "PortChannel0002,PortChannel0005,PortChannel0008,PortChannel0011,PortChannel0014,PortChannel0017,PortChannel0020,PortChannel0023,Ethernet64,Ethernet68,Ethernet72,Ethernet76,Ethernet80,Ethernet84,Ethernet88,Ethernet92,Ethernet96,Ethernet100,Ethernet104,Ethernet108,Ethernet112,Ethernet116,Ethernet120,Ethernet124", + "type": "L3", + "stage": "egress" + }, + "ACL_TABLE|DATAACL_4": { + "policy_desc": "DATAACL_4", + "ports@": "PortChannel0002,PortChannel0005,PortChannel0008,PortChannel0011,PortChannel0014,PortChannel0017,PortChannel0020,PortChannel0023,Ethernet64,Ethernet68,Ethernet72,Ethernet76,Ethernet80,Ethernet84,Ethernet88,Ethernet92,Ethernet96,Ethernet100,Ethernet104,Ethernet108,Ethernet112,Ethernet116,Ethernet120,Ethernet124", + "type": "L3V6", + "stage": "egress" + }, "ACL_TABLE|EVERFLOW": { "policy_desc": "EVERFLOW", "ports@": "PortChannel0002,PortChannel0005,PortChannel0008,PortChannel0011,PortChannel0014,PortChannel0017,PortChannel0020,PortChannel0023,Ethernet100,Ethernet104,Ethernet92,Ethernet96,Ethernet84,Ethernet88,Ethernet76,Ethernet80,Ethernet108,Ethernet112,Ethernet64,Ethernet120,Ethernet116,Ethernet124,Ethernet72,Ethernet68", @@ -1489,9 +1501,9 @@ "name": "T2-Peer", "local_addr": "20.1.1.1", "nhopself": "0", - "admin_status": "up", - "holdtime": "10", - "asn": "65200", + "admin_status": "up", + "holdtime": "10", + "asn": "65200", "keepalive": "3" }, "BGP_NEIGHBOR|30.1.1.5": { @@ -1499,11 +1511,9 @@ "name": "T0-Peer", "local_addr": "30.1.1.1", "nhopself": "0", - "admin_status": "up", - "holdtime": "10", - "asn": "65200", + "admin_status": "up", + "holdtime": "10", + "asn": "65200", "keepalive": "3" } - - } From 6b51bcd81cbfadf9889cf687fdf63061405f1f90 Mon Sep 17 00:00:00 2001 From: lguohan Date: Mon, 29 Mar 2021 09:55:54 -0700 Subject: [PATCH 143/342] [ci]: add vstest to azure pipeline (#1436) Signed-off-by: Guohan Lu --- .../build-docker-sonic-vs-template.yml | 55 +++++++ .azure-pipelines/build_and_install_module.sh | 87 ++++++++++ .azure-pipelines/docker-sonic-vs/Dockerfile | 7 + .../test-docker-sonic-vs-template.yml | 75 +++++++++ azure-pipelines.yml | 151 +++++++++++------- 5 files changed, 314 insertions(+), 61 deletions(-) create mode 100644 .azure-pipelines/build-docker-sonic-vs-template.yml create mode 100755 .azure-pipelines/build_and_install_module.sh create mode 100644 .azure-pipelines/docker-sonic-vs/Dockerfile create mode 100644 .azure-pipelines/test-docker-sonic-vs-template.yml diff --git a/.azure-pipelines/build-docker-sonic-vs-template.yml b/.azure-pipelines/build-docker-sonic-vs-template.yml new file mode 100644 index 0000000000..1581ed5ded --- /dev/null +++ b/.azure-pipelines/build-docker-sonic-vs-template.yml @@ -0,0 +1,55 @@ +parameters: +- name: timeout + type: number + default: 60 + +- name: artifact_name + type: string + +jobs: +- job: + displayName: "docker-sonic-vs" + timeoutInMinutes: ${{ parameters.timeout }} + + pool: + vmImage: 'ubuntu-20.04' + + steps: + - task: DownloadPipelineArtifact@2 + inputs: + artifact: wheels + displayName: "Download sonic swss artifact" + + - task: DownloadPipelineArtifact@2 + inputs: + source: specific + project: build + pipeline: 1 + artifact: sonic-buildimage.vs + runVersion: 'latestFromBranch' + runBranch: 'refs/heads/master' + displayName: "Download sonic buildimage" + + - script: | + set -ex + + echo $(Build.DefinitionName).$(Build.BuildNumber) + + docker load < ../target/docker-sonic-vs.gz + + mkdir -p .azure-pipelines/docker-sonic-vs/wheels + + cp -v ../*.whl .azure-pipelines/docker-sonic-vs/wheels + + pushd .azure-pipelines + + docker build --no-cache -t docker-sonic-vs:$(Build.DefinitionName).$(Build.BuildNumber) docker-sonic-vs + + popd + + docker save docker-sonic-vs:$(Build.DefinitionName).$(Build.BuildNumber) | gzip -c > $(Build.ArtifactStagingDirectory)/docker-sonic-vs.gz + displayName: "Build docker-sonic-vs image" + + - publish: $(Build.ArtifactStagingDirectory)/ + artifact: ${{ parameters.artifact_name }} + displayName: "Archive sonic docker vs image" diff --git a/.azure-pipelines/build_and_install_module.sh b/.azure-pipelines/build_and_install_module.sh new file mode 100755 index 0000000000..4bd026cb52 --- /dev/null +++ b/.azure-pipelines/build_and_install_module.sh @@ -0,0 +1,87 @@ +#!/bin/bash +# +# build and install team/vrf driver +# + +set -e + +source /etc/os-release + +function build_and_install_kmodule() +{ + if sudo modprobe team 2>/dev/null && sudo modprobe vrf 2>/dev/null && sudo modprobe macsec 2>/dev/null; then + echo "The module team, vrf and macsec exist." + return + fi + + [ -z "$WORKDIR" ] && WORKDIR=$(mktemp -d) + cd $WORKDIR + + KERNEL_RELEASE=$(uname -r) + KERNEL_MAINVERSION=$(echo $KERNEL_RELEASE | cut -d- -f1) + EXTRAVERSION=$(echo $KERNEL_RELEASE | cut -d- -f2) + LOCALVERSION=$(echo $KERNEL_RELEASE | cut -d- -f3) + VERSION=$(echo $KERNEL_MAINVERSION | cut -d. -f1) + PATCHLEVEL=$(echo $KERNEL_MAINVERSION | cut -d. -f2) + SUBLEVEL=$(echo $KERNEL_MAINVERSION | cut -d. -f3) + + # Install the required debian packages to build the kernel modules + apt-get install -y build-essential linux-headers-${KERNEL_RELEASE} autoconf pkg-config fakeroot + apt-get install -y flex bison libssl-dev libelf-dev + apt-get install -y libnl-route-3-200 libnl-route-3-dev libnl-cli-3-200 libnl-cli-3-dev libnl-3-dev + + # Add the apt source mirrors and download the linux image source code + cp /etc/apt/sources.list /etc/apt/sources.list.bk + sed -i "s/^# deb-src/deb-src/g" /etc/apt/sources.list + apt-get update + apt-get source linux-image-unsigned-$(uname -r) > source.log + + # Recover the original apt sources list + cp /etc/apt/sources.list.bk /etc/apt/sources.list + apt-get update + + # Build the Linux kernel module drivers/net/team and vrf + cd $(find . -maxdepth 1 -type d | grep -v "^.$") + make allmodconfig + mv .config .config.bk + cp /boot/config-$(uname -r) .config + grep NET_TEAM .config.bk >> .config + echo CONFIG_NET_VRF=m >> .config + echo CONFIG_MACSEC=m >> .config + make VERSION=$VERSION PATCHLEVEL=$PATCHLEVEL SUBLEVEL=$SUBLEVEL EXTRAVERSION=-${EXTRAVERSION} LOCALVERSION=-${LOCALVERSION} modules_prepare + make M=drivers/net/team + mv drivers/net/Makefile drivers/net/Makefile.bak + echo 'obj-$(CONFIG_NET_VRF) += vrf.o' > drivers/net/Makefile + echo 'obj-$(CONFIG_MACSEC) += macsec.o' >> drivers/net/Makefile + make M=drivers/net + + # Install the module + TEAM_DIR=$(echo /lib/modules/$(uname -r)/kernel/net/team) + NET_DIR=$(echo /lib/modules/$(uname -r)/kernel/net) + if [ ! -e "$TEAM_DIR/team.ko" ]; then + mkdir -p $TEAM_DIR + cp drivers/net/team/*.ko $TEAM_DIR/ + modinfo $TEAM_DIR/team.ko + depmod + modprobe team + fi + if [ ! -e "$NET_DIR/vrf.ko" ]; then + mkdir -p $NET_DIR + cp drivers/net/vrf.ko $NET_DIR/ + modinfo $NET_DIR/vrf.ko + depmod + modprobe vrf + fi + if [ ! -e "$NET_DIR/macsec.ko" ]; then + mkdir -p $NET_DIR + cp drivers/net/macsec.ko $NET_DIR/ + modinfo $NET_DIR/macsec.ko + depmod + modprobe macsec + fi + + cd /tmp + rm -rf $WORKDIR +} + +build_and_install_kmodule diff --git a/.azure-pipelines/docker-sonic-vs/Dockerfile b/.azure-pipelines/docker-sonic-vs/Dockerfile new file mode 100644 index 0000000000..4e0a50e7a4 --- /dev/null +++ b/.azure-pipelines/docker-sonic-vs/Dockerfile @@ -0,0 +1,7 @@ +FROM docker-sonic-vs + +ARG docker_container_name + +ADD ["wheels", "/wheels"] + +RUN pip3 install --no-deps --force-reinstall /wheels/sonic_utilities-1.2-py3-none-any.whl diff --git a/.azure-pipelines/test-docker-sonic-vs-template.yml b/.azure-pipelines/test-docker-sonic-vs-template.yml new file mode 100644 index 0000000000..56582ebdfa --- /dev/null +++ b/.azure-pipelines/test-docker-sonic-vs-template.yml @@ -0,0 +1,75 @@ +parameters: +- name: timeout + type: number + default: 180 + +- name: log_artifact_name + type: string + +jobs: +- job: + displayName: vstest + timeoutInMinutes: ${{ parameters.timeout }} + + pool: + vmImage: 'ubuntu-20.04' + + steps: + - task: DownloadPipelineArtifact@2 + inputs: + artifact: docker-sonic-vs + displayName: "Download docker sonic vs image" + + - task: DownloadPipelineArtifact@2 + inputs: + source: specific + project: build + pipeline: 9 + artifact: sonic-swss-common.amd64.ubuntu20_04 + runVersion: 'latestFromBranch' + runBranch: 'refs/heads/master' + displayName: "Download sonic swss common deb packages" + + - checkout: self + displayName: "Checkout sonic-swss-common" + - checkout: sonic-swss + displayName: "Checkout sonic-swss" + + - script: | + set -x + sudo sonic-utilities/.azure-pipelines/build_and_install_module.sh + + sudo apt-get install -y libhiredis0.14 + sudo dpkg -i --force-confask,confnew ../libswsscommon_1.0.0_amd64.deb || apt-get install -f + sudo dpkg -i ../python3-swsscommon_1.0.0_amd64.deb + + # install packages for vs test + sudo apt-get install -y net-tools bridge-utils vlan + sudo apt-get install -y python3-pip + sudo pip3 install pytest==4.6.2 attrs==19.1.0 exabgp==4.0.10 distro==1.5.0 docker==4.4.1 redis==3.3.4 flaky==3.7.0 + displayName: "Install dependencies" + + - script: | + set -x + sudo docker load -i ../docker-sonic-vs.gz + docker ps + ip netns list + pushd sonic-swss/tests + sudo py.test -v --force-flaky --junitxml=tr.xml --imgname=docker-sonic-vs:$(Build.DefinitionName).$(Build.BuildNumber) + displayName: "Run vs tests" + + - task: PublishTestResults@2 + inputs: + testResultsFiles: '**/tr.xml' + testRunTitle: vstest + condition: always() + + - script: | + cp -r sonic-swss/tests/log $(Build.ArtifactStagingDirectory)/ + displayName: "Collect logs" + condition: always() + + - publish: $(Build.ArtifactStagingDirectory)/ + artifact: ${{ parameters.log_artifact_name }}@$(System.JobAttempt) + displayName: "Publish logs" + condition: always() diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 78403f1698..79d7c7326a 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -6,73 +6,102 @@ trigger: - master -pool: - vmImage: ubuntu-20.04 +resources: + repositories: + - repository: sonic-swss + type: github + name: Azure/sonic-swss + endpoint: build -container: - image: sonicdev-microsoft.azurecr.io:443/sonic-slave-buster:latest +stages: +- stage: Build -steps: -- task: DownloadPipelineArtifact@2 - inputs: - source: specific - project: build - pipeline: 1 - artifact: sonic-buildimage.vs - runVersion: 'latestFromBranch' - runBranch: 'refs/heads/master' - displayName: "Download artifacts from latest sonic-buildimage build" + jobs: + - job: + displayName: "Python3" + pool: + vmImage: ubuntu-20.04 -- script: | - set -xe - sudo dpkg -i libnl-3-200_*.deb - sudo dpkg -i libnl-genl-3-200_*.deb - sudo dpkg -i libnl-route-3-200_*.deb - sudo dpkg -i libnl-nf-3-200_*.deb - sudo dpkg -i libhiredis0.14_*.deb - sudo dpkg -i libswsscommon_1.0.0_amd64.deb - sudo dpkg -i python3-swsscommon_1.0.0_amd64.deb - sudo dpkg -i libyang_1.0.73_amd64.deb - sudo dpkg -i libyang-cpp_1.0.73_amd64.deb - sudo dpkg -i python3-yang_1.0.73_amd64.deb - workingDirectory: $(Pipeline.Workspace)/target/debs/buster/ - displayName: 'Install Debian dependencies' + container: + image: sonicdev-microsoft.azurecr.io:443/sonic-slave-buster:latest -- script: | - set -xe - sudo pip3 install swsssdk-2.0.1-py3-none-any.whl - sudo pip3 install sonic_py_common-1.0-py3-none-any.whl - sudo pip3 install sonic_config_engine-1.0-py3-none-any.whl - sudo pip3 install sonic_platform_common-1.0-py3-none-any.whl - sudo pip3 install sonic_yang_mgmt-1.0-py3-none-any.whl - sudo pip3 install sonic_yang_models-1.0-py3-none-any.whl - workingDirectory: $(Pipeline.Workspace)/target/python-wheels/ - displayName: 'Install Python dependencies' + steps: + - task: DownloadPipelineArtifact@2 + inputs: + source: specific + project: build + pipeline: 1 + artifact: sonic-buildimage.vs + runVersion: 'latestFromBranch' + runBranch: 'refs/heads/master' + displayName: "Download artifacts from latest sonic-buildimage build" -- script: | - python3 setup.py test - displayName: 'Test Python 3' + - script: | + set -xe + sudo dpkg -i libnl-3-200_*.deb + sudo dpkg -i libnl-genl-3-200_*.deb + sudo dpkg -i libnl-route-3-200_*.deb + sudo dpkg -i libnl-nf-3-200_*.deb + sudo dpkg -i libhiredis0.14_*.deb + sudo dpkg -i libswsscommon_1.0.0_amd64.deb + sudo dpkg -i python3-swsscommon_1.0.0_amd64.deb + sudo dpkg -i libyang_1.0.73_amd64.deb + sudo dpkg -i libyang-cpp_1.0.73_amd64.deb + sudo dpkg -i python3-yang_1.0.73_amd64.deb + workingDirectory: $(Pipeline.Workspace)/target/debs/buster/ + displayName: 'Install Debian dependencies' -- task: PublishTestResults@2 - inputs: - testResultsFiles: '$(System.DefaultWorkingDirectory)/test-results.xml' - testRunTitle: Python 3 - failTaskOnFailedTests: true - condition: succeededOrFailed() - displayName: 'Publish Python 3 test results' + - script: | + set -xe + sudo pip3 install swsssdk-2.0.1-py3-none-any.whl + sudo pip3 install sonic_py_common-1.0-py3-none-any.whl + sudo pip3 install sonic_config_engine-1.0-py3-none-any.whl + sudo pip3 install sonic_platform_common-1.0-py3-none-any.whl + sudo pip3 install sonic_yang_mgmt-1.0-py3-none-any.whl + sudo pip3 install sonic_yang_models-1.0-py3-none-any.whl + workingDirectory: $(Pipeline.Workspace)/target/python-wheels/ + displayName: 'Install Python dependencies' -- task: PublishCodeCoverageResults@1 - inputs: - codeCoverageTool: Cobertura - summaryFileLocation: '$(System.DefaultWorkingDirectory)/coverage.xml' - reportDirectory: '$(System.DefaultWorkingDirectory)/htmlcov/' - displayName: 'Publish Python 3 test coverage' + - script: | + python3 setup.py test + displayName: 'Test Python 3' -- script: | - set -e - python3 setup.py bdist_wheel - displayName: 'Build Python 3 wheel' + - task: PublishTestResults@2 + inputs: + testResultsFiles: '$(System.DefaultWorkingDirectory)/test-results.xml' + testRunTitle: Python 3 + failTaskOnFailedTests: true + condition: succeededOrFailed() + displayName: 'Publish Python 3 test results' -- publish: '$(System.DefaultWorkingDirectory)/dist/' - artifact: wheels - displayName: "Publish Python wheels" + - task: PublishCodeCoverageResults@1 + inputs: + codeCoverageTool: Cobertura + summaryFileLocation: '$(System.DefaultWorkingDirectory)/coverage.xml' + reportDirectory: '$(System.DefaultWorkingDirectory)/htmlcov/' + displayName: 'Publish Python 3 test coverage' + + - script: | + set -e + python3 setup.py bdist_wheel + displayName: 'Build Python 3 wheel' + + - publish: '$(System.DefaultWorkingDirectory)/dist/' + artifact: wheels + displayName: "Publish Python wheels" + +- stage: BuildDocker + dependsOn: Build + condition: succeeded('Build') + jobs: + - template: .azure-pipelines/build-docker-sonic-vs-template.yml + parameters: + artifact_name: docker-sonic-vs + +- stage: Test + dependsOn: BuildDocker + condition: succeeded('BuildDocker') + jobs: + - template: .azure-pipelines/test-docker-sonic-vs-template.yml + parameters: + log_artifact_name: log From 9a2872dbb2203be11ea24cdecb71888ee03ec83d Mon Sep 17 00:00:00 2001 From: Stepan Blyshchak <38952541+stepanblyschak@users.noreply.github.com> Date: Wed, 31 Mar 2021 16:49:58 +0300 Subject: [PATCH 144/342] [cli] Dynamic cli extension via plugins (#1186) Added a mechanism to extend command line interface via plugins. For every program - show, config, clear a new python package called 'plugins' is added. This package is used as a namespace for all plugins python modules. As an example mlnx.py is moved to the plugins package. In the fututre, this mechanism will be used by Application Extension infrastructure. Signed-off-by: Stepan Blyschak --- clear/main.py | 12 ++++++++++- clear/plugins/__init__.py | 0 config/main.py | 13 ++++++++---- config/plugins/__init__.py | 0 config/{ => plugins}/mlnx.py | 6 ++++++ setup.py | 3 +++ show/main.py | 10 ++++++++- show/platform.py | 6 ------ show/plugins/__init__.py | 0 show/{ => plugins}/mlnx.py | 6 ++++++ utilities_common/util_base.py | 40 +++++++++++++++++++++++++++++++++-- 11 files changed, 82 insertions(+), 14 deletions(-) create mode 100644 clear/plugins/__init__.py create mode 100644 config/plugins/__init__.py rename config/{ => plugins}/mlnx.py (96%) mode change 100644 => 100755 show/main.py create mode 100644 show/plugins/__init__.py rename show/{ => plugins}/mlnx.py (94%) diff --git a/clear/main.py b/clear/main.py index f7e5d715ed..4302ae00aa 100755 --- a/clear/main.py +++ b/clear/main.py @@ -5,6 +5,10 @@ import click +from utilities_common import util_base + +from . import plugins + # This is from the aliases example: # https://github.com/pallets/click/blob/57c6f09611fc47ca80db0bd010f05998b3c0aa95/examples/aliases/aliases.py @@ -120,7 +124,6 @@ def cli(): """SONiC command line - 'Clear' command""" pass - # # 'ip' group ### # @@ -446,5 +449,12 @@ def translations(): cmd = "natclear -t" run_command(cmd) + +# Load plugins and register them +helper = util_base.UtilHelper() +for plugin in helper.load_plugins(plugins): + helper.register_plugin(plugin, cli) + + if __name__ == '__main__': cli() diff --git a/clear/plugins/__init__.py b/clear/plugins/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/config/main.py b/config/main.py index d27562bd4e..8548dfce8f 100644 --- a/config/main.py +++ b/config/main.py @@ -16,6 +16,7 @@ from portconfig import get_child_ports from sonic_py_common import device_info, multi_asic from sonic_py_common.interface import get_interface_table_name, get_port_table_name +from utilities_common import util_base from swsscommon.swsscommon import SonicV2Connector, ConfigDBConnector, SonicDBConfig from utilities_common.db import Db from utilities_common.intf_filter import parse_interface_in_filter @@ -28,11 +29,11 @@ from . import feature from . import kdump from . import kube -from . import mlnx from . import muxcable from . import nat from . import vlan from . import vxlan +from . import plugins from .config_mgmt import ConfigMgmtDPB # mock masic APIs for unit test @@ -849,9 +850,6 @@ def config(ctx): except (KeyError, TypeError): raise click.Abort() - if asic_type == 'mellanox': - platform.add_command(mlnx.mlnx) - # Load the global config file database_global.json once. num_asic = multi_asic.get_num_asics() if num_asic > 1: @@ -4415,5 +4413,12 @@ def delete(ctx): sflow_tbl['global'].pop('agent_id') config_db.set_entry('SFLOW', 'global', sflow_tbl['global']) + +# Load plugins and register them +helper = util_base.UtilHelper() +for plugin in helper.load_plugins(plugins): + helper.register_plugin(plugin, config) + + if __name__ == '__main__': config() diff --git a/config/plugins/__init__.py b/config/plugins/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/config/mlnx.py b/config/plugins/mlnx.py similarity index 96% rename from config/mlnx.py rename to config/plugins/mlnx.py index c8c9cfb0c2..0883aa5799 100644 --- a/config/mlnx.py +++ b/config/plugins/mlnx.py @@ -11,6 +11,7 @@ import click from sonic_py_common import logger + from sonic_py_common import device_info import utilities_common.cli as clicommon except ImportError as e: raise ImportError("%s - required module not found" % str(e)) @@ -229,5 +230,10 @@ def sdk_sniffer_disable(): # pass +def register(cli): + version_info = device_info.get_sonic_version_info() + if (version_info and version_info.get('asic_type') == 'mellanox'): + cli.commands['platform'].add_command(mlnx) + if __name__ == '__main__': sniffer() diff --git a/setup.py b/setup.py index 8018efd82c..7df4608403 100644 --- a/setup.py +++ b/setup.py @@ -22,7 +22,9 @@ packages=[ 'acl_loader', 'clear', + 'clear.plugins', 'config', + 'config.plugins', 'connect', 'consutil', 'counterpoll', @@ -42,6 +44,7 @@ 'pddf_ledutil', 'show', 'show.interfaces', + 'show.plugins', 'sonic_installer', 'sonic_installer.bootloader', 'tests', diff --git a/show/main.py b/show/main.py old mode 100644 new mode 100755 index 8e9ee4bcea..8dbe740e71 --- a/show/main.py +++ b/show/main.py @@ -11,6 +11,7 @@ from sonic_py_common import device_info, multi_asic from swsscommon.swsscommon import SonicV2Connector, ConfigDBConnector from tabulate import tabulate +from utilities_common import util_base from utilities_common.db import Db from . import acl @@ -23,7 +24,6 @@ from . import interfaces from . import kdump from . import kube -from . import mlnx from . import muxcable from . import nat from . import platform @@ -35,6 +35,7 @@ from . import vxlan from . import system_health from . import warm_restart +from . import plugins # Global Variables @@ -1413,5 +1414,12 @@ def ztp(status, verbose): cmd = cmd + " --verbose" run_command(cmd, display_cmd=verbose) + +# Load plugins and register them +helper = util_base.UtilHelper() +for plugin in helper.load_plugins(plugins): + helper.register_plugin(plugin, cli) + + if __name__ == '__main__': cli() diff --git a/show/platform.py b/show/platform.py index 029e28f485..7e8f8f444c 100644 --- a/show/platform.py +++ b/show/platform.py @@ -33,12 +33,6 @@ def platform(): pass -version_info = device_info.get_sonic_version_info() -if (version_info and version_info.get('asic_type') == 'mellanox'): - from . import mlnx - platform.add_command(mlnx.mlnx) - - # 'summary' subcommand ("show platform summary") @platform.command() @click.option('--json', is_flag=True, help="Output in JSON format") diff --git a/show/plugins/__init__.py b/show/plugins/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/show/mlnx.py b/show/plugins/mlnx.py similarity index 94% rename from show/mlnx.py rename to show/plugins/mlnx.py index fa887cf999..790784fd50 100644 --- a/show/mlnx.py +++ b/show/plugins/mlnx.py @@ -10,6 +10,7 @@ import subprocess import click import xml.etree.ElementTree as ET + from sonic_py_common import device_info except ImportError as e: raise ImportError("%s - required module not found" % str(e)) @@ -137,3 +138,8 @@ def issu_status(): click.echo('ISSU is enabled' if res else 'ISSU is disabled') + +def register(cli): + version_info = device_info.get_sonic_version_info() + if (version_info and version_info.get('asic_type') == 'mellanox'): + cli.commands['platform'].add_command(mlnx) diff --git a/utilities_common/util_base.py b/utilities_common/util_base.py index 18da93de7a..d32e2dbf70 100644 --- a/utilities_common/util_base.py +++ b/utilities_common/util_base.py @@ -1,17 +1,51 @@ - import os -import sonic_platform +import pkgutil +import importlib + +from sonic_py_common import logger # Constants ==================================================================== PDDF_SUPPORT_FILE = '/usr/share/sonic/platform/pddf_support' # Helper classs +log = logger.Logger() + class UtilHelper(object): def __init__(self): pass + def load_plugins(self, plugins_namespace): + """ Discover and load CLI plugins. Yield a plugin module. """ + + def iter_namespace(ns_pkg): + return pkgutil.iter_modules(ns_pkg.__path__, ns_pkg.__name__ + ".") + + for _, module_name, ispkg in iter_namespace(plugins_namespace): + if ispkg: + continue + log.log_debug('importing plugin: {}'.format(module_name)) + try: + module = importlib.import_module(module_name) + except Exception as err: + log.log_error('failed to import plugin {}: {}'.format(module_name, err), + also_print_to_console=True) + continue + + yield module + + def register_plugin(self, plugin, root_command): + """ Register plugin in top-level command root_command. """ + + name = plugin.__name__ + log.log_debug('registering plugin: {}'.format(name)) + try: + plugin.register(root_command) + except Exception as err: + log.log_error('failed to import plugin {}: {}'.format(name, err), + also_print_to_console=True) + # try get information from platform API and return a default value if caught NotImplementedError def try_get(self, callback, default=None): """ @@ -35,6 +69,7 @@ def load_platform_chassis(self): # Load 2.0 platform API chassis class try: + import sonic_platform chassis = sonic_platform.platform.Platform().get_chassis() except Exception as e: raise Exception("Failed to load chassis due to {}".format(repr(e))) @@ -47,3 +82,4 @@ def check_pddf_mode(self): return True else: return False + From e9cfb323e8d414bd3d748e1c1b989785daff2c2d Mon Sep 17 00:00:00 2001 From: shlomibitton <60430976+shlomibitton@users.noreply.github.com> Date: Fri, 2 Apr 2021 21:24:01 +0300 Subject: [PATCH 145/342] [fast-reboot] Fix dump script to support PortChannels in a VLAN group (#1393) Add PortChannels to the list of interfaces (port_id_2_iface) to support FDB dump for PortChannel in a VLAN group. Fix Azure/sonic-buildimage#4793 - How I did it - Get LAG ID from the DB. - Find the LAG name from APP DB. - Add it to the list of 'port_id_2_iface' to be used. - How to verify it Reproduce the issue mentioned on this PR and try to run fast-reboot with this fix. - Previous command output (if the output of a command-line utility has changed) Traceback: src_ifs = {map_mac_ip_per_vlan[vlan_name][dst_mac] for vlan_name, dst_mac, _ in arp_entries} KeyError: 'b8:59:9f:a8:e2:00' Signed-off-by: Shlomi Bitton --- scripts/fast-reboot-dump.py | 88 ++++++++++++++++++------- setup.py | 1 + tests/fast_reboot_dump_dbs/APPL_DB.json | 10 +++ tests/fast_reboot_dump_dbs/ASIC_DB.json | 62 +++++++++++++++++ tests/fast_reboot_dump_test.py | 50 ++++++++++++++ 5 files changed, 187 insertions(+), 24 deletions(-) create mode 100644 tests/fast_reboot_dump_dbs/APPL_DB.json create mode 100644 tests/fast_reboot_dump_dbs/ASIC_DB.json create mode 100644 tests/fast_reboot_dump_test.py diff --git a/scripts/fast-reboot-dump.py b/scripts/fast-reboot-dump.py index 92b9227a69..54550fb8bc 100644 --- a/scripts/fast-reboot-dump.py +++ b/scripts/fast-reboot-dump.py @@ -39,10 +39,7 @@ def generate_neighbor_entries(filename, all_available_macs): } arp_output.append(obj) - ip_addr = key.split(':')[2] - if ipaddress.ip_interface(str(ip_addr)).ip.version != 4: - #This is ipv6 address - ip_addr = key.replace(key.split(':')[0] + ':' + key.split(':')[1] + ':', '') + ip_addr = key.split(':', 2)[2] neighbor_entries.append((vlan_name, mac, ip_addr)) syslog.syslog(syslog.LOG_INFO, "Neighbor entry: [Vlan: %s, Mac: %s, Ip: %s]" % (vlan_name, mac, ip_addr)) @@ -80,23 +77,58 @@ def get_bridge_port_id_2_port_id(db): return bridge_port_id_2_port_id -def get_map_port_id_2_iface_name(db): - port_id_2_iface = {} - keys = db.keys(db.ASIC_DB, 'ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF:oid:*') +def get_lag_by_member(member_name, app_db): + keys = app_db.keys(app_db.APPL_DB, 'LAG_MEMBER_TABLE:*') keys = [] if keys is None else keys for key in keys: - value = db.get_all(db.ASIC_DB, key) + _, lag_name, lag_member_name = key.split(":") + if lag_member_name == member_name: + return lag_name + return None + +def get_map_host_port_id_2_iface_name(asic_db): + host_port_id_2_iface = {} + keys = asic_db.keys(asic_db.ASIC_DB, 'ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF:oid:*') + keys = [] if keys is None else keys + for key in keys: + value = asic_db.get_all(asic_db.ASIC_DB, key) if value['SAI_HOSTIF_ATTR_TYPE'] != 'SAI_HOSTIF_TYPE_NETDEV': continue port_id = value['SAI_HOSTIF_ATTR_OBJ_ID'] iface_name = value['SAI_HOSTIF_ATTR_NAME'] - port_id_2_iface[port_id] = iface_name + host_port_id_2_iface[port_id] = iface_name + + return host_port_id_2_iface + +def get_map_lag_port_id_2_portchannel_name(asic_db, app_db, host_port_id_2_iface): + lag_port_id_2_iface = {} + keys = asic_db.keys(asic_db.ASIC_DB, 'ASIC_STATE:SAI_OBJECT_TYPE_LAG_MEMBER:oid:*') + keys = [] if keys is None else keys + for key in keys: + value = asic_db.get_all(asic_db.ASIC_DB, key) + lag_id = value['SAI_LAG_MEMBER_ATTR_LAG_ID'] + if lag_id in lag_port_id_2_iface: + continue + member_id = value['SAI_LAG_MEMBER_ATTR_PORT_ID'] + member_name = host_port_id_2_iface[member_id] + lag_name = get_lag_by_member(member_name, app_db) + if lag_name is not None: + lag_port_id_2_iface[lag_id] = lag_name + + return lag_port_id_2_iface + +def get_map_port_id_2_iface_name(asic_db, app_db): + port_id_2_iface = {} + host_port_id_2_iface = get_map_host_port_id_2_iface_name(asic_db) + port_id_2_iface.update(host_port_id_2_iface) + lag_port_id_2_iface = get_map_lag_port_id_2_portchannel_name(asic_db, app_db, host_port_id_2_iface) + port_id_2_iface.update(lag_port_id_2_iface) return port_id_2_iface -def get_map_bridge_port_id_2_iface_name(db): - bridge_port_id_2_port_id = get_bridge_port_id_2_port_id(db) - port_id_2_iface = get_map_port_id_2_iface_name(db) +def get_map_bridge_port_id_2_iface_name(asic_db, app_db): + bridge_port_id_2_port_id = get_bridge_port_id_2_port_id(asic_db) + port_id_2_iface = get_map_port_id_2_iface_name(asic_db, app_db) bridge_port_id_2_iface_name = {} @@ -158,29 +190,37 @@ def get_fdb(db, vlan_name, vlan_id, bridge_id_2_iface): return fdb_entries, available_macs, map_mac_ip def generate_fdb_entries(filename): - fdb_entries = [] + asic_db = swsssdk.SonicV2Connector(host='127.0.0.1') + app_db = swsssdk.SonicV2Connector(host='127.0.0.1') + asic_db.connect(asic_db.ASIC_DB, False) # Make one attempt only + app_db.connect(app_db.APPL_DB, False) # Make one attempt only - db = SonicV2Connector(use_unix_socket_path=False) - db.connect(db.ASIC_DB, False) # Make one attempt only + vlan_ifaces = get_vlan_ifaces() - bridge_id_2_iface = get_map_bridge_port_id_2_iface_name(db) + fdb_entries, all_available_macs, map_mac_ip_per_vlan = generate_fdb_entries_logic(asic_db, app_db, vlan_ifaces) - vlan_ifaces = get_vlan_ifaces() + asic_db.close(asic_db.ASIC_DB) + app_db.close(app_db.APPL_DB) + + with open(filename, 'w') as fp: + json.dump(fdb_entries, fp, indent=2, separators=(',', ': ')) + return all_available_macs, map_mac_ip_per_vlan + +def generate_fdb_entries_logic(asic_db, app_db, vlan_ifaces): + fdb_entries = [] all_available_macs = set() map_mac_ip_per_vlan = {} + + bridge_id_2_iface = get_map_bridge_port_id_2_iface_name(asic_db, app_db) + for vlan in vlan_ifaces: vlan_id = int(vlan.replace('Vlan', '')) - fdb_entry, available_macs, map_mac_ip_per_vlan[vlan] = get_fdb(db, vlan, vlan_id, bridge_id_2_iface) + fdb_entry, available_macs, map_mac_ip_per_vlan[vlan] = get_fdb(asic_db, vlan, vlan_id, bridge_id_2_iface) all_available_macs |= available_macs fdb_entries.extend(fdb_entry) - db.close(db.ASIC_DB) - - with open(filename, 'w') as fp: - json.dump(fdb_entries, fp, indent=2, separators=(',', ': ')) - - return all_available_macs, map_mac_ip_per_vlan + return fdb_entries, all_available_macs, map_mac_ip_per_vlan def get_if(iff, cmd): s = socket.socket() diff --git a/setup.py b/setup.py index 7df4608403..5451d63fb6 100644 --- a/setup.py +++ b/setup.py @@ -170,6 +170,7 @@ 'swsssdk>=2.0.1', 'tabulate==0.8.2', 'xmltodict==0.12.0', + 'deepdiff==5.2.3', ], setup_requires= [ 'pytest-runner', diff --git a/tests/fast_reboot_dump_dbs/APPL_DB.json b/tests/fast_reboot_dump_dbs/APPL_DB.json new file mode 100644 index 0000000000..cb7ebd1f29 --- /dev/null +++ b/tests/fast_reboot_dump_dbs/APPL_DB.json @@ -0,0 +1,10 @@ +{ + "LAG_MEMBER_TABLE:PortChannel0001:Ethernet128": { + "expireat": 1613562033.6011732, + "ttl": -0.001, + "type": "hash", + "value": { + "status": "enabled" + } + } +} diff --git a/tests/fast_reboot_dump_dbs/ASIC_DB.json b/tests/fast_reboot_dump_dbs/ASIC_DB.json new file mode 100644 index 0000000000..c6ff380ac8 --- /dev/null +++ b/tests/fast_reboot_dump_dbs/ASIC_DB.json @@ -0,0 +1,62 @@ +{ + "ASIC_STATE:SAI_OBJECT_TYPE_BRIDGE_PORT:oid:0x3a000000001724": { + "expireat": 1613562026.636173, + "ttl": -0.001, + "type": "hash", + "value": { + "SAI_BRIDGE_PORT_ATTR_ADMIN_STATE": "true", + "SAI_BRIDGE_PORT_ATTR_FDB_LEARNING_MODE": "SAI_BRIDGE_PORT_FDB_LEARNING_MODE_HW", + "SAI_BRIDGE_PORT_ATTR_PORT_ID": "oid:0x20000000016ea", + "SAI_BRIDGE_PORT_ATTR_TYPE": "SAI_BRIDGE_PORT_TYPE_PORT" + } + }, + "ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF:oid:0xd000000000eea": { + "expireat": 1613562026.59113, + "ttl": -0.001, + "type": "hash", + "value": { + "SAI_HOSTIF_ATTR_NAME": "Ethernet128", + "SAI_HOSTIF_ATTR_OBJ_ID": "oid:0x1000000000ec1", + "SAI_HOSTIF_ATTR_OPER_STATUS": "true", + "SAI_HOSTIF_ATTR_TYPE": "SAI_HOSTIF_TYPE_NETDEV", + "SAI_HOSTIF_ATTR_VLAN_TAG": "SAI_HOSTIF_VLAN_TAG_KEEP" + } + }, + "ASIC_STATE:SAI_OBJECT_TYPE_LAG_MEMBER:oid:0x1b0000000016ee": { + "expireat": 1613562026.634684, + "ttl": -0.001, + "type": "hash", + "value": { + "SAI_LAG_MEMBER_ATTR_EGRESS_DISABLE": "false", + "SAI_LAG_MEMBER_ATTR_INGRESS_DISABLE": "false", + "SAI_LAG_MEMBER_ATTR_LAG_ID": "oid:0x20000000016ea", + "SAI_LAG_MEMBER_ATTR_PORT_ID": "oid:0x1000000000ec1" + } + }, + "ASIC_STATE:SAI_OBJECT_TYPE_FDB_ENTRY:{\"bvid\":\"oid:0x260000000016f3\",\"mac\":\"52:54:00:5D:FC:B7\",\"switch_id\":\"oid:0x21000000000000\"}": { + "expireat": 1613562026.593537, + "ttl": -0.001, + "type": "hash", + "value": { + "SAI_FDB_ENTRY_ATTR_BRIDGE_PORT_ID": "oid:0x3a000000001724", + "SAI_FDB_ENTRY_ATTR_PACKET_ACTION": "SAI_PACKET_ACTION_FORWARD", + "SAI_FDB_ENTRY_ATTR_TYPE": "SAI_FDB_ENTRY_TYPE_DYNAMIC" + } + }, + "ASIC_STATE:SAI_OBJECT_TYPE_VLAN:oid:0x26000000000013": { + "expireat": 1613562026.598609, + "ttl": -0.001, + "type": "hash", + "value": { + "NULL": "NULL" + } + }, + "ASIC_STATE:SAI_OBJECT_TYPE_VLAN:oid:0x260000000016f3": { + "expireat": 1613562026.589369, + "ttl": -0.001, + "type": "hash", + "value": { + "SAI_VLAN_ATTR_VLAN_ID": "2" + } + } +} diff --git a/tests/fast_reboot_dump_test.py b/tests/fast_reboot_dump_test.py new file mode 100644 index 0000000000..92b3b55340 --- /dev/null +++ b/tests/fast_reboot_dump_test.py @@ -0,0 +1,50 @@ +import json +import os +from deepdiff import DeepDiff +from utilities_common.db import Db +import importlib +fast_reboot_dump = importlib.import_module("scripts.fast-reboot-dump") + +class TestFastRebootDump(object): + + @classmethod + def setup_class(cls): + print("SETUP") + + test_db_dumps_directory = os.getcwd() + '/tests/fast_reboot_dump_dbs' + asic_db_object = Db() + app_db_object = Db() + asic_db = asic_db_object.db + app_db = app_db_object.db + populate_db(asic_db, test_db_dumps_directory, 'ASIC_DB.json') + populate_db(app_db, test_db_dumps_directory, 'APPL_DB.json') + + cls.asic_db = asic_db + cls.app_db = app_db + + #Test fast-reboot-dump script to generate all required objects when there is a VLAN interface with a PortChannel member. + def test_generate_fdb_entries_vlan_portcahnnel_member(self): + vlan_ifaces = ['Vlan2'] + + fdb_entries, all_available_macs, map_mac_ip_per_vlan = fast_reboot_dump.generate_fdb_entries_logic(self.asic_db, self.app_db, vlan_ifaces) + + expectd_fdb_entries = [{'FDB_TABLE:Vlan2:52-54-00-5D-FC-B7': {'type': 'dynamic', 'port': 'PortChannel0001'}, 'OP': 'SET'}] + assert not DeepDiff(fdb_entries, expectd_fdb_entries, ignore_order=True) + + expectd_all_available_macs = {('Vlan2', '52:54:00:5d:fc:b7')} + assert not DeepDiff(all_available_macs, expectd_all_available_macs, ignore_order=True) + + expectd_map_mac_ip_per_vlan = {'Vlan2': {'52:54:00:5d:fc:b7': 'PortChannel0001'}} + assert not DeepDiff(map_mac_ip_per_vlan, expectd_map_mac_ip_per_vlan, ignore_order=True) + + @classmethod + def teardown_class(cls): + print("TEARDOWN") + +def populate_db(dbconn, test_db_dumps_directory, db_dump_filename): + db = getattr(dbconn, db_dump_filename.replace('.json','')) + with open(test_db_dumps_directory + '/' + db_dump_filename) as DB: + db_dump = json.load(DB) + for table, fields in db_dump.items(): + for key, value in fields['value'].items(): + dbconn.set(db, table, key, value) From 37376ddff0e68aad3452c68278b03c69a2cb41e0 Mon Sep 17 00:00:00 2001 From: Guohan Lu Date: Fri, 2 Apr 2021 00:58:54 -0700 Subject: [PATCH 146/342] [ci]: download latest docker-sonic-vs from sonic-swss repo ensure the pytest is running against latest sonic-swss binary Signed-off-by: Guohan Lu --- .../build-docker-sonic-vs-template.yml | 18 +++++++++++++----- azure-pipelines.yml | 19 +++++++++++++++++-- 2 files changed, 30 insertions(+), 7 deletions(-) diff --git a/.azure-pipelines/build-docker-sonic-vs-template.yml b/.azure-pipelines/build-docker-sonic-vs-template.yml index 1581ed5ded..0a69e3ecab 100644 --- a/.azure-pipelines/build-docker-sonic-vs-template.yml +++ b/.azure-pipelines/build-docker-sonic-vs-template.yml @@ -18,24 +18,32 @@ jobs: - task: DownloadPipelineArtifact@2 inputs: artifact: wheels - displayName: "Download sonic swss artifact" + displayName: "Download sonic utilities artifact" - task: DownloadPipelineArtifact@2 inputs: source: specific project: build - pipeline: 1 - artifact: sonic-buildimage.vs + pipeline: 15 + artifact: ${{ parameters.artifact_name }} runVersion: 'latestFromBranch' runBranch: 'refs/heads/master' - displayName: "Download sonic buildimage" + displayName: "Download docker-sonic-vs artifact" - script: | set -ex echo $(Build.DefinitionName).$(Build.BuildNumber) - docker load < ../target/docker-sonic-vs.gz + docker load < ../docker-sonic-vs.gz + + docker images "docker-sonic-vs" + + image_id=$(docker images "docker-sonic-vs:Azure.sonic-swss*" -q) + + docker tag ${image_id} docker-sonic-vs:latest + + docker images "docker-sonic-vs" mkdir -p .azure-pipelines/docker-sonic-vs/wheels diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 79d7c7326a..28151cbbc2 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -43,14 +43,29 @@ stages: sudo dpkg -i libnl-route-3-200_*.deb sudo dpkg -i libnl-nf-3-200_*.deb sudo dpkg -i libhiredis0.14_*.deb - sudo dpkg -i libswsscommon_1.0.0_amd64.deb - sudo dpkg -i python3-swsscommon_1.0.0_amd64.deb sudo dpkg -i libyang_1.0.73_amd64.deb sudo dpkg -i libyang-cpp_1.0.73_amd64.deb sudo dpkg -i python3-yang_1.0.73_amd64.deb workingDirectory: $(Pipeline.Workspace)/target/debs/buster/ displayName: 'Install Debian dependencies' + - task: DownloadPipelineArtifact@2 + inputs: + source: specific + project: build + pipeline: 9 + artifact: sonic-swss-common + runVersion: 'latestFromBranch' + runBranch: 'refs/heads/master' + displayName: "Download sonic swss common deb packages" + + - script: | + set -xe + sudo dpkg -i libswsscommon_1.0.0_amd64.deb + sudo dpkg -i python3-swsscommon_1.0.0_amd64.deb + workingDirectory: $(Pipeline.Workspace)/ + displayName: 'Install swss-common dependencies' + - script: | set -xe sudo pip3 install swsssdk-2.0.1-py3-none-any.whl From d55d406bb277e7bf4885658f247bb8061ae7c54f Mon Sep 17 00:00:00 2001 From: Guohan Lu Date: Wed, 31 Mar 2021 18:06:29 -0700 Subject: [PATCH 147/342] [acl_loader]: add iptype match to the rules for dataplane acl dataplane acl has v4 and v6 type. in case the rule does not specify the iptype, the acl_loader will automatically add the match for the iptype based on the table type. for l3 table, it will add ethertype = 0x800 for l3v6 table, it will add iptype = ipv6any Signed-off-by: Guohan Lu --- acl_loader/main.py | 22 ++++++++++++++++++++++ tests/acl_input/acl1.json | 18 +++++++++++++++++- tests/acl_loader_test.py | 15 +++++++++++++++ 3 files changed, 54 insertions(+), 1 deletion(-) diff --git a/acl_loader/main.py b/acl_loader/main.py index bb09e20487..adc7c89940 100644 --- a/acl_loader/main.py +++ b/acl_loader/main.py @@ -299,6 +299,22 @@ def is_table_mirror(self, tname): """ return self.tables_db_info[tname]['type'].upper().startswith(self.ACL_TABLE_TYPE_MIRROR) + def is_table_l3v6(self, tname): + """ + Check if ACL table type is L3V6 + :param tname: ACL table name + :return: True if table type is L3V6 else False + """ + return self.tables_db_info[tname]["type"].upper() == "L3V6" + + def is_table_l3(self, tname): + """ + Check if ACL table type is L3 + :param tname: ACL table name + :return: True if table type is L3 else False + """ + return self.tables_db_info[tname]["type"].upper() == "L3" + def is_table_ipv6(self, tname): """ Check if ACL table type is IPv6 (L3V6 or MIRRORV6) @@ -593,6 +609,12 @@ def convert_rule_to_db_schema(self, table_name, rule): rule_props["PRIORITY"] = str(self.max_priority - rule_idx) + # setup default ip type match to dataplane acl (could be overriden by rule later) + if self.is_table_l3v6(table_name): + rule_props["IP_TYPE"] = "IPV6ANY" # ETHERTYPE is not supported for DATAACLV6 + elif self.is_table_l3(table_name): + rule_props["ETHER_TYPE"] = str(self.ethertype_map["ETHERTYPE_IPV4"]) + deep_update(rule_props, self.convert_action(table_name, rule_idx, rule)) deep_update(rule_props, self.convert_l2(table_name, rule_idx, rule)) deep_update(rule_props, self.convert_ip(table_name, rule_idx, rule)) diff --git a/tests/acl_input/acl1.json b/tests/acl_input/acl1.json index 4af13400fa..a9e4d36112 100644 --- a/tests/acl_input/acl1.json +++ b/tests/acl_input/acl1.json @@ -189,6 +189,22 @@ "destination-ip-address": "30.0.0.3/32" } } + }, + "3": { + "config": { + "sequence-id": 3 + }, + "actions": { + "config": { + "forwarding-action": "ACCEPT" + } + }, + "l2": { + "config": { + "vlan-id": "369", + "ethertype": "ETHERTYPE_LLDP" + } + } } } } @@ -247,4 +263,4 @@ } } } -} \ No newline at end of file +} diff --git a/tests/acl_loader_test.py b/tests/acl_loader_test.py index ee5ba65ed1..e1b7e949ea 100644 --- a/tests/acl_loader_test.py +++ b/tests/acl_loader_test.py @@ -60,6 +60,7 @@ def test_vlan_id_translation(self, acl_loader): assert acl_loader.rules_info[("DATAACL", "RULE_2")] assert acl_loader.rules_info[("DATAACL", "RULE_2")] == { "VLAN_ID": 369, + "ETHER_TYPE": "2048", "IP_PROTOCOL": 6, "SRC_IP": "20.0.0.2/32", "DST_IP": "30.0.0.3/32", @@ -82,6 +83,17 @@ def test_vlan_id_not_a_number(self, acl_loader): acl_loader.rules_info = {} acl_loader.load_rules_from_file(os.path.join(test_path, 'acl_input/illegal_vlan_nan.json')) + def test_ethertype_translation(self, acl_loader): + acl_loader.rules_info = {} + acl_loader.load_rules_from_file(os.path.join(test_path, 'acl_input/acl1.json')) + assert acl_loader.rules_info[("DATAACL", "RULE_3")] + assert acl_loader.rules_info[("DATAACL", "RULE_3")] == { + "VLAN_ID": 369, + "ETHER_TYPE": 35020, + "PACKET_ACTION": "FORWARD", + "PRIORITY": "9997" + } + def test_icmp_translation(self, acl_loader): acl_loader.rules_info = {} acl_loader.load_rules_from_file(os.path.join(test_path, 'acl_input/acl1.json')) @@ -92,6 +104,7 @@ def test_icmp_translation(self, acl_loader): "IP_PROTOCOL": 1, "SRC_IP": "20.0.0.2/32", "DST_IP": "30.0.0.3/32", + "ETHER_TYPE": "2048", "PACKET_ACTION": "FORWARD", "PRIORITY": "9999" } @@ -106,6 +119,7 @@ def test_icmpv6_translation(self, acl_loader): "IP_PROTOCOL": 58, "SRC_IPV6": "::1/128", "DST_IPV6": "::1/128", + "IP_TYPE": "IPV6ANY", "PACKET_ACTION": "FORWARD", "PRIORITY": "9999" } @@ -114,6 +128,7 @@ def test_icmpv6_translation(self, acl_loader): "IP_PROTOCOL": 58, "SRC_IPV6": "::1/128", "DST_IPV6": "::1/128", + "IP_TYPE": "IPV6ANY", "PACKET_ACTION": "FORWARD", "PRIORITY": "9900" } From e0f678a45e27fe2c2a2d41547ff0d7af7fdabe2a Mon Sep 17 00:00:00 2001 From: lguohan Date: Sat, 3 Apr 2021 22:56:04 -0700 Subject: [PATCH 148/342] [setup.py]: move the module to test requirement (#1542) bug introduced in #1393 Signed-off-by: Guohan Lu --- setup.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/setup.py b/setup.py index 5451d63fb6..02a8d53e38 100644 --- a/setup.py +++ b/setup.py @@ -169,8 +169,7 @@ 'sonic-yang-mgmt', 'swsssdk>=2.0.1', 'tabulate==0.8.2', - 'xmltodict==0.12.0', - 'deepdiff==5.2.3', + 'xmltodict==0.12.0' ], setup_requires= [ 'pytest-runner', @@ -179,7 +178,8 @@ tests_require = [ 'pytest', 'mockredispy>=2.9.3', - 'sonic-config-engine' + 'sonic-config-engine', + 'deepdiff==5.2.3' ], classifiers=[ 'Development Status :: 3 - Alpha', From 12fc01ecb8965ce7e895eff8eac6ea710814b2ea Mon Sep 17 00:00:00 2001 From: yozhao101 <56170650+yozhao101@users.noreply.github.com> Date: Sat, 3 Apr 2021 23:00:45 -0700 Subject: [PATCH 149/342] [reboot] No need enable the Linux magic system request key (#1538) As introduced by the kernel doc, we do not need the line 20 in reboot script since it only influenced the capability to reboot the Linux kernel by hitting the combo magic key of keyboard. Signed-off-by: Yong Zhao --- scripts/reboot | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/reboot b/scripts/reboot index 1384fb89e7..24607fb095 100755 --- a/scripts/reboot +++ b/scripts/reboot @@ -17,7 +17,6 @@ if [ -e $VMCORE_FILE -a -s $VMCORE_FILE ]; then fi # If no platform-specific reboot tool, just run /sbin/reboot /sbin/reboot - echo 1 > /proc/sys/kernel/sysrq echo b > /proc/sysrq-trigger fi From 87b24818b47c3f6cb144e01eec19be91623613b6 Mon Sep 17 00:00:00 2001 From: abdosi <58047199+abdosi@users.noreply.github.com> Date: Sun, 4 Apr 2021 12:17:22 -0700 Subject: [PATCH 150/342] Reduce time taken by show commands on multi-asic platforms (#1544) Optimize/Reduce the time taken by show interface * and show ip bgp * commands on Multi-asic platforms. --- utilities_common/multi_asic.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/utilities_common/multi_asic.py b/utilities_common/multi_asic.py index 5d7d9f3517..d98b26b399 100644 --- a/utilities_common/multi_asic.py +++ b/utilities_common/multi_asic.py @@ -30,11 +30,11 @@ def is_object_internal(self, object_type, cli_object): For single asic, this function is not applicable ''' if object_type == constants.PORT_OBJ: - return multi_asic.is_port_internal(cli_object) + return multi_asic.is_port_internal(cli_object, self.current_namespace) elif object_type == constants.PORT_CHANNEL_OBJ: - return multi_asic.is_port_channel_internal(cli_object) + return multi_asic.is_port_channel_internal(cli_object, self.current_namespace) elif object_type == constants.BGP_NEIGH_OBJ: - return multi_asic.is_bgp_session_internal(cli_object) + return multi_asic.is_bgp_session_internal(cli_object, self.current_namespace) def skip_display(self, object_type, cli_object): ''' From 9bbc25f6690b0a70b57a989576c421b8117ba64a Mon Sep 17 00:00:00 2001 From: yozhao101 <56170650+yozhao101@users.noreply.github.com> Date: Sun, 4 Apr 2021 14:39:37 -0700 Subject: [PATCH 151/342] [config] Eliminate race condition between reloading Monit config and (#1543) Signed-off-by: Yong Zhao yozhao@microsoft.com What I did Nightly test found a failure when we ran the command sudo config reload/load_minigraph, The error message is: admin@str-a7050-acs-1:~$ sudo config reload -y Disabling container monitoring ... Stopping SONiC target ... Running command: /usr/local/bin/sonic-cfggen -j /etc/sonic/init_cfg.json -j /etc/sonic/config_db.json --write-to-db Running command: /usr/local/bin/db_migrator.py -o migrate Resetting failed status on bgp.service Resetting failed status on caclmgrd.service Resetting failed status on dhcp_relay.service Resetting failed status on hostcfgd.service Resetting failed status on hostname-config.service Resetting failed status on interfaces-config.service Resetting failed status on lldp.service Resetting failed status on ntp-config.service Resetting failed status on pmon.service Resetting failed status on procdockerstatsd.service Resetting failed status on radv.service Resetting failed status on rsyslog-config.service Resetting failed status on swss.service Resetting failed status on syncd.service Resetting failed status on teamd.service Resetting failed status on telemetry.timer Restarting SONiC target ... Reloading Monit configuration ... Reinitializing monit daemon Enabling container monitoring ... Unix socket /var/run/monit.sock connection error -- No such file or directory The root reason is that there exists an implicit race condition between the command sudo monit reload at line 701 and the command sudo monit monitor container_checker at line 706. Both commands need access the monit.sock socket file under the directory /var/run/. Specifically the sudo monit reload at line 701 will re-initialize the Monit daemon, delete old monit.sock file and then create a new one. During this re-initializing process, the command sudo monit status can always execute successfully at line 704 before the old monit.sock file was deleted, but the command sudo monit monitor container_checker at line 706 will only succeed if the new monit.sock was created, otherwise it will fail and raise this error message. How I did it I changed the sequence between the operation to reload Monit configuration and the operation to enable monitoring container_checker. How to verify it I verified this change on DuT str-a7050-acs-1 by running the command sudo config reload/load_minigraph -y to make sure the error was not raised again. Previous command output (if the output of a command-line utility has changed) admin@str-a7050-acs-1:~$ sudo config reload -y Disabling container monitoring ... Stopping SONiC target ... Running command: /usr/local/bin/sonic-cfggen -j /etc/sonic/init_cfg.json -j /etc/sonic/config_db.json --write-to-db Running command: /usr/local/bin/db_migrator.py -o migrate Resetting failed status on bgp.service Resetting failed status on caclmgrd.service Resetting failed status on dhcp_relay.service Resetting failed status on hostcfgd.service Resetting failed status on hostname-config.service Resetting failed status on interfaces-config.service Resetting failed status on lldp.service Resetting failed status on ntp-config.service Resetting failed status on pmon.service Resetting failed status on procdockerstatsd.service Resetting failed status on radv.service Resetting failed status on rsyslog-config.service Resetting failed status on swss.service Resetting failed status on syncd.service Resetting failed status on teamd.service Resetting failed status on telemetry.timer Restarting SONiC target ... Reloading Monit configuration ... Reinitializing monit daemon Enabling container monitoring ... New command output (if the output of a command-line utility has changed) admin@str-a7050-acs-1:~$ sudo config reload -y Disabling container monitoring ... Stopping SONiC target ... Running command: /usr/local/bin/sonic-cfggen -j /etc/sonic/init_cfg.json -j /etc/sonic/config_db.json --write-to-db Running command: /usr/local/bin/db_migrator.py -o migrate Resetting failed status on bgp.service Resetting failed status on caclmgrd.service Resetting failed status on dhcp_relay.service Resetting failed status on hostcfgd.service Resetting failed status on hostname-config.service Resetting failed status on interfaces-config.service Resetting failed status on lldp.service Resetting failed status on ntp-config.service Resetting failed status on pmon.service Resetting failed status on procdockerstatsd.service Resetting failed status on radv.service Resetting failed status on rsyslog-config.service Resetting failed status on swss.service Resetting failed status on syncd.service Resetting failed status on teamd.service Resetting failed status on telemetry.timer Restarting SONiC target ... Enabling container monitoring ... Reloading Monit configuration ... Reinitializing monit daemon --- config/main.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/config/main.py b/config/main.py index 8548dfce8f..18eda659d9 100644 --- a/config/main.py +++ b/config/main.py @@ -696,10 +696,6 @@ def _restart_services(): click.echo("Restarting SONiC target ...") clicommon.run_command("sudo systemctl restart sonic.target") - # Reload Monit configuration to pick up new hostname in case it changed - click.echo("Reloading Monit configuration ...") - clicommon.run_command("sudo monit reload") - try: subprocess.check_call("sudo monit status", shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) click.echo("Enabling container monitoring ...") @@ -707,6 +703,10 @@ def _restart_services(): except subprocess.CalledProcessError as err: pass + # Reload Monit configuration to pick up new hostname in case it changed + click.echo("Reloading Monit configuration ...") + clicommon.run_command("sudo monit reload") + def interface_is_in_vlan(vlan_member_table, interface_name): """ Check if an interface is in a vlan """ From 0ce6a25bbbf0d8b6e429b81cc7d418e53ec14f3f Mon Sep 17 00:00:00 2001 From: vdahiya12 <67608553+vdahiya12@users.noreply.github.com> Date: Mon, 5 Apr 2021 14:11:30 -0700 Subject: [PATCH 152/342] [show][config] cli support for firmware upgrade on Y-Cable (#1528) Summary: This PR provides the support for adding CLI commands for activatie, download, upgrade firmware on the Y-cable In particular these Cli commands are supported: sudo config muxcable firmware download Ethernet0 sudo config muxcable firmware rollback Ethernet0 sudo config muxcable firmware download ~/AEC_WYOMING_B52Yb0_MS_0.6_20201218.bin Ethernet0 Signed-off-by: vaibhav-dahiya vdahiya@microsoft.com What I did Added the support for firmware upgrade CLI on Y cable How I did it added the changes in sonic-utilities/show and sonic-utilities/config by changing the muxcable.py Signed-off-by: vaibhav-dahiya --- config/muxcable.py | 231 +++++++++++++++++++++++++++++++++++++++++ show/muxcable.py | 105 +++++++++++++++++++ tests/muxcable_test.py | 84 +++++++++++++++ 3 files changed, 420 insertions(+) diff --git a/config/muxcable.py b/config/muxcable.py index 518446435d..965bceb6de 100644 --- a/config/muxcable.py +++ b/config/muxcable.py @@ -631,3 +631,234 @@ def setswitchmode(state, port): if rc == False: click.echo("ERR: Unable to set switching mode one or more ports to {}".format(state)) sys.exit(CONFIG_FAIL) + + +def get_per_npu_statedb(per_npu_statedb, port_table_keys): + + # Getting all front asic namespace and correspding config and state DB connector + + namespaces = multi_asic.get_front_end_namespaces() + for namespace in namespaces: + asic_id = multi_asic.get_asic_index_from_namespace(namespace) + # replace these with correct macros + per_npu_statedb[asic_id] = SonicV2Connector(use_unix_socket_path=True, namespace=namespace) + per_npu_statedb[asic_id].connect(per_npu_statedb[asic_id].STATE_DB) + + port_table_keys[asic_id] = per_npu_statedb[asic_id].keys( + per_npu_statedb[asic_id].STATE_DB, 'MUX_CABLE_TABLE|*') + + +def get_physical_port_list(port): + + physical_port_list = [] + if platform_sfputil is not None: + physical_port_list = platform_sfputil_helper.logical_port_name_to_physical_port_list(port) + + asic_index = None + if platform_sfputil is not None: + asic_index = platform_sfputil_helper.get_asic_id_for_logical_port(port) + if asic_index is None: + # TODO this import is only for unit test purposes, and should be removed once sonic_platform_base + # is fully mocked + import sonic_platform_base.sonic_sfp.sfputilhelper + asic_index = sonic_platform_base.sonic_sfp.sfputilhelper.SfpUtilHelper().get_asic_id_for_logical_port(port) + if asic_index is None: + click.echo("Got invalid asic index for port {}, cant retreive mux status".format(port)) + + if not isinstance(physical_port_list, list): + click.echo(("ERR: Unable to locate physical port information for {}".format(port))) + sys.exit(CONFIG_FAIL) + + if len(physical_port_list) != 1: + click.echo("ERR: Found multiple physical ports ({}) associated with {}".format( + ", ".join(physical_port_list), port)) + sys.exit(CONFIG_FAIL) + + return (physical_port_list, asic_index) + + +def perform_download_firmware(physical_port, fwfile, port): + import sonic_y_cable.y_cable + result = sonic_y_cable.y_cable.download_firmware(physical_port, fwfile) + if result == sonic_y_cable.y_cable.FIRMWARE_DOWNLOAD_SUCCESS: + click.echo("firmware download successful {}".format(port)) + return True + else: + click.echo("firmware download failure {}".format(port)) + return False + + +def perform_activate_firmware(physical_port, port): + import sonic_y_cable.y_cable + result = sonic_y_cable.y_cable.activate_firmware(physical_port) + if result == sonic_y_cable.y_cable.FIRMWARE_ACTIVATE_SUCCESS: + click.echo("firmware activate successful for {}".format(port)) + return True + else: + click.echo("firmware activate failure for {}".format(port)) + return False + + +def perform_rollback_firmware(physical_port, port): + import sonic_y_cable.y_cable + result = sonic_y_cable.y_cable.rollback_firmware(physical_port) + if result == sonic_y_cable.y_cable.FIRMWARE_ROLLBACK_SUCCESS: + click.echo("firmware rollback successful {}".format(port)) + return True + else: + click.echo("firmware rollback failure {}".format(port)) + return False + + +@muxcable.group(cls=clicommon.AbbreviationGroup) +def firmware(): + """Configure muxcable firmware command""" + pass + + +@firmware.command() +@click.argument('fwfile', metavar='', required=True) +@click.argument('port', metavar='', required=True, default=None) +def download(fwfile, port): + """Config muxcable firmware download""" + + per_npu_statedb = {} + y_cable_asic_table_keys = {} + port_table_keys = {} + + get_per_npu_statedb(per_npu_statedb, port_table_keys) + + if port is not None and port != "all": + + physical_port_list = [] + physical_port_list, asic_index = get_physical_port_list(port) + physical_port = physical_port_list[0] + if per_npu_statedb[asic_index] is not None: + y_cable_asic_table_keys = port_table_keys[asic_index] + logical_key = "MUX_CABLE_TABLE|{}".format(port) + if logical_key in y_cable_asic_table_keys: + perform_download_firmware(physical_port, fwfile, port) + + else: + click.echo("this is not a valid port present on mux_cable".format(port)) + sys.exit(CONFIG_FAIL) + else: + click.echo("there is not a valid asic table for this asic_index".format(asic_index)) + sys.exit(CONFIG_FAIL) + + elif port == "all" and port is not None: + + rc = CONFIG_SUCCESSFUL + for namespace in namespaces: + asic_id = multi_asic.get_asic_index_from_namespace(namespace) + for key in port_table_keys[asic_id]: + port = key.split("|")[1] + + physical_port_list = [] + (physical_port_list, asic_index) = get_physical_port_list(port) + + physical_port = physical_port_list[0] + + status = perform_download_firmware(physical_port, fwfile, port) + + if status is not True: + rc = CONFIG_FAIL + + sys.exit(rc) + + +@firmware.command() +@click.argument('port', metavar='', required=True, default=None) +def activate(port): + """Config muxcable firmware activate""" + + per_npu_statedb = {} + y_cable_asic_table_keys = {} + port_table_keys = {} + + get_per_npu_statedb(per_npu_statedb, port_table_keys) + + if port is not None and port != "all": + + physical_port_list = [] + (physical_port_list, asic_index) = get_physical_port_list(port) + physical_port = physical_port_list[0] + if per_npu_statedb[asic_index] is not None: + y_cable_asic_table_keys = port_table_keys[asic_index] + logical_key = "MUX_CABLE_TABLE|{}".format(port) + if logical_key in y_cable_asic_table_keys: + perform_activate_firmware(physical_port, port) + + else: + click.echo("this is not a valid port present on mux_cable".format(port)) + sys.exit(CONFIG_FAIL) + else: + click.echo("there is not a valid asic table for this asic_index".format(asic_index)) + sys.exit(CONFIG_FAIL) + + elif port == "all" and port is not None: + + rc = CONFIG_SUCCESSFUL + for namespace in namespaces: + asic_id = multi_asic.get_asic_index_from_namespace(namespace) + for key in port_table_keys[asic_id]: + port = key.split("|")[1] + + physical_port_list = [] + + (physical_port_list, asic_index) = get_physical_port_list(port) + physical_port = physical_port_list[0] + status = perform_activate_firmware(physical_port, port) + + if status is not True: + rc = CONFIG_FAIL + + sys.exit(rc) + + +@firmware.command() +@click.argument('port', metavar='', required=True, default=None) +def rollback(port): + """Config muxcable firmware rollback""" + + port_table_keys = {} + y_cable_asic_table_keys = {} + per_npu_statedb = {} + + get_per_npu_statedb(per_npu_statedb, port_table_keys) + + if port is not None and port != "all": + + physical_port_list = [] + (physical_port_list, asic_index) = get_physical_port_list(port) + physical_port = physical_port_list[0] + if per_npu_statedb[asic_index] is not None: + y_cable_asic_table_keys = port_table_keys[asic_index] + logical_key = "MUX_CABLE_TABLE|{}".format(port) + if logical_key in y_cable_asic_table_keys: + perform_rollback_firmware(physical_port, port) + + else: + click.echo("this is not a valid port present on mux_cable".format(port)) + sys.exit(CONFIG_FAIL) + else: + click.echo("there is not a valid asic table for this asic_index".format(asic_index)) + sys.exit(CONFIG_FAIL) + + elif port == "all" and port is not None: + + rc = CONFIG_SUCCESSFUL + for namespace in namespaces: + asic_id = multi_asic.get_asic_index_from_namespace(namespace) + for key in port_table_keys[asic_id]: + port = key.split("|")[1] + + physical_port_list = [] + (physical_port_list, asic_index) = get_physical_port_list(port) + physical_port = physical_port_list[0] + status = perform_rollback_firmware(physical_port, port) + + if status is not True: + rc = CONFIG_FAIL + + sys.exit(rc) diff --git a/show/muxcable.py b/show/muxcable.py index 4c053dfd84..15a846666f 100644 --- a/show/muxcable.py +++ b/show/muxcable.py @@ -8,6 +8,7 @@ from natsort import natsorted from sonic_py_common import multi_asic from swsscommon.swsscommon import SonicV2Connector, ConfigDBConnector +from swsscommon import swsscommon from tabulate import tabulate from utilities_common import platform_sfputil_helper @@ -820,3 +821,107 @@ def switchmode(port): click.echo(tabulate(body, headers=headers)) if rc == False: sys.exit(EXIT_FAIL) + + +def get_firmware_dict(physical_port, target, side, mux_info_dict): + + import sonic_y_cable.y_cable + result = sonic_y_cable.y_cable.get_firmware_version(physical_port, target) + + if result is not None and isinstance(result, dict): + mux_info_dict[("version_{}_active".format(side))] = result.get("version_active", None) + mux_info_dict[("version_{}_inactive".format(side))] = result.get("version_inactive", None) + mux_info_dict[("version_{}_next".format(side))] = result.get("version_next", None) + + else: + mux_info_dict[("version_{}_active".format(side))] = "N/A" + mux_info_dict[("version_{}_inactive".format(side))] = "N/A" + mux_info_dict[("version_{}_next".format(side))] = "N/A" + + +@muxcable.group(cls=clicommon.AbbreviationGroup) +def firmware(): + """Show muxcable firmware command""" + pass + + +@firmware.command() +@click.argument('port', metavar='', required=True, default=None) +def version(port): + """Show muxcable firmware version""" + + port_table_keys = {} + y_cable_asic_table_keys = {} + per_npu_statedb = {} + physical_port_list = [] + + # Getting all front asic namespace and correspding config and state DB connector + + namespaces = multi_asic.get_front_end_namespaces() + for namespace in namespaces: + asic_id = multi_asic.get_asic_index_from_namespace(namespace) + # replace these with correct macros + per_npu_statedb[asic_id] = swsscommon.SonicV2Connector(use_unix_socket_path=True, namespace=namespace) + per_npu_statedb[asic_id].connect(per_npu_statedb[asic_id].STATE_DB) + + port_table_keys[asic_id] = per_npu_statedb[asic_id].keys( + per_npu_statedb[asic_id].STATE_DB, 'MUX_CABLE_TABLE|*') + + if port is not None: + + logical_port_list = platform_sfputil_helper.get_logical_list() + + if port not in logical_port_list: + click.echo(("ERR: Not a valid logical port for muxcable firmware {}".format(port))) + sys.exit(CONFIG_FAIL) + + asic_index = None + if platform_sfputil is not None: + asic_index = platform_sfputil_helper.get_asic_id_for_logical_port(port) + if asic_index is None: + # TODO this import is only for unit test purposes, and should be removed once sonic_platform_base + # is fully mocked + import sonic_platform_base.sonic_sfp.sfputilhelper + asic_index = sonic_platform_base.sonic_sfp.sfputilhelper.SfpUtilHelper().get_asic_id_for_logical_port(port) + if asic_index is None: + click.echo("Got invalid asic index for port {}, cant retreive mux status".format(port)) + + if platform_sfputil is not None: + physical_port_list = platform_sfputil_helper.logical_port_name_to_physical_port_list(port) + + if not isinstance(physical_port_list, list): + click.echo(("ERR: Unable to locate physical port information for {}".format(port))) + sys.exit(CONFIG_FAIL) + + if len(physical_port_list) != 1: + click.echo("ERR: Found multiple physical ports ({}) associated with {}".format( + ", ".join(physical_port_list), port)) + sys.exit(CONFIG_FAIL) + + mux_info_dict = {} + physical_port = physical_port_list[0] + if per_npu_statedb[asic_index] is not None: + y_cable_asic_table_keys = port_table_keys[asic_index] + logical_key = "MUX_CABLE_TABLE|{}".format(port) + import sonic_y_cable.y_cable + read_side = sonic_y_cable.y_cable.check_read_side(physical_port) + if logical_key in y_cable_asic_table_keys: + if read_side == 1: + get_firmware_dict(physical_port, 1, "self", mux_info_dict) + get_firmware_dict(physical_port, 2, "peer", mux_info_dict) + get_firmware_dict(physical_port, 0, "nic", mux_info_dict) + click.echo("{}".format(json.dumps(mux_info_dict, indent=4))) + elif read_side == 2: + get_firmware_dict(physical_port, 2, "self", mux_info_dict) + get_firmware_dict(physical_port, 1, "peer", mux_info_dict) + get_firmware_dict(physical_port, 0, "nic", mux_info_dict) + click.echo("{}".format(json.dumps(mux_info_dict, indent=4))) + else: + click.echo("Did not get a valid read_side for muxcable".format(port)) + sys.exit(CONFIG_FAIL) + + else: + click.echo("this is not a valid port present on mux_cable".format(port)) + sys.exit(CONFIG_FAIL) + else: + click.echo("there is not a valid asic table for this asic_index".format(asic_index)) diff --git a/tests/muxcable_test.py b/tests/muxcable_test.py index 9f91a0336b..a28662e21a 100644 --- a/tests/muxcable_test.py +++ b/tests/muxcable_test.py @@ -175,6 +175,20 @@ Ethernet12 standby """ +show_muxcable_firmware_version_expected_output = """\ +{ + "version_self_active": "0.6MS", + "version_self_inactive": "0.6MS", + "version_self_next": "0.6MS", + "version_peer_active": "0.6MS", + "version_peer_inactive": "0.6MS", + "version_peer_next": "0.6MS", + "version_nic_active": "0.6MS", + "version_nic_inactive": "0.6MS", + "version_nic_next": "0.6MS" +} +""" + class TestMuxcable(object): @classmethod @@ -696,6 +710,76 @@ def test_config_muxcable_hwmode_state_standby(self): ["standby", "all"], obj=db) assert result.exit_code == 0 + @mock.patch('utilities_common.platform_sfputil_helper.get_logical_list', mock.MagicMock(return_value=["Ethernet0", "Ethernet12"])) + @mock.patch('utilities_common.platform_sfputil_helper.get_asic_id_for_logical_port', mock.MagicMock(return_value=0)) + @mock.patch('show.muxcable.platform_sfputil', mock.MagicMock(return_value={0: ["Ethernet12", "Ethernet0"]})) + @mock.patch('utilities_common.platform_sfputil_helper.get_physical_to_logical', mock.MagicMock(return_value={0: ["Ethernet12", "Ethernet0"]})) + @mock.patch('utilities_common.platform_sfputil_helper.logical_port_name_to_physical_port_list', mock.MagicMock(return_value=[0])) + @mock.patch('sonic_y_cable.y_cable.check_read_side', mock.MagicMock(return_value=(1))) + @mock.patch('click.confirm', mock.MagicMock(return_value=("y"))) + @mock.patch('sonic_y_cable.y_cable.get_firmware_version', mock.MagicMock(return_value={"version_active": "0.6MS", + "version_inactive": "0.6MS", + "version_next": "0.6MS"})) + def test_show_muxcable_firmware_version(self): + runner = CliRunner() + db = Db() + + result = runner.invoke(show.cli.commands["muxcable"].commands["firmware"].commands["version"], [ + "Ethernet0"], obj=db) + assert result.exit_code == 0 + assert result.output == show_muxcable_firmware_version_expected_output + + @mock.patch('utilities_common.platform_sfputil_helper.get_logical_list', mock.MagicMock(return_value=["Ethernet0", "Ethernet12"])) + @mock.patch('utilities_common.platform_sfputil_helper.get_asic_id_for_logical_port', mock.MagicMock(return_value=0)) + @mock.patch('config.muxcable.platform_sfputil', mock.MagicMock(return_value={0: ["Ethernet12", "Ethernet0"]})) + @mock.patch('utilities_common.platform_sfputil_helper.get_physical_to_logical', mock.MagicMock(return_value={0: ["Ethernet12", "Ethernet0"]})) + @mock.patch('utilities_common.platform_sfputil_helper.logical_port_name_to_physical_port_list', mock.MagicMock(return_value=[0])) + @mock.patch('sonic_y_cable.y_cable.check_read_side', mock.MagicMock(return_value=(1))) + @mock.patch('click.confirm', mock.MagicMock(return_value=("y"))) + @mock.patch('sonic_y_cable.y_cable.download_fimware', mock.MagicMock(return_value=(1))) + @mock.patch('sonic_y_cable.y_cable.FIRMWARE_DOWNLOAD_SUCCESS', mock.MagicMock(return_value=(1))) + def test_config_muxcable_download_firmware(self): + runner = CliRunner() + db = Db() + + result = runner.invoke(config.config.commands["muxcable"].commands["firmware"].commands["download"], [ + "fwfile", "Ethernet0"], obj=db) + assert result.exit_code == 0 + + @mock.patch('utilities_common.platform_sfputil_helper.get_logical_list', mock.MagicMock(return_value=["Ethernet0", "Ethernet12"])) + @mock.patch('utilities_common.platform_sfputil_helper.get_asic_id_for_logical_port', mock.MagicMock(return_value=0)) + @mock.patch('config.muxcable.platform_sfputil', mock.MagicMock(return_value={0: ["Ethernet12", "Ethernet0"]})) + @mock.patch('utilities_common.platform_sfputil_helper.get_physical_to_logical', mock.MagicMock(return_value={0: ["Ethernet12", "Ethernet0"]})) + @mock.patch('utilities_common.platform_sfputil_helper.logical_port_name_to_physical_port_list', mock.MagicMock(return_value=[0])) + @mock.patch('sonic_y_cable.y_cable.check_read_side', mock.MagicMock(return_value=(1))) + @mock.patch('click.confirm', mock.MagicMock(return_value=("y"))) + @mock.patch('sonic_y_cable.y_cable.activate_firmware', mock.MagicMock(return_value=(1))) + @mock.patch('sonic_y_cable.y_cable.FIRMWARE_ACTIVATE_SUCCESS', mock.MagicMock(return_value=(1))) + def test_config_muxcable_activate_firmware(self): + runner = CliRunner() + db = Db() + + result = runner.invoke(config.config.commands["muxcable"].commands["firmware"].commands["activate"], [ + "Ethernet0"], obj=db) + assert result.exit_code == 0 + + @mock.patch('utilities_common.platform_sfputil_helper.get_logical_list', mock.MagicMock(return_value=["Ethernet0", "Ethernet12"])) + @mock.patch('utilities_common.platform_sfputil_helper.get_asic_id_for_logical_port', mock.MagicMock(return_value=0)) + @mock.patch('config.muxcable.platform_sfputil', mock.MagicMock(return_value={0: ["Ethernet12", "Ethernet0"]})) + @mock.patch('utilities_common.platform_sfputil_helper.get_physical_to_logical', mock.MagicMock(return_value={0: ["Ethernet12", "Ethernet0"]})) + @mock.patch('utilities_common.platform_sfputil_helper.logical_port_name_to_physical_port_list', mock.MagicMock(return_value=[0])) + @mock.patch('sonic_y_cable.y_cable.check_read_side', mock.MagicMock(return_value=(1))) + @mock.patch('click.confirm', mock.MagicMock(return_value=("y"))) + @mock.patch('sonic_y_cable.y_cable.rollback_firmware', mock.MagicMock(return_value=(1))) + @mock.patch('sonic_y_cable.y_cable.FIRMWARE_ROLLBACK_SUCCESS', mock.MagicMock(return_value=(1))) + def test_config_muxcable_rollback_firmware(self): + runner = CliRunner() + db = Db() + + result = runner.invoke(config.config.commands["muxcable"].commands["firmware"].commands["rollback"], [ + "Ethernet0"], obj=db) + assert result.exit_code == 0 + @classmethod def teardown_class(cls): os.environ['UTILITIES_UNIT_TESTING'] = "0" From 3f2a2964aa5b3704d19665c5b6982a6a90213960 Mon Sep 17 00:00:00 2001 From: shlomibitton <60430976+shlomibitton@users.noreply.github.com> Date: Tue, 6 Apr 2021 00:34:41 +0300 Subject: [PATCH 153/342] Fix fast-reboot-dump.py SonicV2Connector after late merge (#1546) #### What I did This PR https://github.com/Azure/sonic-utilities/pull/1393 merged after PR: https://github.com/Azure/sonic-utilities/pull/1392 This caused the first PR to be not aligned with SonicV2Connector change. This PR motivation is to fix it. --- scripts/fast-reboot-dump.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/fast-reboot-dump.py b/scripts/fast-reboot-dump.py index 54550fb8bc..79347e1d3f 100644 --- a/scripts/fast-reboot-dump.py +++ b/scripts/fast-reboot-dump.py @@ -190,8 +190,8 @@ def get_fdb(db, vlan_name, vlan_id, bridge_id_2_iface): return fdb_entries, available_macs, map_mac_ip def generate_fdb_entries(filename): - asic_db = swsssdk.SonicV2Connector(host='127.0.0.1') - app_db = swsssdk.SonicV2Connector(host='127.0.0.1') + asic_db = SonicV2Connector(use_unix_socket_path=False) + app_db = SonicV2Connector(use_unix_socket_path=False) asic_db.connect(asic_db.ASIC_DB, False) # Make one attempt only app_db.connect(app_db.APPL_DB, False) # Make one attempt only From 305a3e4a45461e17ac825177e2539b81354d76d1 Mon Sep 17 00:00:00 2001 From: lguohan Date: Mon, 5 Apr 2021 20:58:43 -0700 Subject: [PATCH 154/342] [ci]: use the same snapshot of pytests as the docker-sonic-vs image (#1545) in case sonic-swss build failure, the docker-sonic-vs may not match exactly the same pytest checkout from master Signed-off-by: Guohan Lu --- .../test-docker-sonic-vs-template.yml | 24 ++++++++++++++----- 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/.azure-pipelines/test-docker-sonic-vs-template.yml b/.azure-pipelines/test-docker-sonic-vs-template.yml index 56582ebdfa..f7dddc8bc3 100644 --- a/.azure-pipelines/test-docker-sonic-vs-template.yml +++ b/.azure-pipelines/test-docker-sonic-vs-template.yml @@ -30,14 +30,22 @@ jobs: runBranch: 'refs/heads/master' displayName: "Download sonic swss common deb packages" + - task: DownloadPipelineArtifact@2 + inputs: + source: specific + project: build + pipeline: 15 + artifact: sonic-swss-pytests + runVersion: 'latestFromBranch' + runBranch: 'refs/heads/master' + displayName: "Download sonic swss pytests" + - checkout: self - displayName: "Checkout sonic-swss-common" - - checkout: sonic-swss - displayName: "Checkout sonic-swss" + displayName: "Checkout sonic-utilities" - script: | set -x - sudo sonic-utilities/.azure-pipelines/build_and_install_module.sh + sudo .azure-pipelines/build_and_install_module.sh sudo apt-get install -y libhiredis0.14 sudo dpkg -i --force-confask,confnew ../libswsscommon_1.0.0_amd64.deb || apt-get install -f @@ -54,7 +62,11 @@ jobs: sudo docker load -i ../docker-sonic-vs.gz docker ps ip netns list - pushd sonic-swss/tests + cd ../ + mkdir -p sonic-swss + pushd sonic-swss + tar xf ../pytest.tgz + pushd tests sudo py.test -v --force-flaky --junitxml=tr.xml --imgname=docker-sonic-vs:$(Build.DefinitionName).$(Build.BuildNumber) displayName: "Run vs tests" @@ -65,7 +77,7 @@ jobs: condition: always() - script: | - cp -r sonic-swss/tests/log $(Build.ArtifactStagingDirectory)/ + cp -r ../sonic-swss/tests/log $(Build.ArtifactStagingDirectory)/ displayName: "Collect logs" condition: always() From b1097b2178f86719d81b4b0d087ff250b2630bb2 Mon Sep 17 00:00:00 2001 From: Nazarii Hnydyn Date: Tue, 6 Apr 2021 20:02:21 +0300 Subject: [PATCH 155/342] [fwutil]: Fix next image mount (#1533) - What I did Fixed next image mount - How I did it Removed lstrip - How to verify it root@sonic:/home/admin# fwutil update chassis component fw -i next Signed-off-by: Nazarii Hnydyn --- fwutil/lib.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/fwutil/lib.py b/fwutil/lib.py index 19d613cf77..d4623cf7ce 100755 --- a/fwutil/lib.py +++ b/fwutil/lib.py @@ -210,7 +210,10 @@ class SquashFs(object): OVERLAY_MOUNTPOINT_TEMPLATE = "/tmp/image-{}-overlay" def __init__(self): - image_stem = self.next_image.lstrip(self.OS_PREFIX) + image_stem = self.next_image + + if image_stem.startswith(self.OS_PREFIX): + image_stem = image_stem[len(self.OS_PREFIX):] self.fs_path = self.FS_PATH_TEMPLATE.format(image_stem) self.fs_rw = self.FS_RW_TEMPLATE.format(image_stem) @@ -245,6 +248,9 @@ def mount_next_image_fs(self): ) subprocess.check_call(cmd, shell=True) + if not (os.path.exists(self.fs_rw) and os.path.exists(self.fs_work)): + return self.fs_mountpoint + os.mkdir(self.overlay_mountpoint) cmd = "mount -n -r -t overlay -o lowerdir={},upperdir={},workdir={} overlay {}".format( self.fs_mountpoint, From 597639943a5fdd21183ac50428e74f160288b4ae Mon Sep 17 00:00:00 2001 From: Blueve <672454911@qq.com> Date: Wed, 7 Apr 2021 10:16:32 +0800 Subject: [PATCH 156/342] [console] Include Flow Control status in show line result (#1549) - Render the flow control option in show line table - Update unit test case - Update document Signed-off-by: Jing Kan jika@microsoft.com --- consutil/main.py | 5 +++-- doc/Command-Reference.md | 20 ++++++++++---------- tests/console_test.py | 12 ++++++------ 3 files changed, 19 insertions(+), 18 deletions(-) diff --git a/consutil/main.py b/consutil/main.py index b4ee3fa4fe..069f6bb27e 100644 --- a/consutil/main.py +++ b/consutil/main.py @@ -41,7 +41,7 @@ def show(db, brief): ports.sort(key=lambda p: int(p.line_num)) # set table header style - header = ["Line", "Baud", "PID", "Start Time", "Device"] + header = ["Line", "Baud", "Flow Control", "PID", "Start Time", "Device"] body = [] for port in ports: # runtime information @@ -49,7 +49,8 @@ def show(db, brief): pid = port.session_pid if port.session_pid else "-" date = port.session_start_date if port.session_start_date else "-" baud = port.baud - body.append([busy+port.line_num, baud if baud else "-", pid if pid else "-", date if date else "-", port.remote_device]) + flow_control = "Enabled" if port.flow_control else "Disabled" + body.append([busy+port.line_num, baud if baud else "-", flow_control, pid if pid else "-", date if date else "-", port.remote_device]) click.echo(tabulate(body, header, stralign='right')) # 'clear' subcommand diff --git a/doc/Command-Reference.md b/doc/Command-Reference.md index ffbc0c26f4..6615413255 100644 --- a/doc/Command-Reference.md +++ b/doc/Command-Reference.md @@ -1993,13 +1993,13 @@ This command displays serial port or a virtual network connection status. - Example: ``` admin@sonic:~$ show line - Line Baud PID Start Time Device - ------ ------ ----- ------------ -------- - 0 - - - - 1 9600 - - switch1 - 2 - - - - 3 - - - - 4 - - - + Line Baud Flow Control PID Start Time Device + ------ ------ -------------- ----- ------------ -------- + 1 9600 Enabled - - switch1 + 2 - Disabled - - + 3 - Disabled - - + 4 - Disabled - - + 5 - Disabled - - ``` Optionally, you can display configured console ports only by specifying the `-b` or `--breif` flag. @@ -2007,9 +2007,9 @@ Optionally, you can display configured console ports only by specifying the `-b` - Example: ``` admin@sonic:~$ show line -b - Line Baud PID Start Time Device - ------ ------ ----- ------------ -------- - 1 9600 - - switch1 + Line Baud Flow Control PID Start Time Device + ------ ------ -------------- ----- ------------ -------- + 1 9600 Enabled - - switch1 ``` ## Console config commands diff --git a/tests/console_test.py b/tests/console_test.py index c38b7ebb56..e4b5156837 100644 --- a/tests/console_test.py +++ b/tests/console_test.py @@ -531,11 +531,11 @@ def setup_class(cls): print("SETUP") expect_show_output = ''+ \ - """ Line Baud PID Start Time Device ------- ------ ----- ------------------------ -------- - 1 9600 - - switch1 - *2 9600 223 Wed Mar 6 08:31:35 2019 switch2 - 3 9600 - - + """ Line Baud Flow Control PID Start Time Device +------ ------ -------------- ----- ------------------------ -------- + 1 9600 Disabled - - switch1 + *2 9600 Disabled 223 Wed Mar 6 08:31:35 2019 switch2 + 3 9600 Enabled - - """ @mock.patch('consutil.lib.SysInfoProvider.init_device_prefix', mock.MagicMock(return_value=None)) def test_show(self): @@ -543,7 +543,7 @@ def test_show(self): db = Db() db.cfgdb.set_entry("CONSOLE_PORT", 1, { "remote_device" : "switch1", "baud_rate" : "9600" }) db.cfgdb.set_entry("CONSOLE_PORT", 2, { "remote_device" : "switch2", "baud_rate" : "9600" }) - db.cfgdb.set_entry("CONSOLE_PORT", 3, { "baud_rate" : "9600" }) + db.cfgdb.set_entry("CONSOLE_PORT", 3, { "baud_rate" : "9600", "flow_control" : "1" }) db.db.set(db.db.STATE_DB, "CONSOLE_PORT|2", "state", "busy") db.db.set(db.db.STATE_DB, "CONSOLE_PORT|2", "pid", "223") From 50e5c6163488cab87f217a3dc5713ce58ea61011 Mon Sep 17 00:00:00 2001 From: Renuka Manavalan <47282725+renukamanavalan@users.noreply.github.com> Date: Wed, 7 Apr 2021 14:21:27 -0700 Subject: [PATCH 157/342] Fixed the possibility of using uninitialized variable in route_check.py (#1551) --- scripts/route_check.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/scripts/route_check.py b/scripts/route_check.py index 72ed3201bf..efc144c2d3 100755 --- a/scripts/route_check.py +++ b/scripts/route_check.py @@ -390,6 +390,8 @@ def check_routes(): rt_asic_miss = [] results = {} + adds = [] + deletes = [] selector, subs, rt_asic = get_route_entries() @@ -431,8 +433,8 @@ def check_routes(): if results: print_message(syslog.LOG_WARNING, "Failure results: {", json.dumps(results, indent=4), "}") print_message(syslog.LOG_WARNING, "Failed. Look at reported mismatches above") - print_message(syslog.LOG_WARNING, "add: {", json.dumps(adds, indent=4), "}") - print_message(syslog.LOG_WARNING, "del: {", json.dumps(deletes, indent=4), "}") + print_message(syslog.LOG_WARNING, "add: ", json.dumps(adds, indent=4)) + print_message(syslog.LOG_WARNING, "del: ", json.dumps(deletes, indent=4)) return -1, results else: print_message(syslog.LOG_INFO, "All good!") From 030293c12875fd21c034b06e24e6d9ad69d9a450 Mon Sep 17 00:00:00 2001 From: Joe LeVeque Date: Thu, 8 Apr 2021 10:24:31 -0700 Subject: [PATCH 158/342] Use 'importlib' module in lieu of deprecated 'imp' module (#1450) Migrate from using the `imp` module to using the `importlib` module. As of Python 3, the `imp` module has been deprecated in favor of the `importlib` module. Place logic in a new function, `load_module_from_source()` in a new file, `utilities_common/general.py` Also fix some formatting --- config/config_mgmt.py | 39 +++++----- pfcwd/main.py | 6 +- tests/aclshow_test.py | 99 ++++++++++++++++---------- tests/buffer_test.py | 1 - tests/config_dpb_test.py | 21 +++--- tests/config_mgmt_test.py | 114 +++++++++++++++++------------- tests/config_test.py | 10 +-- tests/crm_test.py | 4 +- tests/decode_syseeprom_test.py | 7 +- tests/feature_test.py | 12 ++-- tests/neighbor_advertiser_test.py | 15 ++-- tests/pfcstat_test.py | 1 - tests/pfcwd_test.py | 4 +- tests/port2alias_test.py | 9 ++- tests/psushow_test.py | 7 +- tests/watermarkstat_test.py | 1 - utilities_common/general.py | 17 +++++ utilities_common/util_base.py | 3 +- 18 files changed, 206 insertions(+), 164 deletions(-) create mode 100644 utilities_common/general.py diff --git a/config/config_mgmt.py b/config/config_mgmt.py index 194c8aefc9..cc64b35d97 100644 --- a/config/config_mgmt.py +++ b/config/config_mgmt.py @@ -2,28 +2,21 @@ config_mgmt.py provides classes for configuration validation and for Dynamic Port Breakout. ''' -try: - import re - import syslog +import re +import syslog +from json import load +from sys import flags +from time import sleep as tsleep - from json import load - from time import sleep as tsleep - from imp import load_source - from jsondiff import diff - from sys import flags +import sonic_yang +from jsondiff import diff +from swsssdk import port_util +from swsscommon.swsscommon import SonicV2Connector, ConfigDBConnector +from utilities_common.general import load_module_from_source - # SONiC specific imports - import sonic_yang - from swsssdk import port_util - from swsscommon.swsscommon import SonicV2Connector, ConfigDBConnector - # Using load_source to 'import /usr/local/bin/sonic-cfggen as sonic_cfggen' - # since /usr/local/bin/sonic-cfggen does not have .py extension. - load_source('sonic_cfggen', '/usr/local/bin/sonic-cfggen') - from sonic_cfggen import deep_update, FormatConverter - -except ImportError as e: - raise ImportError("%s - required module not found" % str(e)) +# Load sonic-cfggen from source since /usr/local/bin/sonic-cfggen does not have .py extension. +sonic_cfggen = load_module_from_source('sonic_cfggen', '/usr/local/bin/sonic-cfggen') # Globals YANG_DIR = "/usr/local/yang-models" @@ -193,8 +186,8 @@ def readConfigDB(self): data = dict() configdb = ConfigDBConnector() configdb.connect() - deep_update(data, FormatConverter.db_to_output(configdb.get_config())) - self.configdbJsonIn = FormatConverter.to_serialized(data) + sonic_cfggen.deep_update(data, sonic_cfggen.FormatConverter.db_to_output(configdb.get_config())) + self.configdbJsonIn = sonic_cfggen.FormatConverter.to_serialized(data) self.sysLog(syslog.LOG_DEBUG, 'Reading Input from ConfigDB {}'.\ format(self.configdbJsonIn)) @@ -214,9 +207,9 @@ def writeConfigDB(self, jDiff): data = dict() configdb = ConfigDBConnector() configdb.connect(False) - deep_update(data, FormatConverter.to_deserialized(jDiff)) + sonic_cfggen.deep_update(data, sonic_cfggen.FormatConverter.to_deserialized(jDiff)) self.sysLog(msg="Write in DB: {}".format(data)) - configdb.mod_config(FormatConverter.output_to_db(data)) + configdb.mod_config(sonic_cfggen.FormatConverter.output_to_db(data)) return diff --git a/pfcwd/main.py b/pfcwd/main.py index 9b038316ca..1f8ec2293e 100644 --- a/pfcwd/main.py +++ b/pfcwd/main.py @@ -1,11 +1,9 @@ +import importlib import os -import imp import sys import click - import utilities_common.cli as clicommon - from natsort import natsorted from sonic_py_common.multi_asic import get_external_ports from tabulate import tabulate @@ -27,7 +25,7 @@ import mock_tables.dbconnector if os.environ["UTILITIES_UNIT_TESTING_TOPOLOGY"] == "multi_asic": import mock_tables.mock_multi_asic - imp.reload(mock_tables.mock_multi_asic) + importlib.reload(mock_tables.mock_multi_asic) mock_tables.dbconnector.load_namespace_config() except KeyError: diff --git a/tests/aclshow_test.py b/tests/aclshow_test.py index b2371e9723..e41d56b9eb 100644 --- a/tests/aclshow_test.py +++ b/tests/aclshow_test.py @@ -1,24 +1,26 @@ -import sys +import json import os -from imp import load_source +import sys from io import StringIO from unittest import mock +from utilities_common.general import load_module_from_source test_path = os.path.dirname(os.path.abspath(__file__)) modules_path = os.path.dirname(test_path) scripts_path = os.path.join(modules_path, "scripts") sys.path.insert(0, modules_path) -load_source('aclshow', scripts_path+'/aclshow') -from aclshow import * +# Load the file under test +aclshow_path = os.path.join(scripts_path, 'aclshow') +aclshow = load_module_from_source('aclshow', aclshow_path) from .mock_tables import dbconnector # Expected output for aclshow -default_output = ''+ \ -"""RULE NAME TABLE NAME PRIO PACKETS COUNT BYTES COUNT +default_output = """\ +RULE NAME TABLE NAME PRIO PACKETS COUNT BYTES COUNT ------------ ------------ ------ --------------- ------------- RULE_1 DATAACL 9999 101 100 RULE_2 DATAACL 9998 201 200 @@ -32,8 +34,8 @@ """ # Expected output for aclshow -a -all_output = '' + \ -"""RULE NAME TABLE NAME PRIO PACKETS COUNT BYTES COUNT +all_output = """\ +RULE NAME TABLE NAME PRIO PACKETS COUNT BYTES COUNT ------------ ------------ ------ --------------- ------------- RULE_1 DATAACL 9999 101 100 RULE_2 DATAACL 9998 201 200 @@ -49,35 +51,35 @@ """ # Expected output for aclshow -r RULE_1 -t DATAACL -rule1_dataacl_output = '' + \ -"""RULE NAME TABLE NAME PRIO PACKETS COUNT BYTES COUNT +rule1_dataacl_output = """\ +RULE NAME TABLE NAME PRIO PACKETS COUNT BYTES COUNT ----------- ------------ ------ --------------- ------------- RULE_1 DATAACL 9999 101 100 """ # Expected output for aclshow -r RULE_1 -t DATAACL -rule10_dataacl_output = '' + \ -"""RULE NAME TABLE NAME PRIO PACKETS COUNT BYTES COUNT +rule10_dataacl_output = """\ +RULE NAME TABLE NAME PRIO PACKETS COUNT BYTES COUNT ----------- ------------ ------ --------------- ------------- RULE_10 DATAACL 9989 1001 1000 """ # Expected output for aclshow -a -r RULE_05 -rule05_all_output = ''+ \ -"""RULE NAME TABLE NAME PRIO PACKETS COUNT BYTES COUNT +rule05_all_output = """\ +RULE NAME TABLE NAME PRIO PACKETS COUNT BYTES COUNT ----------- ------------ ------ --------------- ------------- RULE_05 DATAACL 9995 0 0 """ # Expected output for aclshow -r RULE_0 -rule0_output = '' + \ -"""RULE NAME TABLE NAME PRIO PACKETS COUNT BYTES COUNT +rule0_output = """\ +RULE NAME TABLE NAME PRIO PACKETS COUNT BYTES COUNT ----------- ------------ ------ --------------- ------------- """ # Expected output for aclshow -r RULE_4,RULE_6 -vv -rule4_rule6_verbose_output = '' + \ -"""Reading ACL info... +rule4_rule6_verbose_output = """\ +Reading ACL info... Total number of ACL Tables: 8 Total number of ACL Rules: 11 @@ -88,15 +90,15 @@ """ # Expected output for aclshow -t EVERFLOW -everflow_output = '' + \ -"""RULE NAME TABLE NAME PRIO PACKETS COUNT BYTES COUNT +everflow_output = """\ +RULE NAME TABLE NAME PRIO PACKETS COUNT BYTES COUNT ----------- ------------ ------ --------------- ------------- RULE_6 EVERFLOW 9994 601 600 """ # Expected output for aclshow -t DATAACL -dataacl_output = '' + \ -"""RULE NAME TABLE NAME PRIO PACKETS COUNT BYTES COUNT +dataacl_output = """\ +RULE NAME TABLE NAME PRIO PACKETS COUNT BYTES COUNT ------------ ------------ ------ --------------- ------------- RULE_1 DATAACL 9999 101 100 RULE_2 DATAACL 9998 201 200 @@ -113,8 +115,8 @@ # Expected output for # aclshow -a -c ; aclshow -a -all_after_clear_output = '' + \ -"""RULE NAME TABLE NAME PRIO PACKETS COUNT BYTES COUNT +all_after_clear_output = """\ +RULE NAME TABLE NAME PRIO PACKETS COUNT BYTES COUNT ------------ ------------ ------ --------------- ------------- RULE_1 DATAACL 9999 0 0 RULE_2 DATAACL 9998 0 0 @@ -129,6 +131,7 @@ RULE_08 EVERFLOW 9992 0 0 """ + class Aclshow(): def __init__(self, *args, **kwargs): """ @@ -146,8 +149,8 @@ def nullify_counters(self): This method is used to empty dumped counters if exist in /tmp/.counters_acl.p (by default). """ - if os.path.isfile(COUNTER_POSITION): - with open(COUNTER_POSITION, 'w') as fp: + if os.path.isfile(aclshow.COUNTER_POSITION): + with open(aclshow.COUNTER_POSITION, 'w') as fp: json.dump([], fp) def runTest(self): @@ -155,10 +158,10 @@ def runTest(self): This method invokes main() from aclshow utility (parametrized by argparse) parametrized by mock argparse. """ - @mock.patch('argparse.ArgumentParser.parse_args', return_value = argparse.Namespace(**self.kwargs)) - def run(mock_args): - main() - run() + with mock.patch.object(aclshow.argparse.ArgumentParser, + 'parse_args', + return_value=aclshow.argparse.Namespace(**self.kwargs)): + aclshow.main() def setUp(self): if self.nullify_on_start: @@ -173,56 +176,78 @@ def tearDown(self): sys.stdout = self.old_stdout # aclshow + + def test_default(): - test = Aclshow(all = None, clear = None, rules = None, tables = None, verbose = None) + test = Aclshow(all=None, clear=None, rules=None, tables=None, verbose=None) assert test.result.getvalue() == default_output # aclshow -a + + def test_all(): - test = Aclshow(all = True, clear = None, rules = None, tables = None, verbose = None) + test = Aclshow(all=True, clear=None, rules=None, tables=None, verbose=None) assert test.result.getvalue() == all_output # aclshow -r RULE_1 -t DATAACL + + def test_rule1_dataacl(): - test = Aclshow(all = None, clear = None, rules = 'RULE_1', tables = 'DATAACL', verbose = None) + test = Aclshow(all=None, clear=None, rules='RULE_1', tables='DATAACL', verbose=None) assert test.result.getvalue() == rule1_dataacl_output # aclshow -a -r RULE_05 + + def test_rule05_all(): - test = Aclshow(all = True, clear = None, rules = 'RULE_05', tables = None, verbose = None) + test = Aclshow(all=True, clear=None, rules='RULE_05', tables=None, verbose=None) assert test.result.getvalue() == rule05_all_output # aclshow -r RULE_0 + + def test_rule0(): - test = Aclshow(all = None, clear = None, rules = 'RULE_0', tables = None, verbose = None) + test = Aclshow(all=None, clear=None, rules='RULE_0', tables=None, verbose=None) assert test.result.getvalue() == rule0_output # aclshow -r RULE_10 -t DATAACL + + def test_rule10_lowercase_priority(): - test = Aclshow(all = None, clear = None, rules = 'RULE_10', tables = 'DATAACL', verbose = None) + test = Aclshow(all=None, clear=None, rules='RULE_10', tables='DATAACL', verbose=None) assert test.result.getvalue() == rule10_dataacl_output # aclshow -r RULE_4,RULE_6 -vv + + def test_rule4_rule6_verbose(): - test = Aclshow(all = None, clear = None, rules = 'RULE_4,RULE_6', tables = None, verbose = True) + test = Aclshow(all=None, clear=None, rules='RULE_4,RULE_6', tables=None, verbose=True) assert test.result.getvalue() == rule4_rule6_verbose_output # aclshow -t EVERFLOW + + def test_everflow(): test = Aclshow(all=None, clear=None, rules=None, tables='EVERFLOW', verbose=None) assert test.result.getvalue() == everflow_output # aclshow -t DATAACL + + def test_dataacl(): test = Aclshow(all=None, clear=None, rules=None, tables='DATAACL', verbose=None) assert test.result.getvalue() == dataacl_output # aclshow -c + + def test_clear(): test = Aclshow(all=None, clear=True, rules=None, tables=None, verbose=None) assert test.result.getvalue() == clear_output # aclshow -a -c ; aclshow -a + + def test_all_after_clear(): nullify_on_start, nullify_on_exit = True, False test = Aclshow(nullify_on_start, nullify_on_exit, all=True, clear=True, rules=None, tables=None, verbose=None) diff --git a/tests/buffer_test.py b/tests/buffer_test.py index fbbf2ba3bd..30abfad8eb 100644 --- a/tests/buffer_test.py +++ b/tests/buffer_test.py @@ -1,4 +1,3 @@ -import imp import os import sys from click.testing import CliRunner diff --git a/tests/config_dpb_test.py b/tests/config_dpb_test.py index e347538bcf..1d58e90c67 100644 --- a/tests/config_dpb_test.py +++ b/tests/config_dpb_test.py @@ -1,21 +1,22 @@ import json import os import re -from imp import load_source from unittest import mock import pytest from click.testing import CliRunner from utilities_common.db import Db +from utilities_common.general import load_module_from_source import config.main as config -load_source('sonic_cfggen', '/usr/local/bin/sonic-cfggen') -from sonic_cfggen import deep_update, FormatConverter +# Load sonic-cfggen from source since /usr/local/bin/sonic-cfggen does not have .py extension. +sonic_cfggen = load_module_from_source('sonic_cfggen', '/usr/local/bin/sonic-cfggen') + +# Import config_mgmt.py +config_mgmt_py_path = os.path.join(os.path.dirname(__file__), '..', 'config', 'config_mgmt.py') +config_mgmt = load_module_from_source('config_mgmt', config_mgmt_py_path) -load_source('config_mgmt', \ - os.path.join(os.path.dirname(__file__), '..', 'config', 'config_mgmt.py')) -import config_mgmt # Sample platform.json for Test BRKOUT_CFG_FILE_JSON = { @@ -137,14 +138,14 @@ def mock_func(breakout_cfg_file, sonic_db): def write_config_db(cfgdb, config): data = dict() - deep_update(data, FormatConverter.to_deserialized(config)) - cfgdb.mod_config(FormatConverter.output_to_db(data)) + sonic_cfggen.deep_update(data, sonic_cfggen.FormatConverter.to_deserialized(config)) + cfgdb.mod_config(sonic_cfggen.FormatConverter.output_to_db(data)) return def read_config_db(cfgdb): data = dict() - deep_update(data, FormatConverter.db_to_output(cfgdb.get_config())) - return FormatConverter.to_serialized(data) + sonic_cfggen.deep_update(data, sonic_cfggen.FormatConverter.db_to_output(cfgdb.get_config())) + return sonic_cfggen.FormatConverter.to_serialized(data) def writeJson(d, file): with open(file, 'w') as f: diff --git a/tests/config_mgmt_test.py b/tests/config_mgmt_test.py index adeca71d4e..39e3870990 100644 --- a/tests/config_mgmt_test.py +++ b/tests/config_mgmt_test.py @@ -1,15 +1,15 @@ -import imp import os import sys +from json import dump +from copy import deepcopy from unittest import mock, TestCase -# import file under test i.e. config_mgmt.py -imp.load_source('config_mgmt', \ - os.path.join(os.path.dirname(__file__), '..', 'config', 'config_mgmt.py')) -import config_mgmt +from utilities_common.general import load_module_from_source + +# Import file under test i.e., config_mgmt.py +config_mgmt_py_path = os.path.join(os.path.dirname(__file__), '..', 'config', 'config_mgmt.py') +config_mgmt = load_module_from_source('config_mgmt', config_mgmt_py_path) -from json import dump -from copy import deepcopy class TestConfigMgmt(TestCase): ''' @@ -41,15 +41,15 @@ def test_search_keys(self): curConfig = deepcopy(configDbJson) self.writeJson(curConfig, config_mgmt.CONFIG_DB_JSON_FILE) cmdpb = config_mgmt.ConfigMgmtDPB(source=config_mgmt.CONFIG_DB_JSON_FILE) - out = cmdpb.configWithKeys(portBreakOutConfigDbJson, \ - ["Ethernet8","Ethernet9"]) + out = cmdpb.configWithKeys(portBreakOutConfigDbJson, + ["Ethernet8", "Ethernet9"]) assert "VLAN" not in out assert "INTERFACE" not in out for k in out['ACL_TABLE']: # only ports must be chosen len(out['ACL_TABLE'][k]) == 1 - out = cmdpb.configWithKeys(portBreakOutConfigDbJson, \ - ["Ethernet10","Ethernet11"]) + out = cmdpb.configWithKeys(portBreakOutConfigDbJson, + ["Ethernet10", "Ethernet11"]) assert "INTERFACE" in out for k in out['ACL_TABLE']: # only ports must be chosen @@ -58,13 +58,13 @@ def test_search_keys(self): def test_break_out(self): # prepare default config - self.writeJson(portBreakOutConfigDbJson, \ - config_mgmt.DEFAULT_CONFIG_DB_JSON_FILE) + self.writeJson(portBreakOutConfigDbJson, + config_mgmt.DEFAULT_CONFIG_DB_JSON_FILE) # prepare config dj json to start with curConfig = deepcopy(configDbJson) - #Ethernet8: start from 4x25G-->2x50G with -f -l + # Ethernet8: start from 4x25G-->2x50G with -f -l self.dpb_port8_4x25G_2x50G_f_l(curConfig) - #Ethernet8: move from 2x50G-->1x100G without force, list deps + # Ethernet8: move from 2x50G-->1x100G without force, list deps self.dpb_port8_2x50G_1x100G(curConfig) # Ethernet8: move from 2x50G-->1x100G with force, where deps exists self.dpb_port8_2x50G_1x100G_f(curConfig) @@ -136,28 +136,39 @@ def generate_args(self, portIdx, laneIdx, curMode, newMode): ''' # default params pre = "Ethernet" - laneMap = {"4x25G": [1,1,1,1], "2x50G": [2,2], "1x100G":[4], \ - "1x50G(2)+2x25G(2)":[2,1,1], "2x25G(2)+1x50G(2)":[1,1,2]} + laneMap = {"4x25G": [1, 1, 1, 1], "2x50G": [2, 2], "1x100G": [4], + "1x50G(2)+2x25G(2)": [2, 1, 1], "2x25G(2)+1x50G(2)": [1, 1, 2]} laneSpeed = 25000 # generate dPorts - l = list(laneMap[curMode]); l.insert(0, 0); id = portIdx; dPorts = list() + l = list(laneMap[curMode]) + l.insert(0, 0) + id = portIdx + dPorts = list() for i in l[:-1]: id = id + i portName = portName = "{}{}".format(pre, id) dPorts.append(portName) # generate aPorts - l = list(laneMap[newMode]); l.insert(0, 0); id = portIdx; aPorts = list() + l = list(laneMap[newMode]) + l.insert(0, 0) + id = portIdx + aPorts = list() for i in l[:-1]: id = id + i portName = portName = "{}{}".format(pre, id) aPorts.append(portName) # generate pJson - l = laneMap[newMode]; pJson = {"PORT": {}}; li = laneIdx; pi = 0 + l = laneMap[newMode] + pJson = {"PORT": {}} + li = laneIdx + pi = 0 for i in l: speed = laneSpeed*i - lanes = [str(li+j) for j in range(i)]; lanes = ','.join(lanes) + lanes = [str(li+j) for j in range(i)] + lanes = ','.join(lanes) pJson['PORT'][aPorts[pi]] = {"speed": str(speed), "lanes": str(lanes)} - li = li+i; pi = pi + 1 + li = li+i + pi = pi + 1 return dPorts, pJson def updateConfig(self, conf, uconf): @@ -256,10 +267,10 @@ def dpb_port8_1x100G_1x50G_2x25G_f_l(self, curConfig): ''' cmdpb = self.config_mgmt_dpb(curConfig) # create ARGS - dPorts, pJson = self.generate_args(portIdx=8, laneIdx=73, \ - curMode='1x100G', newMode='1x50G(2)+2x25G(2)') + dPorts, pJson = self.generate_args(portIdx=8, laneIdx=73, + curMode='1x100G', newMode='1x50G(2)+2x25G(2)') deps, ret = cmdpb.breakOutPort(delPorts=dPorts, portJson=pJson, - force=True, loadDefConfig=True) + force=True, loadDefConfig=True) # Expected Result delConfig and addConfig is pushed in order delConfig = { 'PORT': { @@ -322,10 +333,10 @@ def dpb_port8_4x25G_1x100G_f(self, curConfig): ''' cmdpb = self.config_mgmt_dpb(curConfig) # create ARGS - dPorts, pJson = self.generate_args(portIdx=8, laneIdx=73, \ - curMode='4x25G', newMode='1x100G') + dPorts, pJson = self.generate_args(portIdx=8, laneIdx=73, + curMode='4x25G', newMode='1x100G') deps, ret = cmdpb.breakOutPort(delPorts=dPorts, portJson=pJson, - force=False, loadDefConfig=False) + force=False, loadDefConfig=False) # Expected Result delConfig and addConfig is pushed in order delConfig = { 'PORT': { @@ -352,10 +363,10 @@ def dpb_port8_1x100G_4x25G(self, curConfig): assert for success and failure. ''' cmdpb = self.config_mgmt_dpb(curConfig) - dPorts, pJson = self.generate_args(portIdx=8, laneIdx=73, \ - curMode='1x100G', newMode='4x25G') + dPorts, pJson = self.generate_args(portIdx=8, laneIdx=73, + curMode='1x100G', newMode='4x25G') deps, ret = cmdpb.breakOutPort(delPorts=dPorts, portJson=pJson, - force=False, loadDefConfig=False) + force=False, loadDefConfig=False) # Expected Result delConfig and addConfig is pushed in order delConfig = { 'PORT': { @@ -380,10 +391,10 @@ def dpb_port8_2x50G_1x100G_f(self, curConfig): ''' cmdpb = self.config_mgmt_dpb(curConfig) # create ARGS - dPorts, pJson = self.generate_args(portIdx=8, laneIdx=73, \ - curMode='2x50G', newMode='1x100G') + dPorts, pJson = self.generate_args(portIdx=8, laneIdx=73, + curMode='2x50G', newMode='1x100G') deps, ret = cmdpb.breakOutPort(delPorts=dPorts, portJson=pJson, - force=True, loadDefConfig=False) + force=True, loadDefConfig=False) # Expected Result delConfig and addConfig is pushed in order delConfig = { 'ACL_TABLE': { @@ -416,10 +427,10 @@ def dpb_port8_2x50G_1x100G(self, curConfig): ''' cmdpb = self.config_mgmt_dpb(curConfig) # create ARGS - dPorts, pJson = self.generate_args(portIdx=8, laneIdx=73, \ - curMode='2x50G', newMode='1x100G') + dPorts, pJson = self.generate_args(portIdx=8, laneIdx=73, + curMode='2x50G', newMode='1x100G') deps, ret = cmdpb.breakOutPort(delPorts=dPorts, portJson=pJson, - force=False, loadDefConfig=False) + force=False, loadDefConfig=False) # Expected Result assert ret == False and len(deps) == 3 assert cmdpb.writeConfigDB.call_count == 0 @@ -438,10 +449,10 @@ def dpb_port8_4x25G_2x50G_f_l(self, curConfig): ''' cmdpb = self.config_mgmt_dpb(curConfig) # create ARGS - dPorts, pJson = self.generate_args(portIdx=8, laneIdx=73, \ - curMode='4x25G', newMode='2x50G') - cmdpb.breakOutPort(delPorts=dPorts, portJson=pJson, force=True, \ - loadDefConfig=True) + dPorts, pJson = self.generate_args(portIdx=8, laneIdx=73, + curMode='4x25G', newMode='2x50G') + cmdpb.breakOutPort(delPorts=dPorts, portJson=pJson, force=True, + loadDefConfig=True) # Expected Result delConfig and addConfig is pushed in order delConfig = { 'ACL_TABLE': { @@ -504,10 +515,10 @@ def dpb_port4_4x25G_2x50G_f_l(self, curConfig): ''' cmdpb = self.config_mgmt_dpb(curConfig) # create ARGS - dPorts, pJson = self.generate_args(portIdx=4, laneIdx=69, \ - curMode='4x25G', newMode='2x50G') - cmdpb.breakOutPort(delPorts=dPorts, portJson=pJson, force=True, \ - loadDefConfig=True) + dPorts, pJson = self.generate_args(portIdx=4, laneIdx=69, + curMode='4x25G', newMode='2x50G') + cmdpb.breakOutPort(delPorts=dPorts, portJson=pJson, force=True, + loadDefConfig=True) # Expected Result delConfig and addConfig is pushed in order delConfig = { 'ACL_TABLE': { @@ -543,8 +554,9 @@ def dpb_port4_4x25G_2x50G_f_l(self, curConfig): self.postUpdateConfig(curConfig, delConfig, addConfig) return + ###########GLOBAL Configs##################################### -configDbJson = { +configDbJson = { "ACL_TABLE": { "NO-NSW-PACL-TEST": { "policy_desc": "NO-NSW-PACL-TEST", @@ -553,7 +565,7 @@ def dpb_port4_4x25G_2x50G_f_l(self, curConfig): "ports": [ "Ethernet9", "Ethernet11", - ] + ] }, "NO-NSW-PACL-V4": { "policy_desc": "NO-NSW-PACL-V4", @@ -564,7 +576,7 @@ def dpb_port4_4x25G_2x50G_f_l(self, curConfig): "Ethernet4", "Ethernet8", "Ethernet10" - ] + ] } }, "VLAN": { @@ -691,7 +703,7 @@ def dpb_port4_4x25G_2x50G_f_l(self, curConfig): "ports": [ "Ethernet9", "Ethernet11", - ] + ] }, "NO-NSW-PACL-V4": { "policy_desc": "NO-NSW-PACL-V4", @@ -700,7 +712,7 @@ def dpb_port4_4x25G_2x50G_f_l(self, curConfig): "Ethernet4", "Ethernet8", "Ethernet10" - ] + ] } }, "VLAN": { @@ -718,7 +730,7 @@ def dpb_port4_4x25G_2x50G_f_l(self, curConfig): }, "Vlan100|Ethernet11": { "tagging_mode": "untagged" - } + } }, "INTERFACE": { "Ethernet11": {}, diff --git a/tests/config_test.py b/tests/config_test.py index 89d8313d53..381ca80304 100644 --- a/tests/config_test.py +++ b/tests/config_test.py @@ -1,5 +1,5 @@ import filecmp -import imp +import importlib import os import traceback import json @@ -37,7 +37,7 @@ def setup_class(cls): os.environ['UTILITIES_UNIT_TESTING'] = "1" print("SETUP") import config.main - imp.reload(config.main) + importlib.reload(config.main) def test_load_minigraph(self, get_cmd_module, setup_single_broadcom_asic): with mock.patch("utilities_common.cli.run_command", mock.MagicMock(side_effect=mock_run_command_side_effect)) as mock_run_command: @@ -63,7 +63,7 @@ def setup_class(cls): print("SETUP") os.environ['UTILITIES_UNIT_TESTING'] = "2" import config.main - imp.reload(config.main) + importlib.reload(config.main) def test_qos_reload_single( self, get_cmd_module, setup_qos_mock_apis, @@ -105,7 +105,7 @@ def setup_class(cls): os.environ['UTILITIES_UNIT_TESTING'] = "2" os.environ["UTILITIES_UNIT_TESTING_TOPOLOGY"] = "multi_asic" import config.main - imp.reload(config.main) + importlib.reload(config.main) def test_qos_reload_masic( self, get_cmd_module, setup_qos_mock_apis, @@ -148,5 +148,5 @@ def teardown_class(cls): # change back to single asic config from .mock_tables import dbconnector from .mock_tables import mock_single_asic - imp.reload(mock_single_asic) + importlib.reload(mock_single_asic) dbconnector.load_namespace_config() diff --git a/tests/crm_test.py b/tests/crm_test.py index 0c42bf17fc..369d9a51ab 100644 --- a/tests/crm_test.py +++ b/tests/crm_test.py @@ -1,4 +1,4 @@ -import imp +import importlib import os import sys from importlib import reload @@ -1577,5 +1577,5 @@ def teardown_class(cls): os.environ["UTILITIES_UNIT_TESTING_TOPOLOGY"] = "" from .mock_tables import dbconnector from .mock_tables import mock_single_asic - imp.reload(mock_single_asic) + importlib.reload(mock_single_asic) dbconnector.load_namespace_config() diff --git a/tests/decode_syseeprom_test.py b/tests/decode_syseeprom_test.py index 4b7758d36c..ae3801d369 100644 --- a/tests/decode_syseeprom_test.py +++ b/tests/decode_syseeprom_test.py @@ -1,10 +1,10 @@ -import importlib import os import sys from unittest import mock import pytest from click.testing import CliRunner +from utilities_common.general import load_module_from_source from .mock_tables import dbconnector @@ -17,10 +17,7 @@ decode_syseeprom_path = os.path.join(scripts_path, 'decode-syseeprom') -loader = importlib.machinery.SourceFileLoader('decode-syseeprom', decode_syseeprom_path) -spec = importlib.util.spec_from_loader(loader.name, loader) -decode_syseeprom = importlib.util.module_from_spec(spec) -loader.exec_module(decode_syseeprom) +decode_syseeprom = load_module_from_source('decode-syseeprom', decode_syseeprom_path) # Replace swsscommon objects with mocked objects decode_syseeprom.SonicV2Connector = dbconnector.SonicV2Connector diff --git a/tests/feature_test.py b/tests/feature_test.py index 661dc9584d..be01eede12 100644 --- a/tests/feature_test.py +++ b/tests/feature_test.py @@ -1,4 +1,4 @@ -from importlib import reload +import importlib from click.testing import CliRunner @@ -395,7 +395,7 @@ def setup_class(cls): def test_config_bgp_feature_inconsistent_state(self, get_cmd_module): from .mock_tables import dbconnector from .mock_tables import mock_multi_asic_3_asics - reload(mock_multi_asic_3_asics) + importlib.reload(mock_multi_asic_3_asics) dbconnector.load_namespace_config() (config, show) = get_cmd_module db = Db() @@ -414,7 +414,7 @@ def test_config_bgp_feature_inconsistent_state(self, get_cmd_module): def test_config_bgp_feature_inconsistent_autorestart(self, get_cmd_module): from .mock_tables import dbconnector from .mock_tables import mock_multi_asic_3_asics - reload(mock_multi_asic_3_asics) + importlib.reload(mock_multi_asic_3_asics) dbconnector.load_namespace_config() (config, show) = get_cmd_module db = Db() @@ -433,7 +433,7 @@ def test_config_bgp_feature_inconsistent_autorestart(self, get_cmd_module): def test_config_bgp_feature_consistent_state(self, get_cmd_module): from .mock_tables import dbconnector from .mock_tables import mock_multi_asic - reload(mock_multi_asic) + importlib.reload(mock_multi_asic) dbconnector.load_namespace_config() (config, show) = get_cmd_module db = Db() @@ -457,7 +457,7 @@ def test_config_bgp_feature_consistent_state(self, get_cmd_module): def test_config_bgp_feature_consistent_autorestart(self, get_cmd_module): from .mock_tables import dbconnector from .mock_tables import mock_multi_asic - reload(mock_multi_asic) + importlib.reload(mock_multi_asic) dbconnector.load_namespace_config() (config, show) = get_cmd_module db = Db() @@ -484,4 +484,4 @@ def test_config_bgp_feature_consistent_autorestart(self, get_cmd_module): def teardown_class(cls): print("TEARDOWN") from .mock_tables import mock_single_asic - reload(mock_single_asic) + importlib.reload(mock_single_asic) diff --git a/tests/neighbor_advertiser_test.py b/tests/neighbor_advertiser_test.py index c6dee598af..4a7ab41863 100644 --- a/tests/neighbor_advertiser_test.py +++ b/tests/neighbor_advertiser_test.py @@ -1,18 +1,21 @@ -import sys import os -import pytest -from unittest import mock import subprocess +import sys +from unittest import mock + +import pytest from swsscommon.swsscommon import ConfigDBConnector +from utilities_common.general import load_module_from_source test_path = os.path.dirname(os.path.abspath(__file__)) modules_path = os.path.dirname(test_path) scripts_path = os.path.join(modules_path, "scripts") sys.path.insert(0, modules_path) -from imp import load_source -load_source('neighbor_advertiser', scripts_path+'/neighbor_advertiser') -import neighbor_advertiser +# Load the file under test +neighbor_advertiser_path = os.path.join(scripts_path, 'neighbor_advertiser') +neighbor_advertiser = load_module_from_source('neighbor_advertiser', neighbor_advertiser_path) + class TestNeighborAdvertiser(object): @pytest.fixture diff --git a/tests/pfcstat_test.py b/tests/pfcstat_test.py index 8a63539efb..6e0a76d364 100644 --- a/tests/pfcstat_test.py +++ b/tests/pfcstat_test.py @@ -1,4 +1,3 @@ -import imp import os import shutil import sys diff --git a/tests/pfcwd_test.py b/tests/pfcwd_test.py index 9a97ff7b33..be04a11f25 100644 --- a/tests/pfcwd_test.py +++ b/tests/pfcwd_test.py @@ -1,4 +1,4 @@ -import imp +import importlib import os import sys from unittest.mock import patch @@ -273,7 +273,7 @@ def setup_class(cls): os.environ["UTILITIES_UNIT_TESTING"] = "2" os.environ["UTILITIES_UNIT_TESTING_TOPOLOGY"] = "multi_asic" import pfcwd.main - imp.reload(pfcwd.main) + importlib.reload(pfcwd.main) def test_pfcwd_stats_all(self): import pfcwd.main as pfcwd diff --git a/tests/port2alias_test.py b/tests/port2alias_test.py index 842bc8ee5d..03b017f968 100644 --- a/tests/port2alias_test.py +++ b/tests/port2alias_test.py @@ -1,10 +1,13 @@ -import sys import os +import sys from unittest import TestCase -import imp +from utilities_common.general import load_module_from_source + +# Load the file under test +port2alias_path = os.path.join(os.path.dirname(__file__), '..', 'scripts', 'port2alias') +port2alias = load_module_from_source('port2alias', port2alias_path) -port2alias = imp.load_source('port2alias', os.path.join(os.path.dirname(__file__), '..', 'scripts', 'port2alias')) class TestPort2Alias(TestCase): def setUp(self): diff --git a/tests/psushow_test.py b/tests/psushow_test.py index c5038ba6c3..fd40a3beb8 100644 --- a/tests/psushow_test.py +++ b/tests/psushow_test.py @@ -1,10 +1,10 @@ -import importlib import os import sys from unittest import mock import pytest from click.testing import CliRunner +from utilities_common.general import load_module_from_source from .mock_tables import dbconnector @@ -17,10 +17,7 @@ # Load the file under test psushow_path = os.path.join(scripts_path, 'psushow') -loader = importlib.machinery.SourceFileLoader('psushow', psushow_path) -spec = importlib.util.spec_from_loader(loader.name, loader) -psushow = importlib.util.module_from_spec(spec) -loader.exec_module(psushow) +psushow = load_module_from_source('psushow', psushow_path) # Replace swsscommon objects with mocked objects psushow.SonicV2Connector = dbconnector.SonicV2Connector diff --git a/tests/watermarkstat_test.py b/tests/watermarkstat_test.py index 3b710896c3..cd4eae00a3 100644 --- a/tests/watermarkstat_test.py +++ b/tests/watermarkstat_test.py @@ -1,4 +1,3 @@ -import imp import os import sys diff --git a/utilities_common/general.py b/utilities_common/general.py new file mode 100644 index 0000000000..a1982793da --- /dev/null +++ b/utilities_common/general.py @@ -0,0 +1,17 @@ +import importlib.machinery +import importlib.util +import sys + +def load_module_from_source(module_name, file_path): + """ + This function will load the Python source file specified by + as a module named and return an instance of the module + """ + loader = importlib.machinery.SourceFileLoader(module_name, file_path) + spec = importlib.util.spec_from_loader(loader.name, loader) + module = importlib.util.module_from_spec(spec) + loader.exec_module(module) + + sys.modules[module_name] = module + + return module diff --git a/utilities_common/util_base.py b/utilities_common/util_base.py index d32e2dbf70..ff5570735c 100644 --- a/utilities_common/util_base.py +++ b/utilities_common/util_base.py @@ -49,7 +49,7 @@ def register_plugin(self, plugin, root_command): # try get information from platform API and return a default value if caught NotImplementedError def try_get(self, callback, default=None): """ - Handy function to invoke the callback and catch NotImplementedError + Handy function to invoke the callback, catch NotImplementedError and return a default value :param callback: Callback to be invoked :param default: Default return value if exception occur :return: Default return value if exception occur else return value of the callback @@ -82,4 +82,3 @@ def check_pddf_mode(self): return True else: return False - From 053978934eee34aa4c20e18d5244c480f6c97f61 Mon Sep 17 00:00:00 2001 From: Sumukha Tumkur Vani Date: Thu, 8 Apr 2021 23:54:48 -0700 Subject: [PATCH 159/342] [load_minigraph]: Avoid starting PFCWD for EPMS devicetype (#1552) --- config/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/main.py b/config/main.py index 18eda659d9..e5a3cf6d0f 100644 --- a/config/main.py +++ b/config/main.py @@ -1186,7 +1186,7 @@ def load_minigraph(db, no_service_restart): # get the device type device_type = _get_device_type() - if device_type != 'MgmtToRRouter': + if device_type != 'MgmtToRRouter' and device_type != 'EPMS': clicommon.run_command("pfcwd start_default", display_cmd=True) # Update SONiC environmnet file From 02b263a6309484b6cdc43f416d84cd50a5e0005b Mon Sep 17 00:00:00 2001 From: vganesan-nokia <67648637+vganesan-nokia@users.noreply.github.com> Date: Fri, 9 Apr 2021 18:14:07 -0400 Subject: [PATCH 160/342] [voq/inbandif] Voq inbandif port (#1363) Inband port can be made available in PORT table. But regular port handlngs are not applicable for Inband port. This PR has change to avoid regular port handling for inband port for route_check and sfpshow script. --- scripts/route_check.py | 33 ++++++++++++++++++++++++ scripts/sfpshow | 6 ++--- tests/mock_tables/appl_db.json | 12 +++++++++ tests/mock_tables/asic0/appl_db.json | 12 +++++++++ tests/mock_tables/asic1/appl_db.json | 12 +++++++++ tests/mock_tables/asic2/appl_db.json | 12 +++++++++ tests/route_check_test.py | 38 ++++++++++++++++++++++++++++ 7 files changed, 122 insertions(+), 3 deletions(-) diff --git a/scripts/route_check.py b/scripts/route_check.py index efc144c2d3..fe870ab076 100755 --- a/scripts/route_check.py +++ b/scripts/route_check.py @@ -354,6 +354,36 @@ def filter_out_local_interfaces(keys): return rt +def filter_out_voq_neigh_routes(keys): + """ + helper to filter out voq neigh routes. These are the + routes statically added for the voq neighbors. We skip + writing route entries in asic db for these. We filter + out reporting error on all the host routes written on + inband interface prefixed with "Ethernte-IB" + :param keys: APPL-DB:ROUTE_TABLE Routes to check. + :return keys filtered out for voq neigh routes + """ + rt = [] + local_if_re = [r'Ethernet-IB\d+'] + + db = swsscommon.DBConnector(APPL_DB_NAME, 0) + tbl = swsscommon.Table(db, 'ROUTE_TABLE') + + for k in keys: + prefix = k.split("/") + e = dict(tbl.get(k)[1]) + if not e: + # Prefix might have been added. So try w/o it. + e = dict(tbl.get(prefix[0])[1]) + if not e or all([not (re.match(x, e['ifname']) and + ((prefix[1] == "32" and e['nexthop'] == "0.0.0.0") or + (prefix[1] == "128" and e['nexthop'] == "::"))) for x in local_if_re]): + rt.append(k) + + return rt + + def filter_out_default_routes(lst): """ helper to filter out default routes @@ -411,6 +441,9 @@ def check_routes(): if rt_appl_miss: rt_appl_miss = filter_out_local_interfaces(rt_appl_miss) + if rt_appl_miss: + rt_appl_miss = filter_out_voq_neigh_routes(rt_appl_miss) + if rt_appl_miss or rt_asic_miss: # Look for subscribe updates for a second adds, deletes = get_subscribe_updates(selector, subs) diff --git a/scripts/sfpshow b/scripts/sfpshow index 119e1252e9..3ee80ea2c0 100755 --- a/scripts/sfpshow +++ b/scripts/sfpshow @@ -12,7 +12,7 @@ import sys import click from natsort import natsorted -from sonic_py_common.interface import front_panel_prefix, backplane_prefix +from sonic_py_common.interface import front_panel_prefix, backplane_prefix, inband_prefix from sonic_py_common import multi_asic from tabulate import tabulate from utilities_common import multi_asic as multi_asic_util @@ -411,7 +411,7 @@ class SFPShow(object): sorted_table_keys = natsorted(port_table_keys) for i in sorted_table_keys: interface = re.split(':', i, maxsplit=1)[-1].strip() - if interface and interface.startswith(front_panel_prefix()) and not interface.startswith(backplane_prefix()): + if interface and interface.startswith(front_panel_prefix()) and not interface.startswith(backplane_prefix()) and not interface.startswith(inband_prefix()): presence = self.db.exists(self.db.STATE_DB, 'TRANSCEIVER_INFO|{}'.format(interface)) if presence: self.output += self.convert_interface_sfp_info_to_cli_output_string( @@ -435,7 +435,7 @@ class SFPShow(object): port_table_keys = self.db.keys(self.db.APPL_DB, "PORT_TABLE:*") for i in port_table_keys: key = re.split(':', i, maxsplit=1)[-1].strip() - if key and key.startswith(front_panel_prefix()) and not key.startswith(backplane_prefix()): + if key and key.startswith(front_panel_prefix()) and not key.startswith(backplane_prefix()) and not key.startswith(inband_prefix()): presence = self.db.exists(self.db.STATE_DB, 'TRANSCEIVER_INFO|{}'.format(key)) if presence: port_table.append((key, 'Present')) diff --git a/tests/mock_tables/appl_db.json b/tests/mock_tables/appl_db.json index 803473b9c4..a73fbb0e55 100644 --- a/tests/mock_tables/appl_db.json +++ b/tests/mock_tables/appl_db.json @@ -108,6 +108,18 @@ "pfc_asym": "off", "admin_status": "up" }, + "PORT_TABLE:Ethernet-IB0": { + "admin_status": "up", + "alias": "Ethernet-IB0", + "asic_port_name": "Rcy-ASIC0", + "description": "", + "index": "148", + "lanes": "109,0,0,0,0,0,0,0", + "mtu": "9100", + "oper_status": "up", + "role": "Int", + "speed": "100000" + }, "INTF_TABLE:Ethernet0.10": { "admin_status": "up" }, diff --git a/tests/mock_tables/asic0/appl_db.json b/tests/mock_tables/asic0/appl_db.json index cfe085962f..875a89fc8b 100644 --- a/tests/mock_tables/asic0/appl_db.json +++ b/tests/mock_tables/asic0/appl_db.json @@ -47,6 +47,18 @@ "speed": "40000", "asic_port_name": "Eth17-ASIC0" }, + "PORT_TABLE:Ethernet-IB0": { + "admin_status": "up", + "alias": "Ethernet-IB0", + "asic_port_name": "Rcy-ASIC0", + "description": "", + "index": "148", + "lanes": "109,0,0,0,0,0,0,0", + "mtu": "9100", + "oper_status": "up", + "role": "Int", + "speed": "100000" + }, "LAG_MEMBER_TABLE:PortChannel1002:Ethernet0": { "status": "disabled" }, diff --git a/tests/mock_tables/asic1/appl_db.json b/tests/mock_tables/asic1/appl_db.json index 3ac977cb02..ed5fbb2c3c 100644 --- a/tests/mock_tables/asic1/appl_db.json +++ b/tests/mock_tables/asic1/appl_db.json @@ -33,6 +33,18 @@ "speed": "40000", "asic_port_name": "Eth1-ASIC1" }, + "PORT_TABLE:Ethernet-IB1": { + "admin_status": "up", + "alias": "Ethernet-IB1", + "asic_port_name": "Rcy-ASIC1", + "description": "", + "index": "152", + "lanes": "109,0,0,0,0,0,0,0", + "mtu": "9100", + "oper_status": "up", + "role": "Int", + "speed": "100000" + }, "LAG_TABLE:PortChannel4009": { "admin_status": "up", "oper_status": "up", diff --git a/tests/mock_tables/asic2/appl_db.json b/tests/mock_tables/asic2/appl_db.json index a9c630228b..56eaf377bb 100644 --- a/tests/mock_tables/asic2/appl_db.json +++ b/tests/mock_tables/asic2/appl_db.json @@ -47,6 +47,18 @@ "speed": "40000", "asic_port_name": "Eth17-ASIC2" }, + "PORT_TABLE:Ethernet-IB2": { + "admin_status": "up", + "alias": "Ethernet-IB2", + "asic_port_name": "Rcy-ASIC2", + "description": "", + "index": "156", + "lanes": "109,0,0,0,0,0,0,0", + "mtu": "9100", + "oper_status": "up", + "role": "Int", + "speed": "100000" + }, "LAG_MEMBER_TABLE:PortChannel1015:Ethernet20": { "status": "enabled" }, diff --git a/tests/route_check_test.py b/tests/route_check_test.py index cf271f6669..f981275314 100644 --- a/tests/route_check_test.py +++ b/tests/route_check_test.py @@ -180,6 +180,44 @@ } } } + }, + "4": { + DESCR: "Good one with routes on voq inband interface", + ARGS: "route_check", + PRE: { + APPL_DB: { + ROUTE_TABLE: { + "0.0.0.0/0" : { "ifname": "portchannel0" }, + "10.10.196.12/31" : { "ifname": "portchannel0" }, + "10.10.196.20/31" : { "ifname": "portchannel0" }, + "10.10.196.30/31" : { "ifname": "lo" }, + "10.10.197.1" : { "ifname": "Ethernet-IB0", "nexthop": "0.0.0.0"}, + "2603:10b0:503:df5::1" : { "ifname": "Ethernet-IB0", "nexthop": "::"}, + "100.0.0.2/32" : { "ifname": "Ethernet-IB0", "nexthop": "0.0.0.0" }, + "2064:100::2/128" : { "ifname": "Ethernet-IB0", "nexthop": "::" }, + "101.0.0.0/24" : { "ifname": "Ethernet-IB0", "nexthop": "100.0.0.2"} + }, + INTF_TABLE: { + "PortChannel1013:10.10.196.24/31": {}, + "PortChannel1023:2603:10b0:503:df4::5d/126": {}, + "PortChannel1024": {}, + "Ethernet-IB0:10.10.197.1/24": {}, + "Ethernet-IB0:2603:10b0:503:df5::1/64": {} + } + }, + ASIC_DB: { + RT_ENTRY_TABLE: { + RT_ENTRY_KEY_PREFIX + "10.10.196.12/31" + RT_ENTRY_KEY_SUFFIX: {}, + RT_ENTRY_KEY_PREFIX + "10.10.196.20/31" + RT_ENTRY_KEY_SUFFIX: {}, + RT_ENTRY_KEY_PREFIX + "10.10.196.24/32" + RT_ENTRY_KEY_SUFFIX: {}, + RT_ENTRY_KEY_PREFIX + "2603:10b0:503:df4::5d/128" + RT_ENTRY_KEY_SUFFIX: {}, + RT_ENTRY_KEY_PREFIX + "0.0.0.0/0" + RT_ENTRY_KEY_SUFFIX: {}, + RT_ENTRY_KEY_PREFIX + "10.10.197.1/32" + RT_ENTRY_KEY_SUFFIX: {}, + RT_ENTRY_KEY_PREFIX + "2603:10b0:503:df5::1/128" + RT_ENTRY_KEY_SUFFIX: {}, + RT_ENTRY_KEY_PREFIX + "101.0.0.0/24" + RT_ENTRY_KEY_SUFFIX: {} + } + } + } } } From 38f9f605c384f06d6061db4adda7951fcb69b9be Mon Sep 17 00:00:00 2001 From: Samuel Angebault Date: Sat, 10 Apr 2021 09:18:16 -0700 Subject: [PATCH 161/342] sonic-installer: fix py3 issues in bootloader.aboot (#1553) These issues are only seen on secureboot enabled platform. --- sonic_installer/bootloader/aboot.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sonic_installer/bootloader/aboot.py b/sonic_installer/bootloader/aboot.py index 9d12862948..3bf3e297e7 100644 --- a/sonic_installer/bootloader/aboot.py +++ b/sonic_installer/bootloader/aboot.py @@ -156,7 +156,7 @@ def getCert(cls, swiFile): return None with swi.open(sigInfo, 'r') as sigFile: for line in sigFile: - data = line.split(':') + data = line.decode('utf8').split(':') if len(data) == 2: if data[0] == ISSUERCERT: try: @@ -197,7 +197,7 @@ def get_rootfs_path(self, image_path): swipath = os.path.join(image_path, DEFAULT_SWI_IMAGE) offset = self._get_swi_file_offset(swipath, ROOTFS_NAME) - loopdev = subprocess.check_output(['losetup', '-f']).rstrip() + loopdev = subprocess.check_output(['losetup', '-f']).decode('utf8').rstrip() try: run_command_or_raise(['losetup', '-o', str(offset), loopdev, swipath]) From e57e7f7ba1bbca63c9bcbea58c5913d48c7e8d9a Mon Sep 17 00:00:00 2001 From: aystarik Date: Sun, 11 Apr 2021 00:33:42 +0300 Subject: [PATCH 162/342] cache the bvid to vlan translations (#1523) Add lookup table for bvid to vlan translations. bvid_tlb will store previous successful translations from slow get_vlan_id_from_bvid() This patch does not change the output from the command, only speeds up it for case of 10k+ MAC tables. --- scripts/fdbshow | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/scripts/fdbshow b/scripts/fdbshow index 2ae95cab79..97e51a784f 100755 --- a/scripts/fdbshow +++ b/scripts/fdbshow @@ -87,6 +87,7 @@ class FdbShow(object): if not fdb_str: return + bvid_tlb = {} oid_pfx = len("oid:0x") for s in fdb_str: fdb_entry = s @@ -111,15 +112,20 @@ class FdbShow(object): if 'bvid' not in fdb: # no possibility to find the Vlan id. skip the FDB entry continue - try: - vlan_id = port_util.get_vlan_id_from_bvid(self.db, fdb["bvid"]) - if vlan_id is None: - # the situation could be faced if the system has an FDB entries, - # which are linked to default Vlan(caused by untagged trafic) - continue - except Exception: - vlan_id = fdb["bvid"] - print("Failed to get Vlan id for bvid {}\n".format(fdb["bvid"])) + bvid = fdb["bvid"] + if bvid in bvid_tlb: + vlan_id = bvid_tlb[bvid] + else: + try: + vlan_id = port_util.get_vlan_id_from_bvid(self.db, bvid) + bvid_tlb[bvid] = vlan_id + if vlan_id is None: + # the situation could be faced if the system has an FDB entries, + # which are linked to default Vlan(caused by untagged trafic) + continue + except Exception: + vlan_id = bvid + print("Failed to get Vlan id for bvid {}\n".format(bvid)) self.bridge_mac_list.append((int(vlan_id),) + (fdb["mac"],) + (if_name,) + (fdb_type,)) self.bridge_mac_list.sort(key = lambda x: x[0]) From eba5c047bcd9ef476e23a1334e5529df12831b0a Mon Sep 17 00:00:00 2001 From: gechiang <62408185+gechiang@users.noreply.github.com> Date: Wed, 14 Apr 2021 17:46:11 -0700 Subject: [PATCH 163/342] Fix Multi-ASIC show specific resursive route by using common parsing function (#1560) * Fix Multi-ASIC show specific resursive route by using common parsing function * Use True/False as parameter instead or 1/0 --- show/bgp_common.py | 22 +++++------ tests/conftest.py | 2 + tests/ip_show_routes_multi_asic_test.py | 14 +++++++ .../asic0/ip_special_recursive_route.json | 39 +++++++++++++++++++ .../asic1/ip_special_recursive_route.json | 1 + .../asic2/ip_special_recursive_route.json | 35 +++++++++++++++++ tests/show_ip_route_common.py | 11 ++++++ 7 files changed, 113 insertions(+), 11 deletions(-) create mode 100644 tests/mock_tables/asic0/ip_special_recursive_route.json create mode 100644 tests/mock_tables/asic1/ip_special_recursive_route.json create mode 100644 tests/mock_tables/asic2/ip_special_recursive_route.json diff --git a/show/bgp_common.py b/show/bgp_common.py index f439c97e65..50df00dcbb 100644 --- a/show/bgp_common.py +++ b/show/bgp_common.py @@ -52,12 +52,18 @@ def get_mpls_label_strgs(label_list): label_str_2_return += "/" + label_string return label_str_2_return -def get_nexthop_info_str(nxhp_info): +def get_nexthop_info_str(nxhp_info, filterByIp): str_2_return = "" if "ip" in nxhp_info: - str_2_return = " via {},".format(nxhp_info['ip']) + if filterByIp: + str_2_return = " * {}".format(nxhp_info['ip']) + else: + str_2_return = " via {},".format(nxhp_info['ip']) if "interfaceName" in nxhp_info: - str_2_return += " {},".format(nxhp_info['interfaceName']) + if filterByIp: + str_2_return += ", via {}".format(nxhp_info['interfaceName']) + else: + str_2_return += " {},".format(nxhp_info['interfaceName']) elif "directlyConnected" in nxhp_info: str_2_return = " is directly connected," if "interfaceName" in nxhp_info: @@ -152,13 +158,7 @@ def print_ip_routes(route_info, filter_by_ip): if "directlyConnected" in info[i]['nexthops'][j]: print(" * directly connected, {}\n".format(info[i]['nexthops'][j]['interfaceName'])) else: - if "ip" in info[i]['nexthops'][j]: - str_2_print = " * {}".format(info[i]['nexthops'][j]['ip']) - - if "active" in info[i]['nexthops'][j]: - str_2_print += ", via {}".format(info[i]['nexthops'][j]['interfaceName']) - else: - str_2_print += " inactive" + str_2_print = get_nexthop_info_str(info[i]['nexthops'][j], True) print(str_2_print) print("") else: @@ -183,7 +183,7 @@ def print_ip_routes(route_info, filter_by_ip): # For all subsequent nexthops skip the spacing to not repeat the prefix section str_2_print += " "*(str_length - 3) # Get the nexhop info portion of the string - str_2_print += get_nexthop_info_str(info[i]['nexthops'][j]) + str_2_print += get_nexthop_info_str(info[i]['nexthops'][j], False) # add uptime at the end of the string str_2_print += " {}".format(info[i]['uptime']) # print out this string diff --git a/tests/conftest.py b/tests/conftest.py index 9a2f30438e..16c018bb64 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -170,6 +170,8 @@ def setup_multi_asic_bgp_instance(request): m_asic_json_file = 'ip_empty_route.json' elif request.param == 'ip_specific_route_on_1_asic': m_asic_json_file = 'ip_special_route_asic0_only.json' + elif request.param == 'ip_specific_recursive_route': + m_asic_json_file = 'ip_special_recursive_route.json' elif request.param == 'ip_route_summary': m_asic_json_file = 'ip_route_summary.txt' else: diff --git a/tests/ip_show_routes_multi_asic_test.py b/tests/ip_show_routes_multi_asic_test.py index 19e9137df0..271467dae5 100644 --- a/tests/ip_show_routes_multi_asic_test.py +++ b/tests/ip_show_routes_multi_asic_test.py @@ -77,6 +77,20 @@ def test_show_multi_asic_ip_route_specific_on_1_asic( assert result.exit_code == 0 assert result.output == show_ip_route_common.show_specific_ip_route_expected_output + @pytest.mark.parametrize('setup_multi_asic_bgp_instance', + ['ip_specific_recursive_route'], indirect=['setup_multi_asic_bgp_instance']) + def test_show_multi_asic_ip_route_specific_recursive_route( + self, + setup_ip_route_commands, + setup_multi_asic_bgp_instance): + show = setup_ip_route_commands + runner = CliRunner() + result = runner.invoke( + show.cli.commands["ip"].commands["route"], ["193.11.208.0/25"]) + print("{}".format(result.output)) + assert result.exit_code == 0 + assert result.output == show_ip_route_common.show_specific_recursive_route_expected_output + @pytest.mark.parametrize('setup_multi_asic_bgp_instance', ['ipv6_specific_route'], indirect=['setup_multi_asic_bgp_instance']) def test_show_multi_asic_ipv6_route_specific( diff --git a/tests/mock_tables/asic0/ip_special_recursive_route.json b/tests/mock_tables/asic0/ip_special_recursive_route.json new file mode 100644 index 0000000000..0904495ceb --- /dev/null +++ b/tests/mock_tables/asic0/ip_special_recursive_route.json @@ -0,0 +1,39 @@ +{ + "193.11.208.0/25": [ + { + "destSelected": true, + "distance": 20, + "installed": true, + "internalFlags": 8, + "internalNextHopActiveNum": 2, + "internalNextHopNum": 2, + "internalStatus": 16, + "metric": 0, + "nexthops": [ + { + "active": true, + "afi": "ipv4", + "fib": true, + "flags": 3, + "interfaceIndex": 728, + "interfaceName": "PortChannel0005", + "ip": "10.0.0.5" + }, + { + "active": true, + "afi": "ipv4", + "fib": true, + "flags": 3, + "interfaceIndex": 727, + "interfaceName": "PortChannel0002", + "ip": "10.0.0.1" + } + ], + "prefix": "193.11.208.0/25", + "protocol": "bgp", + "selected": true, + "table": 254, + "uptime": "00:14:32" + } + ] +} diff --git a/tests/mock_tables/asic1/ip_special_recursive_route.json b/tests/mock_tables/asic1/ip_special_recursive_route.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/tests/mock_tables/asic1/ip_special_recursive_route.json @@ -0,0 +1 @@ +{} diff --git a/tests/mock_tables/asic2/ip_special_recursive_route.json b/tests/mock_tables/asic2/ip_special_recursive_route.json new file mode 100644 index 0000000000..76f6de0ed5 --- /dev/null +++ b/tests/mock_tables/asic2/ip_special_recursive_route.json @@ -0,0 +1,35 @@ +{ + "193.11.208.0/25": [ + { + "destSelected": true, + "distance": 20, + "installed": true, + "internalFlags": 8, + "internalNextHopActiveNum": 0, + "internalNextHopNum": 0, + "internalStatus": 16, + "metric": 0, + "nexthops": [ + { + "active": true, + "afi": "ipv4", + "flags": 5, + "ip": "10.0.0.9", + "recursive": true + }, + { + "active": true, + "afi": "ipv4", + "flags": 5, + "ip": "10.0.0.1", + "recursive": true + } + ], + "prefix": "193.11.208.0/25", + "protocol": "bgp", + "selected": true, + "table": 254, + "uptime": "00:14:35" + } + ] +} diff --git a/tests/show_ip_route_common.py b/tests/show_ip_route_common.py index e18e8b0a5a..386d32e55e 100644 --- a/tests/show_ip_route_common.py +++ b/tests/show_ip_route_common.py @@ -93,6 +93,17 @@ """ +show_specific_recursive_route_expected_output = """\ +Routing entry for 193.11.208.0/25 + Known via "bgp", distance 20, metric 0, best + Last update 00:14:32 ago + * 10.0.0.1, via PortChannel0002 + * 10.0.0.5, via PortChannel0005 + * 10.0.0.9 (recursive) + * 10.0.0.1 (recursive) + +""" + show_special_ip_route_expected_output = """\ Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP, From 0e84418e91905cfc01a9f5e76f1083a44eff5ec7 Mon Sep 17 00:00:00 2001 From: Aravind Mani <53524901+aravindmani-1@users.noreply.github.com> Date: Thu, 15 Apr 2021 09:37:59 -0700 Subject: [PATCH 164/342] Stop PMON docker before cold and soft reboots (#1514) Prevent potential kernel oops if drivers are removed/devices are deinitialized while PMon daemons are still trying to access those devices. --- scripts/reboot | 13 +++++++++++++ scripts/soft-reboot | 12 ++++++++++++ 2 files changed, 25 insertions(+) diff --git a/scripts/reboot b/scripts/reboot index 24607fb095..546aa0fbff 100755 --- a/scripts/reboot +++ b/scripts/reboot @@ -50,17 +50,30 @@ function tag_images() fi } +function stop_pmon_service() +{ + CONTAINER_STOP_RC=0 + debug "Stopping pmon docker" + docker kill pmon &> /dev/null || CONTAINER_STOP_RC=$? + systemctl stop pmon || debug "Ignore stopping pmon error $?" + if [[ CONTAINER_STOP_RC -ne 0 ]]; then + debug "Failed killing container pmon RC $CONTAINER_STOP_RC ." + fi +} + function stop_sonic_services() { if [[ x"$SUBTYPE" == x"DualToR" ]]; then debug "DualToR detected, stopping mux container before reboot..." systemctl stop mux fi + if [[ x"$ASIC_TYPE" != x"mellanox" ]]; then debug "Stopping syncd process..." docker exec -i syncd /usr/bin/syncd_request_shutdown --cold > /dev/null sleep 3 fi + stop_pmon_service } function clear_warm_boot() diff --git a/scripts/soft-reboot b/scripts/soft-reboot index 52ccdd690b..504c58caff 100755 --- a/scripts/soft-reboot +++ b/scripts/soft-reboot @@ -59,6 +59,17 @@ function tag_images() fi } +function stop_pmon_service() +{ + CONTAINER_STOP_RC=0 + debug "Stopping pmon docker" + docker kill pmon &> /dev/null || CONTAINER_STOP_RC=$? + systemctl stop pmon || debug "Ignore stopping pmon error $?" + if [[ CONTAINER_STOP_RC -ne 0 ]]; then + debug "Failed killing container pmon RC $CONTAINER_STOP_RC ." + fi +} + function stop_sonic_services() { if [[ x"$ASIC_TYPE" != x"mellanox" ]]; then @@ -66,6 +77,7 @@ function stop_sonic_services() docker exec -i syncd /usr/bin/syncd_request_shutdown --cold > /dev/null sleep 3 fi + stop_pmon_service } function clear_lingering_reboot_config() From 149ccbd934f11298ffae81ef5b3cbb42f19b767d Mon Sep 17 00:00:00 2001 From: Mahesh Maddikayala <10645050+smaheshm@users.noreply.github.com> Date: Thu, 15 Apr 2021 09:40:55 -0700 Subject: [PATCH 165/342] [techsupport] Update show ip interface command (#1562) + update 'show ip interface' command in tech support collection + fix unbound variable issue in case command times out --- scripts/generate_dump | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/scripts/generate_dump b/scripts/generate_dump index 92508edefa..21d4a4e0c8 100755 --- a/scripts/generate_dump +++ b/scripts/generate_dump @@ -242,17 +242,20 @@ copy_from_docker() { local dstpath=$3 local timeout_cmd="timeout --foreground ${TIMEOUT_MIN}m" + local touch_cmd="sudo docker exec -i ${docker} touch ${filename}" + local cp_cmd="sudo docker cp ${docker}:${filename} ${dstpath}" + if $NOOP; then - echo "${timeout_cmd} sudo docker exec -i ${docker} touch ${filename}" - echo "${timeout_cmd} sudo docker cp ${docker}:${filename} ${dstpath}" + echo "${timeout_cmd} ${touch_cmd}" + echo "${timeout_cmd} ${cp_cmd}" else - eval "${timeout_cmd} sudo docker exec -i ${docker} touch ${filename}" + eval "${timeout_cmd} ${touch_cmd}" if [ $? -ne 0 ]; then - echo "Command: $cmd timedout after ${TIMEOUT_MIN} minutes." + echo "Command: $touch_cmd timedout after ${TIMEOUT_MIN} minutes." fi - eval "${timeout_cmd} sudo docker cp ${docker}:${filename} ${dstpath}" + eval "${timeout_cmd} ${cp_cmd}" if [ $? -ne 0 ]; then - echo "Command: $cmd timedout after ${TIMEOUT_MIN} minutes." + echo "Command: $cp_cmd timedout after ${TIMEOUT_MIN} minutes." fi fi end_t=$(date +%s%3N) @@ -1084,7 +1087,7 @@ main() { save_cmd "show interface status -d all" "interface.status" save_cmd "show interface transceiver presence" "interface.xcvrs.presence" save_cmd "show interface transceiver eeprom --dom" "interface.xcvrs.eeprom" - save_cmd_all_ns "show ip interface" "ip.interface" + save_cmd "show ip interface -d all" "ip.interface" save_cmd "lldpctl" "lldpctl" if [[ ( "$NUM_ASICS" > 1 ) ]]; then From 176cc4ab2aa058597f1c3cb54d825d429dab45b9 Mon Sep 17 00:00:00 2001 From: Renuka Manavalan <47282725+renukamanavalan@users.noreply.github.com> Date: Fri, 16 Apr 2021 07:40:27 -0700 Subject: [PATCH 166/342] 1) Loopback interfaces with valid nexthop IP are not ignored/treated as loopback. (#1565) 2) The vrf routes are *not* handled. --- scripts/route_check.py | 22 ++++++++++++++++++---- tests/route_check_test.py | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+), 4 deletions(-) diff --git a/scripts/route_check.py b/scripts/route_check.py index fe870ab076..1e03a9c6bd 100755 --- a/scripts/route_check.py +++ b/scripts/route_check.py @@ -264,6 +264,10 @@ def get_subscribe_updates(selector, subs): return (sorted(adds), sorted(deletes)) +def is_vrf(k): + return k.startswith("Vrf") + + def get_routes(): """ helper to read route table from APPL-DB. @@ -276,7 +280,7 @@ def get_routes(): valid_rt = [] for k in keys: - if not is_local(k): + if not is_vrf(k) and not is_local(k): valid_rt.append(add_prefix_ifnot(k.lower())) print_message(syslog.LOG_DEBUG, json.dumps({"ROUTE_TABLE": sorted(valid_rt)}, indent=4)) @@ -341,15 +345,25 @@ def filter_out_local_interfaces(keys): :return keys filtered out of local """ rt = [] - local_if_re = [r'eth0', r'lo', r'docker0', r'tun0', r'Loopback\d+'] + local_if_lst = {'eth0', 'docker0'} + local_if_lo = [r'tun0', r'lo', r'Loopback\d+'] db = swsscommon.DBConnector(APPL_DB_NAME, 0) tbl = swsscommon.Table(db, 'ROUTE_TABLE') for k in keys: e = dict(tbl.get(k)[1]) - if not e or all([not re.match(x, e['ifname']) for x in local_if_re]): - rt.append(k) + + ifname = e.get('ifname', '') + if ifname in local_if_lst: + continue + + if any([re.match(x, ifname) for x in local_if_lo]): + nh = e.get('nexthop') + if not nh or ipaddress.ip_address(nh).is_unspecified: + continue + + rt.append(k) return rt diff --git a/tests/route_check_test.py b/tests/route_check_test.py index f981275314..a39015c07f 100644 --- a/tests/route_check_test.py +++ b/tests/route_check_test.py @@ -218,6 +218,40 @@ } } } + }, + "5": { + DESCR: "local route with nexthop - fail", + ARGS: "route_check -m INFO -i 1000", + RET: -1, + PRE: { + APPL_DB: { + ROUTE_TABLE: { + "0.0.0.0/0" : { "ifname": "portchannel0" }, + "10.10.196.12/31" : { "ifname": "portchannel0" }, + "10.10.196.20/31" : { "ifname": "portchannel0" }, + "10.10.196.30/31" : { "ifname": "lo", "nexthop": "100.0.0.2" } + }, + INTF_TABLE: { + "PortChannel1013:10.10.196.24/31": {}, + "PortChannel1023:2603:10b0:503:df4::5d/126": {}, + "PortChannel1024": {} + } + }, + ASIC_DB: { + RT_ENTRY_TABLE: { + RT_ENTRY_KEY_PREFIX + "10.10.196.12/31" + RT_ENTRY_KEY_SUFFIX: {}, + RT_ENTRY_KEY_PREFIX + "10.10.196.20/31" + RT_ENTRY_KEY_SUFFIX: {}, + RT_ENTRY_KEY_PREFIX + "10.10.196.24/32" + RT_ENTRY_KEY_SUFFIX: {}, + RT_ENTRY_KEY_PREFIX + "2603:10b0:503:df4::5d/128" + RT_ENTRY_KEY_SUFFIX: {}, + RT_ENTRY_KEY_PREFIX + "0.0.0.0/0" + RT_ENTRY_KEY_SUFFIX: {} + } + } + }, + RESULT: { + "missed_ROUTE_TABLE_routes": [ + "10.10.196.30/31" + ] + } } } From d5f538200b3abfb108e385c91d6b7c93746611ca Mon Sep 17 00:00:00 2001 From: Mahesh Maddikayala <10645050+smaheshm@users.noreply.github.com> Date: Fri, 16 Apr 2021 10:41:33 -0700 Subject: [PATCH 167/342] [CLI][queue counters] add JSON output option for queue counters (#1505) + added tests for 'show queue counters' CLI --- scripts/queuestat | 125 +++- show/main.py | 6 +- tests/mock_tables/counters_db.json | 434 ++++++++++++- tests/queue_counter_test.py | 960 +++++++++++++++++++++++++++++ utilities_common/cli.py | 12 +- 5 files changed, 1508 insertions(+), 29 deletions(-) create mode 100644 tests/queue_counter_test.py diff --git a/scripts/queuestat b/scripts/queuestat index 24369c82a5..b7f4f1d382 100755 --- a/scripts/queuestat +++ b/scripts/queuestat @@ -2,7 +2,7 @@ ##################################################################### # -# queuestat is a tool for summarizing queue statistics of all ports. +# queuestat is a tool for summarizing queue statistics of all ports. # ##################################################################### @@ -10,13 +10,25 @@ import _pickle as pickle import argparse import datetime import os.path -from swsscommon.swsscommon import SonicV2Connector import sys from collections import namedtuple, OrderedDict from natsort import natsorted from tabulate import tabulate +# mock the redis for unit test purposes # +try: + if os.environ["UTILITIES_UNIT_TESTING"] == "2": + modules_path = os.path.join(os.path.dirname(__file__), "..") + tests_path = os.path.join(modules_path, "tests") + sys.path.insert(0, modules_path) + sys.path.insert(0, tests_path) + import mock_tables.dbconnector # lgtm [py/unused-import] + +except KeyError: + pass + +from swsscommon.swsscommon import SonicV2Connector QueueStats = namedtuple("QueueStats", "queueindex, queuetype, totalpacket, totalbytes, droppacket, dropbytes") header = ['Port', 'TxQ', 'Counter/pkts', 'Counter/bytes', 'Drop/pkts', 'Drop/bytes'] @@ -28,6 +40,7 @@ counter_bucket_dict = { 'SAI_QUEUE_STAT_DROPPED_BYTES': 5, } +from utilities_common.cli import json_dump from utilities_common.netstat import ns_diff, STATUS_NA QUEUE_TYPE_MC = 'MC' @@ -47,6 +60,24 @@ COUNTERS_QUEUE_PORT_MAP = "COUNTERS_QUEUE_PORT_MAP" cnstat_dir = 'N/A' cnstat_fqn_file = 'N/A' + +def build_json(port, cnstat): + def ports_stats(k): + p = {} + p[k[1]] = { + "totalpacket": k[2], + "totalbytes": k[3], + "droppacket": k[4], + "dropbytes": k[5] + } + return p + + out = {} + for k in cnstat: + out.update(ports_stats(k)) + return out + + class Queuestat(object): def __init__(self): self.db = SonicV2Connector(use_unix_socket_path=False) @@ -134,33 +165,45 @@ class Queuestat(object): if queue_map is None: return cnstat_dict for queue in natsorted(queue_map): - cnstat_dict[queue] = get_counters(queue_map[queue]) + cnstat_dict[queue] = get_counters(queue_map[queue]) return cnstat_dict - def cnstat_print(self, port, cnstat_dict): + def cnstat_print(self, port, cnstat_dict, json_opt): """ - Print the cnstat. + Print the cnstat. If JSON option is True, return data in + JSON format. """ table = [] + json_output = {port: {}} for key, data in cnstat_dict.items(): if key == 'time': + if json_opt: + json_output[port][key] = data continue table.append((port, data.queuetype + str(data.queueindex), data.totalpacket, data.totalbytes, data.droppacket, data.dropbytes)) - print(tabulate(table, header, tablefmt='simple', stralign='right')) - print() + if json_opt: + json_output[port].update(build_json(port, table)) + return json_output + else: + print(tabulate(table, header, tablefmt='simple', stralign='right')) + print() - def cnstat_diff_print(self, port, cnstat_new_dict, cnstat_old_dict): + def cnstat_diff_print(self, port, cnstat_new_dict, cnstat_old_dict, json_opt): """ - Print the difference between two cnstat results. + Print the difference between two cnstat results. If JSON + option is True, return data in JSON format. """ table = [] + json_output = {port: {}} for key, cntr in cnstat_new_dict.items(): if key == 'time': + if json_opt: + json_output[port][key] = cntr continue old_cntr = None if key in cnstat_old_dict: @@ -177,26 +220,50 @@ class Queuestat(object): cntr.totalpacket, cntr.totalbytes, cntr.droppacket, cntr.dropbytes)) - print(tabulate(table, header, tablefmt='simple', stralign='right')) - print() + if json_opt: + json_output[port].update(build_json(port, table)) + return json_output + else: + print(tabulate(table, header, tablefmt='simple', stralign='right')) + print() - def get_print_all_stat(self): - # Get stat for each port + def get_print_all_stat(self, json_opt): + """ + Get stat for each port + If JSON option is True, collect data for each port and + print data in JSON format for all ports + """ + json_output = {} for port in natsorted(self.counter_port_name_map): + json_output[port] = {} cnstat_dict = self.get_cnstat(self.port_queues_map[port]) cnstat_fqn_file_name = cnstat_fqn_file + port if os.path.isfile(cnstat_fqn_file_name): try: cnstat_cached_dict = pickle.load(open(cnstat_fqn_file_name, 'rb')) - print(port + " Last cached time was " + str(cnstat_cached_dict.get('time'))) - self.cnstat_diff_print(port, cnstat_dict, cnstat_cached_dict) + if json_opt: + json_output[port].update({"cached_time":cnstat_cached_dict.get('time')}) + json_output.update(self.cnstat_diff_print(port, cnstat_dict, cnstat_cached_dict, json_opt)) + else: + print(port + " Last cached time was " + str(cnstat_cached_dict.get('time'))) + self.cnstat_diff_print(port, cnstat_dict, cnstat_cached_dict, json_opt) except IOError as e: print(e.errno, e) else: - self.cnstat_print(port, cnstat_dict) + if json_opt: + json_output.update(self.cnstat_print(port, cnstat_dict, json_opt)) + else: + self.cnstat_print(port, cnstat_dict, json_opt) - def get_print_port_stat(self, port): + if json_opt: + print(json_dump(json_output)) + + def get_print_port_stat(self, port, json_opt): + """ + Get stat for the port + If JSON option is True print data in JSON format + """ if not port in self.port_queues_map: print("Port doesn't exist!", port) sys.exit(1) @@ -204,15 +271,27 @@ class Queuestat(object): # Get stat for the port queried cnstat_dict = self.get_cnstat(self.port_queues_map[port]) cnstat_fqn_file_name = cnstat_fqn_file + port + json_output = {} + json_output[port] = {} if os.path.isfile(cnstat_fqn_file_name): try: cnstat_cached_dict = pickle.load(open(cnstat_fqn_file_name, 'rb')) - print("Last cached time was " + str(cnstat_cached_dict.get('time'))) - self.cnstat_diff_print(port, cnstat_dict, cnstat_cached_dict) + if json_opt: + json_output[port].update({"cached_time":cnstat_cached_dict.get('time')}) + json_output.update(self.cnstat_diff_print(port, cnstat_dict, cnstat_cached_dict, json_opt)) + else: + print("Last cached time was " + str(cnstat_cached_dict.get('time'))) + self.cnstat_diff_print(port, cnstat_dict, cnstat_cached_dict, json_opt) except IOError as e: print(e.errno, e) else: - self.cnstat_print(port, cnstat_dict) + if json_opt: + json_output.update(self.cnstat_print(port, cnstat_dict, json_opt)) + else: + self.cnstat_print(port, cnstat_dict, json_opt) + + if json_opt: + print(json_dump(json_output)) def save_fresh_stats(self): if not os.path.exists(cnstat_dir): @@ -251,10 +330,12 @@ Examples: parser.add_argument('-c', '--clear', action='store_true', help='Clear previous stats and save new ones') parser.add_argument('-d', '--delete', action='store_true', help='Delete saved stats') parser.add_argument('-v', '--version', action='version', version='%(prog)s 1.0') + parser.add_argument('-j', '--json_opt', action='store_true', help='Print in JSON format') args = parser.parse_args() save_fresh_stats = args.clear delete_all_stats = args.delete + json_opt = args.json_opt port_to_show_stats = args.port @@ -282,9 +363,9 @@ Examples: sys.exit(0) if port_to_show_stats!=None: - queuestat.get_print_port_stat(port_to_show_stats) + queuestat.get_print_port_stat(port_to_show_stats, json_opt) else: - queuestat.get_print_all_stat() + queuestat.get_print_all_stat(json_opt) sys.exit(0) diff --git a/show/main.py b/show/main.py index 8dbe740e71..16f5d8cec7 100755 --- a/show/main.py +++ b/show/main.py @@ -520,7 +520,8 @@ def queue(): @queue.command() @click.argument('interfacename', required=False) @click.option('--verbose', is_flag=True, help="Enable verbose output") -def counters(interfacename, verbose): +@click.option('--json', is_flag=True, help="JSON output") +def counters(interfacename, verbose, json): """Show queue counters""" cmd = "queuestat" @@ -532,6 +533,9 @@ def counters(interfacename, verbose): if interfacename is not None: cmd += " -p {}".format(interfacename) + if json: + cmd += " -j" + run_command(cmd, display_cmd=verbose) # diff --git a/tests/mock_tables/counters_db.json b/tests/mock_tables/counters_db.json index 3d9164e1d8..4765556f45 100644 --- a/tests/mock_tables/counters_db.json +++ b/tests/mock_tables/counters_db.json @@ -1,4 +1,403 @@ { + "COUNTERS:oid:0x15000000000357": { + "SAI_QUEUE_STAT_BYTES": "30", + "SAI_QUEUE_STAT_DROPPED_BYTES": "74", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "56", + "SAI_QUEUE_STAT_PACKETS": "68", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "61" + }, + "COUNTERS:oid:0x15000000000358": { + "SAI_QUEUE_STAT_BYTES": "43", + "SAI_QUEUE_STAT_DROPPED_BYTES": "1", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "39", + "SAI_QUEUE_STAT_PACKETS": "60", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "88" + }, + "COUNTERS:oid:0x15000000000359": { + "SAI_QUEUE_STAT_BYTES": "7", + "SAI_QUEUE_STAT_DROPPED_BYTES": "21", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "39", + "SAI_QUEUE_STAT_PACKETS": "82", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "4" + }, + "COUNTERS:oid:0x1500000000035b": { + "SAI_QUEUE_STAT_BYTES": "59", + "SAI_QUEUE_STAT_DROPPED_BYTES": "94", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "12", + "SAI_QUEUE_STAT_PACKETS": "11", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "15" + }, + "COUNTERS:oid:0x1500000000035c": { + "SAI_QUEUE_STAT_BYTES": "62", + "SAI_QUEUE_STAT_DROPPED_BYTES": "40", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "35", + "SAI_QUEUE_STAT_PACKETS": "36", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "18" + }, + "COUNTERS:oid:0x1500000000035d": { + "SAI_QUEUE_STAT_BYTES": "91", + "SAI_QUEUE_STAT_DROPPED_BYTES": "88", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "2", + "SAI_QUEUE_STAT_PACKETS": "49", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "73" + }, + "COUNTERS:oid:0x1500000000035e": { + "SAI_QUEUE_STAT_BYTES": "17", + "SAI_QUEUE_STAT_DROPPED_BYTES": "74", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "94", + "SAI_QUEUE_STAT_PACKETS": "33", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "98" + }, + "COUNTERS:oid:0x1500000000035f": { + "SAI_QUEUE_STAT_BYTES": "71", + "SAI_QUEUE_STAT_DROPPED_BYTES": "33", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "95", + "SAI_QUEUE_STAT_PACKETS": "40", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "81" + }, + "COUNTERS:oid:0x15000000000360": { + "SAI_QUEUE_STAT_BYTES": "8", + "SAI_QUEUE_STAT_DROPPED_BYTES": "78", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "93", + "SAI_QUEUE_STAT_PACKETS": "54", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "59" + }, + "COUNTERS:oid:0x15000000000363": { + "SAI_QUEUE_STAT_BYTES": "96", + "SAI_QUEUE_STAT_DROPPED_BYTES": "9", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "74", + "SAI_QUEUE_STAT_PACKETS": "83", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "12" + }, + "COUNTERS:oid:0x15000000000364": { + "SAI_QUEUE_STAT_BYTES": "60", + "SAI_QUEUE_STAT_DROPPED_BYTES": "31", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "61", + "SAI_QUEUE_STAT_PACKETS": "15", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "0" + }, + "COUNTERS:oid:0x15000000000365": { + "SAI_QUEUE_STAT_BYTES": "52", + "SAI_QUEUE_STAT_DROPPED_BYTES": "94", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "82", + "SAI_QUEUE_STAT_PACKETS": "45", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "68" + }, + "COUNTERS:oid:0x15000000000366": { + "SAI_QUEUE_STAT_BYTES": "88", + "SAI_QUEUE_STAT_DROPPED_BYTES": "52", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "89", + "SAI_QUEUE_STAT_PACKETS": "55", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "18" + }, + "COUNTERS:oid:0x15000000000367": { + "SAI_QUEUE_STAT_BYTES": "70", + "SAI_QUEUE_STAT_DROPPED_BYTES": "79", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "95", + "SAI_QUEUE_STAT_PACKETS": "14", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "21" + }, + "COUNTERS:oid:0x15000000000368": { + "SAI_QUEUE_STAT_BYTES": "60", + "SAI_QUEUE_STAT_DROPPED_BYTES": "81", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "66", + "SAI_QUEUE_STAT_PACKETS": "68", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "98" + }, + "COUNTERS:oid:0x15000000000369": { + "SAI_QUEUE_STAT_BYTES": "4", + "SAI_QUEUE_STAT_DROPPED_BYTES": "76", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "48", + "SAI_QUEUE_STAT_PACKETS": "63", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "93" + }, + "COUNTERS:oid:0x1500000000036a": { + "SAI_QUEUE_STAT_BYTES": "73", + "SAI_QUEUE_STAT_DROPPED_BYTES": "74", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "77", + "SAI_QUEUE_STAT_PACKETS": "41", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "50" + }, + "COUNTERS:oid:0x1500000000036b": { + "SAI_QUEUE_STAT_BYTES": "21", + "SAI_QUEUE_STAT_DROPPED_BYTES": "54", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "56", + "SAI_QUEUE_STAT_PACKETS": "60", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "30" + }, + "COUNTERS:oid:0x1500000000036c": { + "SAI_QUEUE_STAT_BYTES": "31", + "SAI_QUEUE_STAT_DROPPED_BYTES": "39", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "12", + "SAI_QUEUE_STAT_PACKETS": "57", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "20" + }, + "COUNTERS:oid:0x1500000000037f": { + "SAI_QUEUE_STAT_BYTES": "96", + "SAI_QUEUE_STAT_DROPPED_BYTES": "98", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "70", + "SAI_QUEUE_STAT_PACKETS": "41", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "46" + }, + "COUNTERS:oid:0x15000000000380": { + "SAI_QUEUE_STAT_BYTES": "49", + "SAI_QUEUE_STAT_DROPPED_BYTES": "36", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "63", + "SAI_QUEUE_STAT_PACKETS": "18", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "18" + }, + "COUNTERS:oid:0x15000000000381": { + "SAI_QUEUE_STAT_BYTES": "90", + "SAI_QUEUE_STAT_DROPPED_BYTES": "15", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "3", + "SAI_QUEUE_STAT_PACKETS": "99", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "15" + }, + "COUNTERS:oid:0x15000000000383": { + "SAI_QUEUE_STAT_BYTES": "84", + "SAI_QUEUE_STAT_DROPPED_BYTES": "94", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "82", + "SAI_QUEUE_STAT_PACKETS": "8", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "17" + }, + "COUNTERS:oid:0x15000000000384": { + "SAI_QUEUE_STAT_BYTES": "15", + "SAI_QUEUE_STAT_DROPPED_BYTES": "92", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "75", + "SAI_QUEUE_STAT_PACKETS": "83", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "42" + }, + "COUNTERS:oid:0x15000000000385": { + "SAI_QUEUE_STAT_BYTES": "26", + "SAI_QUEUE_STAT_DROPPED_BYTES": "71", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "50", + "SAI_QUEUE_STAT_PACKETS": "84", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "31" + }, + "COUNTERS:oid:0x15000000000386": { + "SAI_QUEUE_STAT_BYTES": "19", + "SAI_QUEUE_STAT_DROPPED_BYTES": "80", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "49", + "SAI_QUEUE_STAT_PACKETS": "27", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "4" + }, + "COUNTERS:oid:0x15000000000387": { + "SAI_QUEUE_STAT_BYTES": "89", + "SAI_QUEUE_STAT_DROPPED_BYTES": "33", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "13", + "SAI_QUEUE_STAT_PACKETS": "13", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "45" + }, + "COUNTERS:oid:0x15000000000388": { + "SAI_QUEUE_STAT_BYTES": "48", + "SAI_QUEUE_STAT_DROPPED_BYTES": "31", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "86", + "SAI_QUEUE_STAT_PACKETS": "43", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "6" + }, + "COUNTERS:oid:0x1500000000038b": { + "SAI_QUEUE_STAT_BYTES": "1", + "SAI_QUEUE_STAT_DROPPED_BYTES": "82", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "57", + "SAI_QUEUE_STAT_PACKETS": "50", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "5" + }, + "COUNTERS:oid:0x1500000000038c": { + "SAI_QUEUE_STAT_BYTES": "99", + "SAI_QUEUE_STAT_DROPPED_BYTES": "59", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "84", + "SAI_QUEUE_STAT_PACKETS": "67", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "32" + }, + "COUNTERS:oid:0x1500000000038d": { + "SAI_QUEUE_STAT_BYTES": "58", + "SAI_QUEUE_STAT_DROPPED_BYTES": "5", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "27", + "SAI_QUEUE_STAT_PACKETS": "4", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "17" + }, + "COUNTERS:oid:0x1500000000038e": { + "SAI_QUEUE_STAT_BYTES": "5", + "SAI_QUEUE_STAT_DROPPED_BYTES": "39", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "57", + "SAI_QUEUE_STAT_PACKETS": "74", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "99" + }, + "COUNTERS:oid:0x1500000000038f": { + "SAI_QUEUE_STAT_BYTES": "59", + "SAI_QUEUE_STAT_DROPPED_BYTES": "14", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "4", + "SAI_QUEUE_STAT_PACKETS": "21", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "71" + }, + "COUNTERS:oid:0x15000000000390": { + "SAI_QUEUE_STAT_BYTES": "61", + "SAI_QUEUE_STAT_DROPPED_BYTES": "53", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "19", + "SAI_QUEUE_STAT_PACKETS": "24", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "56" + }, + "COUNTERS:oid:0x15000000000391": { + "SAI_QUEUE_STAT_BYTES": "15", + "SAI_QUEUE_STAT_DROPPED_BYTES": "32", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "15", + "SAI_QUEUE_STAT_PACKETS": "51", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "50" + }, + "COUNTERS:oid:0x15000000000392": { + "SAI_QUEUE_STAT_BYTES": "18", + "SAI_QUEUE_STAT_DROPPED_BYTES": "15", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "23", + "SAI_QUEUE_STAT_PACKETS": "98", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "4" + }, + "COUNTERS:oid:0x15000000000393": { + "SAI_QUEUE_STAT_BYTES": "34", + "SAI_QUEUE_STAT_DROPPED_BYTES": "57", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "9", + "SAI_QUEUE_STAT_PACKETS": "41", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "61" + }, + "COUNTERS:oid:0x15000000000394": { + "SAI_QUEUE_STAT_BYTES": "7", + "SAI_QUEUE_STAT_DROPPED_BYTES": "99", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "18", + "SAI_QUEUE_STAT_PACKETS": "57", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "49" + }, + "COUNTERS:oid:0x150000000003a7": { + "SAI_QUEUE_STAT_BYTES": "5", + "SAI_QUEUE_STAT_DROPPED_BYTES": "56", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "36", + "SAI_QUEUE_STAT_PACKETS": "19", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "65" + }, + "COUNTERS:oid:0x150000000003a8": { + "SAI_QUEUE_STAT_BYTES": "17", + "SAI_QUEUE_STAT_DROPPED_BYTES": "91", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "68", + "SAI_QUEUE_STAT_PACKETS": "38", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "94" + }, + "COUNTERS:oid:0x150000000003a9": { + "SAI_QUEUE_STAT_BYTES": "65", + "SAI_QUEUE_STAT_DROPPED_BYTES": "51", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "79", + "SAI_QUEUE_STAT_PACKETS": "16", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "71" + }, + "COUNTERS:oid:0x150000000003aa": { + "SAI_QUEUE_STAT_BYTES": "97", + "SAI_QUEUE_STAT_DROPPED_BYTES": "72", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "63", + "SAI_QUEUE_STAT_PACKETS": "11", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "51" + }, + "COUNTERS:oid:0x150000000003ac": { + "SAI_QUEUE_STAT_BYTES": "84", + "SAI_QUEUE_STAT_DROPPED_BYTES": "59", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "30", + "SAI_QUEUE_STAT_PACKETS": "13", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "47" + }, + "COUNTERS:oid:0x150000000003ad": { + "SAI_QUEUE_STAT_BYTES": "67", + "SAI_QUEUE_STAT_DROPPED_BYTES": "85", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "99", + "SAI_QUEUE_STAT_PACKETS": "49", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "86" + }, + "COUNTERS:oid:0x150000000003ae": { + "SAI_QUEUE_STAT_BYTES": "63", + "SAI_QUEUE_STAT_DROPPED_BYTES": "88", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "38", + "SAI_QUEUE_STAT_PACKETS": "2", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "98" + }, + "COUNTERS:oid:0x150000000003af": { + "SAI_QUEUE_STAT_BYTES": "82", + "SAI_QUEUE_STAT_DROPPED_BYTES": "43", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "93", + "SAI_QUEUE_STAT_PACKETS": "0", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "50" + }, + "COUNTERS:oid:0x150000000003b0": { + "SAI_QUEUE_STAT_BYTES": "17", + "SAI_QUEUE_STAT_DROPPED_BYTES": "61", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "91", + "SAI_QUEUE_STAT_PACKETS": "80", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "91" + }, + "COUNTERS:oid:0x150000000003b3": { + "SAI_QUEUE_STAT_BYTES": "63", + "SAI_QUEUE_STAT_DROPPED_BYTES": "73", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "76", + "SAI_QUEUE_STAT_PACKETS": "81", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "12" + }, + "COUNTERS:oid:0x150000000003b4": { + "SAI_QUEUE_STAT_BYTES": "16", + "SAI_QUEUE_STAT_DROPPED_BYTES": "66", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "29", + "SAI_QUEUE_STAT_PACKETS": "29", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "32" + }, + "COUNTERS:oid:0x150000000003b5": { + "SAI_QUEUE_STAT_BYTES": "12", + "SAI_QUEUE_STAT_DROPPED_BYTES": "35", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "61", + "SAI_QUEUE_STAT_PACKETS": "32", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "89" + }, + "COUNTERS:oid:0x150000000003b6": { + "SAI_QUEUE_STAT_BYTES": "17", + "SAI_QUEUE_STAT_DROPPED_BYTES": "93", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "72", + "SAI_QUEUE_STAT_PACKETS": "79", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "49" + }, + "COUNTERS:oid:0x150000000003b7": { + "SAI_QUEUE_STAT_BYTES": "21", + "SAI_QUEUE_STAT_DROPPED_BYTES": "50", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "67", + "SAI_QUEUE_STAT_PACKETS": "23", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "4" + }, + "COUNTERS:oid:0x150000000003b8": { + "SAI_QUEUE_STAT_BYTES": "10", + "SAI_QUEUE_STAT_DROPPED_BYTES": "14", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "97", + "SAI_QUEUE_STAT_PACKETS": "37", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "32" + }, + "COUNTERS:oid:0x150000000003b9": { + "SAI_QUEUE_STAT_BYTES": "17", + "SAI_QUEUE_STAT_DROPPED_BYTES": "43", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "74", + "SAI_QUEUE_STAT_PACKETS": "30", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "42" + }, + "COUNTERS:oid:0x150000000003ba": { + "SAI_QUEUE_STAT_BYTES": "63", + "SAI_QUEUE_STAT_DROPPED_BYTES": "84", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "54", + "SAI_QUEUE_STAT_PACKETS": "0", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "43" + }, + "COUNTERS:oid:0x150000000003bb": { + "SAI_QUEUE_STAT_BYTES": "88", + "SAI_QUEUE_STAT_DROPPED_BYTES": "79", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "24", + "SAI_QUEUE_STAT_PACKETS": "69", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "62" + }, + "COUNTERS:oid:0x150000000003bc": { + "SAI_QUEUE_STAT_BYTES": "12", + "SAI_QUEUE_STAT_DROPPED_BYTES": "3", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "84", + "SAI_QUEUE_STAT_PACKETS": "20", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "81" + }, "COUNTERS:oid:0x60000000005a3": { "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "0", "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "0", @@ -7,7 +406,12 @@ "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "0", "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "0", "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "0", - "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "0" + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "0", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "0", + "SAI_QUEUE_STAT_DROPPED_BYTES": "0", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "0", + "SAI_QUEUE_STAT_BYTES": "0", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "0" }, "COUNTERS:oid:0x60000000005a1": { "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "0", @@ -17,7 +421,12 @@ "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "0", "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "0", "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "0", - "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "0" + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "0", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "0", + "SAI_QUEUE_STAT_DROPPED_BYTES": "0", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "0", + "SAI_QUEUE_STAT_BYTES": "0", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "0" }, "COUNTERS:oid:0x600000000065f": { "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "1128", @@ -854,7 +1263,12 @@ "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "0", "PFC_WD_RESTORATION_TIME": "600000", "PFC_WD_RESTORATION_TIME_LEFT": "600000", - "PFC_WD_STATUS": "stormed" + "PFC_WD_STATUS": "stormed", + "SAI_QUEUE_STAT_BYTES": "70", + "SAI_QUEUE_STAT_DROPPED_BYTES": "76", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "19", + "SAI_QUEUE_STAT_PACKETS": "52", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "60" }, "COUNTERS:oid:0x15000000000382": { "PFC_WD_ACTION": "drop", @@ -872,7 +1286,12 @@ "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "0", "PFC_WD_RESTORATION_TIME": "600000", "PFC_WD_RESTORATION_TIME_LEFT": "600000", - "PFC_WD_STATUS": "operational" + "PFC_WD_STATUS": "operational", + "SAI_QUEUE_STAT_BYTES": "89", + "SAI_QUEUE_STAT_DROPPED_BYTES": "41", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "48", + "SAI_QUEUE_STAT_PACKETS": "60", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "99" }, "COUNTERS:oid:0x150000000003ab": { "PFC_WD_ACTION": "drop", @@ -890,7 +1309,12 @@ "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "0", "PFC_WD_RESTORATION_TIME": "600000", "PFC_WD_RESTORATION_TIME_LEFT": "600000", - "PFC_WD_STATUS": "stormed" + "PFC_WD_STATUS": "stormed", + "SAI_QUEUE_STAT_BYTES": "89", + "SAI_QUEUE_STAT_DROPPED_BYTES": "62", + "SAI_QUEUE_STAT_DROPPED_PACKETS": "62", + "SAI_QUEUE_STAT_PACKETS": "54", + "SAI_QUEUE_STAT_SHARED_WATERMARK_BYTES": "97" }, "USER_WATERMARKS:oid:0x1a00000000034f": { "SAI_INGRESS_PRIORITY_GROUP_STAT_SHARED_WATERMARK_BYTES": "100", diff --git a/tests/queue_counter_test.py b/tests/queue_counter_test.py new file mode 100644 index 0000000000..66dfc828ed --- /dev/null +++ b/tests/queue_counter_test.py @@ -0,0 +1,960 @@ +import imp +import json +import os +import sys + +from click.testing import CliRunner +from unittest import TestCase +from swsscommon.swsscommon import ConfigDBConnector + +from .mock_tables import dbconnector + +import show.main as show +from utilities_common.cli import json_dump +from utilities_common.db import Db + +test_path = os.path.dirname(os.path.abspath(__file__)) +modules_path = os.path.dirname(test_path) +scripts_path = os.path.join(modules_path, "scripts") +sys.path.insert(0, test_path) +sys.path.insert(0, modules_path) + + +show_queue_counters = """\ + Port TxQ Counter/pkts Counter/bytes Drop/pkts Drop/bytes +--------- ----- -------------- --------------- ----------- ------------ +Ethernet0 UC0 68 30 56 74 +Ethernet0 UC1 60 43 39 1 +Ethernet0 UC2 82 7 39 21 +Ethernet0 UC3 52 70 19 76 +Ethernet0 UC4 11 59 12 94 +Ethernet0 UC5 36 62 35 40 +Ethernet0 UC6 49 91 2 88 +Ethernet0 UC7 33 17 94 74 +Ethernet0 UC8 40 71 95 33 +Ethernet0 UC9 54 8 93 78 +Ethernet0 MC10 83 96 74 9 +Ethernet0 MC11 15 60 61 31 +Ethernet0 MC12 45 52 82 94 +Ethernet0 MC13 55 88 89 52 +Ethernet0 MC14 14 70 95 79 +Ethernet0 MC15 68 60 66 81 +Ethernet0 MC16 63 4 48 76 +Ethernet0 MC17 41 73 77 74 +Ethernet0 MC18 60 21 56 54 +Ethernet0 MC19 57 31 12 39 +Ethernet0 ALL20 N/A N/A N/A N/A +Ethernet0 ALL21 N/A N/A N/A N/A +Ethernet0 ALL22 N/A N/A N/A N/A +Ethernet0 ALL23 N/A N/A N/A N/A +Ethernet0 ALL24 N/A N/A N/A N/A +Ethernet0 ALL25 N/A N/A N/A N/A +Ethernet0 ALL26 N/A N/A N/A N/A +Ethernet0 ALL27 N/A N/A N/A N/A +Ethernet0 ALL28 N/A N/A N/A N/A +Ethernet0 ALL29 N/A N/A N/A N/A + + Port TxQ Counter/pkts Counter/bytes Drop/pkts Drop/bytes +--------- ----- -------------- --------------- ----------- ------------ +Ethernet4 UC0 41 96 70 98 +Ethernet4 UC1 18 49 63 36 +Ethernet4 UC2 99 90 3 15 +Ethernet4 UC3 60 89 48 41 +Ethernet4 UC4 8 84 82 94 +Ethernet4 UC5 83 15 75 92 +Ethernet4 UC6 84 26 50 71 +Ethernet4 UC7 27 19 49 80 +Ethernet4 UC8 13 89 13 33 +Ethernet4 UC9 43 48 86 31 +Ethernet4 MC10 50 1 57 82 +Ethernet4 MC11 67 99 84 59 +Ethernet4 MC12 4 58 27 5 +Ethernet4 MC13 74 5 57 39 +Ethernet4 MC14 21 59 4 14 +Ethernet4 MC15 24 61 19 53 +Ethernet4 MC16 51 15 15 32 +Ethernet4 MC17 98 18 23 15 +Ethernet4 MC18 41 34 9 57 +Ethernet4 MC19 57 7 18 99 +Ethernet4 ALL20 N/A N/A N/A N/A +Ethernet4 ALL21 N/A N/A N/A N/A +Ethernet4 ALL22 N/A N/A N/A N/A +Ethernet4 ALL23 N/A N/A N/A N/A +Ethernet4 ALL24 N/A N/A N/A N/A +Ethernet4 ALL25 N/A N/A N/A N/A +Ethernet4 ALL26 N/A N/A N/A N/A +Ethernet4 ALL27 N/A N/A N/A N/A +Ethernet4 ALL28 N/A N/A N/A N/A +Ethernet4 ALL29 N/A N/A N/A N/A + + Port TxQ Counter/pkts Counter/bytes Drop/pkts Drop/bytes +--------- ----- -------------- --------------- ----------- ------------ +Ethernet8 UC0 19 5 36 56 +Ethernet8 UC1 38 17 68 91 +Ethernet8 UC2 16 65 79 51 +Ethernet8 UC3 11 97 63 72 +Ethernet8 UC4 54 89 62 62 +Ethernet8 UC5 13 84 30 59 +Ethernet8 UC6 49 67 99 85 +Ethernet8 UC7 2 63 38 88 +Ethernet8 UC8 0 82 93 43 +Ethernet8 UC9 80 17 91 61 +Ethernet8 MC10 81 63 76 73 +Ethernet8 MC11 29 16 29 66 +Ethernet8 MC12 32 12 61 35 +Ethernet8 MC13 79 17 72 93 +Ethernet8 MC14 23 21 67 50 +Ethernet8 MC15 37 10 97 14 +Ethernet8 MC16 30 17 74 43 +Ethernet8 MC17 0 63 54 84 +Ethernet8 MC18 69 88 24 79 +Ethernet8 MC19 20 12 84 3 +Ethernet8 ALL20 N/A N/A N/A N/A +Ethernet8 ALL21 N/A N/A N/A N/A +Ethernet8 ALL22 N/A N/A N/A N/A +Ethernet8 ALL23 N/A N/A N/A N/A +Ethernet8 ALL24 N/A N/A N/A N/A +Ethernet8 ALL25 N/A N/A N/A N/A +Ethernet8 ALL26 N/A N/A N/A N/A +Ethernet8 ALL27 N/A N/A N/A N/A +Ethernet8 ALL28 N/A N/A N/A N/A +Ethernet8 ALL29 N/A N/A N/A N/A + +""" + + +show_queue_counters_port = """\ + Port TxQ Counter/pkts Counter/bytes Drop/pkts Drop/bytes +--------- ----- -------------- --------------- ----------- ------------ +Ethernet8 UC0 19 5 36 56 +Ethernet8 UC1 38 17 68 91 +Ethernet8 UC2 16 65 79 51 +Ethernet8 UC3 11 97 63 72 +Ethernet8 UC4 54 89 62 62 +Ethernet8 UC5 13 84 30 59 +Ethernet8 UC6 49 67 99 85 +Ethernet8 UC7 2 63 38 88 +Ethernet8 UC8 0 82 93 43 +Ethernet8 UC9 80 17 91 61 +Ethernet8 MC10 81 63 76 73 +Ethernet8 MC11 29 16 29 66 +Ethernet8 MC12 32 12 61 35 +Ethernet8 MC13 79 17 72 93 +Ethernet8 MC14 23 21 67 50 +Ethernet8 MC15 37 10 97 14 +Ethernet8 MC16 30 17 74 43 +Ethernet8 MC17 0 63 54 84 +Ethernet8 MC18 69 88 24 79 +Ethernet8 MC19 20 12 84 3 +Ethernet8 ALL20 N/A N/A N/A N/A +Ethernet8 ALL21 N/A N/A N/A N/A +Ethernet8 ALL22 N/A N/A N/A N/A +Ethernet8 ALL23 N/A N/A N/A N/A +Ethernet8 ALL24 N/A N/A N/A N/A +Ethernet8 ALL25 N/A N/A N/A N/A +Ethernet8 ALL26 N/A N/A N/A N/A +Ethernet8 ALL27 N/A N/A N/A N/A +Ethernet8 ALL28 N/A N/A N/A N/A +Ethernet8 ALL29 N/A N/A N/A N/A + +""" + +show_queue_counters_json = """\ +{ + "Ethernet0": { + "ALL20": { + "dropbytes": "N/A", + "droppacket": "N/A", + "totalbytes": "N/A", + "totalpacket": "N/A" + }, + "ALL21": { + "dropbytes": "N/A", + "droppacket": "N/A", + "totalbytes": "N/A", + "totalpacket": "N/A" + }, + "ALL22": { + "dropbytes": "N/A", + "droppacket": "N/A", + "totalbytes": "N/A", + "totalpacket": "N/A" + }, + "ALL23": { + "dropbytes": "N/A", + "droppacket": "N/A", + "totalbytes": "N/A", + "totalpacket": "N/A" + }, + "ALL24": { + "dropbytes": "N/A", + "droppacket": "N/A", + "totalbytes": "N/A", + "totalpacket": "N/A" + }, + "ALL25": { + "dropbytes": "N/A", + "droppacket": "N/A", + "totalbytes": "N/A", + "totalpacket": "N/A" + }, + "ALL26": { + "dropbytes": "N/A", + "droppacket": "N/A", + "totalbytes": "N/A", + "totalpacket": "N/A" + }, + "ALL27": { + "dropbytes": "N/A", + "droppacket": "N/A", + "totalbytes": "N/A", + "totalpacket": "N/A" + }, + "ALL28": { + "dropbytes": "N/A", + "droppacket": "N/A", + "totalbytes": "N/A", + "totalpacket": "N/A" + }, + "ALL29": { + "dropbytes": "N/A", + "droppacket": "N/A", + "totalbytes": "N/A", + "totalpacket": "N/A" + }, + "MC10": { + "dropbytes": "9", + "droppacket": "74", + "totalbytes": "96", + "totalpacket": "83" + }, + "MC11": { + "dropbytes": "31", + "droppacket": "61", + "totalbytes": "60", + "totalpacket": "15" + }, + "MC12": { + "dropbytes": "94", + "droppacket": "82", + "totalbytes": "52", + "totalpacket": "45" + }, + "MC13": { + "dropbytes": "52", + "droppacket": "89", + "totalbytes": "88", + "totalpacket": "55" + }, + "MC14": { + "dropbytes": "79", + "droppacket": "95", + "totalbytes": "70", + "totalpacket": "14" + }, + "MC15": { + "dropbytes": "81", + "droppacket": "66", + "totalbytes": "60", + "totalpacket": "68" + }, + "MC16": { + "dropbytes": "76", + "droppacket": "48", + "totalbytes": "4", + "totalpacket": "63" + }, + "MC17": { + "dropbytes": "74", + "droppacket": "77", + "totalbytes": "73", + "totalpacket": "41" + }, + "MC18": { + "dropbytes": "54", + "droppacket": "56", + "totalbytes": "21", + "totalpacket": "60" + }, + "MC19": { + "dropbytes": "39", + "droppacket": "12", + "totalbytes": "31", + "totalpacket": "57" + }, + "UC0": { + "dropbytes": "74", + "droppacket": "56", + "totalbytes": "30", + "totalpacket": "68" + }, + "UC1": { + "dropbytes": "1", + "droppacket": "39", + "totalbytes": "43", + "totalpacket": "60" + }, + "UC2": { + "dropbytes": "21", + "droppacket": "39", + "totalbytes": "7", + "totalpacket": "82" + }, + "UC3": { + "dropbytes": "76", + "droppacket": "19", + "totalbytes": "70", + "totalpacket": "52" + }, + "UC4": { + "dropbytes": "94", + "droppacket": "12", + "totalbytes": "59", + "totalpacket": "11" + }, + "UC5": { + "dropbytes": "40", + "droppacket": "35", + "totalbytes": "62", + "totalpacket": "36" + }, + "UC6": { + "dropbytes": "88", + "droppacket": "2", + "totalbytes": "91", + "totalpacket": "49" + }, + "UC7": { + "dropbytes": "74", + "droppacket": "94", + "totalbytes": "17", + "totalpacket": "33" + }, + "UC8": { + "dropbytes": "33", + "droppacket": "95", + "totalbytes": "71", + "totalpacket": "40" + }, + "UC9": { + "dropbytes": "78", + "droppacket": "93", + "totalbytes": "8", + "totalpacket": "54" + } + }, + "Ethernet4": { + "ALL20": { + "dropbytes": "N/A", + "droppacket": "N/A", + "totalbytes": "N/A", + "totalpacket": "N/A" + }, + "ALL21": { + "dropbytes": "N/A", + "droppacket": "N/A", + "totalbytes": "N/A", + "totalpacket": "N/A" + }, + "ALL22": { + "dropbytes": "N/A", + "droppacket": "N/A", + "totalbytes": "N/A", + "totalpacket": "N/A" + }, + "ALL23": { + "dropbytes": "N/A", + "droppacket": "N/A", + "totalbytes": "N/A", + "totalpacket": "N/A" + }, + "ALL24": { + "dropbytes": "N/A", + "droppacket": "N/A", + "totalbytes": "N/A", + "totalpacket": "N/A" + }, + "ALL25": { + "dropbytes": "N/A", + "droppacket": "N/A", + "totalbytes": "N/A", + "totalpacket": "N/A" + }, + "ALL26": { + "dropbytes": "N/A", + "droppacket": "N/A", + "totalbytes": "N/A", + "totalpacket": "N/A" + }, + "ALL27": { + "dropbytes": "N/A", + "droppacket": "N/A", + "totalbytes": "N/A", + "totalpacket": "N/A" + }, + "ALL28": { + "dropbytes": "N/A", + "droppacket": "N/A", + "totalbytes": "N/A", + "totalpacket": "N/A" + }, + "ALL29": { + "dropbytes": "N/A", + "droppacket": "N/A", + "totalbytes": "N/A", + "totalpacket": "N/A" + }, + "MC10": { + "dropbytes": "82", + "droppacket": "57", + "totalbytes": "1", + "totalpacket": "50" + }, + "MC11": { + "dropbytes": "59", + "droppacket": "84", + "totalbytes": "99", + "totalpacket": "67" + }, + "MC12": { + "dropbytes": "5", + "droppacket": "27", + "totalbytes": "58", + "totalpacket": "4" + }, + "MC13": { + "dropbytes": "39", + "droppacket": "57", + "totalbytes": "5", + "totalpacket": "74" + }, + "MC14": { + "dropbytes": "14", + "droppacket": "4", + "totalbytes": "59", + "totalpacket": "21" + }, + "MC15": { + "dropbytes": "53", + "droppacket": "19", + "totalbytes": "61", + "totalpacket": "24" + }, + "MC16": { + "dropbytes": "32", + "droppacket": "15", + "totalbytes": "15", + "totalpacket": "51" + }, + "MC17": { + "dropbytes": "15", + "droppacket": "23", + "totalbytes": "18", + "totalpacket": "98" + }, + "MC18": { + "dropbytes": "57", + "droppacket": "9", + "totalbytes": "34", + "totalpacket": "41" + }, + "MC19": { + "dropbytes": "99", + "droppacket": "18", + "totalbytes": "7", + "totalpacket": "57" + }, + "UC0": { + "dropbytes": "98", + "droppacket": "70", + "totalbytes": "96", + "totalpacket": "41" + }, + "UC1": { + "dropbytes": "36", + "droppacket": "63", + "totalbytes": "49", + "totalpacket": "18" + }, + "UC2": { + "dropbytes": "15", + "droppacket": "3", + "totalbytes": "90", + "totalpacket": "99" + }, + "UC3": { + "dropbytes": "41", + "droppacket": "48", + "totalbytes": "89", + "totalpacket": "60" + }, + "UC4": { + "dropbytes": "94", + "droppacket": "82", + "totalbytes": "84", + "totalpacket": "8" + }, + "UC5": { + "dropbytes": "92", + "droppacket": "75", + "totalbytes": "15", + "totalpacket": "83" + }, + "UC6": { + "dropbytes": "71", + "droppacket": "50", + "totalbytes": "26", + "totalpacket": "84" + }, + "UC7": { + "dropbytes": "80", + "droppacket": "49", + "totalbytes": "19", + "totalpacket": "27" + }, + "UC8": { + "dropbytes": "33", + "droppacket": "13", + "totalbytes": "89", + "totalpacket": "13" + }, + "UC9": { + "dropbytes": "31", + "droppacket": "86", + "totalbytes": "48", + "totalpacket": "43" + } + }, + "Ethernet8": { + "ALL20": { + "dropbytes": "N/A", + "droppacket": "N/A", + "totalbytes": "N/A", + "totalpacket": "N/A" + }, + "ALL21": { + "dropbytes": "N/A", + "droppacket": "N/A", + "totalbytes": "N/A", + "totalpacket": "N/A" + }, + "ALL22": { + "dropbytes": "N/A", + "droppacket": "N/A", + "totalbytes": "N/A", + "totalpacket": "N/A" + }, + "ALL23": { + "dropbytes": "N/A", + "droppacket": "N/A", + "totalbytes": "N/A", + "totalpacket": "N/A" + }, + "ALL24": { + "dropbytes": "N/A", + "droppacket": "N/A", + "totalbytes": "N/A", + "totalpacket": "N/A" + }, + "ALL25": { + "dropbytes": "N/A", + "droppacket": "N/A", + "totalbytes": "N/A", + "totalpacket": "N/A" + }, + "ALL26": { + "dropbytes": "N/A", + "droppacket": "N/A", + "totalbytes": "N/A", + "totalpacket": "N/A" + }, + "ALL27": { + "dropbytes": "N/A", + "droppacket": "N/A", + "totalbytes": "N/A", + "totalpacket": "N/A" + }, + "ALL28": { + "dropbytes": "N/A", + "droppacket": "N/A", + "totalbytes": "N/A", + "totalpacket": "N/A" + }, + "ALL29": { + "dropbytes": "N/A", + "droppacket": "N/A", + "totalbytes": "N/A", + "totalpacket": "N/A" + }, + "MC10": { + "dropbytes": "73", + "droppacket": "76", + "totalbytes": "63", + "totalpacket": "81" + }, + "MC11": { + "dropbytes": "66", + "droppacket": "29", + "totalbytes": "16", + "totalpacket": "29" + }, + "MC12": { + "dropbytes": "35", + "droppacket": "61", + "totalbytes": "12", + "totalpacket": "32" + }, + "MC13": { + "dropbytes": "93", + "droppacket": "72", + "totalbytes": "17", + "totalpacket": "79" + }, + "MC14": { + "dropbytes": "50", + "droppacket": "67", + "totalbytes": "21", + "totalpacket": "23" + }, + "MC15": { + "dropbytes": "14", + "droppacket": "97", + "totalbytes": "10", + "totalpacket": "37" + }, + "MC16": { + "dropbytes": "43", + "droppacket": "74", + "totalbytes": "17", + "totalpacket": "30" + }, + "MC17": { + "dropbytes": "84", + "droppacket": "54", + "totalbytes": "63", + "totalpacket": "0" + }, + "MC18": { + "dropbytes": "79", + "droppacket": "24", + "totalbytes": "88", + "totalpacket": "69" + }, + "MC19": { + "dropbytes": "3", + "droppacket": "84", + "totalbytes": "12", + "totalpacket": "20" + }, + "UC0": { + "dropbytes": "56", + "droppacket": "36", + "totalbytes": "5", + "totalpacket": "19" + }, + "UC1": { + "dropbytes": "91", + "droppacket": "68", + "totalbytes": "17", + "totalpacket": "38" + }, + "UC2": { + "dropbytes": "51", + "droppacket": "79", + "totalbytes": "65", + "totalpacket": "16" + }, + "UC3": { + "dropbytes": "72", + "droppacket": "63", + "totalbytes": "97", + "totalpacket": "11" + }, + "UC4": { + "dropbytes": "62", + "droppacket": "62", + "totalbytes": "89", + "totalpacket": "54" + }, + "UC5": { + "dropbytes": "59", + "droppacket": "30", + "totalbytes": "84", + "totalpacket": "13" + }, + "UC6": { + "dropbytes": "85", + "droppacket": "99", + "totalbytes": "67", + "totalpacket": "49" + }, + "UC7": { + "dropbytes": "88", + "droppacket": "38", + "totalbytes": "63", + "totalpacket": "2" + }, + "UC8": { + "dropbytes": "43", + "droppacket": "93", + "totalbytes": "82", + "totalpacket": "0" + }, + "UC9": { + "dropbytes": "61", + "droppacket": "91", + "totalbytes": "17", + "totalpacket": "80" + } + } +}""" + +show_queue_counters_port_json = """\ +{ + "Ethernet8": { + "ALL20": { + "dropbytes": "N/A", + "droppacket": "N/A", + "totalbytes": "N/A", + "totalpacket": "N/A" + }, + "ALL21": { + "dropbytes": "N/A", + "droppacket": "N/A", + "totalbytes": "N/A", + "totalpacket": "N/A" + }, + "ALL22": { + "dropbytes": "N/A", + "droppacket": "N/A", + "totalbytes": "N/A", + "totalpacket": "N/A" + }, + "ALL23": { + "dropbytes": "N/A", + "droppacket": "N/A", + "totalbytes": "N/A", + "totalpacket": "N/A" + }, + "ALL24": { + "dropbytes": "N/A", + "droppacket": "N/A", + "totalbytes": "N/A", + "totalpacket": "N/A" + }, + "ALL25": { + "dropbytes": "N/A", + "droppacket": "N/A", + "totalbytes": "N/A", + "totalpacket": "N/A" + }, + "ALL26": { + "dropbytes": "N/A", + "droppacket": "N/A", + "totalbytes": "N/A", + "totalpacket": "N/A" + }, + "ALL27": { + "dropbytes": "N/A", + "droppacket": "N/A", + "totalbytes": "N/A", + "totalpacket": "N/A" + }, + "ALL28": { + "dropbytes": "N/A", + "droppacket": "N/A", + "totalbytes": "N/A", + "totalpacket": "N/A" + }, + "ALL29": { + "dropbytes": "N/A", + "droppacket": "N/A", + "totalbytes": "N/A", + "totalpacket": "N/A" + }, + "MC10": { + "dropbytes": "73", + "droppacket": "76", + "totalbytes": "63", + "totalpacket": "81" + }, + "MC11": { + "dropbytes": "66", + "droppacket": "29", + "totalbytes": "16", + "totalpacket": "29" + }, + "MC12": { + "dropbytes": "35", + "droppacket": "61", + "totalbytes": "12", + "totalpacket": "32" + }, + "MC13": { + "dropbytes": "93", + "droppacket": "72", + "totalbytes": "17", + "totalpacket": "79" + }, + "MC14": { + "dropbytes": "50", + "droppacket": "67", + "totalbytes": "21", + "totalpacket": "23" + }, + "MC15": { + "dropbytes": "14", + "droppacket": "97", + "totalbytes": "10", + "totalpacket": "37" + }, + "MC16": { + "dropbytes": "43", + "droppacket": "74", + "totalbytes": "17", + "totalpacket": "30" + }, + "MC17": { + "dropbytes": "84", + "droppacket": "54", + "totalbytes": "63", + "totalpacket": "0" + }, + "MC18": { + "dropbytes": "79", + "droppacket": "24", + "totalbytes": "88", + "totalpacket": "69" + }, + "MC19": { + "dropbytes": "3", + "droppacket": "84", + "totalbytes": "12", + "totalpacket": "20" + }, + "UC0": { + "dropbytes": "56", + "droppacket": "36", + "totalbytes": "5", + "totalpacket": "19" + }, + "UC1": { + "dropbytes": "91", + "droppacket": "68", + "totalbytes": "17", + "totalpacket": "38" + }, + "UC2": { + "dropbytes": "51", + "droppacket": "79", + "totalbytes": "65", + "totalpacket": "16" + }, + "UC3": { + "dropbytes": "72", + "droppacket": "63", + "totalbytes": "97", + "totalpacket": "11" + }, + "UC4": { + "dropbytes": "62", + "droppacket": "62", + "totalbytes": "89", + "totalpacket": "54" + }, + "UC5": { + "dropbytes": "59", + "droppacket": "30", + "totalbytes": "84", + "totalpacket": "13" + }, + "UC6": { + "dropbytes": "85", + "droppacket": "99", + "totalbytes": "67", + "totalpacket": "49" + }, + "UC7": { + "dropbytes": "88", + "droppacket": "38", + "totalbytes": "63", + "totalpacket": "2" + }, + "UC8": { + "dropbytes": "43", + "droppacket": "93", + "totalbytes": "82", + "totalpacket": "0" + }, + "UC9": { + "dropbytes": "61", + "droppacket": "91", + "totalbytes": "17", + "totalpacket": "80" + } + } +}""" + + +class TestQueue(object): + @classmethod + def setup_class(cls): + os.environ["PATH"] += os.pathsep + scripts_path + os.environ['UTILITIES_UNIT_TESTING'] = "2" + print("SETUP") + + def test_queue_counters(self): + runner = CliRunner() + result = runner.invoke( + show.cli.commands["queue"].commands["counters"], + [] + ) + print(result.output) + assert result.exit_code == 0 + assert result.output == show_queue_counters + + def test_queue_counters_port(self): + runner = CliRunner() + result = runner.invoke( + show.cli.commands["queue"].commands["counters"], + ["Ethernet8"] + ) + print(result.output) + assert result.exit_code == 0 + assert result.output == show_queue_counters_port + + def test_queue_counters_json(self): + runner = CliRunner() + result = runner.invoke( + show.cli.commands["queue"].commands["counters"], + ["--json"] + ) + assert result.exit_code == 0 + print(result.output) + json_output = json.loads(result.output) + + # remove "time" from the output + for _, v in json_output.items(): + del v["time"] + assert json_dump(json_output) == show_queue_counters_json + + def test_queue_counters_port_json(self): + runner = CliRunner() + result = runner.invoke( + show.cli.commands["queue"].commands["counters"], + ["Ethernet8 --json"] + ) + assert result.exit_code == 0 + print(result.output) + json_output = json.loads(result.output) + + # remove "time" from the output + for _, v in json_output.items(): + del v["time"] + assert json_dump(json_output) == show_queue_counters_port_json + + @classmethod + def teardown_class(cls): + os.environ["PATH"] = os.pathsep.join(os.environ["PATH"].split(os.pathsep)[:-1]) + os.environ['UTILITIES_UNIT_TESTING'] = "0" + print("TEARDOWN") diff --git a/utilities_common/cli.py b/utilities_common/cli.py index ed103649e4..afa42dc3b3 100644 --- a/utilities_common/cli.py +++ b/utilities_common/cli.py @@ -1,4 +1,5 @@ import configparser +import datetime import os import re import subprocess @@ -546,13 +547,22 @@ def run_command(command, display_cmd=False, ignore_error=False, return_cmd=False sys.exit(rc) +def json_serial(obj): + """JSON serializer for objects not serializable by default""" + + if isinstance(obj, (datetime.datetime, datetime.date)): + return obj.isoformat() + raise TypeError("Type %s not serializable" % type(obj)) + + def json_dump(data): """ Dump data in JSON format """ return json.dumps( - data, sort_keys=True, indent=2, ensure_ascii=False + data, sort_keys=True, indent=2, ensure_ascii=False, default=json_serial ) + def interface_is_untagged_member(db, interface_name): """ Check if interface is already untagged member""" From e296a69e999fd8fdd711b56f47af8f1939409735 Mon Sep 17 00:00:00 2001 From: Renuka Manavalan <47282725+renukamanavalan@users.noreply.github.com> Date: Fri, 16 Apr 2021 14:56:55 -0700 Subject: [PATCH 168/342] No more IP validation as it is more likely a URL (#1555) Dropped IP validation as server takes URL. --- config/kube.py | 21 +-------------------- tests/kube_test.py | 6 +----- 2 files changed, 2 insertions(+), 25 deletions(-) diff --git a/config/kube.py b/config/kube.py index ef27c0538e..a2dbeeffb6 100644 --- a/config/kube.py +++ b/config/kube.py @@ -1,5 +1,4 @@ import click -import socket from utilities_common.cli import AbbreviationGroup, pass_db @@ -21,22 +20,6 @@ KUBE_LABEL_TABLE = "KUBE_LABELS" KUBE_LABEL_SET_KEY = "SET" -def is_valid_ip4_addr(address): - try: - socket.inet_pton(socket.AF_INET, address) - except socket.error: # not a valid address - return False - return True - - -def is_valid_ip6_addr(address): - try: - socket.inet_pton(socket.AF_INET6, address) - except socket.error: # not a valid address - return False - return True - - def _update_kube_server(db, field, val): db_data = db.cfgdb.get_entry(KUBE_SERVER_TABLE_NAME, KUBE_SERVER_TABLE_KEY) def_data = { @@ -82,9 +65,7 @@ def server(): @pass_db def ip(db, vip): """Specify a kubernetes cluster VIP""" - if vip and not is_valid_ip4_addr(vip) and not is_valid_ip6_addr(vip): - click.echo('Invalid IP address %s' % vip) - sys.exit(1) + _update_kube_server(db, KUBE_SERVER_IP, vip) diff --git a/tests/kube_test.py b/tests/kube_test.py index a19402a627..90a4f6e292 100644 --- a/tests/kube_test.py +++ b/tests/kube_test.py @@ -125,15 +125,11 @@ def test_set_server_ip(self, get_cmd_module): self.__check_res(result, "check server IP", show_server_output_1) - def test_set_server_invalid_ip_port(self, get_cmd_module): + def test_set_server_invalid_port(self, get_cmd_module): (config, show) = get_cmd_module db = Db() runner = CliRunner() - # test invalid IP - result = runner.invoke(config.config.commands["kubernetes"].commands["server"], ["ip", "10101011"], obj=db) - assert result.exit_code == 1 - # test invalid port result = runner.invoke(config.config.commands["kubernetes"].commands["server"], ["port", "10101011"], obj=db) assert result.exit_code == 1 From f5efe8939530ba9767bcd92e5a688b2275c5f151 Mon Sep 17 00:00:00 2001 From: Danny Allen Date: Tue, 20 Apr 2021 10:29:23 -0700 Subject: [PATCH 169/342] [acl] Use a list instead of a comma-separated string for ACL port list (#1519) Signed-off-by: Danny Allen --- config/main.py | 4 ++-- tests/acl_config_test.py | 10 ++++------ 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/config/main.py b/config/main.py index e5a3cf6d0f..44bf799287 100644 --- a/config/main.py +++ b/config/main.py @@ -3339,7 +3339,7 @@ def parse_acl_table_info(table_name, table_type, description, ports, stage): if ports: for port in ports.split(","): port_list += expand_vlan_ports(port) - port_list = set(port_list) + port_list = list(set(port_list)) # convert to set first to remove duplicate ifaces else: port_list = valid_acl_ports @@ -3347,7 +3347,7 @@ def parse_acl_table_info(table_name, table_type, description, ports, stage): if port not in valid_acl_ports: raise ValueError("Cannot bind ACL to specified port {}".format(port)) - table_info["ports@"] = ",".join(port_list) + table_info["ports"] = port_list table_info["stage"] = stage diff --git a/tests/acl_config_test.py b/tests/acl_config_test.py index 63f92b787b..ff397e760d 100644 --- a/tests/acl_config_test.py +++ b/tests/acl_config_test.py @@ -25,9 +25,7 @@ def test_parse_table_with_vlan_expansion(self): assert table_info["type"] == "L3" assert table_info["policy_desc"] == "TEST" assert table_info["stage"] == "egress" - - port_list = table_info["ports@"].split(",") - assert set(port_list) == {"Ethernet4", "Ethernet8", "Ethernet12", "Ethernet16"} + assert set(table_info["ports"]) == {"Ethernet4", "Ethernet8", "Ethernet12", "Ethernet16"} def test_parse_table_with_vlan_and_duplicates(self): table_info = parse_acl_table_info("TEST", "L3", None, "Ethernet4,Vlan1000", "egress") @@ -36,9 +34,9 @@ def test_parse_table_with_vlan_and_duplicates(self): assert table_info["stage"] == "egress" # Since Ethernet4 is a member of Vlan1000 we should not include it twice in the output - port_list = table_info["ports@"].split(",") - assert len(port_list) == 4 - assert set(port_list) == {"Ethernet4", "Ethernet8", "Ethernet12", "Ethernet16"} + port_set = set(table_info["ports"]) + assert len(port_set) == 4 + assert set(port_set) == {"Ethernet4", "Ethernet8", "Ethernet12", "Ethernet16"} def test_parse_table_with_empty_vlan(self): with pytest.raises(ValueError): From 59ed6f399de8af29fa6f3ffb50e07d23f215feff Mon Sep 17 00:00:00 2001 From: Santhosh Kumar T <53558409+santhosh-kt@users.noreply.github.com> Date: Fri, 23 Apr 2021 00:03:39 +0530 Subject: [PATCH 170/342] platform pre-check for reboot in master branch (#1556) What I did Added platform pre check support in reboot script. Checking platform based changes before stopping dockers and sonic services. Porting changes in master from 201911 branch #1472 How I did it On branch reboot_pre_check_master Changes not staged for commit: (use "git add ..." to update what will be committed) (use "git checkout -- ..." to discard changes in working directory) modified: scripts/reboot How to verify it Write a platform pre check script(platform_reboot_pre_check) and place it in /usr/share/sonic/device// directory. If the script exit with status 0, reboot will be proceeded. If script exit with non-zero status, the reboot script gets stopped. --- scripts/reboot | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/scripts/reboot b/scripts/reboot index 546aa0fbff..dfbd309ba8 100755 --- a/scripts/reboot +++ b/scripts/reboot @@ -3,6 +3,7 @@ DEVPATH="/usr/share/sonic/device" PLAT_REBOOT="platform_reboot" PLATFORM_UPDATE_REBOOT_CAUSE="platform_update_reboot_cause" REBOOT_CAUSE_FILE="/host/reboot-cause/reboot-cause.txt" +PLATFORM_REBOOT_PRE_CHECK="platform_reboot_pre_check" REBOOT_TIME=$(date) # Reboot immediately if we run the kdump capture kernel @@ -121,6 +122,11 @@ function reboot_pre_check() fi rm ${filename} + if [ -x ${DEVPATH}/${PLATFORM}/${PLATFORM_REBOOT_PRE_CHECK} ]; then + ${DEVPATH}/${PLATFORM}/${PLATFORM_REBOOT_PRE_CHECK} + [[ $? -ne 0 ]] && exit $? + fi + # Verify the next image by sonic-installer local message=$(sonic-installer verify-next-image 2>&1) if [ $? -ne 0 ]; then From b10c1575868f44b64913bf572b33cef0496c3ec7 Mon Sep 17 00:00:00 2001 From: a-barboza <29963827+a-barboza@users.noreply.github.com> Date: Thu, 22 Apr 2021 16:14:17 -0700 Subject: [PATCH 171/342] RADIUS Management User Authentication Feature (#1521) What I did Radius Management User Authentication Feature How I did it HLD: https://github.com/Azure/SONiC/blob/master/doc/aaa/radius_authentication.md How to verify it This is the CLI only. The changes are reflected in the Redis Config DB. Previous command output (if the output of a command-line utility has changed) New command output (if the output of a command-line utility has changed) admin@sonic:~$ show radius RADIUS global auth_type pap (default) RADIUS global retransmit 3 (default) RADIUS global timeout 5 (default) RADIUS global passkey (default) admin@sonic:~$ admin@sonic:~$ sudo config radius Usage: config radius [OPTIONS] COMMAND [ARGS]... RADIUS server configuration Options: -?, -h, --help Show this message and exit. Commands: add Specify a RADIUS server authtype Specify RADIUS server global auth_type [chap | pap | mschapv2] default set its default configuration delete Delete a RADIUS server nasip Specify RADIUS server global NAS-IP|IPV6-Address passkey Specify RADIUS server global passkey retransmit Specify RADIUS server global retry attempts <0 - 10> sourceip Specify RADIUS server global source ip statistics Specify RADIUS server global statistics [enable | disable |... timeout Specify RADIUS server global timeout <1 - 60> admin@sonic:~$ --- config/aaa.py | 311 ++++++++++++++++++++++++++++++++++++++++++- config/main.py | 1 + show/main.py | 58 +++++++- tests/aaa_test.py | 138 +++++++++++++++++++ tests/radius_test.py | 194 +++++++++++++++++++++++++++ 5 files changed, 696 insertions(+), 6 deletions(-) create mode 100644 tests/aaa_test.py create mode 100644 tests/radius_test.py diff --git a/config/aaa.py b/config/aaa.py index fb2db721ae..d39b00a20f 100644 --- a/config/aaa.py +++ b/config/aaa.py @@ -1,7 +1,17 @@ import click +import ipaddress +import re from swsscommon.swsscommon import ConfigDBConnector import utilities_common.cli as clicommon +RADIUS_MAXSERVERS = 8 +RADIUS_PASSKEY_MAX_LEN = 65 +VALID_CHARS_MSG = "Valid chars are ASCII printable except SPACE, '#', and ','" + +def is_secret(secret): + return bool(re.match('^' + '[^ #,]*' + '$', secret)) + + def add_table_kv(table, entry, key, val): config_db = ConfigDBConnector() config_db.connect() @@ -61,20 +71,69 @@ def fallback(option): authentication.add_command(fallback) +# cmd: aaa authentication debug +@click.command() +@click.argument('option', type=click.Choice(["enable", "disable", "default"])) +def debug(option): + """AAA debug [enable | disable | default]""" + if option == 'default': + del_table_key('AAA', 'authentication', 'debug') + else: + if option == 'enable': + add_table_kv('AAA', 'authentication', 'debug', True) + elif option == 'disable': + add_table_kv('AAA', 'authentication', 'debug', False) +authentication.add_command(debug) + + +# cmd: aaa authentication trace +@click.command() +@click.argument('option', type=click.Choice(["enable", "disable", "default"])) +def trace(option): + """AAA packet trace [enable | disable | default]""" + if option == 'default': + del_table_key('AAA', 'authentication', 'trace') + else: + if option == 'enable': + add_table_kv('AAA', 'authentication', 'trace', True) + elif option == 'disable': + add_table_kv('AAA', 'authentication', 'trace', False) +authentication.add_command(trace) + + @click.command() -@click.argument('auth_protocol', nargs=-1, type=click.Choice(["tacacs+", "local", "default"])) +@click.argument('auth_protocol', nargs=-1, type=click.Choice(["radius", "tacacs+", "local", "default"])) def login(auth_protocol): - """Switch login authentication [ {tacacs+, local} | default ]""" + """Switch login authentication [ {radius, tacacs+, local} | default ]""" if len(auth_protocol) is 0: click.echo('Argument "auth_protocol" is required') return + elif len(auth_protocol) > 2: + click.echo('Not a valid command.') + return if 'default' in auth_protocol: + if len(auth_protocol) !=1: + click.echo('Not a valid command') + return del_table_key('AAA', 'authentication', 'login') else: val = auth_protocol[0] if len(auth_protocol) == 2: - val += ',' + auth_protocol[1] + val2 = auth_protocol[1] + good_ap = False + if val == 'local': + if val2 == 'radius' or val2 == 'tacacs+': + good_ap = True + elif val == 'radius' or val == 'tacacs+': + if val2 == 'local': + good_ap = True + if good_ap == True: + val += ',' + val2 + else: + click.echo('Not a valid command') + return + add_table_kv('AAA', 'authentication', 'login', val) authentication.add_command(login) @@ -189,3 +248,249 @@ def delete(address): config_db.connect() config_db.set_entry('TACPLUS_SERVER', address, None) tacacs.add_command(delete) + + +@click.group() +def radius(): + """RADIUS server configuration""" + pass + + +@click.group() +@click.pass_context +def default(ctx): + """set its default configuration""" + ctx.obj = 'default' +radius.add_command(default) + + +@click.command() +@click.argument('second', metavar='', type=click.IntRange(1, 60), required=False) +@click.pass_context +def timeout(ctx, second): + """Specify RADIUS server global timeout <1 - 60>""" + if ctx.obj == 'default': + del_table_key('RADIUS', 'global', 'timeout') + elif second: + add_table_kv('RADIUS', 'global', 'timeout', second) + else: + click.echo('Not support empty argument') +radius.add_command(timeout) +default.add_command(timeout) + + +@click.command() +@click.argument('retries', metavar='', type=click.IntRange(0, 10), required=False) +@click.pass_context +def retransmit(ctx, retries): + """Specify RADIUS server global retry attempts <0 - 10>""" + if ctx.obj == 'default': + del_table_key('RADIUS', 'global', 'retransmit') + elif retries != None: + add_table_kv('RADIUS', 'global', 'retransmit', retries) + else: + click.echo('Not support empty argument') +radius.add_command(retransmit) +default.add_command(retransmit) + + +@click.command() +@click.argument('type', metavar='', type=click.Choice(["chap", "pap", "mschapv2"]), required=False) +@click.pass_context +def authtype(ctx, type): + """Specify RADIUS server global auth_type [chap | pap | mschapv2]""" + if ctx.obj == 'default': + del_table_key('RADIUS', 'global', 'auth_type') + elif type: + add_table_kv('RADIUS', 'global', 'auth_type', type) + else: + click.echo('Not support empty argument') +radius.add_command(authtype) +default.add_command(authtype) + + +@click.command() +@click.argument('secret', metavar='', required=False) +@click.pass_context +def passkey(ctx, secret): + """Specify RADIUS server global passkey """ + if ctx.obj == 'default': + del_table_key('RADIUS', 'global', 'passkey') + elif secret: + if len(secret) > RADIUS_PASSKEY_MAX_LEN: + click.echo('Maximum of %d chars can be configured' % RADIUS_PASSKEY_MAX_LEN) + return + elif not is_secret(secret): + click.echo(VALID_CHARS_MSG) + return + add_table_kv('RADIUS', 'global', 'passkey', secret) + else: + click.echo('Not support empty argument') +radius.add_command(passkey) +default.add_command(passkey) + +@click.command() +@click.argument('src_ip', metavar='', required=False) +@click.pass_context +def sourceip(ctx, src_ip): + """Specify RADIUS server global source ip """ + if ctx.obj == 'default': + del_table_key('RADIUS', 'global', 'src_ip') + return + elif not src_ip: + click.echo('Not support empty argument') + return + + if not clicommon.is_ipaddress(src_ip): + click.echo('Invalid ip address') + return + + v6_invalid_list = [ipaddress.IPv6Address(unicode('0::0')), ipaddress.IPv6Address(unicode('0::1'))] + net = ipaddress.ip_network(unicode(src_ip), strict=False) + if (net.version == 4): + if src_ip == "0.0.0.0": + click.echo('enter non-zero ip address') + return + ip = ipaddress.IPv4Address(src_ip) + if ip.is_reserved: + click.echo('Reserved ip is not valid') + return + if ip.is_multicast: + click.echo('Multicast ip is not valid') + return + elif (net.version == 6): + ip = ipaddress.IPv6Address(src_ip) + if (ip.is_multicast): + click.echo('Multicast ip is not valid') + return + if (ip in v6_invalid_list): + click.echo('Invalid ip address') + return + add_table_kv('RADIUS', 'global', 'src_ip', src_ip) +radius.add_command(sourceip) +default.add_command(sourceip) + +@click.command() +@click.argument('nas_ip', metavar='', required=False) +@click.pass_context +def nasip(ctx, nas_ip): + """Specify RADIUS server global NAS-IP|IPV6-Address """ + if ctx.obj == 'default': + del_table_key('RADIUS', 'global', 'nas_ip') + return + elif not nas_ip: + click.echo('Not support empty argument') + return + + if not clicommon.is_ipaddress(nas_ip): + click.echo('Invalid ip address') + return + + v6_invalid_list = [ipaddress.IPv6Address(unicode('0::0')), ipaddress.IPv6Address(unicode('0::1'))] + net = ipaddress.ip_network(unicode(nas_ip), strict=False) + if (net.version == 4): + if nas_ip == "0.0.0.0": + click.echo('enter non-zero ip address') + return + ip = ipaddress.IPv4Address(nas_ip) + if ip.is_reserved: + click.echo('Reserved ip is not valid') + return + if ip.is_multicast: + click.echo('Multicast ip is not valid') + return + elif (net.version == 6): + ip = ipaddress.IPv6Address(nas_ip) + if (ip.is_multicast): + click.echo('Multicast ip is not valid') + return + if (ip in v6_invalid_list): + click.echo('Invalid ip address') + return + add_table_kv('RADIUS', 'global', 'nas_ip', nas_ip) +radius.add_command(nasip) +default.add_command(nasip) + +@click.command() +@click.argument('option', type=click.Choice(["enable", "disable", "default"])) +def statistics(option): + """Specify RADIUS server global statistics [enable | disable | default]""" + if option == 'default': + del_table_key('RADIUS', 'global', 'statistics') + else: + if option == 'enable': + add_table_kv('RADIUS', 'global', 'statistics', True) + elif option == 'disable': + add_table_kv('RADIUS', 'global', 'statistics', False) +radius.add_command(statistics) + + +# cmd: radius add --retransmit COUNT --timeout SECOND --key SECRET --type TYPE --auth-port PORT --pri PRIORITY +@click.command() +@click.argument('address', metavar='') +@click.option('-r', '--retransmit', help='Retransmit attempts, default 3', type=click.IntRange(1, 10)) +@click.option('-t', '--timeout', help='Transmission timeout interval, default 5', type=click.IntRange(1, 60)) +@click.option('-k', '--key', help='Shared secret') +@click.option('-a', '--auth_type', help='Authentication type, default pap', type=click.Choice(["chap", "pap", "mschapv2"])) +@click.option('-o', '--auth-port', help='UDP port range is 1 to 65535, default 1812', type=click.IntRange(1, 65535), default=1812) +@click.option('-p', '--pri', help="Priority, default 1", type=click.IntRange(1, 64), default=1) +@click.option('-m', '--use-mgmt-vrf', help="Management vrf, default is no vrf", is_flag=True) +@click.option('-s', '--source-interface', help='Source Interface') +def add(address, retransmit, timeout, key, auth_type, auth_port, pri, use_mgmt_vrf, source_interface): + """Specify a RADIUS server""" + + if key: + if len(key) > RADIUS_PASSKEY_MAX_LEN: + click.echo('--key: Maximum of %d chars can be configured' % RADIUS_PASSKEY_MAX_LEN) + return + elif not is_secret(key): + click.echo('--key: ' + VALID_CHARS_MSG) + return + + config_db = ConfigDBConnector() + config_db.connect() + old_data = config_db.get_table('RADIUS_SERVER') + if address in old_data : + click.echo('server %s already exists' % address) + return + if len(old_data) == RADIUS_MAXSERVERS: + click.echo('Maximum of %d can be configured' % RADIUS_MAXSERVERS) + else: + data = { + 'auth_port': str(auth_port), + 'priority': pri + } + if auth_type is not None: + data['auth_type'] = auth_type + if retransmit is not None: + data['retransmit'] = str(retransmit) + if timeout is not None: + data['timeout'] = str(timeout) + if key is not None: + data['passkey'] = key + if use_mgmt_vrf : + data['vrf'] = "mgmt" + if source_interface : + if (source_interface.startswith("Ethernet") or \ + source_interface.startswith("PortChannel") or \ + source_interface.startswith("Vlan") or \ + source_interface.startswith("Loopback") or \ + source_interface == "eth0"): + data['src_intf'] = source_interface + else: + click.echo('Not supported interface name (valid interface name: Etherent/PortChannel/Vlan/Loopback/eth0)') + config_db.set_entry('RADIUS_SERVER', address, data) +radius.add_command(add) + + +# cmd: radius delete +# 'del' is keyword, replace with 'delete' +@click.command() +@click.argument('address', metavar='') +def delete(address): + """Delete a RADIUS server""" + + config_db = ConfigDBConnector() + config_db.connect() + config_db.set_entry('RADIUS_SERVER', address, None) +radius.add_command(delete) diff --git a/config/main.py b/config/main.py index 44bf799287..244a2570a6 100644 --- a/config/main.py +++ b/config/main.py @@ -866,6 +866,7 @@ def config(ctx): # Add groups from other modules config.add_command(aaa.aaa) config.add_command(aaa.tacacs) +config.add_command(aaa.radius) config.add_command(chassis_modules.chassis_modules) config.add_command(console.console) config.add_command(feature.feature) diff --git a/show/main.py b/show/main.py index 16f5d8cec7..b0b2986a78 100755 --- a/show/main.py +++ b/show/main.py @@ -1248,10 +1248,10 @@ def services(): break @cli.command() -def aaa(): +@clicommon.pass_db +def aaa(db): """Show AAA configuration""" - config_db = ConfigDBConnector() - config_db.connect() + config_db = db.cfgdb data = config_db.get_table('AAA') output = '' @@ -1299,6 +1299,58 @@ def tacacs(): output += (' %s %s\n' % (key, str(entry[key]))) click.echo(output) +@cli.command() +@clicommon.pass_db +def radius(db): + """Show RADIUS configuration""" + output = '' + config_db = db.cfgdb + data = config_db.get_table('RADIUS') + + radius = { + 'global': { + 'auth_type': 'pap (default)', + 'retransmit': '3 (default)', + 'timeout': '5 (default)', + 'passkey': ' (default)' + } + } + if 'global' in data: + radius['global'].update(data['global']) + for key in radius['global']: + output += ('RADIUS global %s %s\n' % (str(key), str(radius['global'][key]))) + + data = config_db.get_table('RADIUS_SERVER') + if data != {}: + for row in data: + entry = data[row] + output += ('\nRADIUS_SERVER address %s\n' % row) + for key in entry: + output += (' %s %s\n' % (key, str(entry[key]))) + + counters_db = SonicV2Connector(host='127.0.0.1') + counters_db.connect(counters_db.COUNTERS_DB, retry_on=False) + + if radius['global'].get('statistics', False) and (data != {}): + for row in data: + exists = counters_db.exists(counters_db.COUNTERS_DB, + 'RADIUS_SERVER_STATS:{}'.format(row)) + if not exists: + continue + + counter_entry = counters_db.get_all(counters_db.COUNTERS_DB, + 'RADIUS_SERVER_STATS:{}'.format(row)) + output += ('\nStatistics for RADIUS_SERVER address %s\n' % row) + for key in counter_entry: + if counter_entry[key] != "0": + output += (' %s %s\n' % (key, str(counter_entry[key]))) + try: + counters_db.close(counters_db.COUNTERS_DB) + except Exception as e: + pass + + click.echo(output) + # # 'mirror_session' command ("show mirror_session ...") # diff --git a/tests/aaa_test.py b/tests/aaa_test.py new file mode 100644 index 0000000000..d202b41ad7 --- /dev/null +++ b/tests/aaa_test.py @@ -0,0 +1,138 @@ +import imp +import os +import sys + +from click.testing import CliRunner +from utilities_common.db import Db + +import config.main as config +import show.main as show + +test_path = os.path.dirname(os.path.abspath(__file__)) +modules_path = os.path.dirname(test_path) +sys.path.insert(0, test_path) +sys.path.insert(0, modules_path) + +import mock_tables.dbconnector + +show_aaa_default_output="""\ +AAA authentication login local (default) +AAA authentication failthrough False (default) + +""" + +show_aaa_radius_output="""\ +AAA authentication login radius +AAA authentication failthrough False (default) + +""" + +show_aaa_radius_local_output="""\ +AAA authentication login radius,local +AAA authentication failthrough False (default) + +""" + +config_aaa_empty_output="""\ +""" + +config_aaa_not_a_valid_command_output="""\ +Not a valid command +""" + +class TestAaa(object): + @classmethod + def setup_class(cls): + os.environ['UTILITIES_UNIT_TESTING'] = "1" + print("SETUP") + import config.main + imp.reload(config.main) + import show.main + imp.reload(show.main) + + @classmethod + def teardown_class(cls): + os.environ['UTILITIES_UNIT_TESTING'] = "0" + print("TEARDOWN") + + def test_show_aaa_default(self): + runner = CliRunner() + result = runner.invoke(show.cli.commands["aaa"], []) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == show_aaa_default_output + + def test_config_aaa_radius(self, get_cmd_module): + (config, show) = get_cmd_module + runner = CliRunner() + db = Db() + db.cfgdb.delete_table("AAA") + + result = runner.invoke(config.config.commands["aaa"],\ + ["authentication", "login", "radius"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == config_aaa_empty_output + + db.cfgdb.mod_entry("AAA", "authentication", {'login' : 'radius'}) + + result = runner.invoke(show.cli.commands["aaa"], [], obj=db) + assert result.exit_code == 0 + assert result.output == show_aaa_radius_output + + result = runner.invoke(config.config.commands["aaa"],\ + ["authentication", "login", "default"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == config_aaa_empty_output + + db.cfgdb.delete_table("AAA") + + result = runner.invoke(show.cli.commands["aaa"], [], obj=db) + assert result.exit_code == 0 + assert result.output == show_aaa_default_output + + def test_config_aaa_radius_local(self, get_cmd_module): + (config, show) = get_cmd_module + runner = CliRunner() + db = Db() + db.cfgdb.delete_table("AAA") + + result = runner.invoke(config.config.commands["aaa"],\ + ["authentication", "login", "radius", "local"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == config_aaa_empty_output + + db.cfgdb.mod_entry("AAA", "authentication", {'login' : 'radius,local'}) + + result = runner.invoke(show.cli.commands["aaa"], [], obj=db) + assert result.exit_code == 0 + assert result.output == show_aaa_radius_local_output + + result = runner.invoke(config.config.commands["aaa"],\ + ["authentication", "login", "default"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == config_aaa_empty_output + + db.cfgdb.delete_table("AAA") + + result = runner.invoke(show.cli.commands["aaa"], [], obj=db) + assert result.exit_code == 0 + assert result.output == show_aaa_default_output + + def test_config_aaa_radius_invalid(self): + runner = CliRunner() + result = runner.invoke(config.config.commands["aaa"],\ + ["authentication", "login", "radius", "tacacs+"]) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == config_aaa_not_a_valid_command_output + diff --git a/tests/radius_test.py b/tests/radius_test.py new file mode 100644 index 0000000000..117e19bde8 --- /dev/null +++ b/tests/radius_test.py @@ -0,0 +1,194 @@ +import imp +import os +import sys + +from click.testing import CliRunner +from utilities_common.db import Db + +import config.main as config +import show.main as show + +test_path = os.path.dirname(os.path.abspath(__file__)) +modules_path = os.path.dirname(test_path) +sys.path.insert(0, test_path) +sys.path.insert(0, modules_path) + +import mock_tables.dbconnector + +show_radius_default_output="""\ +RADIUS global auth_type pap (default) +RADIUS global retransmit 3 (default) +RADIUS global timeout 5 (default) +RADIUS global passkey (default) + +""" + +show_radius_server_output="""\ +RADIUS global auth_type pap (default) +RADIUS global retransmit 3 (default) +RADIUS global timeout 5 (default) +RADIUS global passkey (default) + +RADIUS_SERVER address 10.10.10.10 + auth_port 1812 + passkey testing123 + priority 1 + retransmit 1 + src_intf eth0 + timeout 3 + +""" + +show_radius_global_output="""\ +RADIUS global auth_type chap +RADIUS global retransmit 3 (default) +RADIUS global timeout 5 (default) +RADIUS global passkey (default) + +""" + +config_radius_empty_output="""\ +""" + +config_radius_server_invalidkey_output="""\ +--key: Valid chars are ASCII printable except SPACE, '#', and ',' +""" + +config_radius_invalidipaddress_output="""\ +Invalid ip address +""" + +class TestRadius(object): + @classmethod + def setup_class(cls): + os.environ['UTILITIES_UNIT_TESTING'] = "1" + print("SETUP") + import config.main + imp.reload(config.main) + import show.main + imp.reload(show.main) + + @classmethod + def teardown_class(cls): + os.environ['UTILITIES_UNIT_TESTING'] = "0" + print("TEARDOWN") + + def test_show_radius_default(self): + runner = CliRunner() + result = runner.invoke(show.cli.commands["radius"], []) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == show_radius_default_output + + def test_config_radius_server(self, get_cmd_module): + (config, show) = get_cmd_module + runner = CliRunner() + db = Db() + db.cfgdb.delete_table("RADIUS_SERVER") + + result = runner.invoke(config.config.commands["radius"],\ + ["add", "10.10.10.10", "-r", "1", "-t", "3",\ + "-k", "testing123", "-s", "eth0"]) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == config_radius_empty_output + + db.cfgdb.mod_entry("RADIUS_SERVER", "10.10.10.10", \ + {'auth_port' : '1812', \ + 'passkey' : 'testing123', \ + 'priority' : '1', \ + 'retransmit': '1', \ + 'src_intf' : 'eth0', \ + 'timeout' : '3', \ + } \ + ) + + result = runner.invoke(show.cli.commands["radius"], [], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == show_radius_server_output + + result = runner.invoke(config.config.commands["radius"],\ + ["delete", "10.10.10.10"]) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == config_radius_empty_output + + db.cfgdb.delete_table("RADIUS_SERVER") + + result = runner.invoke(show.cli.commands["radius"], [], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == show_radius_default_output + + def test_config_radius_server_invalidkey(self): + runner = CliRunner() + result = runner.invoke(config.config.commands["radius"],\ + ["add", "10.10.10.10", "-r", "1", "-t", "3",\ + "-k", "comma,invalid", "-s", "eth0"]) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == config_radius_server_invalidkey_output + + def test_config_radius_nasip_invalid(self): + runner = CliRunner() + result = runner.invoke(config.config.commands["radius"],\ + ["nasip", "invalid"]) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == config_radius_invalidipaddress_output + + def test_config_radius_sourceip_invalid(self): + runner = CliRunner() + result = runner.invoke(config.config.commands["radius"],\ + ["sourceip", "invalid"]) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == config_radius_invalidipaddress_output + + def test_config_radius_authtype(self, get_cmd_module): + (config, show) = get_cmd_module + runner = CliRunner() + db = Db() + db.cfgdb.delete_table("RADIUS") + + result = runner.invoke(config.config.commands["radius"],\ + ["authtype", "chap"]) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == config_radius_empty_output + + db.cfgdb.mod_entry("RADIUS", "global", \ + {'auth_type' : 'chap'} \ + ) + + result = runner.invoke(show.cli.commands["radius"], [], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == show_radius_global_output + + result = runner.invoke(config.config.commands["radius"],\ + ["default", "authtype"]) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == config_radius_empty_output + + db.cfgdb.delete_table("RADIUS") + + result = runner.invoke(show.cli.commands["radius"], [], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == show_radius_default_output + From a3d37f17b78a62ca3e7486de1b40df84b49dbf23 Mon Sep 17 00:00:00 2001 From: Blueve <672454911@qq.com> Date: Sun, 25 Apr 2021 12:08:00 +0800 Subject: [PATCH 172/342] [console] Display success message after line cleared (#1579) * [console] Display success message after line cleared Signed-off-by: Jing Kan jika@microsoft.com --- consutil/main.py | 2 ++ tests/console_test.py | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/consutil/main.py b/consutil/main.py index 069f6bb27e..9fc41cded5 100644 --- a/consutil/main.py +++ b/consutil/main.py @@ -74,6 +74,8 @@ def clear(db, target, devicename): if not target_port.clear_session(): click.echo("No process is connected to line " + target_port.line_num) + else: + click.echo("Cleared line") # 'connect' subcommand @consutil.command() diff --git a/tests/console_test.py b/tests/console_test.py index e4b5156837..3df59adbdf 100644 --- a/tests/console_test.py +++ b/tests/console_test.py @@ -698,4 +698,4 @@ def test_clear_success(self): print(result.exit_code) print(sys.stderr, result.output) assert result.exit_code == 0 - assert result.output == "" + assert "Cleared line" in result.output From 41d8ddc689b380dec35ee8d64bbaf98e6251ae69 Mon Sep 17 00:00:00 2001 From: Mohamed Ghoneim Date: Sun, 25 Apr 2021 18:40:53 -0700 Subject: [PATCH 173/342] [config][generic-update] Adding apply-patch, rollback, checkpoints commands (#1536) #### What I did Adding apply-patch, rollback, replace, checkpoint, delete-checkpoint, list-checkpoints functionality. #### How I did it This PR is implementing the first step in in README.md in the design document: https://github.com/Azure/SONiC/pull/736 #### How to verify it Using unit-tests #### Previous command output (if the output of a command-line utility has changed) #### New command output (if the output of a command-line utility has changed) ```sh admin@sonic:~$ sudo config apply-patch --help Usage: config apply-patch [OPTIONS] PATCH_FILE_PATH Apply given patch of updates to Config. A patch is a JsonPatch which follows rfc6902. This command can be used do partial updates to the config with minimum disruption to running processes. It allows addition as well as deletion of configs. The patch file represents a diff of ConfigDb(ABNF) format or SonicYang format. : Path to the patch file on the file-system. Options: -f, --format [CONFIGDB|SONICYANG] format of config of the patch is either ConfigDb(ABNF) or SonicYang -d, --dry-run test out the command without affecting config state -v, --verbose print additional details of what the operation is doing -h, -?, --help Show this message and exit. admin@sonic:~$ sudo config replace --help Usage: config replace [OPTIONS] TARGET_FILE_PATH Replace the whole config with the specified config. The config is replaced with minimum disruption e.g. if ACL config is different between current and target config only ACL config is updated, and other config/services such as DHCP will not be affected. **WARNING** The target config file should be the whole config, not just the part intended to be updated. : Path to the target file on the file-system. Options: -f, --format [CONFIGDB|SONICYANG] format of target config is either ConfigDb(ABNF) or SonicYang -d, --dry-run test out the command without affecting config state -v, --verbose print additional details of what the operation is doing -h, -?, --help Show this message and exit. admin@sonic:~$ sudo config rollback --help Usage: config rollback [OPTIONS] CHECKPOINT_NAME Rollback the whole config to the specified checkpoint. The config is rolled back with minimum disruption e.g. if ACL config is different between current and checkpoint config only ACL config is updated, and other config/services such as DHCP will not be affected. : The checkpoint name, use `config list-checkpoints` command to see available checkpoints. Options: -d, --dry-run test out the command without affecting config state -v, --verbose print additional details of what the operation is doing -?, -h, --help Show this message and exit. admin@sonic:~$ sudo config checkpoint --help Usage: config checkpoint [OPTIONS] CHECKPOINT_NAME Take a checkpoint of the whole current config with the specified checkpoint name. : The checkpoint name, use `config list-checkpoints` command to see available checkpoints. Options: -v, --verbose print additional details of what the operation is doing -h, -?, --help Show this message and exit. admin@sonic:~$ sudo config delete-checkpoint --help Usage: config delete-checkpoint [OPTIONS] CHECKPOINT_NAME Delete a checkpoint with the specified checkpoint name. : The checkpoint name, use `config list-checkpoints` command to see available checkpoints. Options: -v, --verbose print additional details of what the operation is doing -h, -?, --help Show this message and exit. admin@sonic:~$ sudo config list-checkpoints --help Usage: config list-checkpoints [OPTIONS] List the config checkpoints available. Options: -v, --verbose print additional details of what the operation is doing -?, -h, --help Show this message and exit. ``` --- .azure-pipelines/docker-sonic-vs/Dockerfile | 6 +- config/main.py | 131 ++- generic_config_updater/__init__.py | 0 generic_config_updater/generic_updater.py | 339 ++++++++ generic_config_updater/gu_common.py | 176 ++++ setup.py | 6 +- tests/config_test.py | 619 ++++++++++++++ tests/generic_config_updater/__init__.py | 0 .../files/config_db_after_multi_patch.json | 122 +++ .../files/config_db_as_json.json | 92 +++ .../files/config_db_as_json_invalid.json | 7 + .../files/cropped_config_db_as_json.json | 86 ++ ...multi_operation_config_db_patch.json-patch | 88 ++ ...ulti_operation_sonic_yang_patch.json-patch | 97 +++ ...ingle_operation_config_db_patch.json-patch | 6 + ...ngle_operation_sonic_yang_patch.json-patch | 6 + .../files/sonic_yang_after_multi_patch.json | 153 ++++ .../files/sonic_yang_as_json.json | 114 +++ .../files/sonic_yang_as_json_invalid.json | 13 + ...c_yang_as_json_with_unexpected_colons.json | 114 +++ .../sonic_yang_as_json_without_colons.json | 114 +++ .../generic_updater_test.py | 766 ++++++++++++++++++ .../generic_config_updater/gu_common_test.py | 335 ++++++++ .../generic_config_updater/gutest_helpers.py | 53 ++ 24 files changed, 3437 insertions(+), 6 deletions(-) create mode 100644 generic_config_updater/__init__.py create mode 100644 generic_config_updater/generic_updater.py create mode 100644 generic_config_updater/gu_common.py create mode 100644 tests/generic_config_updater/__init__.py create mode 100644 tests/generic_config_updater/files/config_db_after_multi_patch.json create mode 100644 tests/generic_config_updater/files/config_db_as_json.json create mode 100644 tests/generic_config_updater/files/config_db_as_json_invalid.json create mode 100644 tests/generic_config_updater/files/cropped_config_db_as_json.json create mode 100644 tests/generic_config_updater/files/multi_operation_config_db_patch.json-patch create mode 100644 tests/generic_config_updater/files/multi_operation_sonic_yang_patch.json-patch create mode 100644 tests/generic_config_updater/files/single_operation_config_db_patch.json-patch create mode 100644 tests/generic_config_updater/files/single_operation_sonic_yang_patch.json-patch create mode 100644 tests/generic_config_updater/files/sonic_yang_after_multi_patch.json create mode 100644 tests/generic_config_updater/files/sonic_yang_as_json.json create mode 100644 tests/generic_config_updater/files/sonic_yang_as_json_invalid.json create mode 100644 tests/generic_config_updater/files/sonic_yang_as_json_with_unexpected_colons.json create mode 100644 tests/generic_config_updater/files/sonic_yang_as_json_without_colons.json create mode 100644 tests/generic_config_updater/generic_updater_test.py create mode 100644 tests/generic_config_updater/gu_common_test.py create mode 100644 tests/generic_config_updater/gutest_helpers.py diff --git a/.azure-pipelines/docker-sonic-vs/Dockerfile b/.azure-pipelines/docker-sonic-vs/Dockerfile index 4e0a50e7a4..2b3e634232 100644 --- a/.azure-pipelines/docker-sonic-vs/Dockerfile +++ b/.azure-pipelines/docker-sonic-vs/Dockerfile @@ -4,4 +4,8 @@ ARG docker_container_name ADD ["wheels", "/wheels"] -RUN pip3 install --no-deps --force-reinstall /wheels/sonic_utilities-1.2-py3-none-any.whl +# Uninstalls only sonic-utilities and does not impact its dependencies +RUN pip3 uninstall -y sonic-utilities + +# Installs sonic-utilities, adds missing dependencies, upgrades out-dated depndencies +RUN pip3 install /wheels/sonic_utilities-1.2-py3-none-any.whl diff --git a/config/main.py b/config/main.py index 244a2570a6..6fad33f9c1 100644 --- a/config/main.py +++ b/config/main.py @@ -3,6 +3,7 @@ import click import ipaddress import json +import jsonpatch import netaddr import netifaces import os @@ -11,6 +12,7 @@ import sys import time +from generic_config_updater.generic_updater import GenericUpdater, ConfigFormat from socket import AF_INET, AF_INET6 from minigraph import parse_device_desc_xml from portconfig import get_child_ports @@ -826,7 +828,7 @@ def cache_arp_entries(): if filter_err: click.echo("Could not filter FDB entries prior to reloading") success = False - + # If we are able to successfully cache ARP table info, signal SWSS to restore from our cache # by creating /host/config-reload/needs-restore if success: @@ -987,6 +989,129 @@ def load(filename, yes): log.log_info("'load' executing...") clicommon.run_command(command, display_cmd=True) +@config.command('apply-patch') +@click.argument('patch-file-path', type=str, required=True) +@click.option('-f', '--format', type=click.Choice([e.name for e in ConfigFormat]), + default=ConfigFormat.CONFIGDB.name, + help='format of config of the patch is either ConfigDb(ABNF) or SonicYang') +@click.option('-d', '--dry-run', is_flag=True, default=False, help='test out the command without affecting config state') +@click.option('-v', '--verbose', is_flag=True, default=False, help='print additional details of what the operation is doing') +@click.pass_context +def apply_patch(ctx, patch_file_path, format, dry_run, verbose): + """Apply given patch of updates to Config. A patch is a JsonPatch which follows rfc6902. + This command can be used do partial updates to the config with minimum disruption to running processes. + It allows addition as well as deletion of configs. The patch file represents a diff of ConfigDb(ABNF) + format or SonicYang format. + + : Path to the patch file on the file-system.""" + try: + with open(patch_file_path, 'r') as fh: + text = fh.read() + patch_as_json = json.loads(text) + patch = jsonpatch.JsonPatch(patch_as_json) + + config_format = ConfigFormat[format.upper()] + + GenericUpdater().apply_patch(patch, config_format, verbose, dry_run) + + click.secho("Patch applied successfully.", fg="cyan", underline=True) + except Exception as ex: + click.secho("Failed to apply patch", fg="red", underline=True, err=True) + ctx.fail(ex) + +@config.command() +@click.argument('target-file-path', type=str, required=True) +@click.option('-f', '--format', type=click.Choice([e.name for e in ConfigFormat]), + default=ConfigFormat.CONFIGDB.name, + help='format of target config is either ConfigDb(ABNF) or SonicYang') +@click.option('-d', '--dry-run', is_flag=True, default=False, help='test out the command without affecting config state') +@click.option('-v', '--verbose', is_flag=True, default=False, help='print additional details of what the operation is doing') +@click.pass_context +def replace(ctx, target_file_path, format, dry_run, verbose): + """Replace the whole config with the specified config. The config is replaced with minimum disruption e.g. + if ACL config is different between current and target config only ACL config is updated, and other config/services + such as DHCP will not be affected. + + **WARNING** The target config file should be the whole config, not just the part intended to be updated. + + : Path to the target file on the file-system.""" + try: + with open(target_file_path, 'r') as fh: + target_config_as_text = fh.read() + target_config = json.loads(target_config_as_text) + + config_format = ConfigFormat[format.upper()] + + GenericUpdater().replace(target_config, config_format, verbose, dry_run) + + click.secho("Config replaced successfully.", fg="cyan", underline=True) + except Exception as ex: + click.secho("Failed to replace config", fg="red", underline=True, err=True) + ctx.fail(ex) + +@config.command() +@click.argument('checkpoint-name', type=str, required=True) +@click.option('-d', '--dry-run', is_flag=True, default=False, help='test out the command without affecting config state') +@click.option('-v', '--verbose', is_flag=True, default=False, help='print additional details of what the operation is doing') +@click.pass_context +def rollback(ctx, checkpoint_name, dry_run, verbose): + """Rollback the whole config to the specified checkpoint. The config is rolled back with minimum disruption e.g. + if ACL config is different between current and checkpoint config only ACL config is updated, and other config/services + such as DHCP will not be affected. + + : The checkpoint name, use `config list-checkpoints` command to see available checkpoints.""" + try: + GenericUpdater().rollback(checkpoint_name, verbose, dry_run) + + click.secho("Config rolled back successfully.", fg="cyan", underline=True) + except Exception as ex: + click.secho("Failed to rollback config", fg="red", underline=True, err=True) + ctx.fail(ex) + +@config.command() +@click.argument('checkpoint-name', type=str, required=True) +@click.option('-v', '--verbose', is_flag=True, default=False, help='print additional details of what the operation is doing') +@click.pass_context +def checkpoint(ctx, checkpoint_name, verbose): + """Take a checkpoint of the whole current config with the specified checkpoint name. + + : The checkpoint name, use `config list-checkpoints` command to see available checkpoints.""" + try: + GenericUpdater().checkpoint(checkpoint_name, verbose) + + click.secho("Checkpoint created successfully.", fg="cyan", underline=True) + except Exception as ex: + click.secho("Failed to create a config checkpoint", fg="red", underline=True, err=True) + ctx.fail(ex) + +@config.command('delete-checkpoint') +@click.argument('checkpoint-name', type=str, required=True) +@click.option('-v', '--verbose', is_flag=True, default=False, help='print additional details of what the operation is doing') +@click.pass_context +def delete_checkpoint(ctx, checkpoint_name, verbose): + """Delete a checkpoint with the specified checkpoint name. + + : The checkpoint name, use `config list-checkpoints` command to see available checkpoints.""" + try: + GenericUpdater().delete_checkpoint(checkpoint_name, verbose) + + click.secho("Checkpoint deleted successfully.", fg="cyan", underline=True) + except Exception as ex: + click.secho("Failed to delete config checkpoint", fg="red", underline=True, err=True) + ctx.fail(ex) + +@config.command('list-checkpoints') +@click.option('-v', '--verbose', is_flag=True, default=False, help='print additional details of what the operation is doing') +@click.pass_context +def list_checkpoints(ctx, verbose): + """List the config checkpoints available.""" + try: + checkpoints_list = GenericUpdater().list_checkpoints(verbose) + formatted_output = json.dumps(checkpoints_list, indent=4) + click.echo(formatted_output) + except Exception as ex: + click.secho("Failed to list config checkpoints", fg="red", underline=True, err=True) + ctx.fail(ex) @config.command() @click.option('-y', '--yes', is_flag=True) @@ -2581,8 +2706,8 @@ def add(ctx, interface_name, ip_addr, gw): if interface_name is None: ctx.fail("'interface_name' is None!") - # Add a validation to check this interface is not a member in vlan before - # changing it to a router port + # Add a validation to check this interface is not a member in vlan before + # changing it to a router port vlan_member_table = config_db.get_table('VLAN_MEMBER') if (interface_is_in_vlan(vlan_member_table, interface_name)): click.echo("Interface {} is a member of vlan\nAborting!".format(interface_name)) diff --git a/generic_config_updater/__init__.py b/generic_config_updater/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/generic_config_updater/generic_updater.py b/generic_config_updater/generic_updater.py new file mode 100644 index 0000000000..079d7ab742 --- /dev/null +++ b/generic_config_updater/generic_updater.py @@ -0,0 +1,339 @@ +import json +import os +from enum import Enum +from .gu_common import GenericConfigUpdaterError, ConfigWrapper, \ + DryRunConfigWrapper, PatchWrapper + +CHECKPOINTS_DIR = "/etc/sonic/checkpoints" +CHECKPOINT_EXT = ".cp.json" + +class ConfigLock: + def acquire_lock(self): + # TODO: Implement ConfigLock + pass + + def release_lock(self): + # TODO: Implement ConfigLock + pass + +class PatchSorter: + def sort(self, patch): + # TODO: Implement patch sorter + raise NotImplementedError("PatchSorter.sort(patch) is not implemented yet") + +class ChangeApplier: + def apply(self, change): + # TODO: Implement change applier + raise NotImplementedError("ChangeApplier.apply(change) is not implemented yet") + +class ConfigFormat(Enum): + CONFIGDB = 1 + SONICYANG = 2 + +class PatchApplier: + def __init__(self, + patchsorter=None, + changeapplier=None, + config_wrapper=None, + patch_wrapper=None): + self.patchsorter = patchsorter if patchsorter is not None else PatchSorter() + self.changeapplier = changeapplier if changeapplier is not None else ChangeApplier() + self.config_wrapper = config_wrapper if config_wrapper is not None else ConfigWrapper() + self.patch_wrapper = patch_wrapper if patch_wrapper is not None else PatchWrapper() + + def apply(self, patch): + # validate patch is only updating tables with yang models + if not(self.patch_wrapper.validate_config_db_patch_has_yang_models(patch)): + raise ValueError(f"Given patch is not valid because it has changes to tables without YANG models") + + # Get old config + old_config = self.config_wrapper.get_config_db_as_json() + + # Generate target config + target_config = self.patch_wrapper.simulate_patch(patch, old_config) + + # Validate target config + if not(self.config_wrapper.validate_config_db_config(target_config)): + raise ValueError(f"Given patch is not valid because it will result in an invalid config") + + # Generate list of changes to apply + changes = self.patchsorter.sort(patch) + + # Apply changes in order + for change in changes: + self.changeapplier.apply(change) + + # Validate config updated successfully + new_config = self.config_wrapper.get_config_db_as_json() + if not(self.patch_wrapper.verify_same_json(target_config, new_config)): + raise GenericConfigUpdaterError(f"After applying patch to config, there are still some parts not updated") + +class ConfigReplacer: + def __init__(self, patch_applier=None, config_wrapper=None, patch_wrapper=None): + self.patch_applier = patch_applier if patch_applier is not None else PatchApplier() + self.config_wrapper = config_wrapper if config_wrapper is not None else ConfigWrapper() + self.patch_wrapper = patch_wrapper if patch_wrapper is not None else PatchWrapper() + + def replace(self, target_config): + if not(self.config_wrapper.validate_config_db_config(target_config)): + raise ValueError(f"The given target config is not valid") + + old_config = self.config_wrapper.get_config_db_as_json() + patch = self.patch_wrapper.generate_patch(old_config, target_config) + + self.patch_applier.apply(patch) + + new_config = self.config_wrapper.get_config_db_as_json() + if not(self.patch_wrapper.verify_same_json(target_config, new_config)): + raise GenericConfigUpdaterError(f"After replacing config, there is still some parts not updated") + +class FileSystemConfigRollbacker: + def __init__(self, + checkpoints_dir=CHECKPOINTS_DIR, + config_replacer=None, + config_wrapper=None): + self.checkpoints_dir = checkpoints_dir + self.config_replacer = config_replacer if config_replacer is not None else ConfigReplacer() + self.config_wrapper = config_wrapper if config_wrapper is not None else ConfigWrapper() + + def rollback(self, checkpoint_name): + if not self._check_checkpoint_exists(checkpoint_name): + raise ValueError(f"Checkpoint '{checkpoint_name}' does not exist") + + target_config = self._get_checkpoint_content(checkpoint_name) + + self.config_replacer.replace(target_config) + + def checkpoint(self, checkpoint_name): + json_content = self.config_wrapper.get_config_db_as_json() + + if not self.config_wrapper.validate_config_db_config(json_content): + raise ValueError(f"Running configs on the device are not valid.") + + path = self._get_checkpoint_full_path(checkpoint_name) + + self._ensure_checkpoints_dir_exists() + + self._save_json_file(path, json_content) + + def list_checkpoints(self): + if not self._checkpoints_dir_exist(): + return [] + + return self._get_checkpoint_names() + + def delete_checkpoint(self, checkpoint_name): + if not self._check_checkpoint_exists(checkpoint_name): + raise ValueError(f"Checkpoint '{checkpoint_name}' does not exist") + + self._delete_checkpoint(checkpoint_name) + + def _ensure_checkpoints_dir_exists(self): + os.makedirs(self.checkpoints_dir, exist_ok=True) + + def _save_json_file(self, path, json_content): + with open(path, "w") as fh: + fh.write(json.dumps(json_content)) + + def _get_checkpoint_content(self, checkpoint_name): + path = self._get_checkpoint_full_path(checkpoint_name) + with open(path) as fh: + text = fh.read() + return json.loads(text) + + def _get_checkpoint_full_path(self, name): + return os.path.join(self.checkpoints_dir, f"{name}{CHECKPOINT_EXT}") + + def _get_checkpoint_names(self): + file_names = [] + for file_name in os.listdir(self.checkpoints_dir): + if file_name.endswith(CHECKPOINT_EXT): + # Remove extension from file name. + # Example assuming ext is '.cp.json', then 'checkpoint1.cp.json' becomes 'checkpoint1' + file_names.append(file_name[:-len(CHECKPOINT_EXT)]) + + return file_names + + def _checkpoints_dir_exist(self): + return os.path.isdir(self.checkpoints_dir) + + def _check_checkpoint_exists(self, name): + path = self._get_checkpoint_full_path(name) + return os.path.isfile(path) + + def _delete_checkpoint(self, name): + path = self._get_checkpoint_full_path(name) + return os.remove(path) + +class Decorator(PatchApplier, ConfigReplacer, FileSystemConfigRollbacker): + def __init__(self, decorated_patch_applier=None, decorated_config_replacer=None, decorated_config_rollbacker=None): + # initing base classes to make LGTM happy + PatchApplier.__init__(self) + ConfigReplacer.__init__(self) + FileSystemConfigRollbacker.__init__(self) + + self.decorated_patch_applier = decorated_patch_applier + self.decorated_config_replacer = decorated_config_replacer + self.decorated_config_rollbacker = decorated_config_rollbacker + + def apply(self, patch): + self.decorated_patch_applier.apply(patch) + + def replace(self, target_config): + self.decorated_config_replacer.replace(target_config) + + def rollback(self, checkpoint_name): + self.decorated_config_rollbacker.rollback(checkpoint_name) + + def checkpoint(self, checkpoint_name): + self.decorated_config_rollbacker.checkpoint(checkpoint_name) + + def list_checkpoints(self): + return self.decorated_config_rollbacker.list_checkpoints() + + def delete_checkpoint(self, checkpoint_name): + self.decorated_config_rollbacker.delete_checkpoint(checkpoint_name) + +class SonicYangDecorator(Decorator): + def __init__(self, patch_wrapper, config_wrapper, decorated_patch_applier=None, decorated_config_replacer=None): + Decorator.__init__(self, decorated_patch_applier, decorated_config_replacer) + + self.patch_wrapper = patch_wrapper + self.config_wrapper = config_wrapper + + def apply(self, patch): + config_db_patch = self.patch_wrapper.convert_sonic_yang_patch_to_config_db_patch(patch) + Decorator.apply(self, config_db_patch) + + def replace(self, target_config): + config_db_target_config = self.config_wrapper.convert_sonic_yang_to_config_db(target_config) + Decorator.replace(self, config_db_target_config) + +class ConfigLockDecorator(Decorator): + def __init__(self, + decorated_patch_applier=None, + decorated_config_replacer=None, + decorated_config_rollbacker=None, + config_lock = ConfigLock()): + Decorator.__init__(self, decorated_patch_applier, decorated_config_replacer, decorated_config_rollbacker) + + self.config_lock = config_lock + + def apply(self, patch): + self.execute_write_action(Decorator.apply, self, patch) + + def replace(self, target_config): + self.execute_write_action(Decorator.replace, self, target_config) + + def rollback(self, checkpoint_name): + self.execute_write_action(Decorator.rollback, self, checkpoint_name) + + def checkpoint(self, checkpoint_name): + self.execute_write_action(Decorator.checkpoint, self, checkpoint_name) + + def execute_write_action(self, action, *args): + self.config_lock.acquire_lock() + action(*args) + self.config_lock.release_lock() + +class GenericUpdateFactory: + def create_patch_applier(self, config_format, verbose, dry_run): + self.init_verbose_logging(verbose) + + config_wrapper = self.get_config_wrapper(dry_run) + + patch_applier = PatchApplier(config_wrapper=config_wrapper) + + patch_wrapper = PatchWrapper(config_wrapper) + + if config_format == ConfigFormat.CONFIGDB: + pass + elif config_format == ConfigFormat.SONICYANG: + patch_applier = SonicYangDecorator( + decorated_patch_applier = patch_applier, patch_wrapper=patch_wrapper, config_wrapper=config_wrapper) + else: + raise ValueError(f"config-format '{config_format}' is not supported") + + if not dry_run: + patch_applier = ConfigLockDecorator(decorated_patch_applier = patch_applier) + + return patch_applier + + def create_config_replacer(self, config_format, verbose, dry_run): + self.init_verbose_logging(verbose) + + config_wrapper = self.get_config_wrapper(dry_run) + + patch_applier = PatchApplier(config_wrapper=config_wrapper) + + patch_wrapper = PatchWrapper(config_wrapper) + + config_replacer = ConfigReplacer(patch_applier=patch_applier, config_wrapper=config_wrapper) + if config_format == ConfigFormat.CONFIGDB: + pass + elif config_format == ConfigFormat.SONICYANG: + config_replacer = SonicYangDecorator( + decorated_config_replacer = config_replacer, patch_wrapper=patch_wrapper, config_wrapper=config_wrapper) + else: + raise ValueError(f"config-format '{config_format}' is not supported") + + if not dry_run: + config_replacer = ConfigLockDecorator(decorated_config_replacer = config_replacer) + + return config_replacer + + def create_config_rollbacker(self, verbose, dry_run=False): + self.init_verbose_logging(verbose) + + config_wrapper = self.get_config_wrapper(dry_run) + + patch_applier = PatchApplier(config_wrapper=config_wrapper) + config_replacer = ConfigReplacer(config_wrapper=config_wrapper, patch_applier=patch_applier) + config_rollbacker = FileSystemConfigRollbacker(config_wrapper = config_wrapper, config_replacer = config_replacer) + + if not dry_run: + config_rollbacker = ConfigLockDecorator(decorated_config_rollbacker = config_rollbacker) + + return config_rollbacker + + def init_verbose_logging(self, verbose): + # TODO: implement verbose logging + # Usually logs have levels such as: error, warning, info, debug. + # By default all log levels should show up to the user, except debug. + # By allowing verbose logging, debug msgs will also be shown to the user. + pass + + def get_config_wrapper(self, dry_run): + if dry_run: + return DryRunConfigWrapper() + else: + return ConfigWrapper() + +class GenericUpdater: + def __init__(self, generic_update_factory=None): + self.generic_update_factory = \ + generic_update_factory if generic_update_factory is not None else GenericUpdateFactory() + + def apply_patch(self, patch, config_format, verbose, dry_run): + patch_applier = self.generic_update_factory.create_patch_applier(config_format, verbose, dry_run) + patch_applier.apply(patch) + + def replace(self, target_config, config_format, verbose, dry_run): + config_replacer = self.generic_update_factory.create_config_replacer(config_format, verbose, dry_run) + config_replacer.replace(target_config) + + def rollback(self, checkpoint_name, verbose, dry_run): + config_rollbacker = self.generic_update_factory.create_config_rollbacker(verbose, dry_run) + config_rollbacker.rollback(checkpoint_name) + + def checkpoint(self, checkpoint_name, verbose): + config_rollbacker = self.generic_update_factory.create_config_rollbacker(verbose) + config_rollbacker.checkpoint(checkpoint_name) + + def delete_checkpoint(self, checkpoint_name, verbose): + config_rollbacker = self.generic_update_factory.create_config_rollbacker(verbose) + config_rollbacker.delete_checkpoint(checkpoint_name) + + def list_checkpoints(self, verbose): + config_rollbacker = self.generic_update_factory.create_config_rollbacker(verbose) + return config_rollbacker.list_checkpoints() diff --git a/generic_config_updater/gu_common.py b/generic_config_updater/gu_common.py new file mode 100644 index 0000000000..2aa6a36d8a --- /dev/null +++ b/generic_config_updater/gu_common.py @@ -0,0 +1,176 @@ +import json +import jsonpatch +import sonic_yang +import subprocess +import copy + +YANG_DIR = "/usr/local/yang-models" + +class GenericConfigUpdaterError(Exception): + pass + +class JsonChange: + # TODO: Implement JsonChange + pass + +class ConfigWrapper: + def __init__(self, yang_dir = YANG_DIR): + self.yang_dir = YANG_DIR + + def get_config_db_as_json(self): + text = self._get_config_db_as_text() + return json.loads(text) + + def _get_config_db_as_text(self): + # TODO: Getting configs from CLI is very slow, need to get it from sonic-cffgen directly + cmd = "show runningconfiguration all" + result = subprocess.Popen(cmd, shell=True, text=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) + text, err = result.communicate() + return_code = result.returncode + if return_code: # non-zero means failure + raise GenericConfigUpdaterError(f"Failed to get running config, Return code: {return_code}, Error: {err}") + return text + + def get_sonic_yang_as_json(self): + config_db_json = self.get_config_db_as_json() + return self.convert_config_db_to_sonic_yang(config_db_json) + + def convert_config_db_to_sonic_yang(self, config_db_as_json): + sy = sonic_yang.SonicYang(self.yang_dir) + sy.loadYangModel() + + # Crop config_db tables that do not have sonic yang models + cropped_config_db_as_json = self.crop_tables_without_yang(config_db_as_json) + + sonic_yang_as_json = dict() + + sy._xlateConfigDBtoYang(cropped_config_db_as_json, sonic_yang_as_json) + + return sonic_yang_as_json + + def convert_sonic_yang_to_config_db(self, sonic_yang_as_json): + sy = sonic_yang.SonicYang(self.yang_dir) + sy.loadYangModel() + + # replace container of the format 'module:table' with just 'table' + new_sonic_yang_json = {} + for module_top in sonic_yang_as_json: + new_sonic_yang_json[module_top] = {} + for container in sonic_yang_as_json[module_top]: + tokens = container.split(':') + if len(tokens) > 2: + raise ValueError(f"Expecting ':' or '
', found {container}") + table = container if len(tokens) == 1 else tokens[1] + new_sonic_yang_json[module_top][table] = sonic_yang_as_json[module_top][container] + + config_db_as_json = dict() + sy.xlateJson = new_sonic_yang_json + sy.revXlateJson = config_db_as_json + sy._revXlateYangtoConfigDB(new_sonic_yang_json, config_db_as_json) + + return config_db_as_json + + def validate_sonic_yang_config(self, sonic_yang_as_json): + config_db_as_json = self.convert_sonic_yang_to_config_db(sonic_yang_as_json) + + sy = sonic_yang.SonicYang(self.yang_dir) + sy.loadYangModel() + + try: + sy.loadData(config_db_as_json) + + sy.validate_data_tree() + return True + except sonic_yang.SonicYangException as ex: + return False + + def validate_config_db_config(self, config_db_as_json): + sy = sonic_yang.SonicYang(self.yang_dir) + sy.loadYangModel() + + try: + tmp_config_db_as_json = copy.deepcopy(config_db_as_json) + + sy.loadData(tmp_config_db_as_json) + + sy.validate_data_tree() + return True + except sonic_yang.SonicYangException as ex: + return False + + def crop_tables_without_yang(self, config_db_as_json): + sy = sonic_yang.SonicYang(self.yang_dir) + sy.loadYangModel() + + sy.jIn = copy.deepcopy(config_db_as_json) + + sy.tablesWithOutYang = dict() + + sy._cropConfigDB() + + return sy.jIn + + def _create_and_connect_config_db(self): + if self.default_config_db_connector != None: + return self.default_config_db_connector + + config_db = ConfigDBConnector() + config_db.connect() + return config_db + +class DryRunConfigWrapper(ConfigWrapper): + # TODO: implement DryRunConfigWrapper + # This class will simulate all read/write operations to ConfigDB on a virtual storage unit. + pass + +class PatchWrapper: + def __init__(self, config_wrapper=None): + self.config_wrapper = config_wrapper if config_wrapper is not None else ConfigWrapper() + + def validate_config_db_patch_has_yang_models(self, patch): + config_db = {} + for operation in patch: + tokens = operation['path'].split('/')[1:] + if len(tokens) == 0: # Modifying whole config_db + tables_dict = {table_name: {} for table_name in operation['value']} + config_db.update(tables_dict) + elif not tokens[0]: # Not empty + raise ValueError("Table name in patch cannot be empty") + else: + config_db[tokens[0]] = {} + + cropped_config_db = self.config_wrapper.crop_tables_without_yang(config_db) + + # valid if no tables dropped during cropping + return len(cropped_config_db.keys()) == len(config_db.keys()) + + def verify_same_json(self, expected, actual): + # patch will be [] if no diff, [] evaluates to False + return not jsonpatch.make_patch(expected, actual) + + def generate_patch(self, current, target): + return jsonpatch.make_patch(current, target) + + def simulate_patch(self, patch, jsonconfig): + return patch.apply(jsonconfig) + + def convert_config_db_patch_to_sonic_yang_patch(self, patch): + if not(self.validate_config_db_patch_has_yang_models(patch)): + raise ValueError(f"Given patch is not valid") + + current_config_db = self.config_wrapper.get_config_db_as_json() + target_config_db = self.simulate_patch(patch, current_config_db) + + current_yang = self.config_wrapper.convert_config_db_to_sonic_yang(current_config_db) + target_yang = self.config_wrapper.convert_config_db_to_sonic_yang(target_config_db) + + return self.generate_patch(current_yang, target_yang) + + def convert_sonic_yang_patch_to_config_db_patch(self, patch): + current_yang = self.config_wrapper.get_sonic_yang_as_json() + target_yang = self.simulate_patch(patch, current_yang) + + current_config_db = self.config_wrapper.convert_sonic_yang_to_config_db(current_yang) + target_config_db = self.config_wrapper.convert_sonic_yang_to_config_db(target_yang) + + return self.generate_patch(current_config_db, target_config_db) diff --git a/setup.py b/setup.py index 02a8d53e38..d070827667 100644 --- a/setup.py +++ b/setup.py @@ -30,6 +30,7 @@ 'counterpoll', 'crm', 'debug', + 'generic_config_updater', 'pfcwd', 'sfputil', 'ssdutil', @@ -157,6 +158,7 @@ 'click==7.0', 'ipaddress==1.0.23', 'jsondiff==1.2.0', + 'jsonpatch==1.32.0', 'm2crypto==0.31.0', 'natsort==6.2.1', # 6.2.1 is the last version which supports Python 2. Can update once we no longer support Python 2 'netaddr==0.8.0', @@ -164,12 +166,13 @@ 'pexpect==4.8.0', 'pyroute2==0.5.14', 'requests==2.25.0', + 'sonic-config-engine', 'sonic-platform-common', 'sonic-py-common', 'sonic-yang-mgmt', 'swsssdk>=2.0.1', 'tabulate==0.8.2', - 'xmltodict==0.12.0' + 'xmltodict==0.12.0', ], setup_requires= [ 'pytest-runner', @@ -178,7 +181,6 @@ tests_require = [ 'pytest', 'mockredispy>=2.9.3', - 'sonic-config-engine', 'deepdiff==5.2.3' ], classifiers=[ diff --git a/tests/config_test.py b/tests/config_test.py index 381ca80304..32ecc5bdef 100644 --- a/tests/config_test.py +++ b/tests/config_test.py @@ -3,6 +3,9 @@ import os import traceback import json +import jsonpatch +import sys +import unittest from unittest import mock import click @@ -11,6 +14,10 @@ from sonic_py_common import device_info from utilities_common.db import Db +from generic_config_updater.generic_updater import ConfigFormat + +import config.main as config + load_minigraph_command_output="""\ Stopping SONiC target ... Running command: /usr/local/bin/sonic-cfggen -H -m --write-to-db @@ -150,3 +157,615 @@ def teardown_class(cls): from .mock_tables import mock_single_asic importlib.reload(mock_single_asic) dbconnector.load_namespace_config() + +class TestGenericUpdateCommands(unittest.TestCase): + def setUp(self): + os.environ['UTILITIES_UNIT_TESTING'] = "1" + self.runner = CliRunner() + self.any_patch_as_json = [{"op":"remove", "path":"/PORT"}] + self.any_patch = jsonpatch.JsonPatch(self.any_patch_as_json) + self.any_patch_as_text = json.dumps(self.any_patch_as_json) + self.any_path = '/usr/admin/patch.json-patch' + self.any_target_config = {"PORT": {}} + self.any_target_config_as_text = json.dumps(self.any_target_config) + self.any_checkpoint_name = "any_checkpoint_name" + self.any_checkpoints_list = ["checkpoint1", "checkpoint2", "checkpoint3"] + self.any_checkpoints_list_as_text = json.dumps(self.any_checkpoints_list, indent=4) + + def test_apply_patch__no_params__get_required_params_error_msg(self): + # Arrange + unexpected_exit_code = 0 + expected_output = "Error: Missing argument \"PATCH_FILE_PATH\"" + + # Act + result = self.runner.invoke(config.config.commands["apply-patch"]) + + # Assert + self.assertNotEqual(unexpected_exit_code, result.exit_code) + self.assertTrue(expected_output in result.output) + + def test_apply_patch__help__gets_help_msg(self): + # Arrange + expected_exit_code = 0 + expected_output = "Options:" # this indicates the options are listed + + # Act + result = self.runner.invoke(config.config.commands["apply-patch"], ['--help']) + + # Assert + self.assertEqual(expected_exit_code, result.exit_code) + self.assertTrue(expected_output in result.output) + + def test_apply_patch__only_required_params__default_values_used_for_optional_params(self): + # Arrange + expected_exit_code = 0 + expected_output = "Patch applied successfully" + expected_call_with_default_values = mock.call(self.any_patch, ConfigFormat.CONFIGDB, False, False) + mock_generic_updater = mock.Mock() + with mock.patch('config.main.GenericUpdater', return_value=mock_generic_updater): + with mock.patch('builtins.open', mock.mock_open(read_data=self.any_patch_as_text)): + + # Act + result = self.runner.invoke(config.config.commands["apply-patch"], [self.any_path], catch_exceptions=False) + + # Assert + self.assertEqual(expected_exit_code, result.exit_code) + self.assertTrue(expected_output in result.output) + mock_generic_updater.apply_patch.assert_called_once() + mock_generic_updater.apply_patch.assert_has_calls([expected_call_with_default_values]) + + def test_apply_patch__all_optional_params_non_default__non_default_values_used(self): + # Arrange + expected_exit_code = 0 + expected_output = "Patch applied successfully" + expected_call_with_non_default_values = mock.call(self.any_patch, ConfigFormat.SONICYANG, True, True) + mock_generic_updater = mock.Mock() + with mock.patch('config.main.GenericUpdater', return_value=mock_generic_updater): + with mock.patch('builtins.open', mock.mock_open(read_data=self.any_patch_as_text)): + + # Act + result = self.runner.invoke(config.config.commands["apply-patch"], + [self.any_path, + "--format", ConfigFormat.SONICYANG.name, + "--dry-run", + "--verbose"], + catch_exceptions=False) + + # Assert + self.assertEqual(expected_exit_code, result.exit_code) + self.assertTrue(expected_output in result.output) + mock_generic_updater.apply_patch.assert_called_once() + mock_generic_updater.apply_patch.assert_has_calls([expected_call_with_non_default_values]) + + def test_apply_patch__exception_thrown__error_displayed_error_code_returned(self): + # Arrange + unexpected_exit_code = 0 + any_error_message = "any_error_message" + mock_generic_updater = mock.Mock() + mock_generic_updater.apply_patch.side_effect = Exception(any_error_message) + with mock.patch('config.main.GenericUpdater', return_value=mock_generic_updater): + with mock.patch('builtins.open', mock.mock_open(read_data=self.any_patch_as_text)): + + # Act + result = self.runner.invoke(config.config.commands["apply-patch"], + [self.any_path], + catch_exceptions=False) + + # Assert + self.assertNotEqual(unexpected_exit_code, result.exit_code) + self.assertTrue(any_error_message in result.output) + + def test_apply_patch__optional_parameters_passed_correctly(self): + self.validate_apply_patch_optional_parameter( + ["--format", ConfigFormat.SONICYANG.name], + mock.call(self.any_patch, ConfigFormat.SONICYANG, False, False)) + self.validate_apply_patch_optional_parameter( + ["--verbose"], + mock.call(self.any_patch, ConfigFormat.CONFIGDB, True, False)) + self.validate_apply_patch_optional_parameter( + ["--dry-run"], + mock.call(self.any_patch, ConfigFormat.CONFIGDB, False, True)) + + def validate_apply_patch_optional_parameter(self, param_args, expected_call): + # Arrange + expected_exit_code = 0 + expected_output = "Patch applied successfully" + mock_generic_updater = mock.Mock() + with mock.patch('config.main.GenericUpdater', return_value=mock_generic_updater): + with mock.patch('builtins.open', mock.mock_open(read_data=self.any_patch_as_text)): + + # Act + result = self.runner.invoke(config.config.commands["apply-patch"], + [self.any_path] + param_args, + catch_exceptions=False) + + # Assert + self.assertEqual(expected_exit_code, result.exit_code) + self.assertTrue(expected_output in result.output) + mock_generic_updater.apply_patch.assert_called_once() + mock_generic_updater.apply_patch.assert_has_calls([expected_call]) + + def test_replace__no_params__get_required_params_error_msg(self): + # Arrange + unexpected_exit_code = 0 + expected_output = "Error: Missing argument \"TARGET_FILE_PATH\"" + + # Act + result = self.runner.invoke(config.config.commands["replace"]) + + # Assert + self.assertNotEqual(unexpected_exit_code, result.exit_code) + self.assertTrue(expected_output in result.output) + + def test_replace__help__gets_help_msg(self): + # Arrange + expected_exit_code = 0 + expected_output = "Options:" # this indicates the options are listed + + # Act + result = self.runner.invoke(config.config.commands["replace"], ['--help']) + + # Assert + self.assertEqual(expected_exit_code, result.exit_code) + self.assertTrue(expected_output in result.output) + + def test_replace__only_required_params__default_values_used_for_optional_params(self): + # Arrange + expected_exit_code = 0 + expected_output = "Config replaced successfully" + expected_call_with_default_values = mock.call(self.any_target_config, ConfigFormat.CONFIGDB, False, False) + mock_generic_updater = mock.Mock() + with mock.patch('config.main.GenericUpdater', return_value=mock_generic_updater): + with mock.patch('builtins.open', mock.mock_open(read_data=self.any_target_config_as_text)): + + # Act + result = self.runner.invoke(config.config.commands["replace"], [self.any_path], catch_exceptions=False) + + # Assert + self.assertEqual(expected_exit_code, result.exit_code) + self.assertTrue(expected_output in result.output) + mock_generic_updater.replace.assert_called_once() + mock_generic_updater.replace.assert_has_calls([expected_call_with_default_values]) + + def test_replace__all_optional_params_non_default__non_default_values_used(self): + # Arrange + expected_exit_code = 0 + expected_output = "Config replaced successfully" + expected_call_with_non_default_values = mock.call(self.any_target_config, ConfigFormat.SONICYANG, True, True) + mock_generic_updater = mock.Mock() + with mock.patch('config.main.GenericUpdater', return_value=mock_generic_updater): + with mock.patch('builtins.open', mock.mock_open(read_data=self.any_target_config_as_text)): + + # Act + result = self.runner.invoke(config.config.commands["replace"], + [self.any_path, + "--format", ConfigFormat.SONICYANG.name, + "--dry-run", + "--verbose"], + catch_exceptions=False) + + # Assert + self.assertEqual(expected_exit_code, result.exit_code) + self.assertTrue(expected_output in result.output) + mock_generic_updater.replace.assert_called_once() + mock_generic_updater.replace.assert_has_calls([expected_call_with_non_default_values]) + + def test_replace__exception_thrown__error_displayed_error_code_returned(self): + # Arrange + unexpected_exit_code = 0 + any_error_message = "any_error_message" + mock_generic_updater = mock.Mock() + mock_generic_updater.replace.side_effect = Exception(any_error_message) + with mock.patch('config.main.GenericUpdater', return_value=mock_generic_updater): + with mock.patch('builtins.open', mock.mock_open(read_data=self.any_target_config_as_text)): + + # Act + result = self.runner.invoke(config.config.commands["replace"], + [self.any_path], + catch_exceptions=False) + + # Assert + self.assertNotEqual(unexpected_exit_code, result.exit_code) + self.assertTrue(any_error_message in result.output) + + def test_replace__optional_parameters_passed_correctly(self): + self.validate_replace_optional_parameter( + ["--format", ConfigFormat.SONICYANG.name], + mock.call(self.any_target_config, ConfigFormat.SONICYANG, False, False)) + self.validate_replace_optional_parameter( + ["--verbose"], + mock.call(self.any_target_config, ConfigFormat.CONFIGDB, True, False)) + self.validate_replace_optional_parameter( + ["--dry-run"], + mock.call(self.any_target_config, ConfigFormat.CONFIGDB, False, True)) + + def validate_replace_optional_parameter(self, param_args, expected_call): + # Arrange + expected_exit_code = 0 + expected_output = "Config replaced successfully" + mock_generic_updater = mock.Mock() + with mock.patch('config.main.GenericUpdater', return_value=mock_generic_updater): + with mock.patch('builtins.open', mock.mock_open(read_data=self.any_target_config_as_text)): + + # Act + result = self.runner.invoke(config.config.commands["replace"], + [self.any_path] + param_args, + catch_exceptions=False) + + # Assert + self.assertEqual(expected_exit_code, result.exit_code) + self.assertTrue(expected_output in result.output) + mock_generic_updater.replace.assert_called_once() + mock_generic_updater.replace.assert_has_calls([expected_call]) + + def test_rollback__no_params__get_required_params_error_msg(self): + # Arrange + unexpected_exit_code = 0 + expected_output = "Error: Missing argument \"CHECKPOINT_NAME\"" + + # Act + result = self.runner.invoke(config.config.commands["rollback"]) + + # Assert + self.assertNotEqual(unexpected_exit_code, result.exit_code) + self.assertTrue(expected_output in result.output) + + def test_rollback__help__gets_help_msg(self): + # Arrange + expected_exit_code = 0 + expected_output = "Options:" # this indicates the options are listed + + # Act + result = self.runner.invoke(config.config.commands["rollback"], ['--help']) + + # Assert + self.assertEqual(expected_exit_code, result.exit_code) + self.assertTrue(expected_output in result.output) + + def test_rollback__only_required_params__default_values_used_for_optional_params(self): + # Arrange + expected_exit_code = 0 + expected_output = "Config rolled back successfully" + expected_call_with_default_values = mock.call(self.any_checkpoint_name, False, False) + mock_generic_updater = mock.Mock() + with mock.patch('config.main.GenericUpdater', return_value=mock_generic_updater): + # Act + result = self.runner.invoke(config.config.commands["rollback"], [self.any_checkpoint_name], catch_exceptions=False) + + # Assert + self.assertEqual(expected_exit_code, result.exit_code) + self.assertTrue(expected_output in result.output) + mock_generic_updater.rollback.assert_called_once() + mock_generic_updater.rollback.assert_has_calls([expected_call_with_default_values]) + + def test_rollback__all_optional_params_non_default__non_default_values_used(self): + # Arrange + expected_exit_code = 0 + expected_output = "Config rolled back successfully" + expected_call_with_non_default_values = mock.call(self.any_checkpoint_name, True, True) + mock_generic_updater = mock.Mock() + with mock.patch('config.main.GenericUpdater', return_value=mock_generic_updater): + + # Act + result = self.runner.invoke(config.config.commands["rollback"], + [self.any_checkpoint_name, + "--dry-run", + "--verbose"], + catch_exceptions=False) + + # Assert + self.assertEqual(expected_exit_code, result.exit_code) + self.assertTrue(expected_output in result.output) + mock_generic_updater.rollback.assert_called_once() + mock_generic_updater.rollback.assert_has_calls([expected_call_with_non_default_values]) + + def test_rollback__exception_thrown__error_displayed_error_code_returned(self): + # Arrange + unexpected_exit_code = 0 + any_error_message = "any_error_message" + mock_generic_updater = mock.Mock() + mock_generic_updater.rollback.side_effect = Exception(any_error_message) + with mock.patch('config.main.GenericUpdater', return_value=mock_generic_updater): + + # Act + result = self.runner.invoke(config.config.commands["rollback"], + [self.any_checkpoint_name], + catch_exceptions=False) + + # Assert + self.assertNotEqual(unexpected_exit_code, result.exit_code) + self.assertTrue(any_error_message in result.output) + + def test_rollback__optional_parameters_passed_correctly(self): + self.validate_rollback_optional_parameter( + ["--verbose"], + mock.call(self.any_checkpoint_name, True, False)) + self.validate_rollback_optional_parameter( + ["--dry-run"], + mock.call(self.any_checkpoint_name, False, True)) + + def validate_rollback_optional_parameter(self, param_args, expected_call): + # Arrange + expected_exit_code = 0 + expected_output = "Config rolled back successfully" + mock_generic_updater = mock.Mock() + with mock.patch('config.main.GenericUpdater', return_value=mock_generic_updater): + # Act + result = self.runner.invoke(config.config.commands["rollback"], + [self.any_checkpoint_name] + param_args, + catch_exceptions=False) + + # Assert + self.assertEqual(expected_exit_code, result.exit_code) + self.assertTrue(expected_output in result.output) + mock_generic_updater.rollback.assert_called_once() + mock_generic_updater.rollback.assert_has_calls([expected_call]) + + def test_checkpoint__no_params__get_required_params_error_msg(self): + # Arrange + unexpected_exit_code = 0 + expected_output = "Error: Missing argument \"CHECKPOINT_NAME\"" + + # Act + result = self.runner.invoke(config.config.commands["checkpoint"]) + + # Assert + self.assertNotEqual(unexpected_exit_code, result.exit_code) + self.assertTrue(expected_output in result.output) + + def test_checkpoint__help__gets_help_msg(self): + # Arrange + expected_exit_code = 0 + expected_output = "Options:" # this indicates the options are listed + + # Act + result = self.runner.invoke(config.config.commands["checkpoint"], ['--help']) + + # Assert + self.assertEqual(expected_exit_code, result.exit_code) + self.assertTrue(expected_output in result.output) + + def test_checkpoint__only_required_params__default_values_used_for_optional_params(self): + # Arrange + expected_exit_code = 0 + expected_output = "Checkpoint created successfully" + expected_call_with_default_values = mock.call(self.any_checkpoint_name, False) + mock_generic_updater = mock.Mock() + with mock.patch('config.main.GenericUpdater', return_value=mock_generic_updater): + # Act + result = self.runner.invoke(config.config.commands["checkpoint"], [self.any_checkpoint_name], catch_exceptions=False) + + # Assert + self.assertEqual(expected_exit_code, result.exit_code) + self.assertTrue(expected_output in result.output) + mock_generic_updater.checkpoint.assert_called_once() + mock_generic_updater.checkpoint.assert_has_calls([expected_call_with_default_values]) + + def test_checkpoint__all_optional_params_non_default__non_default_values_used(self): + # Arrange + expected_exit_code = 0 + expected_output = "Checkpoint created successfully" + expected_call_with_non_default_values = mock.call(self.any_checkpoint_name, True) + mock_generic_updater = mock.Mock() + with mock.patch('config.main.GenericUpdater', return_value=mock_generic_updater): + + # Act + result = self.runner.invoke(config.config.commands["checkpoint"], + [self.any_checkpoint_name, + "--verbose"], + catch_exceptions=False) + + # Assert + self.assertEqual(expected_exit_code, result.exit_code) + self.assertTrue(expected_output in result.output) + mock_generic_updater.checkpoint.assert_called_once() + mock_generic_updater.checkpoint.assert_has_calls([expected_call_with_non_default_values]) + + def test_checkpoint__exception_thrown__error_displayed_error_code_returned(self): + # Arrange + unexpected_exit_code = 0 + any_error_message = "any_error_message" + mock_generic_updater = mock.Mock() + mock_generic_updater.checkpoint.side_effect = Exception(any_error_message) + with mock.patch('config.main.GenericUpdater', return_value=mock_generic_updater): + + # Act + result = self.runner.invoke(config.config.commands["checkpoint"], + [self.any_checkpoint_name], + catch_exceptions=False) + + # Assert + self.assertNotEqual(unexpected_exit_code, result.exit_code) + self.assertTrue(any_error_message in result.output) + + def test_checkpoint__optional_parameters_passed_correctly(self): + self.validate_checkpoint_optional_parameter( + ["--verbose"], + mock.call(self.any_checkpoint_name, True)) + + def validate_checkpoint_optional_parameter(self, param_args, expected_call): + # Arrange + expected_exit_code = 0 + expected_output = "Checkpoint created successfully" + mock_generic_updater = mock.Mock() + with mock.patch('config.main.GenericUpdater', return_value=mock_generic_updater): + # Act + result = self.runner.invoke(config.config.commands["checkpoint"], + [self.any_checkpoint_name] + param_args, + catch_exceptions=False) + + # Assert + self.assertEqual(expected_exit_code, result.exit_code) + self.assertTrue(expected_output in result.output) + mock_generic_updater.checkpoint.assert_called_once() + mock_generic_updater.checkpoint.assert_has_calls([expected_call]) + + def test_delete_checkpoint__no_params__get_required_params_error_msg(self): + # Arrange + unexpected_exit_code = 0 + expected_output = "Error: Missing argument \"CHECKPOINT_NAME\"" + + # Act + result = self.runner.invoke(config.config.commands["delete-checkpoint"]) + + # Assert + self.assertNotEqual(unexpected_exit_code, result.exit_code) + self.assertTrue(expected_output in result.output) + + def test_delete_checkpoint__help__gets_help_msg(self): + # Arrange + expected_exit_code = 0 + expected_output = "Options:" # this indicates the options are listed + + # Act + result = self.runner.invoke(config.config.commands["delete-checkpoint"], ['--help']) + + # Assert + self.assertEqual(expected_exit_code, result.exit_code) + self.assertTrue(expected_output in result.output) + + def test_delete_checkpoint__only_required_params__default_values_used_for_optional_params(self): + # Arrange + expected_exit_code = 0 + expected_output = "Checkpoint deleted successfully" + expected_call_with_default_values = mock.call(self.any_checkpoint_name, False) + mock_generic_updater = mock.Mock() + with mock.patch('config.main.GenericUpdater', return_value=mock_generic_updater): + # Act + result = self.runner.invoke(config.config.commands["delete-checkpoint"], [self.any_checkpoint_name], catch_exceptions=False) + + # Assert + self.assertEqual(expected_exit_code, result.exit_code) + self.assertTrue(expected_output in result.output) + mock_generic_updater.delete_checkpoint.assert_called_once() + mock_generic_updater.delete_checkpoint.assert_has_calls([expected_call_with_default_values]) + + def test_delete_checkpoint__all_optional_params_non_default__non_default_values_used(self): + # Arrange + expected_exit_code = 0 + expected_output = "Checkpoint deleted successfully" + expected_call_with_non_default_values = mock.call(self.any_checkpoint_name, True) + mock_generic_updater = mock.Mock() + with mock.patch('config.main.GenericUpdater', return_value=mock_generic_updater): + + # Act + result = self.runner.invoke(config.config.commands["delete-checkpoint"], + [self.any_checkpoint_name, + "--verbose"], + catch_exceptions=False) + + # Assert + self.assertEqual(expected_exit_code, result.exit_code) + self.assertTrue(expected_output in result.output) + mock_generic_updater.delete_checkpoint.assert_called_once() + mock_generic_updater.delete_checkpoint.assert_has_calls([expected_call_with_non_default_values]) + + def test_delete_checkpoint__exception_thrown__error_displayed_error_code_returned(self): + # Arrange + unexpected_exit_code = 0 + any_error_message = "any_error_message" + mock_generic_updater = mock.Mock() + mock_generic_updater.delete_checkpoint.side_effect = Exception(any_error_message) + with mock.patch('config.main.GenericUpdater', return_value=mock_generic_updater): + + # Act + result = self.runner.invoke(config.config.commands["delete-checkpoint"], + [self.any_checkpoint_name], + catch_exceptions=False) + + # Assert + self.assertNotEqual(unexpected_exit_code, result.exit_code) + self.assertTrue(any_error_message in result.output) + + def test_delete_checkpoint__optional_parameters_passed_correctly(self): + self.validate_delete_checkpoint_optional_parameter( + ["--verbose"], + mock.call(self.any_checkpoint_name, True)) + + def validate_delete_checkpoint_optional_parameter(self, param_args, expected_call): + # Arrange + expected_exit_code = 0 + expected_output = "Checkpoint deleted successfully" + mock_generic_updater = mock.Mock() + with mock.patch('config.main.GenericUpdater', return_value=mock_generic_updater): + # Act + result = self.runner.invoke(config.config.commands["delete-checkpoint"], + [self.any_checkpoint_name] + param_args, + catch_exceptions=False) + + # Assert + self.assertEqual(expected_exit_code, result.exit_code) + self.assertTrue(expected_output in result.output) + mock_generic_updater.delete_checkpoint.assert_called_once() + mock_generic_updater.delete_checkpoint.assert_has_calls([expected_call]) + + def test_list_checkpoints__help__gets_help_msg(self): + # Arrange + expected_exit_code = 0 + expected_output = "Options:" # this indicates the options are listed + + # Act + result = self.runner.invoke(config.config.commands["list-checkpoints"], ['--help']) + + # Assert + self.assertEqual(expected_exit_code, result.exit_code) + self.assertTrue(expected_output in result.output) + + def test_list_checkpoints__all_optional_params_non_default__non_default_values_used(self): + # Arrange + expected_exit_code = 0 + expected_output = self.any_checkpoints_list_as_text + expected_call_with_non_default_values = mock.call(True) + mock_generic_updater = mock.Mock() + mock_generic_updater.list_checkpoints.return_value = self.any_checkpoints_list + with mock.patch('config.main.GenericUpdater', return_value=mock_generic_updater): + + # Act + result = self.runner.invoke(config.config.commands["list-checkpoints"], + ["--verbose"], + catch_exceptions=False) + + # Assert + self.assertEqual(expected_exit_code, result.exit_code) + self.assertTrue(expected_output in result.output) + mock_generic_updater.list_checkpoints.assert_called_once() + mock_generic_updater.list_checkpoints.assert_has_calls([expected_call_with_non_default_values]) + + def test_list_checkpoints__exception_thrown__error_displayed_error_code_returned(self): + # Arrange + unexpected_exit_code = 0 + any_error_message = "any_error_message" + mock_generic_updater = mock.Mock() + mock_generic_updater.list_checkpoints.side_effect = Exception(any_error_message) + with mock.patch('config.main.GenericUpdater', return_value=mock_generic_updater): + + # Act + result = self.runner.invoke(config.config.commands["list-checkpoints"], + catch_exceptions=False) + + # Assert + self.assertNotEqual(unexpected_exit_code, result.exit_code) + self.assertTrue(any_error_message in result.output) + + def test_list_checkpoints__optional_parameters_passed_correctly(self): + self.validate_list_checkpoints_optional_parameter( + ["--verbose"], + mock.call(True)) + + def validate_list_checkpoints_optional_parameter(self, param_args, expected_call): + # Arrange + expected_exit_code = 0 + expected_output = self.any_checkpoints_list_as_text + mock_generic_updater = mock.Mock() + mock_generic_updater.list_checkpoints.return_value = self.any_checkpoints_list + with mock.patch('config.main.GenericUpdater', return_value=mock_generic_updater): + # Act + result = self.runner.invoke(config.config.commands["list-checkpoints"], + param_args, + catch_exceptions=False) + + # Assert + self.assertEqual(expected_exit_code, result.exit_code) + self.assertTrue(expected_output in result.output) + mock_generic_updater.list_checkpoints.assert_called_once() + mock_generic_updater.list_checkpoints.assert_has_calls([expected_call]) diff --git a/tests/generic_config_updater/__init__.py b/tests/generic_config_updater/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/generic_config_updater/files/config_db_after_multi_patch.json b/tests/generic_config_updater/files/config_db_after_multi_patch.json new file mode 100644 index 0000000000..042bf1d51b --- /dev/null +++ b/tests/generic_config_updater/files/config_db_after_multi_patch.json @@ -0,0 +1,122 @@ +{ + "VLAN_MEMBER": { + "Vlan1000|Ethernet0": { + "tagging_mode": "untagged" + }, + "Vlan1000|Ethernet4": { + "tagging_mode": "untagged" + }, + "Vlan1000|Ethernet8": { + "tagging_mode": "untagged" + }, + "Vlan100|Ethernet2": { + "tagging_mode": "untagged" + }, + "Vlan100|Ethernet3": { + "tagging_mode": "untagged" + }, + "Vlan100|Ethernet1": { + "tagging_mode": "untagged" + } + }, + "VLAN": { + "Vlan1000": { + "vlanid": "1000", + "dhcp_servers": [ + "192.0.0.1", + "192.0.0.2", + "192.0.0.3", + "192.0.0.4" + ] + } + }, + "ACL_TABLE": { + "NO-NSW-PACL-V4": { + "type": "L3", + "policy_desc": "NO-NSW-PACL-V4", + "ports": [ + "Ethernet0", + "Ethernet1", + "Ethernet2", + "Ethernet3" + ] + }, + "DATAACL": { + "policy_desc": "DATAACL", + "ports": [ + "Ethernet4" + ], + "stage": "ingress", + "type": "L3" + }, + "EVERFLOW": { + "policy_desc": "EVERFLOW", + "ports": [ + "Ethernet8" + ], + "stage": "ingress", + "type": "MIRROR" + }, + "EVERFLOWV6": { + "policy_desc": "EVERFLOWV6", + "ports": [ + "Ethernet4", + "Ethernet8" + ], + "stage": "ingress", + "type": "MIRRORV6" + } + }, + "PORT": { + "Ethernet0": { + "alias": "Eth1/1", + "lanes": "65", + "description": "", + "speed": "10000" + }, + "Ethernet4": { + "admin_status": "up", + "alias": "fortyGigE0/4", + "description": "Servers0:eth0", + "index": "1", + "lanes": "29,30,31,32", + "mtu": "9100", + "pfc_asym": "off", + "speed": "40000" + }, + "Ethernet8": { + "admin_status": "up", + "alias": "fortyGigE0/8", + "description": "Servers1:eth0", + "index": "2", + "lanes": "33,34,35,36", + "mtu": "9100", + "pfc_asym": "off", + "speed": "40000" + }, + "Ethernet3": { + "alias": "Eth1/4", + "lanes": "68", + "description": "", + "speed": "10000" + }, + "Ethernet1": { + "alias": "Eth1/2", + "lanes": "66", + "description": "", + "speed": "10000" + }, + "Ethernet2": { + "alias": "Eth1/3", + "lanes": "67", + "description": "", + "speed": "10000" + } + }, + "TABLE_WITHOUT_YANG": { + "Item1": { + "key11": "value11", + "key12": "value12" + } + } +} \ No newline at end of file diff --git a/tests/generic_config_updater/files/config_db_as_json.json b/tests/generic_config_updater/files/config_db_as_json.json new file mode 100644 index 0000000000..02fb7c7e6a --- /dev/null +++ b/tests/generic_config_updater/files/config_db_as_json.json @@ -0,0 +1,92 @@ +{ + "VLAN_MEMBER": { + "Vlan1000|Ethernet0": { + "tagging_mode": "untagged" + }, + "Vlan1000|Ethernet4": { + "tagging_mode": "untagged" + }, + "Vlan1000|Ethernet8": { + "tagging_mode": "untagged" + } + }, + "VLAN": { + "Vlan1000": { + "vlanid": "1000", + "dhcp_servers": [ + "192.0.0.1", + "192.0.0.2", + "192.0.0.3", + "192.0.0.4" + ] + } + }, + "ACL_TABLE": { + "NO-NSW-PACL-V4": { + "type": "L3", + "policy_desc": "NO-NSW-PACL-V4", + "ports": [ + "Ethernet0" + ] + }, + "DATAACL": { + "policy_desc": "DATAACL", + "ports": [ + "Ethernet4" + ], + "stage": "ingress", + "type": "L3" + }, + "EVERFLOW": { + "policy_desc": "EVERFLOW", + "ports": [ + "Ethernet8" + ], + "stage": "ingress", + "type": "MIRROR" + }, + "EVERFLOWV6": { + "policy_desc": "EVERFLOWV6", + "ports": [ + "Ethernet4", + "Ethernet8" + ], + "stage": "ingress", + "type": "MIRRORV6" + } + }, + "PORT": { + "Ethernet0": { + "alias": "Eth1", + "lanes": "65, 66, 67, 68", + "description": "Ethernet0 100G link", + "speed": "100000" + }, + "Ethernet4": { + "admin_status": "up", + "alias": "fortyGigE0/4", + "description": "Servers0:eth0", + "index": "1", + "lanes": "29,30,31,32", + "mtu": "9100", + "pfc_asym": "off", + "speed": "40000" + }, + "Ethernet8": { + "admin_status": "up", + "alias": "fortyGigE0/8", + "description": "Servers1:eth0", + "index": "2", + "lanes": "33,34,35,36", + "mtu": "9100", + "pfc_asym": "off", + "speed": "40000" + } + }, + "TABLE_WITHOUT_YANG": { + "Item1": { + "key11": "value11", + "key12": "value12" + } + } +} diff --git a/tests/generic_config_updater/files/config_db_as_json_invalid.json b/tests/generic_config_updater/files/config_db_as_json_invalid.json new file mode 100644 index 0000000000..a2cfdc91df --- /dev/null +++ b/tests/generic_config_updater/files/config_db_as_json_invalid.json @@ -0,0 +1,7 @@ +{ + "VLAN_MEMBER": { + "Vlan1000|Ethernet8": { + "tagging_mode": "untagged" + } + } +} diff --git a/tests/generic_config_updater/files/cropped_config_db_as_json.json b/tests/generic_config_updater/files/cropped_config_db_as_json.json new file mode 100644 index 0000000000..261e912c71 --- /dev/null +++ b/tests/generic_config_updater/files/cropped_config_db_as_json.json @@ -0,0 +1,86 @@ +{ + "VLAN_MEMBER": { + "Vlan1000|Ethernet0": { + "tagging_mode": "untagged" + }, + "Vlan1000|Ethernet4": { + "tagging_mode": "untagged" + }, + "Vlan1000|Ethernet8": { + "tagging_mode": "untagged" + } + }, + "VLAN": { + "Vlan1000": { + "vlanid": "1000", + "dhcp_servers": [ + "192.0.0.1", + "192.0.0.2", + "192.0.0.3", + "192.0.0.4" + ] + } + }, + "ACL_TABLE": { + "NO-NSW-PACL-V4": { + "type": "L3", + "policy_desc": "NO-NSW-PACL-V4", + "ports": [ + "Ethernet0" + ] + }, + "DATAACL": { + "policy_desc": "DATAACL", + "ports": [ + "Ethernet4" + ], + "stage": "ingress", + "type": "L3" + }, + "EVERFLOW": { + "policy_desc": "EVERFLOW", + "ports": [ + "Ethernet8" + ], + "stage": "ingress", + "type": "MIRROR" + }, + "EVERFLOWV6": { + "policy_desc": "EVERFLOWV6", + "ports": [ + "Ethernet4", + "Ethernet8" + ], + "stage": "ingress", + "type": "MIRRORV6" + } + }, + "PORT": { + "Ethernet0": { + "alias": "Eth1", + "lanes": "65, 66, 67, 68", + "description": "Ethernet0 100G link", + "speed": "100000" + }, + "Ethernet4": { + "admin_status": "up", + "alias": "fortyGigE0/4", + "description": "Servers0:eth0", + "index": "1", + "lanes": "29,30,31,32", + "mtu": "9100", + "pfc_asym": "off", + "speed": "40000" + }, + "Ethernet8": { + "admin_status": "up", + "alias": "fortyGigE0/8", + "description": "Servers1:eth0", + "index": "2", + "lanes": "33,34,35,36", + "mtu": "9100", + "pfc_asym": "off", + "speed": "40000" + } + } +} diff --git a/tests/generic_config_updater/files/multi_operation_config_db_patch.json-patch b/tests/generic_config_updater/files/multi_operation_config_db_patch.json-patch new file mode 100644 index 0000000000..8eddd7a19d --- /dev/null +++ b/tests/generic_config_updater/files/multi_operation_config_db_patch.json-patch @@ -0,0 +1,88 @@ +[ + { + "op": "add", + "path": "/PORT/Ethernet3", + "value": { + "alias": "Eth1/4", + "lanes": "68", + "description": "", + "speed": "10000" + } + }, + { + "op": "add", + "path": "/PORT/Ethernet1", + "value": { + "alias": "Eth1/2", + "lanes": "66", + "description": "", + "speed": "10000" + } + }, + { + "op": "add", + "path": "/PORT/Ethernet2", + "value": { + "alias": "Eth1/3", + "lanes": "67", + "description": "", + "speed": "10000" + } + }, + { + "op": "replace", + "path": "/PORT/Ethernet0/lanes", + "value": "65" + }, + { + "op": "replace", + "path": "/PORT/Ethernet0/alias", + "value": "Eth1/1" + }, + { + "op": "replace", + "path": "/PORT/Ethernet0/description", + "value": "" + }, + { + "op": "replace", + "path": "/PORT/Ethernet0/speed", + "value": "10000" + }, + { + "op": "add", + "path": "/VLAN_MEMBER/Vlan100|Ethernet2", + "value": { + "tagging_mode": "untagged" + } + }, + { + "op": "add", + "path": "/VLAN_MEMBER/Vlan100|Ethernet3", + "value": { + "tagging_mode": "untagged" + } + }, + { + "op": "add", + "path": "/VLAN_MEMBER/Vlan100|Ethernet1", + "value": { + "tagging_mode": "untagged" + } + }, + { + "op": "add", + "path": "/ACL_TABLE/NO-NSW-PACL-V4/ports/1", + "value": "Ethernet1" + }, + { + "op": "add", + "path": "/ACL_TABLE/NO-NSW-PACL-V4/ports/2", + "value": "Ethernet2" + }, + { + "op": "add", + "path": "/ACL_TABLE/NO-NSW-PACL-V4/ports/3", + "value": "Ethernet3" + } +] diff --git a/tests/generic_config_updater/files/multi_operation_sonic_yang_patch.json-patch b/tests/generic_config_updater/files/multi_operation_sonic_yang_patch.json-patch new file mode 100644 index 0000000000..f7005bb4a0 --- /dev/null +++ b/tests/generic_config_updater/files/multi_operation_sonic_yang_patch.json-patch @@ -0,0 +1,97 @@ +[ + { + "op": "add", + "path": "/sonic-vlan:sonic-vlan/sonic-vlan:VLAN_MEMBER/VLAN_MEMBER_LIST/3", + "value": { + "name": "Vlan100", + "port": "Ethernet2", + "tagging_mode": "untagged" + } + }, + { + "op": "add", + "path": "/sonic-vlan:sonic-vlan/sonic-vlan:VLAN_MEMBER/VLAN_MEMBER_LIST/4", + "value": { + "name": "Vlan100", + "port": "Ethernet3", + "tagging_mode": "untagged" + } + }, + { + "op": "add", + "path": "/sonic-vlan:sonic-vlan/sonic-vlan:VLAN_MEMBER/VLAN_MEMBER_LIST/5", + "value": { + "name": "Vlan100", + "port": "Ethernet1", + "tagging_mode": "untagged" + } + }, + { + "op": "replace", + "path": "/sonic-port:sonic-port/sonic-port:PORT/PORT_LIST/0/lanes", + "value": "65" + }, + { + "op": "replace", + "path": "/sonic-port:sonic-port/sonic-port:PORT/PORT_LIST/0/alias", + "value": "Eth1/1" + }, + { + "op": "replace", + "path": "/sonic-port:sonic-port/sonic-port:PORT/PORT_LIST/0/speed", + "value": 10000 + }, + { + "op": "replace", + "path": "/sonic-port:sonic-port/sonic-port:PORT/PORT_LIST/0/description", + "value": "" + }, + { + "op": "add", + "path": "/sonic-port:sonic-port/sonic-port:PORT/PORT_LIST/3", + "value": { + "name": "Ethernet3", + "alias": "Eth1/4", + "lanes": "68", + "description": "", + "speed": 10000 + } + }, + { + "op": "add", + "path": "/sonic-port:sonic-port/sonic-port:PORT/PORT_LIST/4", + "value": { + "name": "Ethernet1", + "alias": "Eth1/2", + "lanes": "66", + "description": "", + "speed": 10000 + } + }, + { + "op": "add", + "path": "/sonic-port:sonic-port/sonic-port:PORT/PORT_LIST/5", + "value": { + "name": "Ethernet2", + "alias": "Eth1/3", + "lanes": "67", + "description": "", + "speed": 10000 + } + }, + { + "op": "add", + "path": "/sonic-acl:sonic-acl/sonic-acl:ACL_TABLE/ACL_TABLE_LIST/0/ports/1", + "value": "Ethernet1" + }, + { + "op": "add", + "path": "/sonic-acl:sonic-acl/sonic-acl:ACL_TABLE/ACL_TABLE_LIST/0/ports/2", + "value": "Ethernet2" + }, + { + "op": "add", + "path": "/sonic-acl:sonic-acl/sonic-acl:ACL_TABLE/ACL_TABLE_LIST/0/ports/3", + "value": "Ethernet3" + } +] diff --git a/tests/generic_config_updater/files/single_operation_config_db_patch.json-patch b/tests/generic_config_updater/files/single_operation_config_db_patch.json-patch new file mode 100644 index 0000000000..7cc0967bf0 --- /dev/null +++ b/tests/generic_config_updater/files/single_operation_config_db_patch.json-patch @@ -0,0 +1,6 @@ +[ + { + "op": "remove", + "path": "/VLAN_MEMBER/Vlan1000|Ethernet8" + } +] diff --git a/tests/generic_config_updater/files/single_operation_sonic_yang_patch.json-patch b/tests/generic_config_updater/files/single_operation_sonic_yang_patch.json-patch new file mode 100644 index 0000000000..5a46560496 --- /dev/null +++ b/tests/generic_config_updater/files/single_operation_sonic_yang_patch.json-patch @@ -0,0 +1,6 @@ +[ + { + "op": "remove", + "path": "/sonic-vlan:sonic-vlan/sonic-vlan:VLAN_MEMBER/VLAN_MEMBER_LIST/2" + } +] diff --git a/tests/generic_config_updater/files/sonic_yang_after_multi_patch.json b/tests/generic_config_updater/files/sonic_yang_after_multi_patch.json new file mode 100644 index 0000000000..0c9ddd4546 --- /dev/null +++ b/tests/generic_config_updater/files/sonic_yang_after_multi_patch.json @@ -0,0 +1,153 @@ +{ + "sonic-vlan:sonic-vlan": { + "sonic-vlan:VLAN_MEMBER": { + "VLAN_MEMBER_LIST": [ + { + "name": "Vlan1000", + "port": "Ethernet0", + "tagging_mode": "untagged" + }, + { + "name": "Vlan1000", + "port": "Ethernet4", + "tagging_mode": "untagged" + }, + { + "name": "Vlan1000", + "port": "Ethernet8", + "tagging_mode": "untagged" + }, + { + "name": "Vlan100", + "port": "Ethernet2", + "tagging_mode": "untagged" + }, + { + "name": "Vlan100", + "port": "Ethernet3", + "tagging_mode": "untagged" + }, + { + "name": "Vlan100", + "port": "Ethernet1", + "tagging_mode": "untagged" + } + ] + }, + "sonic-vlan:VLAN": { + "VLAN_LIST": [ + { + "name": "Vlan1000", + "vlanid": 1000, + "dhcp_servers": [ + "192.0.0.1", + "192.0.0.2", + "192.0.0.3", + "192.0.0.4" + ] + } + ] + } + }, + "sonic-acl:sonic-acl": { + "sonic-acl:ACL_TABLE": { + "ACL_TABLE_LIST": [ + { + "ACL_TABLE_NAME": "NO-NSW-PACL-V4", + "type": "L3", + "policy_desc": "NO-NSW-PACL-V4", + "ports": [ + "Ethernet0", + "Ethernet1", + "Ethernet2", + "Ethernet3" + ] + }, + { + "ACL_TABLE_NAME": "DATAACL", + "policy_desc": "DATAACL", + "ports": [ + "Ethernet4" + ], + "stage": "ingress", + "type": "L3" + }, + { + "ACL_TABLE_NAME": "EVERFLOW", + "policy_desc": "EVERFLOW", + "ports": [ + "Ethernet8" + ], + "stage": "ingress", + "type": "MIRROR" + }, + { + "ACL_TABLE_NAME": "EVERFLOWV6", + "policy_desc": "EVERFLOWV6", + "ports": [ + "Ethernet4", + "Ethernet8" + ], + "stage": "ingress", + "type": "MIRRORV6" + } + ] + } + }, + "sonic-port:sonic-port": { + "sonic-port:PORT": { + "PORT_LIST": [ + { + "name": "Ethernet0", + "alias": "Eth1/1", + "lanes": "65", + "description": "", + "speed": 10000 + }, + { + "name": "Ethernet4", + "admin_status": "up", + "alias": "fortyGigE0/4", + "description": "Servers0:eth0", + "index": 1, + "lanes": "29,30,31,32", + "mtu": 9100, + "pfc_asym": "off", + "speed": 40000 + }, + { + "name": "Ethernet8", + "admin_status": "up", + "alias": "fortyGigE0/8", + "description": "Servers1:eth0", + "index": 2, + "lanes": "33,34,35,36", + "mtu": 9100, + "pfc_asym": "off", + "speed": 40000 + }, + { + "name": "Ethernet3", + "alias": "Eth1/4", + "lanes": "68", + "description": "", + "speed": 10000 + }, + { + "name": "Ethernet1", + "alias": "Eth1/2", + "lanes": "66", + "description": "", + "speed": 10000 + }, + { + "name": "Ethernet2", + "alias": "Eth1/3", + "lanes": "67", + "description": "", + "speed": 10000 + } + ] + } + } +} diff --git a/tests/generic_config_updater/files/sonic_yang_as_json.json b/tests/generic_config_updater/files/sonic_yang_as_json.json new file mode 100644 index 0000000000..37f0fe6ba7 --- /dev/null +++ b/tests/generic_config_updater/files/sonic_yang_as_json.json @@ -0,0 +1,114 @@ +{ + "sonic-vlan:sonic-vlan": { + "sonic-vlan:VLAN_MEMBER": { + "VLAN_MEMBER_LIST": [ + { + "name": "Vlan1000", + "port": "Ethernet0", + "tagging_mode": "untagged" + }, + { + "name": "Vlan1000", + "port": "Ethernet4", + "tagging_mode": "untagged" + }, + { + "name": "Vlan1000", + "port": "Ethernet8", + "tagging_mode": "untagged" + } + ] + }, + "sonic-vlan:VLAN": { + "VLAN_LIST": [ + { + "name": "Vlan1000", + "vlanid": 1000, + "dhcp_servers": [ + "192.0.0.1", + "192.0.0.2", + "192.0.0.3", + "192.0.0.4" + ] + } + ] + } + }, + "sonic-acl:sonic-acl": { + "sonic-acl:ACL_TABLE": { + "ACL_TABLE_LIST": [ + { + "ACL_TABLE_NAME": "NO-NSW-PACL-V4", + "type": "L3", + "policy_desc": "NO-NSW-PACL-V4", + "ports": [ + "Ethernet0" + ] + }, + { + "ACL_TABLE_NAME": "DATAACL", + "policy_desc": "DATAACL", + "ports": [ + "Ethernet4" + ], + "stage": "ingress", + "type": "L3" + }, + { + "ACL_TABLE_NAME": "EVERFLOW", + "policy_desc": "EVERFLOW", + "ports": [ + "Ethernet8" + ], + "stage": "ingress", + "type": "MIRROR" + }, + { + "ACL_TABLE_NAME": "EVERFLOWV6", + "policy_desc": "EVERFLOWV6", + "ports": [ + "Ethernet4", + "Ethernet8" + ], + "stage": "ingress", + "type": "MIRRORV6" + } + ] + } + }, + "sonic-port:sonic-port": { + "sonic-port:PORT": { + "PORT_LIST": [ + { + "name": "Ethernet0", + "alias": "Eth1", + "lanes": "65, 66, 67, 68", + "description": "Ethernet0 100G link", + "speed": 100000 + }, + { + "name": "Ethernet4", + "admin_status": "up", + "alias": "fortyGigE0/4", + "description": "Servers0:eth0", + "index": 1, + "lanes": "29,30,31,32", + "mtu": 9100, + "pfc_asym": "off", + "speed": 40000 + }, + { + "name": "Ethernet8", + "admin_status": "up", + "alias": "fortyGigE0/8", + "description": "Servers1:eth0", + "index": 2, + "lanes": "33,34,35,36", + "mtu": 9100, + "pfc_asym": "off", + "speed": 40000 + } + ] + } + } +} diff --git a/tests/generic_config_updater/files/sonic_yang_as_json_invalid.json b/tests/generic_config_updater/files/sonic_yang_as_json_invalid.json new file mode 100644 index 0000000000..4f67d7e6a6 --- /dev/null +++ b/tests/generic_config_updater/files/sonic_yang_as_json_invalid.json @@ -0,0 +1,13 @@ +{ + "sonic-vlan:sonic-vlan": { + "sonic-vlan:VLAN_MEMBER": { + "VLAN_MEMBER_LIST": [ + { + "name": "Vlan1000", + "port": "Ethernet4", + "tagging_mode": "untagged" + } + ] + } + } +} diff --git a/tests/generic_config_updater/files/sonic_yang_as_json_with_unexpected_colons.json b/tests/generic_config_updater/files/sonic_yang_as_json_with_unexpected_colons.json new file mode 100644 index 0000000000..aac97da42b --- /dev/null +++ b/tests/generic_config_updater/files/sonic_yang_as_json_with_unexpected_colons.json @@ -0,0 +1,114 @@ +{ + "sonic-vlan:sonic-vlan": { + "sonic-vlan::VLAN_MEMBER": { + "VLAN_MEMBER_LIST": [ + { + "name": "Vlan1000", + "port": "Ethernet0", + "tagging_mode": "untagged" + }, + { + "name": "Vlan1000", + "port": "Ethernet4", + "tagging_mode": "untagged" + }, + { + "name": "Vlan1000", + "port": "Ethernet8", + "tagging_mode": "untagged" + } + ] + }, + "sonic-vlan::VLAN": { + "VLAN_LIST": [ + { + "name": "Vlan1000", + "vlanid": 1000, + "dhcp_servers": [ + "192.0.0.1", + "192.0.0.2", + "192.0.0.3", + "192.0.0.4" + ] + } + ] + } + }, + "sonic-acl:sonic-acl": { + "sonic-vlan::ACL_TABLE": { + "ACL_TABLE_LIST": [ + { + "ACL_TABLE_NAME": "NO-NSW-PACL-V4", + "type": "L3", + "policy_desc": "NO-NSW-PACL-V4", + "ports": [ + "Ethernet0" + ] + }, + { + "ACL_TABLE_NAME": "DATAACL", + "policy_desc": "DATAACL", + "ports": [ + "Ethernet4" + ], + "stage": "ingress", + "type": "L3" + }, + { + "ACL_TABLE_NAME": "EVERFLOW", + "policy_desc": "EVERFLOW", + "ports": [ + "Ethernet8" + ], + "stage": "ingress", + "type": "MIRROR" + }, + { + "ACL_TABLE_NAME": "EVERFLOWV6", + "policy_desc": "EVERFLOWV6", + "ports": [ + "Ethernet4", + "Ethernet8" + ], + "stage": "ingress", + "type": "MIRRORV6" + } + ] + } + }, + "sonic-port:sonic-port": { + "sonic-vlan::PORT": { + "PORT_LIST": [ + { + "name": "Ethernet0", + "alias": "Eth1", + "lanes": "65, 66, 67, 68", + "description": "Ethernet0 100G link", + "speed": 100000 + }, + { + "name": "Ethernet4", + "admin_status": "up", + "alias": "fortyGigE0/4", + "description": "Servers0:eth0", + "index": 1, + "lanes": "29,30,31,32", + "mtu": 9100, + "pfc_asym": "off", + "speed": 40000 + }, + { + "name": "Ethernet8", + "admin_status": "up", + "alias": "fortyGigE0/8", + "description": "Servers1:eth0", + "index": 2, + "lanes": "33,34,35,36", + "mtu": 9100, + "pfc_asym": "off", + "speed": 40000 + } + ] + } + } +} diff --git a/tests/generic_config_updater/files/sonic_yang_as_json_without_colons.json b/tests/generic_config_updater/files/sonic_yang_as_json_without_colons.json new file mode 100644 index 0000000000..ad4ab15f4a --- /dev/null +++ b/tests/generic_config_updater/files/sonic_yang_as_json_without_colons.json @@ -0,0 +1,114 @@ +{ + "sonic-vlan:sonic-vlan": { + "VLAN_MEMBER": { + "VLAN_MEMBER_LIST": [ + { + "name": "Vlan1000", + "port": "Ethernet0", + "tagging_mode": "untagged" + }, + { + "name": "Vlan1000", + "port": "Ethernet4", + "tagging_mode": "untagged" + }, + { + "name": "Vlan1000", + "port": "Ethernet8", + "tagging_mode": "untagged" + } + ] + }, + "VLAN": { + "VLAN_LIST": [ + { + "name": "Vlan1000", + "vlanid": 1000, + "dhcp_servers": [ + "192.0.0.1", + "192.0.0.2", + "192.0.0.3", + "192.0.0.4" + ] + } + ] + } + }, + "sonic-acl:sonic-acl": { + "ACL_TABLE": { + "ACL_TABLE_LIST": [ + { + "ACL_TABLE_NAME": "NO-NSW-PACL-V4", + "type": "L3", + "policy_desc": "NO-NSW-PACL-V4", + "ports": [ + "Ethernet0" + ] + }, + { + "ACL_TABLE_NAME": "DATAACL", + "policy_desc": "DATAACL", + "ports": [ + "Ethernet4" + ], + "stage": "ingress", + "type": "L3" + }, + { + "ACL_TABLE_NAME": "EVERFLOW", + "policy_desc": "EVERFLOW", + "ports": [ + "Ethernet8" + ], + "stage": "ingress", + "type": "MIRROR" + }, + { + "ACL_TABLE_NAME": "EVERFLOWV6", + "policy_desc": "EVERFLOWV6", + "ports": [ + "Ethernet4", + "Ethernet8" + ], + "stage": "ingress", + "type": "MIRRORV6" + } + ] + } + }, + "sonic-port:sonic-port": { + "PORT": { + "PORT_LIST": [ + { + "name": "Ethernet0", + "alias": "Eth1", + "lanes": "65, 66, 67, 68", + "description": "Ethernet0 100G link", + "speed": 100000 + }, + { + "name": "Ethernet4", + "admin_status": "up", + "alias": "fortyGigE0/4", + "description": "Servers0:eth0", + "index": 1, + "lanes": "29,30,31,32", + "mtu": 9100, + "pfc_asym": "off", + "speed": 40000 + }, + { + "name": "Ethernet8", + "admin_status": "up", + "alias": "fortyGigE0/8", + "description": "Servers1:eth0", + "index": 2, + "lanes": "33,34,35,36", + "mtu": 9100, + "pfc_asym": "off", + "speed": 40000 + } + ] + } + } +} diff --git a/tests/generic_config_updater/generic_updater_test.py b/tests/generic_config_updater/generic_updater_test.py new file mode 100644 index 0000000000..f201280062 --- /dev/null +++ b/tests/generic_config_updater/generic_updater_test.py @@ -0,0 +1,766 @@ +import json +import os +import shutil +import unittest +from unittest.mock import MagicMock, Mock, call +from .gutest_helpers import create_side_effect_dict, Files + +import generic_config_updater.generic_updater as gu + +# import sys +# sys.path.insert(0,'../../generic_config_updater') +# import generic_updater as gu + +class TestPatchApplier(unittest.TestCase): + def test_apply__invalid_patch_updating_tables_without_yang_models__failure(self): + # Arrange + patch_applier = self.__create_patch_applier(valid_patch_only_tables_with_yang_models=False) + + # Act and assert + self.assertRaises(ValueError, patch_applier.apply, Files.MULTI_OPERATION_CONFIG_DB_PATCH) + + def test_apply__invalid_config_db__failure(self): + # Arrange + patch_applier = self.__create_patch_applier(valid_config_db=False) + + # Act and assert + self.assertRaises(ValueError, patch_applier.apply, Files.MULTI_OPERATION_CONFIG_DB_PATCH) + + def test_apply__json_not_fully_updated__failure(self): + # Arrange + patch_applier = self.__create_patch_applier(verified_same_config=False) + + # Act and assert + self.assertRaises(gu.GenericConfigUpdaterError, patch_applier.apply, Files.MULTI_OPERATION_CONFIG_DB_PATCH) + + def test_apply__no_errors__update_successful(self): + # Arrange + changes = [Mock(), Mock()] + patch_applier = self.__create_patch_applier(changes) + + # Act + patch_applier.apply(Files.MULTI_OPERATION_CONFIG_DB_PATCH) + + # Assert + patch_applier.patch_wrapper.validate_config_db_patch_has_yang_models.assert_has_calls( + [call(Files.MULTI_OPERATION_CONFIG_DB_PATCH)]) + patch_applier.config_wrapper.get_config_db_as_json.assert_has_calls([call(), call()]) + patch_applier.patch_wrapper.simulate_patch.assert_has_calls( + [call(Files.MULTI_OPERATION_CONFIG_DB_PATCH, Files.CONFIG_DB_AS_JSON)]) + patch_applier.config_wrapper.validate_config_db_config.assert_has_calls( + [call(Files.CONFIG_DB_AFTER_MULTI_PATCH)]) + patch_applier.patchsorter.sort.assert_has_calls([call(Files.MULTI_OPERATION_CONFIG_DB_PATCH)]) + patch_applier.changeapplier.apply.assert_has_calls([call(changes[0]), call(changes[1])]) + patch_applier.patch_wrapper.verify_same_json.assert_has_calls( + [call(Files.CONFIG_DB_AFTER_MULTI_PATCH, Files.CONFIG_DB_AFTER_MULTI_PATCH)]) + + def __create_patch_applier(self, + changes=None, + valid_patch_only_tables_with_yang_models=True, + valid_config_db=True, + verified_same_config=True): + config_wrapper = Mock() + config_wrapper.get_config_db_as_json.side_effect = \ + [Files.CONFIG_DB_AS_JSON, Files.CONFIG_DB_AFTER_MULTI_PATCH] + config_wrapper.validate_config_db_config.side_effect = \ + create_side_effect_dict({(str(Files.CONFIG_DB_AFTER_MULTI_PATCH),): valid_config_db}) + + patch_wrapper = Mock() + patch_wrapper.validate_config_db_patch_has_yang_models.side_effect = \ + create_side_effect_dict( + {(str(Files.MULTI_OPERATION_CONFIG_DB_PATCH),): valid_patch_only_tables_with_yang_models}) + patch_wrapper.simulate_patch.side_effect = \ + create_side_effect_dict( + {(str(Files.MULTI_OPERATION_CONFIG_DB_PATCH), str(Files.CONFIG_DB_AS_JSON)): + Files.CONFIG_DB_AFTER_MULTI_PATCH}) + patch_wrapper.verify_same_json.side_effect = \ + create_side_effect_dict( + {(str(Files.CONFIG_DB_AFTER_MULTI_PATCH), str(Files.CONFIG_DB_AFTER_MULTI_PATCH)): + verified_same_config}) + + changes = [Mock(), Mock()] if not changes else changes + patchsorter = Mock() + patchsorter.sort.side_effect = \ + create_side_effect_dict({(str(Files.MULTI_OPERATION_CONFIG_DB_PATCH),): changes}) + + changeapplier = Mock() + changeapplier.apply.side_effect = create_side_effect_dict({(str(changes[0]),): 0, (str(changes[1]),): 0}) + + return gu.PatchApplier(patchsorter, changeapplier, config_wrapper, patch_wrapper) + +class TestConfigReplacer(unittest.TestCase): + def test_replace__invalid_config_db__failure(self): + # Arrange + config_replacer = self.__create_config_replacer(valid_config_db=False) + + # Act and assert + self.assertRaises(ValueError, config_replacer.replace, Files.CONFIG_DB_AFTER_MULTI_PATCH) + + def test_replace__json_not_fully_updated__failure(self): + # Arrange + config_replacer = self.__create_config_replacer(verified_same_config=False) + + # Act and assert + self.assertRaises(gu.GenericConfigUpdaterError, config_replacer.replace, Files.CONFIG_DB_AFTER_MULTI_PATCH) + + def test_replace__no_errors__update_successful(self): + # Arrange + config_replacer = self.__create_config_replacer() + + # Act + config_replacer.replace(Files.CONFIG_DB_AFTER_MULTI_PATCH) + + # Assert + config_replacer.config_wrapper.validate_config_db_config.assert_has_calls( + [call(Files.CONFIG_DB_AFTER_MULTI_PATCH)]) + config_replacer.config_wrapper.get_config_db_as_json.assert_has_calls([call(), call()]) + config_replacer.patch_wrapper.generate_patch.assert_has_calls( + [call(Files.CONFIG_DB_AS_JSON, Files.CONFIG_DB_AFTER_MULTI_PATCH)]) + config_replacer.patch_applier.apply.assert_has_calls([call(Files.MULTI_OPERATION_CONFIG_DB_PATCH)]) + config_replacer.patch_wrapper.verify_same_json.assert_has_calls( + [call(Files.CONFIG_DB_AFTER_MULTI_PATCH, Files.CONFIG_DB_AFTER_MULTI_PATCH)]) + + def __create_config_replacer(self, changes=None, valid_config_db=True, verified_same_config=True): + config_wrapper = Mock() + config_wrapper.validate_config_db_config.side_effect = \ + create_side_effect_dict({(str(Files.CONFIG_DB_AFTER_MULTI_PATCH),): valid_config_db}) + config_wrapper.get_config_db_as_json.side_effect = \ + [Files.CONFIG_DB_AS_JSON, Files.CONFIG_DB_AFTER_MULTI_PATCH] + + patch_wrapper = Mock() + patch_wrapper.generate_patch.side_effect = \ + create_side_effect_dict( + {(str(Files.CONFIG_DB_AS_JSON), str(Files.CONFIG_DB_AFTER_MULTI_PATCH)): + Files.MULTI_OPERATION_CONFIG_DB_PATCH}) + patch_wrapper.verify_same_json.side_effect = \ + create_side_effect_dict( + {(str(Files.CONFIG_DB_AFTER_MULTI_PATCH), str(Files.CONFIG_DB_AFTER_MULTI_PATCH)): \ + verified_same_config}) + + changes = [Mock(), Mock()] if not changes else changes + patchsorter = Mock() + patchsorter.sort.side_effect = create_side_effect_dict({(str(Files.MULTI_OPERATION_CONFIG_DB_PATCH),): \ + changes}) + + patch_applier = Mock() + patch_applier.apply.side_effect = create_side_effect_dict({(str(Files.MULTI_OPERATION_CONFIG_DB_PATCH),): 0}) + + return gu.ConfigReplacer(patch_applier, config_wrapper, patch_wrapper) + +class TestFileSystemConfigRollbacker(unittest.TestCase): + def setUp(self): + self.checkpoints_dir = os.path.join(os.getcwd(),"checkpoints") + self.checkpoint_ext = ".cp.json" + self.any_checkpoint_name = "anycheckpoint" + self.any_other_checkpoint_name = "anyothercheckpoint" + self.any_config = {} + self.clean_up() + + def tearDown(self): + self.clean_up() + + def test_rollback__checkpoint_does_not_exist__failure(self): + # Arrange + rollbacker = self.create_rollbacker() + + # Act and assert + self.assertRaises(ValueError, rollbacker.rollback, "NonExistingCheckpoint") + + def test_rollback__no_errors__success(self): + # Arrange + self.create_checkpoints_dir() + self.add_checkpoint(self.any_checkpoint_name, self.any_config) + rollbacker = self.create_rollbacker() + + # Act + rollbacker.rollback(self.any_checkpoint_name) + + # Assert + rollbacker.config_replacer.replace.assert_has_calls([call(self.any_config)]) + + def test_checkpoint__checkpoints_dir_does_not_exist__checkpoint_created(self): + # Arrange + rollbacker = self.create_rollbacker() + self.assertFalse(os.path.isdir(self.checkpoints_dir)) + + # Act + rollbacker.checkpoint(self.any_checkpoint_name) + + # Assert + self.assertTrue(os.path.isdir(self.checkpoints_dir)) + self.assertEqual(self.any_config, self.get_checkpoint(self.any_checkpoint_name)) + + def test_checkpoint__config_not_valid__failure(self): + # Arrange + rollbacker = self.create_rollbacker(valid_config=False) + + # Act and assert + self.assertRaises(ValueError, rollbacker.checkpoint, self.any_checkpoint_name) + + def test_checkpoint__checkpoints_dir_exists__checkpoint_created(self): + # Arrange + self.create_checkpoints_dir() + rollbacker = self.create_rollbacker() + + # Act + rollbacker.checkpoint(self.any_checkpoint_name) + + # Assert + self.assertEqual(self.any_config, self.get_checkpoint(self.any_checkpoint_name)) + + def test_list_checkpoints__checkpoints_dir_does_not_exist__empty_list(self): + # Arrange + rollbacker = self.create_rollbacker() + self.assertFalse(os.path.isdir(self.checkpoints_dir)) + expected = [] + + # Act + actual = rollbacker.list_checkpoints() + + # Assert + # 'assertCountEqual' does check same count, same elements ignoring order + self.assertCountEqual(expected, actual) + + def test_list_checkpoints__checkpoints_dir_exist_but_no_files__empty_list(self): + # Arrange + self.create_checkpoints_dir() + rollbacker = self.create_rollbacker() + expected = [] + + # Act + actual = rollbacker.list_checkpoints() + + # Assert + # 'assertCountEqual' does check same count, same elements ignoring order + self.assertCountEqual(expected, actual) + + def test_list_checkpoints__checkpoints_dir_has_multiple_files__multiple_files(self): + # Arrange + self.create_checkpoints_dir() + self.add_checkpoint(self.any_checkpoint_name, self.any_config) + self.add_checkpoint(self.any_other_checkpoint_name, self.any_config) + rollbacker = self.create_rollbacker() + expected = [self.any_checkpoint_name, self.any_other_checkpoint_name] + + # Act + actual = rollbacker.list_checkpoints() + + # Assert + # 'assertCountEqual' does check same count, same elements ignoring order + self.assertCountEqual(expected, actual) + + def test_list_checkpoints__checkpoints_names_have_special_characters__multiple_files(self): + # Arrange + self.create_checkpoints_dir() + self.add_checkpoint("check.point1", self.any_config) + self.add_checkpoint(".checkpoint2", self.any_config) + self.add_checkpoint("checkpoint3.", self.any_config) + rollbacker = self.create_rollbacker() + expected = ["check.point1", ".checkpoint2", "checkpoint3."] + + # Act + actual = rollbacker.list_checkpoints() + + # Assert + # 'assertCountEqual' does check same count, same elements ignoring order + self.assertCountEqual(expected, actual) + + def test_delete_checkpoint__checkpoint_does_not_exist__failure(self): + # Arrange + rollbacker = self.create_rollbacker() + + # Act and assert + self.assertRaises(ValueError, rollbacker.delete_checkpoint, self.any_checkpoint_name) + + def test_delete_checkpoint__checkpoint_exist__success(self): + # Arrange + self.create_checkpoints_dir() + self.add_checkpoint(self.any_checkpoint_name, self.any_config) + rollbacker = self.create_rollbacker() + + # Act + rollbacker.delete_checkpoint(self.any_checkpoint_name) + + # Assert + self.assertFalse(self.check_checkpoint_exists(self.any_checkpoint_name)) + + def test_multiple_operations(self): + rollbacker = self.create_rollbacker() + + # 'assertCountEqual' does check same count, same elements ignoring order + self.assertCountEqual([], rollbacker.list_checkpoints()) + + rollbacker.checkpoint(self.any_checkpoint_name) + self.assertCountEqual([self.any_checkpoint_name], rollbacker.list_checkpoints()) + self.assertEqual(self.any_config, self.get_checkpoint(self.any_checkpoint_name)) + + rollbacker.rollback(self.any_checkpoint_name) + rollbacker.config_replacer.replace.assert_has_calls([call(self.any_config)]) + + rollbacker.checkpoint(self.any_other_checkpoint_name) + self.assertCountEqual([self.any_checkpoint_name, self.any_other_checkpoint_name], rollbacker.list_checkpoints()) + self.assertEqual(self.any_config, self.get_checkpoint(self.any_other_checkpoint_name)) + + rollbacker.delete_checkpoint(self.any_checkpoint_name) + self.assertCountEqual([self.any_other_checkpoint_name], rollbacker.list_checkpoints()) + + rollbacker.delete_checkpoint(self.any_other_checkpoint_name) + self.assertCountEqual([], rollbacker.list_checkpoints()) + + def clean_up(self): + if os.path.isdir(self.checkpoints_dir): + shutil.rmtree(self.checkpoints_dir) + + def create_checkpoints_dir(self): + os.makedirs(self.checkpoints_dir) + + def add_checkpoint(self, name, json_content): + path=os.path.join(self.checkpoints_dir, f"{name}{self.checkpoint_ext}") + with open(path, "w") as fh: + fh.write(json.dumps(json_content)) + + def get_checkpoint(self, name): + path=os.path.join(self.checkpoints_dir, f"{name}{self.checkpoint_ext}") + with open(path) as fh: + text = fh.read() + return json.loads(text) + + def check_checkpoint_exists(self, name): + path=os.path.join(self.checkpoints_dir, f"{name}{self.checkpoint_ext}") + return os.path.isfile(path) + + def create_rollbacker(self, valid_config=True): + replacer = Mock() + replacer.replace.side_effect = create_side_effect_dict({(str(self.any_config),): 0}) + + config_wrapper = Mock() + config_wrapper.get_config_db_as_json.return_value = self.any_config + config_wrapper.validate_config_db_config.return_value = valid_config + + return gu.FileSystemConfigRollbacker(checkpoints_dir=self.checkpoints_dir, + config_replacer=replacer, + config_wrapper=config_wrapper) + +class TestGenericUpdateFactory(unittest.TestCase): + def setUp(self): + self.any_verbose=True + self.any_dry_run=True + + def test_create_patch_applier__invalid_config_format__failure(self): + # Arrange + factory = gu.GenericUpdateFactory() + + # Act and assert + self.assertRaises( + ValueError, factory.create_patch_applier, "INVALID_FORMAT", self.any_verbose, self.any_dry_run) + + def test_create_patch_applier__different_options(self): + # Arrange + options = [ + {"verbose": {True: None, False: None}}, + {"dry_run": {True: None, False: gu.ConfigLockDecorator}}, + { + "config_format": { + gu.ConfigFormat.SONICYANG: gu.SonicYangDecorator, + gu.ConfigFormat.CONFIGDB: None, + } + }, + ] + + # Act and assert + self.recursively_test_create_func(options, 0, {}, [], self.validate_create_patch_applier) + + def test_create_config_replacer__invalid_config_format__failure(self): + # Arrange + factory = gu.GenericUpdateFactory() + + # Act and assert + self.assertRaises( + ValueError, factory.create_config_replacer, "INVALID_FORMAT", self.any_verbose, self.any_dry_run) + + def test_create_config_replacer__different_options(self): + # Arrange + options = [ + {"verbose": {True: None, False: None}}, + {"dry_run": {True: None, False: gu.ConfigLockDecorator}}, + { + "config_format": { + gu.ConfigFormat.SONICYANG: gu.SonicYangDecorator, + gu.ConfigFormat.CONFIGDB: None, + } + }, + ] + + # Act and assert + self.recursively_test_create_func(options, 0, {}, [], self.validate_create_config_replacer) + + def test_create_config_rollbacker__different_options(self): + # Arrange + options = [ + {"verbose": {True: None, False: None}}, + {"dry_run": {True: None, False: gu.ConfigLockDecorator}} + ] + + # Act and assert + self.recursively_test_create_func(options, 0, {}, [], self.validate_create_config_rollbacker) + + def recursively_test_create_func(self, options, cur_option, params, expected_decorators, create_func): + if cur_option == len(options): + create_func(params, expected_decorators) + return + + param = list(options[cur_option].keys())[0] + for key in options[cur_option][param]: + params[param] = key + decorator = options[cur_option][param][key] + if decorator != None: + expected_decorators.append(decorator) + self.recursively_test_create_func(options, cur_option+1, params, expected_decorators, create_func) + if decorator != None: + expected_decorators.pop() + + def validate_create_patch_applier(self, params, expected_decorators): + factory = gu.GenericUpdateFactory() + patch_applier = factory.create_patch_applier(params["config_format"], params["verbose"], params["dry_run"]) + for decorator_type in expected_decorators: + self.assertIsInstance(patch_applier, decorator_type) + + patch_applier = patch_applier.decorated_patch_applier + + self.assertIsInstance(patch_applier, gu.PatchApplier) + if params["dry_run"]: + self.assertIsInstance(patch_applier.config_wrapper, gu.DryRunConfigWrapper) + else: + self.assertIsInstance(patch_applier.config_wrapper, gu.ConfigWrapper) + + def validate_create_config_replacer(self, params, expected_decorators): + factory = gu.GenericUpdateFactory() + config_replacer = factory.create_config_replacer(params["config_format"], params["verbose"], params["dry_run"]) + for decorator_type in expected_decorators: + self.assertIsInstance(config_replacer, decorator_type) + + config_replacer = config_replacer.decorated_config_replacer + + self.assertIsInstance(config_replacer, gu.ConfigReplacer) + if params["dry_run"]: + self.assertIsInstance(config_replacer.config_wrapper, gu.DryRunConfigWrapper) + self.assertIsInstance(config_replacer.patch_applier.config_wrapper, gu.DryRunConfigWrapper) + else: + self.assertIsInstance(config_replacer.config_wrapper, gu.ConfigWrapper) + self.assertIsInstance(config_replacer.patch_applier.config_wrapper, gu.ConfigWrapper) + + def validate_create_config_rollbacker(self, params, expected_decorators): + factory = gu.GenericUpdateFactory() + config_rollbacker = factory.create_config_rollbacker(params["verbose"], params["dry_run"]) + for decorator_type in expected_decorators: + self.assertIsInstance(config_rollbacker, decorator_type) + + config_rollbacker = config_rollbacker.decorated_config_rollbacker + + self.assertIsInstance(config_rollbacker, gu.FileSystemConfigRollbacker) + if params["dry_run"]: + self.assertIsInstance(config_rollbacker.config_wrapper, gu.DryRunConfigWrapper) + self.assertIsInstance(config_rollbacker.config_replacer.config_wrapper, gu.DryRunConfigWrapper) + self.assertIsInstance( + config_rollbacker.config_replacer.patch_applier.config_wrapper, gu.DryRunConfigWrapper) + else: + self.assertIsInstance(config_rollbacker.config_wrapper, gu.ConfigWrapper) + self.assertIsInstance(config_rollbacker.config_replacer.config_wrapper, gu.ConfigWrapper) + self.assertIsInstance( + config_rollbacker.config_replacer.patch_applier.config_wrapper, gu.ConfigWrapper) + +class TestGenericUpdater(unittest.TestCase): + def setUp(self): + self.any_checkpoint_name = "anycheckpoint" + self.any_other_checkpoint_name = "anyothercheckpoint" + self.any_checkpoints_list = [self.any_checkpoint_name, self.any_other_checkpoint_name] + self.any_config_format = gu.ConfigFormat.SONICYANG + self.any_verbose = True + self.any_dry_run = True + + def test_apply_patch__creates_applier_and_apply(self): + # Arrange + patch_applier = Mock() + patch_applier.apply.side_effect = create_side_effect_dict({(str(Files.SINGLE_OPERATION_SONIC_YANG_PATCH),): 0}) + + factory = Mock() + factory.create_patch_applier.side_effect = \ + create_side_effect_dict( + {(str(self.any_config_format), str(self.any_verbose), str(self.any_dry_run),): patch_applier}) + + generic_updater = gu.GenericUpdater(factory) + + # Act + generic_updater.apply_patch( + Files.SINGLE_OPERATION_SONIC_YANG_PATCH, self.any_config_format, self.any_verbose, self.any_dry_run) + + # Assert + patch_applier.apply.assert_has_calls([call(Files.SINGLE_OPERATION_SONIC_YANG_PATCH)]) + + def test_replace__creates_replacer_and_replace(self): + # Arrange + config_replacer = Mock() + config_replacer.replace.side_effect = create_side_effect_dict({(str(Files.SONIC_YANG_AS_JSON),): 0}) + + factory = Mock() + factory.create_config_replacer.side_effect = \ + create_side_effect_dict( + {(str(self.any_config_format), str(self.any_verbose), str(self.any_dry_run),): config_replacer}) + + generic_updater = gu.GenericUpdater(factory) + + # Act + generic_updater.replace(Files.SONIC_YANG_AS_JSON, self.any_config_format, self.any_verbose, self.any_dry_run) + + # Assert + config_replacer.replace.assert_has_calls([call(Files.SONIC_YANG_AS_JSON)]) + + def test_rollback__creates_rollbacker_and_rollback(self): + # Arrange + config_rollbacker = Mock() + config_rollbacker.rollback.side_effect = create_side_effect_dict({(self.any_checkpoint_name,): 0}) + + factory = Mock() + factory.create_config_rollbacker.side_effect = \ + create_side_effect_dict({(str(self.any_verbose), str(self.any_dry_run),): config_rollbacker}) + + generic_updater = gu.GenericUpdater(factory) + + # Act + generic_updater.rollback(self.any_checkpoint_name, self.any_verbose, self.any_dry_run) + + # Assert + config_rollbacker.rollback.assert_has_calls([call(self.any_checkpoint_name)]) + + def test_checkpoint__creates_rollbacker_and_checkpoint(self): + # Arrange + config_rollbacker = Mock() + config_rollbacker.checkpoint.side_effect = create_side_effect_dict({(self.any_checkpoint_name,): 0}) + + factory = Mock() + factory.create_config_rollbacker.side_effect = \ + create_side_effect_dict({(str(self.any_verbose),): config_rollbacker}) + + generic_updater = gu.GenericUpdater(factory) + + # Act + generic_updater.checkpoint(self.any_checkpoint_name, self.any_verbose) + + # Assert + config_rollbacker.checkpoint.assert_has_calls([call(self.any_checkpoint_name)]) + + def test_delete_checkpoint__creates_rollbacker_and_deletes_checkpoint(self): + # Arrange + config_rollbacker = Mock() + config_rollbacker.delete_checkpoint.side_effect = create_side_effect_dict({(self.any_checkpoint_name,): 0}) + + factory = Mock() + factory.create_config_rollbacker.side_effect = \ + create_side_effect_dict({(str(self.any_verbose),): config_rollbacker}) + + generic_updater = gu.GenericUpdater(factory) + + # Act + generic_updater.delete_checkpoint(self.any_checkpoint_name, self.any_verbose) + + # Assert + config_rollbacker.delete_checkpoint.assert_has_calls([call(self.any_checkpoint_name)]) + + def test_list_checkpoints__creates_rollbacker_and_list_checkpoints(self): + # Arrange + config_rollbacker = Mock() + config_rollbacker.list_checkpoints.return_value = self.any_checkpoints_list + + factory = Mock() + factory.create_config_rollbacker.side_effect = \ + create_side_effect_dict({(str(self.any_verbose),): config_rollbacker}) + + generic_updater = gu.GenericUpdater(factory) + + expected = self.any_checkpoints_list + + # Act + actual = generic_updater.list_checkpoints(self.any_verbose) + + # Assert + self.assertCountEqual(expected, actual) + +class TestDecorator(unittest.TestCase): + def setUp(self): + self.decorated_patch_applier = Mock() + self.decorated_config_replacer = Mock() + self.decorated_config_rollbacker = Mock() + + self.any_checkpoint_name = "anycheckpoint" + self.any_other_checkpoint_name = "anyothercheckpoint" + self.any_checkpoints_list = [self.any_checkpoint_name, self.any_other_checkpoint_name] + self.decorated_config_rollbacker.list_checkpoints.return_value = self.any_checkpoints_list + + self.decorator = gu.Decorator( + self.decorated_patch_applier, self.decorated_config_replacer, self.decorated_config_rollbacker) + + def test_apply__calls_decorated_applier(self): + # Act + self.decorator.apply(Files.SINGLE_OPERATION_SONIC_YANG_PATCH) + + # Assert + self.decorated_patch_applier.apply.assert_has_calls([call(Files.SINGLE_OPERATION_SONIC_YANG_PATCH)]) + + def test_replace__calls_decorated_replacer(self): + # Act + self.decorator.replace(Files.SONIC_YANG_AS_JSON) + + # Assert + self.decorated_config_replacer.replace.assert_has_calls([call(Files.SONIC_YANG_AS_JSON)]) + + def test_rollback__calls_decorated_rollbacker(self): + # Act + self.decorator.rollback(self.any_checkpoint_name) + + # Assert + self.decorated_config_rollbacker.rollback.assert_has_calls([call(self.any_checkpoint_name)]) + + def test_checkpoint__calls_decorated_rollbacker(self): + # Act + self.decorator.checkpoint(self.any_checkpoint_name) + + # Assert + self.decorated_config_rollbacker.checkpoint.assert_has_calls([call(self.any_checkpoint_name)]) + + def test_delete_checkpoint__calls_decorated_rollbacker(self): + # Act + self.decorator.delete_checkpoint(self.any_checkpoint_name) + + # Assert + self.decorated_config_rollbacker.delete_checkpoint.assert_has_calls([call(self.any_checkpoint_name)]) + + def test_list_checkpoints__calls_decorated_rollbacker(self): + # Arrange + expected = self.any_checkpoints_list + + # Act + actual = self.decorator.list_checkpoints() + + # Assert + self.decorated_config_rollbacker.list_checkpoints.assert_called_once() + self.assertListEqual(expected, actual) + +class TestSonicYangDecorator(unittest.TestCase): + def test_apply__converts_to_config_db_and_calls_decorated_class(self): + # Arrange + sonic_yang_decorator = self.__create_sonic_yang_decorator() + + # Act + sonic_yang_decorator.apply(Files.SINGLE_OPERATION_SONIC_YANG_PATCH) + + # Assert + sonic_yang_decorator.patch_wrapper.convert_sonic_yang_patch_to_config_db_patch.assert_has_calls( + [call(Files.SINGLE_OPERATION_SONIC_YANG_PATCH)]) + sonic_yang_decorator.decorated_patch_applier.apply.assert_has_calls( + [call(Files.SINGLE_OPERATION_CONFIG_DB_PATCH)]) + + def test_replace__converts_to_config_db_and_calls_decorated_class(self): + # Arrange + sonic_yang_decorator = self.__create_sonic_yang_decorator() + + # Act + sonic_yang_decorator.replace(Files.SONIC_YANG_AS_JSON) + + # Assert + sonic_yang_decorator.config_wrapper.convert_sonic_yang_to_config_db.assert_has_calls( + [call(Files.SONIC_YANG_AS_JSON)]) + sonic_yang_decorator.decorated_config_replacer.replace.assert_has_calls([call(Files.CONFIG_DB_AS_JSON)]) + + def __create_sonic_yang_decorator(self): + patch_applier = Mock() + patch_applier.apply.side_effect = create_side_effect_dict({(str(Files.SINGLE_OPERATION_CONFIG_DB_PATCH),): 0}) + + patch_wrapper = Mock() + patch_wrapper.convert_sonic_yang_patch_to_config_db_patch.side_effect = \ + create_side_effect_dict({(str(Files.SINGLE_OPERATION_SONIC_YANG_PATCH),): \ + Files.SINGLE_OPERATION_CONFIG_DB_PATCH}) + + config_replacer = Mock() + config_replacer.replace.side_effect = create_side_effect_dict({(str(Files.CONFIG_DB_AS_JSON),): 0}) + + config_wrapper = Mock() + config_wrapper.convert_sonic_yang_to_config_db.side_effect = \ + create_side_effect_dict({(str(Files.SONIC_YANG_AS_JSON),): Files.CONFIG_DB_AS_JSON}) + + return gu.SonicYangDecorator(decorated_patch_applier=patch_applier, + decorated_config_replacer=config_replacer, + patch_wrapper=patch_wrapper, + config_wrapper=config_wrapper) + +class TestConfigLockDecorator(unittest.TestCase): + def setUp(self): + self.any_checkpoint_name = "anycheckpoint" + + def test_apply__lock_config(self): + # Arrange + config_lock_decorator = self.__create_config_lock_decorator() + + # Act + config_lock_decorator.apply(Files.SINGLE_OPERATION_SONIC_YANG_PATCH) + + # Assert + config_lock_decorator.config_lock.acquire_lock.assert_called_once() + config_lock_decorator.decorated_patch_applier.apply.assert_has_calls( + [call(Files.SINGLE_OPERATION_SONIC_YANG_PATCH)]) + config_lock_decorator.config_lock.release_lock.assert_called_once() + + def test_replace__lock_config(self): + # Arrange + config_lock_decorator = self.__create_config_lock_decorator() + + # Act + config_lock_decorator.replace(Files.SONIC_YANG_AS_JSON) + + # Assert + config_lock_decorator.config_lock.acquire_lock.assert_called_once() + config_lock_decorator.decorated_config_replacer.replace.assert_has_calls([call(Files.SONIC_YANG_AS_JSON)]) + config_lock_decorator.config_lock.release_lock.assert_called_once() + + def test_rollback__lock_config(self): + # Arrange + config_lock_decorator = self.__create_config_lock_decorator() + + # Act + config_lock_decorator.rollback(self.any_checkpoint_name) + + # Assert + config_lock_decorator.config_lock.acquire_lock.assert_called_once() + config_lock_decorator.decorated_config_rollbacker.rollback.assert_has_calls([call(self.any_checkpoint_name)]) + config_lock_decorator.config_lock.release_lock.assert_called_once() + + def test_checkpoint__lock_config(self): + # Arrange + config_lock_decorator = self.__create_config_lock_decorator() + + # Act + config_lock_decorator.checkpoint(self.any_checkpoint_name) + + # Assert + config_lock_decorator.config_lock.acquire_lock.assert_called_once() + config_lock_decorator.decorated_config_rollbacker.checkpoint.assert_has_calls([call(self.any_checkpoint_name)]) + config_lock_decorator.config_lock.release_lock.assert_called_once() + + def __create_config_lock_decorator(self): + config_lock = Mock() + + patch_applier = Mock() + patch_applier.apply.side_effect = create_side_effect_dict({(str(Files.SINGLE_OPERATION_SONIC_YANG_PATCH),): 0}) + + config_replacer = Mock() + config_replacer.replace.side_effect = create_side_effect_dict({(str(Files.SONIC_YANG_AS_JSON),): 0}) + + config_rollbacker = Mock() + config_rollbacker.rollback.side_effect = create_side_effect_dict({(self.any_checkpoint_name,): 0}) + config_rollbacker.checkpoint.side_effect = create_side_effect_dict({(self.any_checkpoint_name,): 0}) + + config_rollbacker.delete_checkpoint.side_effect = create_side_effect_dict({(self.any_checkpoint_name,): 0}) + + return gu.ConfigLockDecorator(config_lock=config_lock, + decorated_patch_applier=patch_applier, + decorated_config_replacer=config_replacer, + decorated_config_rollbacker=config_rollbacker) diff --git a/tests/generic_config_updater/gu_common_test.py b/tests/generic_config_updater/gu_common_test.py new file mode 100644 index 0000000000..f18ad45799 --- /dev/null +++ b/tests/generic_config_updater/gu_common_test.py @@ -0,0 +1,335 @@ +import json +import jsonpatch +import unittest +from unittest.mock import MagicMock, Mock +from .gutest_helpers import create_side_effect_dict, Files + +import generic_config_updater.gu_common as gu_common + +# import sys +# sys.path.insert(0,'../../generic_config_updater') +# import gu_common + +class TestConfigWrapper(unittest.TestCase): + def setUp(self): + self.config_wrapper_mock = gu_common.ConfigWrapper() + self.config_wrapper_mock.get_config_db_as_json=MagicMock(return_value=Files.CONFIG_DB_AS_JSON) + + def test_ctor__default_values_set(self): + config_wrapper = gu_common.ConfigWrapper() + + self.assertEqual("/usr/local/yang-models", gu_common.YANG_DIR) + + def test_get_sonic_yang_as_json__returns_sonic_yang_as_json(self): + # Arrange + config_wrapper = self.config_wrapper_mock + expected = Files.SONIC_YANG_AS_JSON + + # Act + actual = config_wrapper.get_sonic_yang_as_json() + + # Assert + self.assertDictEqual(expected, actual) + + def test_convert_config_db_to_sonic_yang__empty_config_db__returns_empty_sonic_yang(self): + # Arrange + config_wrapper = gu_common.ConfigWrapper() + expected = {} + + # Act + actual = config_wrapper.convert_config_db_to_sonic_yang({}) + + # Assert + self.assertDictEqual(expected, actual) + + def test_convert_config_db_to_sonic_yang__non_empty_config_db__returns_sonic_yang_as_json(self): + # Arrange + config_wrapper = gu_common.ConfigWrapper() + expected = Files.SONIC_YANG_AS_JSON + + # Act + actual = config_wrapper.convert_config_db_to_sonic_yang(Files.CONFIG_DB_AS_JSON) + + # Assert + self.assertDictEqual(expected, actual) + + def test_convert_sonic_yang_to_config_db__empty_sonic_yang__returns_empty_config_db(self): + # Arrange + config_wrapper = gu_common.ConfigWrapper() + expected = {} + + # Act + actual = config_wrapper.convert_sonic_yang_to_config_db({}) + + # Assert + self.assertDictEqual(expected, actual) + + def test_convert_sonic_yang_to_config_db__non_empty_sonic_yang__returns_config_db_as_json(self): + # Arrange + config_wrapper = gu_common.ConfigWrapper() + expected = Files.CROPPED_CONFIG_DB_AS_JSON + + # Act + actual = config_wrapper.convert_sonic_yang_to_config_db(Files.SONIC_YANG_AS_JSON) + + # Assert + self.assertDictEqual(expected, actual) + + def test_convert_sonic_yang_to_config_db__table_name_without_colons__returns_config_db_as_json(self): + # Arrange + config_wrapper = gu_common.ConfigWrapper() + expected = Files.CROPPED_CONFIG_DB_AS_JSON + + # Act + actual = config_wrapper.convert_sonic_yang_to_config_db(Files.SONIC_YANG_AS_JSON_WITHOUT_COLONS) + + # Assert + self.assertDictEqual(expected, actual) + + def test_convert_sonic_yang_to_config_db__table_name_with_unexpected_colons__returns_config_db_as_json(self): + # Arrange + config_wrapper = gu_common.ConfigWrapper() + expected = Files.CROPPED_CONFIG_DB_AS_JSON + + # Act and assert + self.assertRaises(ValueError, + config_wrapper.convert_sonic_yang_to_config_db, + Files.SONIC_YANG_AS_JSON_WITH_UNEXPECTED_COLONS) + + def test_validate_sonic_yang_config__valid_config__returns_true(self): + # Arrange + config_wrapper = gu_common.ConfigWrapper() + expected = True + + # Act + actual = config_wrapper.validate_sonic_yang_config(Files.SONIC_YANG_AS_JSON) + + # Assert + self.assertEqual(expected, actual) + + def test_validate_sonic_yang_config__invvalid_config__returns_false(self): + # Arrange + config_wrapper = gu_common.ConfigWrapper() + expected = False + + # Act + actual = config_wrapper.validate_sonic_yang_config(Files.SONIC_YANG_AS_JSON_INVALID) + + # Assert + self.assertEqual(expected, actual) + + def test_validate_config_db_config__valid_config__returns_true(self): + # Arrange + config_wrapper = gu_common.ConfigWrapper() + expected = True + + # Act + actual = config_wrapper.validate_config_db_config(Files.CONFIG_DB_AS_JSON) + + # Assert + self.assertEqual(expected, actual) + + def test_validate_config_db_config__invalid_config__returns_false(self): + # Arrange + config_wrapper = gu_common.ConfigWrapper() + expected = False + + # Act + actual = config_wrapper.validate_config_db_config(Files.CONFIG_DB_AS_JSON_INVALID) + + # Assert + self.assertEqual(expected, actual) + + def test_crop_tables_without_yang__returns_cropped_config_db_as_json(self): + # Arrange + config_wrapper = gu_common.ConfigWrapper() + expected = Files.CROPPED_CONFIG_DB_AS_JSON + + # Act + actual = config_wrapper.crop_tables_without_yang(Files.CONFIG_DB_AS_JSON) + + # Assert + self.assertDictEqual(expected, actual) + +class TestPatchWrapper(unittest.TestCase): + def setUp(self): + self.config_wrapper_mock = gu_common.ConfigWrapper() + self.config_wrapper_mock.get_config_db_as_json=MagicMock(return_value=Files.CONFIG_DB_AS_JSON) + + def test_validate_config_db_patch_has_yang_models__table_without_yang_model__returns_false(self): + # Arrange + patch_wrapper = gu_common.PatchWrapper() + patch = [ { 'op': 'remove', 'path': '/TABLE_WITHOUT_YANG' } ] + expected = False + + # Act + actual = patch_wrapper.validate_config_db_patch_has_yang_models(patch) + + # Assert + self.assertEqual(expected, actual) + + def test_validate_config_db_patch_has_yang_models__table_with_yang_model__returns_true(self): + # Arrange + patch_wrapper = gu_common.PatchWrapper() + patch = [ { 'op': 'remove', 'path': '/ACL_TABLE' } ] + expected = True + + # Act + actual = patch_wrapper.validate_config_db_patch_has_yang_models(patch) + + # Assert + self.assertEqual(expected, actual) + + def test_convert_config_db_patch_to_sonic_yang_patch__invalid_config_db_patch__failure(self): + # Arrange + patch_wrapper = gu_common.PatchWrapper() + patch = [ { 'op': 'remove', 'path': '/TABLE_WITHOUT_YANG' } ] + + # Act and Assert + self.assertRaises(ValueError, patch_wrapper.convert_config_db_patch_to_sonic_yang_patch, patch) + + def test_same_patch__no_diff__returns_true(self): + # Arrange + patch_wrapper = gu_common.PatchWrapper() + + # Act and Assert + self.assertTrue(patch_wrapper.verify_same_json(Files.CONFIG_DB_AS_JSON, Files.CONFIG_DB_AS_JSON)) + + def test_same_patch__diff__returns_false(self): + # Arrange + patch_wrapper = gu_common.PatchWrapper() + + # Act and Assert + self.assertFalse(patch_wrapper.verify_same_json(Files.CONFIG_DB_AS_JSON, Files.CROPPED_CONFIG_DB_AS_JSON)) + + def test_generate_patch__no_diff__empty_patch(self): + # Arrange + patch_wrapper = gu_common.PatchWrapper() + + # Act + patch = patch_wrapper.generate_patch(Files.CONFIG_DB_AS_JSON, Files.CONFIG_DB_AS_JSON) + + # Assert + self.assertFalse(patch) + + def test_simulate_patch__empty_patch__no_changes(self): + # Arrange + patch_wrapper = gu_common.PatchWrapper() + patch = jsonpatch.JsonPatch([]) + expected = Files.CONFIG_DB_AS_JSON + + # Act + actual = patch_wrapper.simulate_patch(patch, Files.CONFIG_DB_AS_JSON) + + # Assert + self.assertDictEqual(expected, actual) + + def test_simulate_patch__non_empty_patch__changes_applied(self): + # Arrange + patch_wrapper = gu_common.PatchWrapper() + patch = Files.SINGLE_OPERATION_CONFIG_DB_PATCH + expected = Files.SINGLE_OPERATION_CONFIG_DB_PATCH.apply(Files.CONFIG_DB_AS_JSON) + + # Act + actual = patch_wrapper.simulate_patch(patch, Files.CONFIG_DB_AS_JSON) + + # Assert + self.assertDictEqual(expected, actual) + + def test_generate_patch__diff__non_empty_patch(self): + # Arrange + patch_wrapper = gu_common.PatchWrapper() + after_update_json = Files.SINGLE_OPERATION_CONFIG_DB_PATCH.apply(Files.CONFIG_DB_AS_JSON) + expected = Files.SINGLE_OPERATION_CONFIG_DB_PATCH + + # Act + actual = patch_wrapper.generate_patch(Files.CONFIG_DB_AS_JSON, after_update_json) + + # Assert + self.assertTrue(actual) + self.assertEqual(expected, actual) + + def test_convert_config_db_patch_to_sonic_yang_patch__empty_patch__returns_empty_patch(self): + # Arrange + patch_wrapper = gu_common.PatchWrapper(config_wrapper = self.config_wrapper_mock) + patch = jsonpatch.JsonPatch([]) + expected = jsonpatch.JsonPatch([]) + + # Act + actual = patch_wrapper.convert_config_db_patch_to_sonic_yang_patch(patch) + + # Assert + self.assertEqual(expected, actual) + + def test_convert_config_db_patch_to_sonic_yang_patch__single_operation_patch__returns_sonic_yang_patch(self): + # Arrange + patch_wrapper = gu_common.PatchWrapper(config_wrapper = self.config_wrapper_mock) + patch = Files.SINGLE_OPERATION_CONFIG_DB_PATCH + expected = Files.SINGLE_OPERATION_SONIC_YANG_PATCH + + # Act + actual = patch_wrapper.convert_config_db_patch_to_sonic_yang_patch(patch) + + # Assert + self.assertEqual(expected, actual) + + def test_convert_config_db_patch_to_sonic_yang_patch__multiple_operations_patch__returns_sonic_yang_patch(self): + # Arrange + config_wrapper = self.config_wrapper_mock + patch_wrapper = gu_common.PatchWrapper(config_wrapper = config_wrapper) + config_db_patch = Files.MULTI_OPERATION_CONFIG_DB_PATCH + + # Act + sonic_yang_patch = patch_wrapper.convert_config_db_patch_to_sonic_yang_patch(config_db_patch) + + # Assert + self.__assert_same_patch(config_db_patch, sonic_yang_patch, config_wrapper, patch_wrapper) + + def test_convert_sonic_yang_patch_to_config_db_patch__empty_patch__returns_empty_patch(self): + # Arrange + patch_wrapper = gu_common.PatchWrapper(config_wrapper = self.config_wrapper_mock) + patch = jsonpatch.JsonPatch([]) + expected = jsonpatch.JsonPatch([]) + + # Act + actual = patch_wrapper.convert_sonic_yang_patch_to_config_db_patch(patch) + + # Assert + self.assertEqual(expected, actual) + + def test_convert_sonic_yang_patch_to_config_db_patch__single_operation_patch__returns_config_db_patch(self): + # Arrange + patch_wrapper = gu_common.PatchWrapper(config_wrapper = self.config_wrapper_mock) + patch = Files.SINGLE_OPERATION_SONIC_YANG_PATCH + expected = Files.SINGLE_OPERATION_CONFIG_DB_PATCH + + # Act + actual = patch_wrapper.convert_sonic_yang_patch_to_config_db_patch(patch) + + # Assert + self.assertEqual(expected, actual) + + def test_convert_sonic_yang_patch_to_config_db_patch__multiple_operations_patch__returns_config_db_patch(self): + # Arrange + config_wrapper = self.config_wrapper_mock + patch_wrapper = gu_common.PatchWrapper(config_wrapper = config_wrapper) + sonic_yang_patch = Files.MULTI_OPERATION_SONIC_YANG_PATCH + + # Act + config_db_patch = patch_wrapper.convert_sonic_yang_patch_to_config_db_patch(sonic_yang_patch) + + # Assert + self.__assert_same_patch(config_db_patch, sonic_yang_patch, config_wrapper, patch_wrapper) + + def __assert_same_patch(self, config_db_patch, sonic_yang_patch, config_wrapper, patch_wrapper): + sonic_yang = config_wrapper.get_sonic_yang_as_json() + config_db = config_wrapper.get_config_db_as_json() + + after_update_sonic_yang = patch_wrapper.simulate_patch(sonic_yang_patch, sonic_yang) + after_update_config_db = patch_wrapper.simulate_patch(config_db_patch, config_db) + after_update_config_db_cropped = config_wrapper.crop_tables_without_yang(after_update_config_db) + + after_update_sonic_yang_as_config_db = \ + config_wrapper.convert_sonic_yang_to_config_db(after_update_sonic_yang) + + self.assertTrue(patch_wrapper.verify_same_json(after_update_config_db_cropped, after_update_sonic_yang_as_config_db)) diff --git a/tests/generic_config_updater/gutest_helpers.py b/tests/generic_config_updater/gutest_helpers.py new file mode 100644 index 0000000000..2e8984ad68 --- /dev/null +++ b/tests/generic_config_updater/gutest_helpers.py @@ -0,0 +1,53 @@ +import json +import jsonpatch +import os +import shutil +import sys +import unittest +from unittest.mock import MagicMock, Mock, call + +class MockSideEffectDict: + def __init__(self, map): + self.map = map + + def side_effect_func(self, *args): + l = [str(arg) for arg in args] + key = tuple(l) + value = self.map.get(key) + if value is None: + raise ValueError(f"Given arguments were not found in arguments map.\n Arguments: {key}\n Map: {self.map}") + + return value + +def create_side_effect_dict(map): + return MockSideEffectDict(map).side_effect_func + +class FilesLoader: + def __init__(self): + self.files_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "files") + self.cache = {} + + def __getattr__(self, attr): + return self._load(attr) + + def _load(self, file_name): + normalized_file_name = file_name.lower() + + # Try load json file + json_file_path = os.path.join(self.files_path, f"{normalized_file_name}.json") + if os.path.isfile(json_file_path): + with open(json_file_path) as fh: + text = fh.read() + return json.loads(text) + + # Try load json-patch file + jsonpatch_file_path = os.path.join(self.files_path, f"{normalized_file_name}.json-patch") + if os.path.isfile(jsonpatch_file_path): + with open(jsonpatch_file_path) as fh: + text = fh.read() + return jsonpatch.JsonPatch(json.loads(text)) + + raise ValueError(f"There is no file called '{file_name}' in 'files/' directory") + +# Files.File_Name will look for a file called "file_name" in the "files/" directory +Files = FilesLoader() From c3963c5673cf944aec2ff89868f4a864261f51d3 Mon Sep 17 00:00:00 2001 From: maksymbelei95 <75987222+maksymbelei95@users.noreply.github.com> Date: Mon, 26 Apr 2021 19:40:06 +0300 Subject: [PATCH 174/342] Fix remove ip rif (#1535) *Added checking of static routes, related to the interface, before deleting of the last IP entry to prevent deleting the RIF if a static route is present in the system. Signed-off-by: Maksym Belei --- config/main.py | 20 ++++ tests/config_int_ip_common.py | 31 ++++++ tests/config_int_ip_test.py | 158 ++++++++++++++++++++++++++++++ tests/conftest.py | 32 +++++- tests/crm_test.py | 1 + tests/int_ip_input/config_db.json | 41 ++++++++ tests/vlan_test.py | 6 ++ 7 files changed, 288 insertions(+), 1 deletion(-) create mode 100644 tests/config_int_ip_common.py create mode 100644 tests/config_int_ip_test.py create mode 100644 tests/int_ip_input/config_db.json diff --git a/config/main.py b/config/main.py index 6fad33f9c1..e9bab3172d 100644 --- a/config/main.py +++ b/config/main.py @@ -22,6 +22,7 @@ from swsscommon.swsscommon import SonicV2Connector, ConfigDBConnector, SonicDBConfig from utilities_common.db import Db from utilities_common.intf_filter import parse_interface_in_filter +from utilities_common import bgp_util import utilities_common.cli as clicommon from .utils import log @@ -2787,6 +2788,25 @@ def remove(ctx, interface_name, ip_addr): table_name = get_interface_table_name(interface_name) if table_name == "": ctx.fail("'interface_name' is not valid. Valid names [Ethernet/PortChannel/Vlan/Loopback]") + interface_dependent = interface_ipaddr_dependent_on_interface(config_db, interface_name) + # If we deleting the last IP entry of the interface, check whether a static route present for the RIF + # before deleting the entry and also the RIF. + if len(interface_dependent) == 1 and interface_dependent[0][1] == ip_addr: + # Check both IPv4 and IPv6 routes. + ip_versions = [ "ip", "ipv6"] + for ip_ver in ip_versions: + # Compete the command and ask Zebra to return the routes. + # Scopes of all VRFs will be checked. + cmd = "show {} route vrf all static".format(ip_ver) + if multi_asic.is_multi_asic(): + output = bgp_util.run_bgp_command(cmd, ctx.obj['namespace']) + else: + output = bgp_util.run_bgp_command(cmd) + # If there is output data, check is there a static route, + # bound to the interface. + if output != "": + if any(interface_name in output_line for output_line in output.splitlines()): + ctx.fail("Cannot remove the last IP entry of interface {}. A static {} route is still bound to the RIF.".format(interface_name, ip_ver)) config_db.set_entry(table_name, (interface_name, ip_addr), None) interface_dependent = interface_ipaddr_dependent_on_interface(config_db, interface_name) if len(interface_dependent) == 0 and is_interface_bind_to_vrf(config_db, interface_name) is False: diff --git a/tests/config_int_ip_common.py b/tests/config_int_ip_common.py new file mode 100644 index 0000000000..7cebfdb8ba --- /dev/null +++ b/tests/config_int_ip_common.py @@ -0,0 +1,31 @@ +show_ip_route_with_static_expected_output = """\ +Codes: K - kernel route, C - connected, S - static, R - RIP, + O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP, + T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP, + F - PBR, f - OpenFabric, + > - selected route, * - FIB route, q - queued, r - rejected, b - backup + +VRF Vrf11: +S>* 20.0.0.1/32 [1/0] is directly connected, Ethernet2, weight 1, 00:40:18 + +VRF default: +S>* 0.0.0.0/0 [200/0] via 192.168.111.3, eth0, weight 1, 19:51:57 +S>* 20.0.0.1/32 [1/0] is directly connected, Ethernet4 (vrf Vrf11), weight 1, 00:38:52 +S>* 20.0.0.4/32 [1/0] is directly connected, PortChannel2, weight 1, 00:38:52 +S>* 20.0.0.8/32 [1/0] is directly connected, Vlan2, weight 1, 00:38:52 +""" + +show_ipv6_route_with_static_expected_output = """\ +Codes: K - kernel route, C - connected, S - static, R - RIPng, + O - OSPFv3, I - IS-IS, B - BGP, N - NHRP, T - Table, + v - VNC, V - VNC-Direct, A - Babel, D - SHARP, F - PBR, + f - OpenFabric, + > - selected route, * - FIB route, q - queued, r - rejected, b - backup + +VRF Vrf11: +S>* fe80::/24 [1/0] is directly connected, Vlan4, weight 1, 00:00:04 + +VRF default: +S>* 20c0:a800:0:21::/64 [20/0] is directly connected, PortChannel4, 2d22h02m +S>* fe80::/32 [1/0] is directly connected, Ethernet8 (vrf Vrf11), weight 1, 00:00:04 +""" \ No newline at end of file diff --git a/tests/config_int_ip_test.py b/tests/config_int_ip_test.py new file mode 100644 index 0000000000..6968fcbe45 --- /dev/null +++ b/tests/config_int_ip_test.py @@ -0,0 +1,158 @@ +import os +import sys +import pytest +import mock +from importlib import reload + +from click.testing import CliRunner + +from utilities_common.db import Db + +modules_path = os.path.join(os.path.dirname(__file__), "..") +test_path = os.path.join(modules_path, "tests") +sys.path.insert(0, modules_path) +sys.path.insert(0, test_path) +mock_db_path = os.path.join(test_path, "int_ip_input") + + +class TestIntIp(object): + @pytest.fixture(scope="class", autouse=True) + def setup_class(cls): + print("SETUP") + os.environ['UTILITIES_UNIT_TESTING'] = "1" + import config.main as config + reload(config) + yield + print("TEARDOWN") + os.environ["UTILITIES_UNIT_TESTING"] = "0" + from .mock_tables import dbconnector + dbconnector.dedicated_dbs = {} + + @pytest.mark.parametrize('setup_single_bgp_instance', + ['ip_route_for_int_ip'], indirect=['setup_single_bgp_instance']) + def test_config_int_ip_rem( + self, + get_cmd_module, + setup_single_bgp_instance): + (config, show) = get_cmd_module + jsonfile_config = os.path.join(mock_db_path, "config_db.json") + from .mock_tables import dbconnector + dbconnector.dedicated_dbs['CONFIG_DB'] = jsonfile_config + + runner = CliRunner() + db = Db() + obj = {'config_db': db.cfgdb} + + # remove vlan IP`s + with mock.patch('utilities_common.cli.run_command') as mock_run_command: + result = runner.invoke(config.config.commands["interface"].commands["ip"].commands["remove"], + ["Ethernet16", "192.168.10.1/24"], obj=obj) + print(result.exit_code, result.output) + assert result.exit_code == 0 + assert mock_run_command.call_count == 1 + + @pytest.mark.parametrize('setup_single_bgp_instance', + ['ip_route_for_int_ip'], indirect=['setup_single_bgp_instance']) + def test_config_int_ip_rem_static( + self, + get_cmd_module, + setup_single_bgp_instance): + (config, show) = get_cmd_module + jsonfile_config = os.path.join(mock_db_path, "config_db") + from .mock_tables import dbconnector + dbconnector.dedicated_dbs['CONFIG_DB'] = jsonfile_config + + runner = CliRunner() + db = Db() + obj = {'config_db': db.cfgdb} + + with mock.patch('utilities_common.cli.run_command') as mock_run_command: + result = runner.invoke(config.config.commands["interface"].commands["ip"].commands["remove"], + ["Ethernet2", "192.168.0.1/24"], obj=obj) + print(result.exit_code, result.output) + assert result.exit_code != 0 + assert "Error: Cannot remove the last IP entry of interface Ethernet2. A static ip route is still bound to the RIF." in result.output + assert mock_run_command.call_count == 0 + + with mock.patch('utilities_common.cli.run_command') as mock_run_command: + result = runner.invoke(config.config.commands["interface"].commands["ip"].commands["remove"], + ["Ethernet8", "192.168.3.1/24"], obj=obj) + print(result.exit_code, result.output) + assert result.exit_code != 0 + assert "Error: Cannot remove the last IP entry of interface Ethernet8. A static ipv6 route is still bound to the RIF." in result.output + assert mock_run_command.call_count == 0 + + with mock.patch('utilities_common.cli.run_command') as mock_run_command: + result = runner.invoke(config.config.commands["interface"].commands["ip"].commands["remove"], + ["Vlan2", "192.168.1.1/21"], obj=obj) + print(result.exit_code, result.output) + assert result.exit_code != 0 + assert "Error: Cannot remove the last IP entry of interface Vlan2. A static ip route is still bound to the RIF." in result.output + assert mock_run_command.call_count == 0 + + with mock.patch('utilities_common.cli.run_command') as mock_run_command: + result = runner.invoke(config.config.commands["interface"].commands["ip"].commands["remove"], + ["PortChannel2", "10.0.0.56/31"], obj=obj) + print(result.exit_code, result.output) + assert result.exit_code != 0 + assert "Error: Cannot remove the last IP entry of interface PortChannel2. A static ip route is still bound to the RIF." in result.output + assert mock_run_command.call_count == 0 + + with mock.patch('utilities_common.cli.run_command') as mock_run_command: + result = runner.invoke(config.config.commands["interface"].commands["ip"].commands["remove"], + ["Ethernet4", "192.168.4.1/24"], obj=obj) + print(result.exit_code, result.output) + assert result.exit_code == 0 + assert mock_run_command.call_count == 1 + +class TestIntIpMultiasic(object): + @pytest.fixture(scope="class", autouse=True) + def setup_class(cls): + print("SETUP") + os.environ['UTILITIES_UNIT_TESTING'] = "1" + os.environ["UTILITIES_UNIT_TESTING_TOPOLOGY"] = "multi_asic" + from .mock_tables import dbconnector + from .mock_tables import mock_multi_asic + reload(mock_multi_asic) + dbconnector.load_namespace_config() + yield + print("TEARDOWN") + os.environ["UTILITIES_UNIT_TESTING"] = "0" + os.environ["UTILITIES_UNIT_TESTING_TOPOLOGY"] = "" + # change back to single asic config + from .mock_tables import dbconnector + from .mock_tables import mock_single_asic + reload(mock_single_asic) + dbconnector.dedicated_dbs = {} + dbconnector.load_namespace_config() + + @pytest.mark.parametrize('setup_multi_asic_bgp_instance', + ['ip_route_for_int_ip'], indirect=['setup_multi_asic_bgp_instance']) + def test_config_int_ip_rem_static_multiasic( + self, + get_cmd_module, + setup_multi_asic_bgp_instance): + (config, show) = get_cmd_module + jsonfile_config = os.path.join(mock_db_path, "config_db") + from .mock_tables import dbconnector + dbconnector.dedicated_dbs['CONFIG_DB'] = jsonfile_config + + runner = CliRunner() + db = Db() + obj = {'config_db': db.cfgdb, 'namespace': 'test_ns'} + + with mock.patch('utilities_common.cli.run_command') as mock_run_command: + result = runner.invoke(config.config.commands["interface"].commands["ip"].commands["remove"], + ["Ethernet2", "192.168.0.1/24"], obj=obj) + print(result.exit_code, result.output) + assert result.exit_code != 0 + assert "Error: Cannot remove the last IP entry of interface Ethernet2. A static ip route is still bound to the RIF." in result.output + assert mock_run_command.call_count == 0 + + with mock.patch('utilities_common.cli.run_command') as mock_run_command: + result = runner.invoke(config.config.commands["interface"].commands["ip"].commands["remove"], + ["Ethernet8", "192.168.3.1/24"], obj=obj) + print(result.exit_code, result.output) + assert result.exit_code != 0 + assert "Error: Cannot remove the last IP entry of interface Ethernet8. A static ipv6 route is still bound to the RIF." in result.output + assert mock_run_command.call_count == 0 \ No newline at end of file diff --git a/tests/conftest.py b/tests/conftest.py index 16c018bb64..4ff1a002bd 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -9,6 +9,7 @@ from .mock_tables import dbconnector from . import show_ip_route_common +from . import config_int_ip_common test_path = os.path.dirname(os.path.abspath(__file__)) modules_path = os.path.dirname(test_path) @@ -124,6 +125,14 @@ def mock_run_bgp_command(vtysh_cmd, bgp_namespace): mock_frr_data = json_data.read() return mock_frr_data return "" + + def mock_run_bgp_command_for_static(vtysh_cmd, bgp_namespace=""): + if vtysh_cmd == "show ip route vrf all static": + return config_int_ip_common.show_ip_route_with_static_expected_output + elif vtysh_cmd == "show ipv6 route vrf all static": + return config_int_ip_common.show_ipv6_route_with_static_expected_output + else: + return "" def mock_run_show_ip_route_commands(request): if request.param == 'ipv6_route_err': @@ -147,10 +156,18 @@ def mock_run_show_ip_route_commands(request): request.param == 'ipv6_route', request.param == 'ipv6_specific_route']): bgp_util.run_bgp_command = mock.MagicMock( return_value=mock_run_show_ip_route_commands(request)) + elif request.param == 'ip_route_for_int_ip': + _old_run_bgp_command = bgp_util.run_bgp_command + bgp_util.run_bgp_command = mock_run_bgp_command_for_static else: bgp_util.run_bgp_command = mock.MagicMock( return_value=mock_run_bgp_command("", "")) + yield + + if request.param == 'ip_route_for_int_ip': + bgp_util.run_bgp_command = _old_run_bgp_command + @pytest.fixture def setup_multi_asic_bgp_instance(request): @@ -178,6 +195,16 @@ def setup_multi_asic_bgp_instance(request): m_asic_json_file = os.path.join( test_path, 'mock_tables', 'dummy.json') + def mock_run_bgp_command_for_static(vtysh_cmd, bgp_namespace=""): + if bgp_namespace != 'test_ns': + return "" + if vtysh_cmd == "show ip route vrf all static": + return config_int_ip_common.show_ip_route_with_static_expected_output + elif vtysh_cmd == "show ipv6 route vrf all static": + return config_int_ip_common.show_ipv6_route_with_static_expected_output + else: + return "" + def mock_run_bgp_command(vtysh_cmd, bgp_namespace): bgp_mocked_json = os.path.join( test_path, 'mock_tables', bgp_namespace, m_asic_json_file) @@ -189,7 +216,10 @@ def mock_run_bgp_command(vtysh_cmd, bgp_namespace): return "" _old_run_bgp_command = bgp_util.run_bgp_command - bgp_util.run_bgp_command = mock_run_bgp_command + if request.param == 'ip_route_for_int_ip': + bgp_util.run_bgp_command = mock_run_bgp_command_for_static + else: + bgp_util.run_bgp_command = mock_run_bgp_command yield diff --git a/tests/crm_test.py b/tests/crm_test.py index 369d9a51ab..d99402e057 100644 --- a/tests/crm_test.py +++ b/tests/crm_test.py @@ -1216,6 +1216,7 @@ def setup_class(cls): os.environ["UTILITIES_UNIT_TESTING_TOPOLOGY"] = "multi_asic" from .mock_tables import dbconnector from .mock_tables import mock_multi_asic + importlib.reload(mock_multi_asic) dbconnector.load_namespace_config() def test_crm_show_summary(self): diff --git a/tests/int_ip_input/config_db.json b/tests/int_ip_input/config_db.json new file mode 100644 index 0000000000..3f2d6e5beb --- /dev/null +++ b/tests/int_ip_input/config_db.json @@ -0,0 +1,41 @@ +{ + "INTERFACE|Ethernet16": { + "NULL": "NULL" + }, + "INTERFACE|Ethernet16|192.168.10.1/24": { + "NULL": "NULL" + }, + "INTERFACE|Ethernet2": { + "NULL": "NULL" + }, + "INTERFACE|Ethernet2|192.168.0.1/24": { + "NULL": "NULL" + }, + "INTERFACE|Ethernet4": { + "NULL": "NULL" + }, + "INTERFACE|Ethernet4|192.168.4.1/24": { + "NULL": "NULL" + }, + "INTERFACE|Ethernet4|192.168.100.1/24": { + "NULL": "NULL" + }, + "INTERFACE|Ethernet8": { + "NULL": "NULL" + }, + "INTERFACE|Ethernet8|192.168.3.1/24": { + "NULL": "NULL" + }, + "PORTCHANNEL_INTERFACE|PortChannel2": { + "NULL": "NULL" + }, + "PORTCHANNEL_INTERFACE|PortChannel2|10.0.0.56/31": { + "NULL": "NULL" + }, + "VLAN_INTERFACE|Vlan2": { + "proxy_arp": "enabled" + }, + "VLAN_INTERFACE|Vlan2|192.168.1.1/21": { + "NULL": "NULL" + } +} \ No newline at end of file diff --git a/tests/vlan_test.py b/tests/vlan_test.py index d4832dc2cf..ad3ff9fbb4 100644 --- a/tests/vlan_test.py +++ b/tests/vlan_test.py @@ -7,6 +7,7 @@ import config.main as config import show.main as show from utilities_common.db import Db +from importlib import reload show_vlan_brief_output="""\ +-----------+-----------------+-----------------+----------------+-----------------------+-------------+ @@ -188,6 +189,11 @@ class TestVlan(object): @classmethod def setup_class(cls): os.environ['UTILITIES_UNIT_TESTING'] = "1" + # ensure that we are working with single asic config + from .mock_tables import dbconnector + from .mock_tables import mock_single_asic + reload(mock_single_asic) + dbconnector.load_namespace_config() print("SETUP") def test_show_vlan(self): From 9dba93fd96194d70ee181ed48f439bc4f3c00b82 Mon Sep 17 00:00:00 2001 From: Renuka Manavalan <47282725+renukamanavalan@users.noreply.github.com> Date: Mon, 26 Apr 2021 14:10:44 -0700 Subject: [PATCH 175/342] disk_check: Check & mount RO as RW using tmpfs (#1569) What I did There is a bug that occasionally turn root-overlay as RO. This makes /etc & /home as RO. This blocks any new remote user login, as that needs to write into /etc & /home. This tool scans /etc & /home (or given dirs) as in RW or RO state. If RO, it could create a writable overlay using tmpfs. This is transient and stays until next reboot. Any write after the overlay will be lost upon reboot. But this allows new remote users login. How I did it Create upper & work dirs in /run/mount (tmpfs). Mount /etc & /home as lowerdirs and use the same name for final merge. This allows anyone opening a file in /etc or /home to operate on the merged overlay, transparently. How to verify it Mount any dir on tmpfs ( mount -t tmpfs tmpfs test_dir) remount as RO (mount -o remount,ro test_dir) Pass that dir to this script. (disk_check.py -d ./test_dir) Now it should be RW --- scripts/disk_check.py | 151 ++++++++++++++++++++++++++++++++++++ setup.py | 1 + tests/disk_check_test.py | 161 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 313 insertions(+) create mode 100644 scripts/disk_check.py create mode 100644 tests/disk_check_test.py diff --git a/scripts/disk_check.py b/scripts/disk_check.py new file mode 100644 index 0000000000..94959bfa1a --- /dev/null +++ b/scripts/disk_check.py @@ -0,0 +1,151 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- + +""" +What: + There have been cases, where disk turns Read-only due to kernel bug. + In Read-only state, system blocks new remote user login via TACACS. + This utility is to check & make transient recovery as needed. + +How: + check for Read-Write permission. If Read-only, create writable overlay using tmpfs. + + By default "/etc" & "/home" are checked and if in Read-only state, make them Read-Write + using overlay on top of tmpfs. + + Making /etc & /home as writable lets successful new remote user login. + + If in Read-only state or in Read-Write state with the help of tmpfs overlay, + syslog ERR messages are written, to help raise alerts. + + Monit may be used to invoke it periodically, to help scan & fix and + report via syslog. + +""" + +import argparse +import os +import sys +import syslog +import subprocess + +UPPER_DIR = "/run/mount/upper" +WORK_DIR = "/run/mount/work" +MOUNTS_FILE = "/proc/mounts" + +def log_err(m): + print("Err: {}".format(m), file=sys.stderr) + syslog.syslog(syslog.LOG_ERR, m) + + +def log_info(m): + print("Info: {}".format(m)) + syslog.syslog(syslog.LOG_INFO, m) + + +def log_debug(m): + print("debug: {}".format(m)) + syslog.syslog(syslog.LOG_DEBUG, m) + + +def test_writable(dirs): + for d in dirs: + rw = os.access(d, os.W_OK) + if not rw: + log_err("{} is not read-write".format(d)) + return False + else: + log_debug("{} is Read-Write".format(d)) + return True + + +def run_cmd(cmd): + proc = subprocess.run(cmd, shell=True, text=True, capture_output=True) + ret = proc.returncode + if ret: + log_err("failed: ret={} cmd={}".format(ret, cmd)) + else: + log_info("ret={} cmd: {}".format(ret, cmd)) + + if proc.stdout: + log_info("stdout: {}".format(str(proc.stdout))) + if proc.stderr: + log_info("stderr: {}".format(str(proc.stderr))) + return ret + + +def get_dname(path_name): + return os.path.basename(os.path.normpath(path_name)) + + +def do_mnt(dirs): + if os.path.exists(UPPER_DIR): + log_err("Already mounted") + return 1 + + for i in (UPPER_DIR, WORK_DIR): + try: + os.mkdir(i) + except OSError as error: + log_err("Failed to create {}".format(i)) + return 1 + + for d in dirs: + ret = run_cmd("mount -t overlay overlay_{} -o lowerdir={}," + "upperdir={},workdir={} {}".format( + get_dname(d), d, UPPER_DIR, WORK_DIR, d)) + if ret: + break + + if ret: + log_err("Failed to mount {} as Read-Write".format(dirs)) + else: + log_info("{} are mounted as Read-Write".format(dirs)) + return ret + + +def is_mounted(dirs): + if not os.path.exists(UPPER_DIR): + return False + + onames = set() + for d in dirs: + onames.add("overlay_{}".format(get_dname(d))) + + with open(MOUNTS_FILE, "r") as s: + for ln in s.readlines(): + n = ln.strip().split()[0] + if n in onames: + log_debug("Mount exists for {}".format(n)) + return True + return False + + +def do_check(skip_mount, dirs): + ret = 0 + if not test_writable(dirs): + if not skip_mount: + ret = do_mnt(dirs) + + # Check if mounted + if (not ret) and is_mounted(dirs): + log_err("READ-ONLY: Mounted {} to make Read-Write".format(dirs)) + + return ret + + +def main(): + parser=argparse.ArgumentParser( + description="check disk for Read-Write and mount etc & home as Read-Write") + parser.add_argument('-s', "--skip-mount", action='store_true', default=False, + help="Skip mounting /etc & /home as Read-Write") + parser.add_argument('-d', "--dirs", default="/etc,/home", + help="dirs to mount") + args = parser.parse_args() + + ret = do_check(args.skip_mount, args.dirs.split(",")) + return ret + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/setup.py b/setup.py index d070827667..cd706eb433 100644 --- a/setup.py +++ b/setup.py @@ -81,6 +81,7 @@ 'scripts/db_migrator.py', 'scripts/decode-syseeprom', 'scripts/dropcheck', + 'scripts/disk_check.py', 'scripts/dropconfig', 'scripts/dropstat', 'scripts/dump_nat_entries.py', diff --git a/tests/disk_check_test.py b/tests/disk_check_test.py new file mode 100644 index 0000000000..40bc55f0f5 --- /dev/null +++ b/tests/disk_check_test.py @@ -0,0 +1,161 @@ +import sys +import syslog +from unittest.mock import patch +import pytest + +sys.path.append("scripts") +import disk_check + +disk_check.MOUNTS_FILE = "/tmp/proc_mounts" + +test_data = { + "0": { + "desc": "All good as /tmp is read-write", + "args": ["", "-d", "/tmp"], + "err": "" + }, + "1": { + "desc": "Not good as /tmpx is not read-write; But fix skipped", + "args": ["", "-d", "/tmpx", "-s"], + "err": "/tmpx is not read-write" + }, + "2": { + "desc": "Not good as /tmpx is not read-write; expect mount", + "args": ["", "-d", "/tmpx"], + "upperdir": "/tmp/tmpx", + "workdir": "/tmp/tmpy", + "mounts": "overlay_tmpx blahblah", + "err": "/tmpx is not read-write|READ-ONLY: Mounted ['/tmpx'] to make Read-Write", + "cmds": ['mount -t overlay overlay_tmpx -o lowerdir=/tmpx,upperdir=/tmp/tmpx,workdir=/tmp/tmpy /tmpx'] + }, + "3": { + "desc": "Not good as /tmpx is not read-write; mount fail as create of upper fails", + "args": ["", "-d", "/tmpx"], + "upperdir": "/tmpx", + "expect_ret": 1 + }, + "4": { + "desc": "Not good as /tmpx is not read-write; mount fail as upper exist", + "args": ["", "-d", "/tmpx"], + "upperdir": "/tmp", + "err": "/tmpx is not read-write|Already mounted", + "expect_ret": 1 + }, + "5": { + "desc": "/tmp is read-write, but as well mount exists; hence report", + "args": ["", "-d", "/tmp"], + "upperdir": "/tmp", + "mounts": "overlay_tmp blahblah", + "err": "READ-ONLY: Mounted ['/tmp'] to make Read-Write" + }, + "6": { + "desc": "Test another code path for good case", + "args": ["", "-d", "/tmp"], + "upperdir": "/tmp" + } +} + +err_data = "" +cmds = [] +current_tc = None + +def mount_file(d): + with open(disk_check.MOUNTS_FILE, "w") as s: + s.write(d) + + +def report_err_msg(lvl, m): + global err_data + if lvl == syslog.LOG_ERR: + if err_data: + err_data += "|" + err_data += m + + +class proc: + returncode = 0 + stdout = None + stderr = None + + def __init__(self, proc_upd = None): + if proc_upd: + self.returncode = proc_upd.get("ret", 0) + self.stdout = proc_upd.get("stdout", None) + self.stderr = proc_upd.get("stderr", None) + + +def mock_subproc_run(cmd, shell, text, capture_output): + global cmds + + upd = (current_tc["proc"][len(cmds)] + if len(current_tc.get("proc", [])) > len(cmds) else None) + cmds.append(cmd) + + return proc(upd) + + +def init_tc(tc): + global err_data, cmds, current_tc + + err_data = "" + cmds = [] + mount_file(tc.get("mounts", "")) + current_tc = tc + + +def swap_upper(tc): + tmp_u = tc["upperdir"] + tc["upperdir"] = disk_check.UPPER_DIR + disk_check.UPPER_DIR = tmp_u + + +def swap_work(tc): + tmp_w = tc["workdir"] + tc["upperdir"] = disk_check.WORK_DIR + disk_check.WORK_DIR = tmp_w + + +class TestDiskCheck(object): + def setup(self): + pass + + + @patch("disk_check.syslog.syslog") + @patch("disk_check.subprocess.run") + def test_readonly(self, mock_proc, mock_log): + global err_data, cmds + + mock_proc.side_effect = mock_subproc_run + mock_log.side_effect = report_err_msg + + for i, tc in test_data.items(): + print("-----------Start tc {}---------".format(i)) + init_tc(tc) + + with patch('sys.argv', tc["args"]): + if "upperdir" in tc: + swap_upper(tc) + + if "workdir" in tc: + # restore + swap_work(tc) + + ret = disk_check.main() + + if "upperdir" in tc: + # restore + swap_upper(tc) + + if "workdir" in tc: + # restore + swap_work(tc) + + print("ret = {}".format(ret)) + print("err_data={}".format(err_data)) + print("cmds: {}".format(cmds)) + + assert ret == tc.get("expect_ret", 0) + if "err" in tc: + assert err_data == tc["err"] + assert cmds == tc.get("cmds", []) + print("-----------End tc {}-----------".format(i)) From c166f66827157f8e442e2176ce3efe166a5f6b5e Mon Sep 17 00:00:00 2001 From: arlakshm <55814491+arlakshm@users.noreply.github.com> Date: Tue, 27 Apr 2021 12:00:57 -0700 Subject: [PATCH 176/342] [multi-asic] support show ip bgp neigh/network for multi asic (#1574) This change is to add support for the commands "show ip bgp neighbor "and "show ip bgp network" for multi asic platforms Add unit tests for these commands Signed-off-by: Arvindsrinivasan Lakshmi Narasimhan --- show/bgp_frr_v4.py | 97 ++- show/bgp_frr_v6.py | 88 +- tests/bgp_commands_input/__init__.py | 0 .../bgp_neighbor_test_vector.py | 755 ++++++++++++++++++ .../bgp_network_test_vector.py | 522 ++++++++++++ tests/conftest.py | 41 +- tests/mock_tables/asic0/config_db.json | 20 + tests/mock_tables/asic1/config_db.json | 20 + tests/mock_tables/mock_multi_asic.py | 2 + tests/pfcstat_test.py | 5 + tests/pfcwd_test.py | 4 + tests/show_bgp_neighbor_test.py | 128 +++ tests/show_bgp_network_test.py | 100 +++ utilities_common/bgp_util.py | 39 +- utilities_common/multi_asic.py | 5 + 15 files changed, 1776 insertions(+), 50 deletions(-) create mode 100644 tests/bgp_commands_input/__init__.py create mode 100644 tests/bgp_commands_input/bgp_neighbor_test_vector.py create mode 100644 tests/bgp_commands_input/bgp_network_test_vector.py create mode 100644 tests/show_bgp_neighbor_test.py create mode 100644 tests/show_bgp_network_test.py diff --git a/show/bgp_frr_v4.py b/show/bgp_frr_v4.py index 5b630d8981..4a3e065200 100644 --- a/show/bgp_frr_v4.py +++ b/show/bgp_frr_v4.py @@ -1,11 +1,12 @@ import click + +from sonic_py_common import multi_asic +from show.main import ip import utilities_common.bgp_util as bgp_util import utilities_common.cli as clicommon import utilities_common.constants as constants import utilities_common.multi_asic as multi_asic_util -from show.main import ip, run_command - ############################################################################### # # 'show ip bgp' cli stanza @@ -13,7 +14,6 @@ ############################################################################### - @ip.group(cls=clicommon.AliasedGroup) def bgp(): """Show IPv4 BGP (Border Gateway Protocol) information""" @@ -24,43 +24,93 @@ def bgp(): @bgp.command() @multi_asic_util.multi_asic_click_options def summary(namespace, display): - bgp_summary = bgp_util.get_bgp_summary_from_all_bgp_instances(constants.IPV4, namespace,display) + bgp_summary = bgp_util.get_bgp_summary_from_all_bgp_instances( + constants.IPV4, namespace, display) bgp_util.display_bgp_summary(bgp_summary=bgp_summary, af=constants.IPV4) - + # 'neighbors' subcommand ("show ip bgp neighbors") @bgp.command() @click.argument('ipaddress', required=False) -@click.argument('info_type', type=click.Choice(['routes', 'advertised-routes', 'received-routes']), required=False) -def neighbors(ipaddress, info_type): +@click.argument('info_type', + type=click.Choice( + ['routes', 'advertised-routes', 'received-routes']), + required=False) +@click.option('--namespace', + '-n', + 'namespace', + default=None, + type=str, + show_default=True, + help='Namespace name or all', + callback=multi_asic_util.multi_asic_namespace_validation_callback) +def neighbors(ipaddress, info_type, namespace): """Show IP (IPv4) BGP neighbors""" - command = 'sudo vtysh -c "show ip bgp neighbor' - + command = 'show ip bgp neighbor' if ipaddress is not None: - command += ' {}'.format(ipaddress) + if not bgp_util.is_ipv4_address(ipaddress): + ctx = click.get_current_context() + ctx.fail("{} is not valid ipv4 address\n".format(ipaddress)) + try: + actual_namespace = bgp_util.get_namespace_for_bgp_neighbor( + ipaddress) + if namespace is not None and namespace != actual_namespace: + click.echo( + "[WARNING]: bgp neighbor {} is present in namespace {} not in {}" + .format(ipaddress, actual_namespace, namespace)) - # info_type is only valid if ipaddress is specified - if info_type is not None: - command += ' {}'.format(info_type) + # save the namespace in which the bgp neighbor is configured + namespace = actual_namespace + + command += ' {}'.format(ipaddress) - command += '"' + # info_type is only valid if ipaddress is specified + if info_type is not None: + command += ' {}'.format(info_type) + except ValueError as err: + ctx = click.get_current_context() + ctx.fail("{}\n".format(err)) + + ns_list = multi_asic.get_namespace_list(namespace) + output = "" + for ns in ns_list: + output += bgp_util.run_bgp_command(command, ns) + + click.echo(output.rstrip('\n')) - run_command(command) # 'network' subcommand ("show ip bgp network") @bgp.command() -@click.argument('ipaddress', metavar='[|]', required=False) -@click.argument('info_type', metavar='[bestpath|json|longer-prefixes|multipath]', - type=click.Choice(['bestpath', 'json', 'longer-prefixes', 'multipath']), required=False) -def network(ipaddress, info_type): +@click.argument('ipaddress', + metavar='[|]', + required=False) +@click.argument('info_type', + metavar='[bestpath|json|longer-prefixes|multipath]', + type=click.Choice( + ['bestpath', 'json', 'longer-prefixes', 'multipath']), + required=False) +@click.option('--namespace', + '-n', + 'namespace', + type=str, + show_default=True, + required=True if multi_asic.is_multi_asic is True else False, + help='Namespace name or all', + default=None, + callback=multi_asic_util.multi_asic_namespace_validation_callback) +def network(ipaddress, info_type, namespace): """Show IP (IPv4) BGP network""" - command = 'sudo vtysh -c "show ip bgp' + if multi_asic.is_multi_asic() and namespace not in multi_asic.get_namespace_list(): + ctx = click.get_current_context() + ctx.fail('-n/--namespace option required. provide namespace from list {}'\ + .format(multi_asic.get_namespace_list())) + command = 'show ip bgp' if ipaddress is not None: if '/' in ipaddress: - # For network prefixes then this all info_type(s) are available + # For network prefixes then this all info_type(s) are available pass else: # For an ipaddress then check info_type, exit if specified option doesn't work. @@ -75,6 +125,5 @@ def network(ipaddress, info_type): if info_type is not None: command += ' {}'.format(info_type) - command += '"' - - run_command(command) + output = bgp_util.run_bgp_command(command, namespace) + click.echo(output.rstrip('\n')) diff --git a/show/bgp_frr_v6.py b/show/bgp_frr_v6.py index 39be295b18..eb1a5b641b 100644 --- a/show/bgp_frr_v6.py +++ b/show/bgp_frr_v6.py @@ -1,7 +1,8 @@ import click +from sonic_py_common import multi_asic import utilities_common.cli as clicommon -from show.main import ipv6, run_command +from show.main import ipv6 import utilities_common.multi_asic as multi_asic_util import utilities_common.bgp_util as bgp_util import utilities_common.constants as constants @@ -31,27 +32,85 @@ def summary(namespace, display): # 'neighbors' subcommand ("show ipv6 bgp neighbors") @bgp.command() @click.argument('ipaddress', required=False) -@click.argument('info_type', type=click.Choice(['routes', 'advertised-routes', 'received-routes']), required=False) -def neighbors(ipaddress, info_type): +@click.argument('info_type', + type=click.Choice( + ['routes', 'advertised-routes', 'received-routes']), + required=False) +@click.option('--namespace', + '-n', + 'namespace', + default=None, + type=str, + show_default=True, + help='Namespace name or all', + callback=multi_asic_util.multi_asic_namespace_validation_callback) +def neighbors(ipaddress, info_type, namespace): """Show IPv6 BGP neighbors""" - ipaddress = "" if ipaddress is None else ipaddress + + if ipaddress is not None: + if not bgp_util.is_ipv6_address(ipaddress): + ctx = click.get_current_context() + ctx.fail("{} is not valid ipv6 address\n".format(ipaddress)) + try: + actual_namespace = bgp_util.get_namespace_for_bgp_neighbor( + ipaddress) + if namespace is not None and namespace != actual_namespace: + click.echo( + "bgp neighbor {} is present in namespace {} not in {}" + .format(ipaddress, actual_namespace, namespace)) + + # save the namespace in which the bgp neighbor is configured + namespace = actual_namespace + except ValueError as err: + ctx = click.get_current_context() + ctx.fail("{}\n".format(err)) + else: + ipaddress = "" + info_type = "" if info_type is None else info_type - command = 'sudo vtysh -c "show bgp ipv6 neighbor {} {}"'.format(ipaddress, info_type) - run_command(command) + command = 'show bgp ipv6 neighbor {} {}'.format( + ipaddress, info_type) + + ns_list = multi_asic.get_namespace_list(namespace) + output = "" + for ns in ns_list: + output += bgp_util.run_bgp_command(command, ns) + + click.echo(output.rstrip('\n')) + # 'network' subcommand ("show ipv6 bgp network") @bgp.command() -@click.argument('ipaddress', metavar='[|]', required=False) -@click.argument('info_type', metavar='[bestpath|json|longer-prefixes|multipath]', - type=click.Choice(['bestpath', 'json', 'longer-prefixes', 'multipath']), required=False) -def network(ipaddress, info_type): +@click.argument('ipaddress', + metavar='[|]', + required=False) +@click.argument('info_type', + metavar='[bestpath|json|longer-prefixes|multipath]', + type=click.Choice( + ['bestpath', 'json', 'longer-prefixes', 'multipath']), + required=False) +@click.option('--namespace', + '-n', + 'namespace', + type=str, + show_default=True, + required=True if multi_asic.is_multi_asic is True else False, + help='Namespace name or all', + default=None, + callback=multi_asic_util.multi_asic_namespace_validation_callback) +def network(ipaddress, info_type, namespace): """Show BGP ipv6 network""" - command = 'sudo vtysh -c "show bgp ipv6' + command = 'show bgp ipv6' + + if multi_asic.is_multi_asic() and namespace not in multi_asic.get_namespace_list(): + ctx = click.get_current_context() + ctx.fail('-n/--namespace option required. provide namespace from list {}'\ + .format(multi_asic.get_namespace_list())) if ipaddress is not None: if '/' in ipaddress: - # For network prefixes then this all info_type(s) are available + # For network prefixes then this all info_type(s) are available pass else: # For an ipaddress then check info_type, exit if specified option doesn't work. @@ -66,6 +125,5 @@ def network(ipaddress, info_type): if info_type is not None: command += ' {}'.format(info_type) - command += '"' - - run_command(command) + output = bgp_util.run_bgp_command(command, namespace) + click.echo(output.rstrip('\n')) diff --git a/tests/bgp_commands_input/__init__.py b/tests/bgp_commands_input/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/bgp_commands_input/bgp_neighbor_test_vector.py b/tests/bgp_commands_input/bgp_neighbor_test_vector.py new file mode 100644 index 0000000000..a5766c2a5c --- /dev/null +++ b/tests/bgp_commands_input/bgp_neighbor_test_vector.py @@ -0,0 +1,755 @@ +bgp_v4_neighbors_output = \ +""" +BGP neighbor is 10.0.0.57, remote AS 64600, local AS 65100, external link + Description: ARISTA01T1 + Member of peer-group PEER_V4 for session parameters + BGP version 4, remote router ID 100.1.0.29, local router ID 10.1.0.32 + BGP state = Established, up for 00:00:39 + Last read 00:00:00, Last write 00:00:00 + Hold time is 10, keepalive interval is 3 seconds + Configured hold time is 10, keepalive interval is 3 seconds + Neighbor capabilities: + 4 Byte AS: advertised and received + AddPath: + IPv4 Unicast: RX advertised IPv4 Unicast and received + Route refresh: advertised and received(new) + Address Family IPv4 Unicast: advertised and received + Hostname Capability: advertised (name: vlab-01,domain name: n/a) not received + Graceful Restart Capability: advertised and received + Remote Restart timer is 300 seconds + Address families by peer: + none + Graceful restart information: + End-of-RIB send: IPv4 Unicast + End-of-RIB received: IPv4 Unicast + Local GR Mode: Restart* + Remote GR Mode: Helper + R bit: False + Timers: + Configured Restart Time(sec): 240 + Received Restart Time(sec): 300 + IPv4 Unicast: + F bit: False + End-of-RIB sent: Yes + End-of-RIB sent after update: No + End-of-RIB received: Yes + Timers: + Configured Stale Path Time(sec): 360 + Configured Selection Deferral Time(sec): 360 + Message statistics: + Inq depth is 0 + Outq depth is 0 + Sent Rcvd + Opens: 2 1 + Notifications: 2 2 + Updates: 3203 3202 + Keepalives: 14 15 + Route Refresh: 0 0 + Capability: 0 0 + Total: 3221 3220 + Minimum time between advertisement runs is 0 seconds + + For address family: IPv4 Unicast + PEER_V4 peer-group member + Update group 1, subgroup 1 + Packet Queue length 0 + Inbound soft reconfiguration allowed + Community attribute sent to this neighbor(all) + Inbound path policy configured + Outbound path policy configured + Route map for incoming advertisements is *FROM_BGP_PEER_V4 + Route map for outgoing advertisements is *TO_BGP_PEER_V4 + 6400 accepted prefixes + + Connections established 1; dropped 0 + Last reset 00:01:01, No AFI/SAFI activated for peer +Local host: 10.0.0.56, Local port: 179 +Foreign host: 10.0.0.57, Foreign port: 44731 +Nexthop: 10.0.0.56 +Nexthop global: fc00::71 +Nexthop local: fe80::5054:ff:fea9:41c2 +BGP connection: shared network +BGP Connect Retry Timer in Seconds: 10 +Estimated round trip time: 20 ms +Read thread: on Write thread: on FD used: 28 +""" + +bgp_v4_neighbor_invalid = \ +"""Error: Bgp neighbor 20.1.1.1 not configured""" + +bgp_v4_neighbor_invalid_address = \ +"""Error: invalid_address is not valid ipv4 address""" + +bgp_v4_neighbor_output_adv_routes = \ +""" +BGP table version is 6405, local router ID is 10.1.0.32, vrf id 0 +Default local pref 100, local AS 65100 +Status codes: s suppressed, d damped, h history, * valid, > best, = multipath, + i internal, r RIB-failure, S Stale, R Removed +Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self +Origin codes: i - IGP, e - EGP, ? - incomplete + + Network Next Hop Metric LocPrf Weight Path +*> 0.0.0.0/0 0.0.0.0 0 64600 65534 6666 6667 i +*> 10.1.0.32/32 0.0.0.0 0 32768 i +*> 100.1.0.29/32 0.0.0.0 0 64600 i +*> 100.1.0.30/32 0.0.0.0 0 64600 i +*> 100.1.0.31/32 0.0.0.0 0 64600 i +*> 100.1.0.32/32 0.0.0.0 0 64600 i +*> 192.168.0.0/21 0.0.0.0 0 32768 i +*> 192.168.8.0/25 0.0.0.0 0 64600 65501 i +*> 192.168.8.128/25 0.0.0.0 0 64600 65501 i +*> 192.168.16.0/25 0.0.0.0 0 64600 65502 i +*> 192.168.16.128/25 + 0.0.0.0 0 64600 65502 i +*> 192.168.24.0/25 0.0.0.0 0 64600 65503 i +*> 192.168.24.128/25 + 0.0.0.0 0 64600 65503 i +*> 192.168.32.0/25 0.0.0.0 0 64600 65504 i +*> 192.168.32.128/25 + 0.0.0.0 0 64600 65504 i +*> 192.168.40.0/25 0.0.0.0 0 64600 65505 i +*> 192.168.40.128/25 + 0.0.0.0 0 64600 65505 i +*> 192.168.48.0/25 0.0.0.0 0 64600 65506 i +*> 192.168.48.128/25 + 0.0.0.0 0 64600 65506 i +*> 192.168.56.0/25 0.0.0.0 0 64600 65507 i +*> 192.168.56.128/25 + 0.0.0.0 0 64600 65507 i +""" + +bgp_v4_neighbor_output_recv_routes = \ +""" +BGP table version is 6405, local router ID is 10.1.0.32, vrf id 0 +Default local pref 100, local AS 65100 +Status codes: s suppressed, d damped, h history, * valid, > best, = multipath, + i internal, r RIB-failure, S Stale, R Removed +Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self +Origin codes: i - IGP, e - EGP, ? - incomplete + + Network Next Hop Metric LocPrf Weight Path +*> 0.0.0.0/0 10.0.0.57 0 64600 65534 6666 6667 i +*> 100.1.0.29/32 10.0.0.57 0 64600 i +*> 192.168.8.0/25 10.0.0.57 0 64600 65501 i +*> 192.168.8.128/25 10.0.0.57 0 64600 65501 i +*> 192.168.16.0/25 10.0.0.57 0 64600 65502 i +*> 192.168.16.128/25 + 10.0.0.57 0 64600 65502 i +*> 192.168.24.0/25 10.0.0.57 0 64600 65503 i +*> 192.168.24.128/25 + 10.0.0.57 0 64600 65503 i +*> 192.168.32.0/25 10.0.0.57 0 64600 65504 i +*> 192.168.32.128/25 + 10.0.0.57 0 64600 65504 i +*> 192.168.40.0/25 10.0.0.57 0 64600 65505 i +*> 192.168.40.128/25 + 10.0.0.57 0 64600 65505 i +*> 192.168.48.0/25 10.0.0.57 0 64600 65506 i +*> 192.168.48.128/25 + 10.0.0.57 0 64600 65506 i +*> 192.168.56.0/25 10.0.0.57 0 64600 65507 i +*> 192.168.56.128/25 + 10.0.0.57 0 64600 65507 i +""" + +bgp_v6_neighbors_output = \ +""" +BGP neighbor is fc00::72, remote AS 64600, local AS 65100, external link + Description: ARISTA01T1 + Member of peer-group PEER_V6 for session parameters + BGP version 4, remote router ID 100.1.0.29, local router ID 10.1.0.32 + BGP state = Established, up for 01:06:23 + Last read 00:00:02, Last write 00:00:00 + Hold time is 10, keepalive interval is 3 seconds + Configured hold time is 10, keepalive interval is 3 seconds + Neighbor capabilities: + 4 Byte AS: advertised and received + AddPath: + IPv6 Unicast: RX advertised IPv6 Unicast and received + Route refresh: advertised and received(new) + Address Family IPv6 Unicast: advertised and received + Hostname Capability: advertised (name: vlab-01,domain name: n/a) not received + Graceful Restart Capability: advertised and received + Remote Restart timer is 300 seconds + Address families by peer: + none + Graceful restart information: + End-of-RIB send: IPv6 Unicast + End-of-RIB received: IPv6 Unicast + Local GR Mode: Restart* + Remote GR Mode: Helper + R bit: False + Timers: + Configured Restart Time(sec): 240 + Received Restart Time(sec): 300 + IPv6 Unicast: + F bit: False + End-of-RIB sent: Yes + End-of-RIB sent after update: No + End-of-RIB received: Yes + Timers: + Configured Stale Path Time(sec): 360 + Configured Selection Deferral Time(sec): 360 + Message statistics: + Inq depth is 0 + Outq depth is 0 + Sent Rcvd + Opens: 1 1 + Notifications: 0 0 + Updates: 3206 3202 + Keepalives: 1328 1329 + Route Refresh: 0 0 + Capability: 0 0 + Total: 4535 4532 + Minimum time between advertisement runs is 0 seconds + + For address family: IPv6 Unicast + PEER_V6 peer-group member + Update group 2, subgroup 2 + Packet Queue length 0 + Inbound soft reconfiguration allowed + Community attribute sent to this neighbor(all) + Inbound path policy configured + Outbound path policy configured + Route map for incoming advertisements is *FROM_BGP_PEER_V6 + Route map for outgoing advertisements is *TO_BGP_PEER_V6 + 6400 accepted prefixes + + Connections established 1; dropped 0 + Last reset 01:06:46, Waiting for peer OPEN +Local host: fc00::71, Local port: 59726 +Foreign host: fc00::72, Foreign port: 179 +Nexthop: 10.0.0.56 +Nexthop global: fc00::71 +Nexthop local: fe80::5054:ff:fea9:41c2 +BGP connection: shared network +BGP Connect Retry Timer in Seconds: 10 +Estimated round trip time: 4 ms +Read thread: on Write thread: on FD used: 30 +""" + +bgp_v6_neighbor_output_adv_routes = \ +""" +BGP table version is 6407, local router ID is 10.1.0.32, vrf id 0 +Default local pref 100, local AS 65100 +Status codes: s suppressed, d damped, h history, * valid, > best, = multipath, + i internal, r RIB-failure, S Stale, R Removed +Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self +Origin codes: i - IGP, e - EGP, ? - incomplete + + Network Next Hop Metric LocPrf Weight Path +*> ::/0 :: 0 64600 65534 6666 6667 i +*> 2064:100::1d/128 :: 0 64600 i +*> 2064:100::1e/128 :: 0 64600 i +*> 2064:100::1f/128 :: 0 64600 i +*> 2064:100::20/128 :: 0 64600 i +*> 20c0:a808::/64 :: 0 64600 65501 i +*> 20c0:a808:0:80::/64 + :: 0 64600 65501 i +*> 20c0:a810::/64 :: 0 64600 65502 i +*> 20c0:a810:0:80::/64 + :: 0 64600 65502 i +*> 20c0:a818::/64 :: 0 64600 65503 i +*> 20c0:a818:0:80::/64 + :: 0 64600 65503 i +*> 20c0:a820::/64 :: 0 64600 65504 i +*> 20c0:a820:0:80::/64 + :: 0 64600 65504 i +*> 20c0:a828::/64 :: 0 64600 65505 i +*> 20c0:a828:0:80::/64 + :: 0 64600 65505 i +*> 20c0:a830::/64 :: 0 64600 65506 i +*> 20c0:a830:0:80::/64 + :: 0 64600 65506 i +*> 20c0:a838::/64 :: 0 64600 65507 i +*> 20c0:a838:0:80::/64 + :: 0 64600 65507 i +*> 20c0:a840::/64 :: 0 64600 65508 i +*> 20c0:a840:0:80::/64 + :: 0 64600 65508 i +*> 20c0:a848::/64 :: 0 64600 65509 i +*> 20c0:a848:0:80::/64 + :: 0 64600 65509 i +*> 20c0:a850::/64 :: 0 64600 65510 i +*> 20c0:a850:0:80::/64 + :: 0 64600 65510 i +*> 20c0:a858::/64 :: 0 64600 65511 i +*> 20c0:a858:0:80::/64 + :: 0 64600 65511 i +*> 20c0:a860::/64 :: 0 64600 65512 i +*> 20c0:a860:0:80::/64 + :: 0 64600 65512 i +*> 20c0:a868::/64 :: 0 64600 65513 i +*> 20c0:a868:0:80::/64 + :: 0 64600 65513 i +""" + +bgp_v6_neighbor_output_recv_routes = \ +""" +BGP table version is 6407, local router ID is 10.1.0.32, vrf id 0 +Default local pref 100, local AS 65100 +Status codes: s suppressed, d damped, h history, * valid, > best, = multipath, + i internal, r RIB-failure, S Stale, R Removed +Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self +Origin codes: i - IGP, e - EGP, ? - incomplete + + Network Next Hop Metric LocPrf Weight Path +*> ::/0 fc00::72 0 64600 65534 6666 6667 i +*> 2064:100::1d/128 fc00::72 0 64600 i +*> 20c0:a808::/64 fc00::72 0 64600 65501 i +*> 20c0:a808:0:80::/64 + fc00::72 0 64600 65501 i +*> 20c0:a810::/64 fc00::72 0 64600 65502 i +*> 20c0:a810:0:80::/64 + fc00::72 0 64600 65502 i +*> 20c0:a818::/64 fc00::72 0 64600 65503 i +*> 20c0:a818:0:80::/64 + fc00::72 0 64600 65503 i +*> 20c0:a820::/64 fc00::72 0 64600 65504 i +*> 20c0:a820:0:80::/64 + fc00::72 0 64600 65504 i +*> 20c0:a828::/64 fc00::72 0 64600 65505 i +*> 20c0:a828:0:80::/64 + fc00::72 0 64600 65505 i +*> 20c0:a830::/64 fc00::72 0 64600 65506 i +*> 20c0:a830:0:80::/64 + fc00::72 0 64600 65506 i +*> 20c0:a838::/64 fc00::72 0 64600 65507 i +*> 20c0:a838:0:80::/64 + fc00::72 0 64600 65507 i +*> 20c0:a840::/64 fc00::72 0 64600 65508 i +*> 20c0:a840:0:80::/64 + fc00::72 0 64600 65508 i +*> 20c0:a848::/64 fc00::72 0 64600 65509 i +*> 20c0:a848:0:80::/64 + fc00::72 0 64600 65509 i +*> 20c0:a850::/64 fc00::72 0 64600 65510 i +*> 20c0:a850:0:80::/64 + fc00::72 0 64600 65510 i +*> 20c0:a858::/64 fc00::72 0 64600 65511 i +*> 20c0:a858:0:80::/64 + fc00::72 0 64600 65511 i +*> 20c0:a860::/64 fc00::72 0 64600 65512 i +*> 20c0:a860:0:80::/64 + fc00::72 0 64600 65512 i +*> 20c0:a868::/64 fc00::72 0 64600 65513 i +*> 20c0:a868:0:80::/64 + fc00::72 0 64600 65513 i +""" + +bgp_v6_neighbor_invalid = \ +"""Error: Bgp neighbor aa00::72 not configured""" + +bgp_v6_neighbor_invalid_address = \ +"""Error: 20.1.1.1 is not valid ipv6 address""" + +bgp_v4_neighbors_output_asic0 = \ +""" +BGP neighbor is 10.0.0.1, remote AS 65200, local AS 65100, external link + Description: ARISTA01T2 + Member of peer-group TIER2_V4 for session parameters + BGP version 4, remote router ID 100.1.0.1, local router ID 10.1.0.32 + BGP state = Established, up for 04:41:19 + Last read 00:00:19, Last write 00:00:19 + Hold time is 180, keepalive interval is 60 seconds + Neighbor capabilities: + 4 Byte AS: advertised and received + AddPath: + IPv4 Unicast: RX advertised IPv4 Unicast and received + Route refresh: advertised and received(new) + Address Family IPv4 Unicast: advertised and received + Hostname Capability: advertised (name: str-n3164-acs-2,domain name: n/a) not received + Graceful Restart Capabilty: advertised and received + Remote Restart timer is 300 seconds + Address families by peer: + IPv4 Unicast(not preserved) + Graceful restart information: + End-of-RIB send: IPv4 Unicast + End-of-RIB received: IPv4 Unicast + Message statistics: + Inq depth is 0 + Outq depth is 0 + Sent Rcvd + Opens: 2 1 + Notifications: 2 0 + Updates: 43 3187 + Keepalives: 282 283 + Route Refresh: 0 0 + Capability: 0 0 + Total: 329 3471 + Minimum time between advertisement runs is 0 seconds + + For address family: IPv4 Unicast + TIER2_V4 peer-group member + Update group 3, subgroup 3 + Packet Queue length 0 + Inbound soft reconfiguration allowed + Community attribute sent to this neighbor(all) + Inbound path policy configured + Outbound path policy configured + Route map for incoming advertisements is *FROM_TIER2_V4 + Route map for outgoing advertisements is *TO_TIER2_V4 + 6370 accepted prefixes + Maximum prefixes allowed 12000 (warning-only) + Threshold for warning message 90% + + Connections established 1; dropped 0 + Last reset 04:41:43, No AFI/SAFI activated for peer +Local host: 10.0.0.0, Local port: 179 +Foreign host: 10.0.0.1, Foreign port: 56376 +Nexthop: 10.0.0.0 +Nexthop global: fc00::1 +Nexthop local: fe80::2be:75ff:fe3a:ef50 +BGP connection: shared network +BGP Connect Retry Timer in Seconds: 120 +Read thread: on Write thread: on FD used: 25 +""" +bgp_v4_neighbors_output_asic1 = \ +""" +BGP neighbor is 10.1.0.1, remote AS 65100, local AS 65100, internal link + Description: ASIC0 +Hostname: sonic + Member of peer-group INTERNAL_PEER_V4 for session parameters + BGP version 4, remote router ID 10.1.0.32, local router ID 8.0.0.4 + BGP state = Established, up for 04:50:18 + Last read 00:00:03, Last write 00:00:03 + Hold time is 10, keepalive interval is 3 seconds + Configured hold time is 10, keepalive interval is 3 seconds + Neighbor capabilities: + 4 Byte AS: advertised and received + AddPath: + IPv4 Unicast: RX advertised IPv4 Unicast and received + Route refresh: advertised and received(old & new) + Address Family IPv4 Unicast: advertised and received + Hostname Capability: advertised (name: str-n3164-acs-2,domain name: n/a) received (name: str-n3164-acs-2,domain name: n/a) + Graceful Restart Capabilty: advertised and received + Remote Restart timer is 240 seconds + Address families by peer: + IPv4 Unicast(preserved) + Graceful restart information: + End-of-RIB send: IPv4 Unicast + End-of-RIB received: IPv4 Unicast + Message statistics: + Inq depth is 0 + Outq depth is 0 + Sent Rcvd + Opens: 1 1 + Notifications: 0 0 + Updates: 6390 3194 + Keepalives: 5806 5806 + Route Refresh: 0 0 + Capability: 0 0 + Total: 12197 9001 + Minimum time between advertisement runs is 0 seconds + + For address family: IPv4 Unicast + INTERNAL_PEER_V4 peer-group member + Update group 2, subgroup 2 + Packet Queue length 0 + Route-Reflector Client + Inbound soft reconfiguration allowed + NEXT_HOP is always this router + Community attribute sent to this neighbor(all) + Inbound path policy configured + Outbound path policy configured + Route map for incoming advertisements is *FROM_BGP_INTERNAL_PEER_V4 + Route map for outgoing advertisements is *TO_BGP_INTERNAL_PEER_V4 + 6377 accepted prefixes + + Connections established 1; dropped 0 + Last reset 04:50:40, Waiting for NHT +Local host: 10.1.0.0, Local port: 52802 +Foreign host: 10.1.0.1, Foreign port: 179 +Nexthop: 10.1.0.0 +Nexthop global: 2603:10e2:400:1::1 +Nexthop local: fe80::42:f0ff:fe7f:104 +BGP connection: shared network +BGP Connect Retry Timer in Seconds: 10 +Read thread: on Write thread: on FD used: 17 +""" +bgp_v4_neighbors_output_all_asics = bgp_v4_neighbors_output_asic0 + bgp_v4_neighbors_output_asic1 + +bgp_v6_neighbor_output_warning =\ +"""bgp neighbor 2603:10e2:400:1::2 is present in namespace asic1 not in asic0""" + +bgp_v6_neighbors_output_asic0 = \ +""" + BGP neighbor is fc00::2, remote AS 65200, local AS 65100, external link + Description: ARISTA01T2 + Member of peer-group TIER2_V6 for session parameters + BGP version 4, remote router ID 100.1.0.1, local router ID 10.1.0.32 + BGP state = Established, up for 13:26:44 + Last read 00:00:45, Last write 00:00:44 + Hold time is 180, keepalive interval is 60 seconds + Neighbor capabilities: + 4 Byte AS: advertised and received + AddPath: + IPv6 Unicast: RX advertised IPv6 Unicast and received + Route refresh: advertised and received(new) + Address Family IPv6 Unicast: advertised and received + Hostname Capability: advertised (name: str-n3164-acs-2,domain name: n/a) not received + Graceful Restart Capabilty: advertised and received + Remote Restart timer is 300 seconds + Address families by peer: + IPv6 Unicast(not preserved) + Graceful restart information: + End-of-RIB send: IPv6 Unicast + End-of-RIB received: IPv6 Unicast + Message statistics: + Inq depth is 0 + Outq depth is 0 + Sent Rcvd + Opens: 2 1 + Notifications: 2 0 + Updates: 5 3187 + Keepalives: 807 808 + Route Refresh: 0 0 + Capability: 0 0 + Total: 816 3996 + Minimum time between advertisement runs is 0 seconds + + For address family: IPv6 Unicast + TIER2_V6 peer-group member + Update group 2, subgroup 2 + Packet Queue length 0 + Inbound soft reconfiguration allowed + Community attribute sent to this neighbor(all) + Inbound path policy configured + Outbound path policy configured + Route map for incoming advertisements is *FROM_TIER2_V6 + Route map for outgoing advertisements is *TO_TIER2_V6 + 6370 accepted prefixes + Maximum prefixes allowed 8000 (warning-only) + Threshold for warning message 90% + + Connections established 1; dropped 0 + Last reset 13:27:08, No AFI/SAFI activated for peer +Local host: fc00::1, Local port: 179 +Foreign host: fc00::2, Foreign port: 57838 +Nexthop: 10.0.0.0 +Nexthop global: fc00::1 +Nexthop local: fe80::2be:75ff:fe3a:ef50 +BGP connection: shared network +BGP Connect Retry Timer in Seconds: 120 +Read thread: on Write thread: on FD used: 26 +""" + +bgp_v6_neighbors_output_asic1 = \ +""" + BGP neighbor is 2603:10e2:400:1::2, remote AS 65100, local AS 65100, internal link + Description: ASIC0 +Hostname: str-n3164-acs-2 + Member of peer-group INTERNAL_PEER_V6 for session parameters + BGP version 4, remote router ID 10.1.0.32, local router ID 8.0.0.4 + BGP state = Established, up for 13:28:48 + Last read 00:00:02, Last write 00:00:02 + Hold time is 10, keepalive interval is 3 seconds + Configured hold time is 10, keepalive interval is 3 seconds + Neighbor capabilities: + 4 Byte AS: advertised and received + AddPath: + IPv6 Unicast: RX advertised IPv6 Unicast and received + Route refresh: advertised and received(old & new) + Address Family IPv6 Unicast: advertised and received + Hostname Capability: advertised (name: str-n3164-acs-2,domain name: n/a) received (name: str-n3164-acs-2,domain name: n/a) + Graceful Restart Capabilty: advertised and received + Remote Restart timer is 240 seconds + Address families by peer: + IPv6 Unicast(preserved) + Graceful restart information: + End-of-RIB send: IPv6 Unicast + End-of-RIB received: IPv6 Unicast + Message statistics: + Inq depth is 0 + Outq depth is 0 + Sent Rcvd + Opens: 1 1 + Notifications: 0 0 + Updates: 6380 4746 + Keepalives: 16176 16176 + Route Refresh: 0 0 + Capability: 0 0 + Total: 22557 20923 + Minimum time between advertisement runs is 0 seconds + + For address family: IPv6 Unicast + INTERNAL_PEER_V6 peer-group member + Update group 1, subgroup 1 + Packet Queue length 0 + Route-Reflector Client + Inbound soft reconfiguration allowed + NEXT_HOP is always this router + Community attribute sent to this neighbor(all) + Inbound path policy configured + Outbound path policy configured + Route map for incoming advertisements is *FROM_BGP_INTERNAL_PEER_V6 + Route map for outgoing advertisements is *TO_BGP_INTERNAL_PEER_V6 + 6380 accepted prefixes + + Connections established 1; dropped 0 + Last reset 13:29:08, No AFI/SAFI activated for peer +Local host: 2603:10e2:400:1::1, Local port: 179 +Foreign host: 2603:10e2:400:1::2, Foreign port: 58984 +Nexthop: 10.1.0.0 +Nexthop global: 2603:10e2:400:1::1 +Nexthop local: fe80::42:f0ff:fe7f:104 +BGP connection: shared network +BGP Connect Retry Timer in Seconds: 10 +Read thread: on Write thread: on FD used: 22 +""" + +bgp_v6_neighbors_output_all_asics = bgp_v6_neighbors_output_asic0 +\ + bgp_v6_neighbors_output_asic1 + + +def mock_show_bgp_neighbor_multi_asic(param, namespace): + if param == 'bgp_v4_neighbors_output_all_asics': + if namespace == 'asic0': + return bgp_v4_neighbors_output_asic0 + if namespace == 'asic1': + return bgp_v4_neighbors_output_asic1 + if param == 'bgp_v6_neighbors_output_all_asics': + if namespace == 'asic0': + return bgp_v6_neighbors_output_asic0 + if namespace == 'asic1': + return bgp_v6_neighbors_output_asic1 + if param == 'bgp_v4_neighbors_output_asic0': + return bgp_v4_neighbors_output_asic0 + if param == 'bgp_v4_neighbors_output_asic1': + return bgp_v4_neighbors_output_asic1 + elif param == 'bgp_v6_neighbors_output_all_asics': + return bgp_v6_neighbors_output_all_asics + if param == 'bgp_v6_neighbors_output_asic0': + return bgp_v6_neighbors_output_asic0 + if param == 'bgp_v6_neighbors_output_asic1': + return bgp_v6_neighbors_output_asic1 + else: + return "" + + +def mock_show_bgp_neighbor_single_asic(request): + if request.param == 'bgp_v4_neighbors_output': + return bgp_v4_neighbors_output + elif request.param == 'bgp_v6_neighbors_output': + return bgp_v6_neighbors_output + elif request.param == 'bgp_v4_neighbor_output_adv_routes': + return bgp_v4_neighbor_output_adv_routes + elif request.param == 'bgp_v4_neighbor_output_recv_routes': + return bgp_v4_neighbor_output_recv_routes + elif request.param == 'bgp_v6_neighbor_output_adv_routes': + return bgp_v6_neighbor_output_adv_routes + elif request.param == 'bgp_v6_neighbor_output_recv_routes': + return bgp_v6_neighbor_output_recv_routes + else: + return "" + + +testData = { + 'bgp_v4_neighbors': { + 'args': [], + 'rc': 0, + 'rc_output': bgp_v4_neighbors_output + }, + 'bgp_v4_neighbor_ip_address': { + 'args': ['10.0.0.57'], + 'rc': 0, + 'rc_output': bgp_v4_neighbors_output + }, + 'bgp_v4_neighbor_invalid': { + 'args': ['20.1.1.1'], + 'rc': 2, + 'rc_err_msg': bgp_v4_neighbor_invalid + }, + 'bgp_v4_neighbor_invalid_address': { + 'args': ['invalid_address'], + 'rc': 2, + 'rc_err_msg': bgp_v4_neighbor_invalid_address + }, + 'bgp_v4_neighbor_adv_routes': { + 'args': ["10.0.0.57", "advertised-routes"], + 'rc': 0, + 'rc_output': bgp_v4_neighbor_output_adv_routes + }, + 'bgp_v4_neighbor_recv_routes': { + 'args': ["10.0.0.57", "received-routes"], + 'rc': 0, + 'rc_output': bgp_v4_neighbor_output_recv_routes + }, + 'bgp_v6_neighbors': { + 'args': [], + 'rc': 0, + 'rc_output': bgp_v6_neighbors_output + }, + 'bgp_v6_neighbor_ip_address': { + 'args': ['fc00::72'], + 'rc': 0, + 'rc_output': bgp_v6_neighbors_output + }, + 'bgp_v6_neighbor_invalid': { + 'args': ['aa00::72'], + 'rc': 2, + 'rc_err_msg': bgp_v6_neighbor_invalid + }, + 'bgp_v6_neighbor_invalid_address': { + 'args': ['20.1.1.1'], + 'rc': 2, + 'rc_err_msg': bgp_v6_neighbor_invalid_address + }, + 'bgp_v6_neighbor_adv_routes': { + 'args': ["fc00::72", "advertised-routes"], + 'rc': 0, + 'rc_output': bgp_v6_neighbor_output_adv_routes + }, + 'bgp_v6_neighbor_recv_routes': { + 'args': ["fc00::72", "received-routes"], + 'rc': 0, + 'rc_output': bgp_v6_neighbor_output_recv_routes + }, + 'bgp_v4_neighbors_multi_asic' : { + 'args': [], + 'rc': 0, + 'rc_output': bgp_v4_neighbors_output_all_asics + }, + 'bgp_v4_neighbors_asic' : { + 'args': ['-nasic1'], + 'rc': 0, + 'rc_output': bgp_v4_neighbors_output_asic1 + }, + 'bgp_v4_neighbors_external' : { + 'args': ['10.0.0.1'], + 'rc': 0, + 'rc_output': bgp_v4_neighbors_output_asic0 + }, + 'bgp_v4_neighbors_internal' : { + 'args': ['10.1.0.1'], + 'rc': 0, + 'rc_output': bgp_v4_neighbors_output_asic1 + }, + 'bgp_v6_neighbors_multi_asic' : { + 'args': [], + 'rc': 0, + 'rc_output': bgp_v6_neighbors_output_all_asics + }, + 'bgp_v6_neighbors_asic' : { + 'args': ['-nasic0'], + 'rc': 0, + 'rc_output': bgp_v6_neighbors_output_asic0 + }, + 'bgp_v6_neighbors_external' : { + 'args': ['fc00::2'], + 'rc': 0, + 'rc_output': bgp_v6_neighbors_output_asic0 + }, + 'bgp_v6_neighbors_internal' : { + 'args': ['2603:10e2:400:1::2'], + 'rc': 0, + 'rc_output': bgp_v6_neighbors_output_asic1 + }, + 'bgp_v6_neighbor_warning' : { + 'args': ['2603:10e2:400:1::2', '-nasic0'], + 'rc': 0, + 'rc_warning_msg': bgp_v6_neighbor_output_warning + }, + +} \ No newline at end of file diff --git a/tests/bgp_commands_input/bgp_network_test_vector.py b/tests/bgp_commands_input/bgp_network_test_vector.py new file mode 100644 index 0000000000..da93e8e8e8 --- /dev/null +++ b/tests/bgp_commands_input/bgp_network_test_vector.py @@ -0,0 +1,522 @@ +bgp_v4_network = \ +""" +BGP table version is 6405, local router ID is 10.1.0.32, vrf id 0 +Default local pref 100, local AS 65100 +Status codes: s suppressed, d damped, h history, * valid, > best, = multipath, + i internal, r RIB-failure, S Stale, R Removed +Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self +Origin codes: i - IGP, e - EGP, ? - incomplete + + Network Next Hop Metric LocPrf Weight Path +*= 0.0.0.0/0 10.0.0.63 0 64600 65534 6666 6667 i +*= 10.0.0.61 0 64600 65534 6666 6667 i +*= 10.0.0.59 0 64600 65534 6666 6667 i +*> 10.0.0.57 0 64600 65534 6666 6667 i +*> 10.1.0.32/32 0.0.0.0 0 32768 i +*> 100.1.0.29/32 10.0.0.57 0 64600 i +*> 100.1.0.30/32 10.0.0.59 0 64600 i +*> 100.1.0.31/32 10.0.0.61 0 64600 i +*> 100.1.0.32/32 10.0.0.63 0 64600 i +*> 192.168.0.0/21 0.0.0.0 0 32768 i +*= 192.168.8.0/25 10.0.0.63 0 64600 65501 i +*= 10.0.0.61 0 64600 65501 i +*= 10.0.0.59 0 64600 65501 i +*> 10.0.0.57 0 64600 65501 i +*= 192.168.8.128/25 10.0.0.63 0 64600 65501 i +*= 10.0.0.61 0 64600 65501 i +*= 10.0.0.59 0 64600 65501 i +*> 10.0.0.57 0 64600 65501 i +*= 192.168.16.0/25 10.0.0.63 0 64600 65502 i +*= 10.0.0.61 0 64600 65502 i +*= 10.0.0.59 0 64600 65502 i +*> 10.0.0.57 0 64600 65502 i +*= 192.168.16.128/25 + 10.0.0.63 0 64600 65502 i +*= 10.0.0.61 0 64600 65502 i +*= 10.0.0.59 0 64600 65502 i +*> 10.0.0.57 0 64600 65502 i +*= 192.168.24.0/25 10.0.0.63 0 64600 65503 i +*= 10.0.0.61 0 64600 65503 i +*= 10.0.0.59 0 64600 65503 i +*> 10.0.0.57 0 64600 65503 i +*= 192.168.24.128/25 + 10.0.0.63 0 64600 65503 i +*= 10.0.0.61 0 64600 65503 i +*= 10.0.0.59 0 64600 65503 i +*> 10.0.0.57 0 64600 65503 i +*= 192.168.32.0/25 10.0.0.63 0 64600 65504 i +*= 10.0.0.61 0 64600 65504 i +*= 10.0.0.59 0 64600 65504 i +*> 10.0.0.57 0 64600 65504 i +""" + +bgp_v4_network_ip_address = \ +""" +BGP routing table entry for 193.11.248.128/25 +Paths: (4 available, best #4, table default) + Advertised to non peer-group peers: + 10.0.0.57 10.0.0.59 10.0.0.61 10.0.0.63 + 64600 65534 64799 65515 + 10.0.0.61 from 10.0.0.61 (100.1.0.31) + Origin IGP, valid, external, multipath + Community: 5060:12345 + Last update: Tue Apr 20 05:54:41 2021 + 64600 65534 64799 65515 + 10.0.0.59 from 10.0.0.59 (100.1.0.30) + Origin IGP, valid, external, multipath + Community: 5060:12345 + Last update: Tue Apr 20 05:54:19 2021 + 64600 65534 64799 65515 + 10.0.0.63 from 10.0.0.63 (100.1.0.32) + Origin IGP, valid, external, multipath + Community: 5060:12345 + Last update: Tue Apr 20 05:54:16 2021 + 64600 65534 64799 65515 + 10.0.0.57 from 10.0.0.57 (100.1.0.29) + Origin IGP, valid, external, multipath, best (Router ID) + Community: 5060:12345 + Last update: Tue Apr 20 05:54:16 2021 +""" + +bgp_v4_network_longer_prefixes_error = \ +"""The parameter option: "longer-prefixes" only available if passing a network prefix +EX: 'show ip bgp network 10.0.0.0/24 longer-prefixes' +Aborted! +""" + +bgp_v4_network_bestpath = \ +""" +BGP routing table entry for 193.11.248.128/25 +Paths: (4 available, best #4, table default) + Advertised to non peer-group peers: + 10.0.0.57 10.0.0.59 10.0.0.61 10.0.0.63 + 64600 65534 64799 65515 + 10.0.0.57 from 10.0.0.57 (100.1.0.29) + Origin IGP, valid, external, multipath, best (Router ID) + Community: 5060:12345 + Last update: Tue Apr 20 05:54:15 2021 +""" + +bgp_v6_network = \ +""" +BGP table version is 6407, local router ID is 10.1.0.32, vrf id 0 +Default local pref 100, local AS 65100 +Status codes: s suppressed, d damped, h history, * valid, > best, = multipath, + i internal, r RIB-failure, S Stale, R Removed +Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self +Origin codes: i - IGP, e - EGP, ? - incomplete + + Network Next Hop Metric LocPrf Weight Path +*= ::/0 fc00::7e 0 64600 65534 6666 6667 i +*= fc00::7a 0 64600 65534 6666 6667 i +*= fc00::76 0 64600 65534 6666 6667 i +*> fc00::72 0 64600 65534 6666 6667 i +*> 2064:100::1d/128 fc00::72 0 64600 i +*> 2064:100::1e/128 fc00::76 0 64600 i +*> 2064:100::1f/128 fc00::7a 0 64600 i +*> 2064:100::20/128 fc00::7e 0 64600 i +*= 20c0:a808::/64 fc00::7e 0 64600 65501 i +*= fc00::7a 0 64600 65501 i +*= fc00::76 0 64600 65501 i +*> fc00::72 0 64600 65501 i +*= 20c0:a808:0:80::/64 + fc00::7e 0 64600 65501 i +*= fc00::7a 0 64600 65501 i +*= fc00::76 0 64600 65501 i +*> fc00::72 0 64600 65501 i +*= 20c0:a810::/64 fc00::7e 0 64600 65502 i +*= fc00::7a 0 64600 65502 i +*= fc00::76 0 64600 65502 i +*> fc00::72 0 64600 65502 i +*= 20c0:a810:0:80::/64 + fc00::7e 0 64600 65502 i +*= fc00::7a 0 64600 65502 i +*= fc00::76 0 64600 65502 i +*> fc00::72 0 64600 65502 i +*= 20c0:a818::/64 fc00::7e 0 64600 65503 i +*= fc00::7a 0 64600 65503 i +*= fc00::76 0 64600 65503 i +*> fc00::72 0 64600 65503 i +*= 20c0:a818:0:80::/64 + fc00::7e 0 64600 65503 i +*= fc00::7a 0 64600 65503 i +*= fc00::76 0 64600 65503 i +*> fc00::72 0 64600 65503 i +*= 20c0:a820::/64 fc00::7e 0 64600 65504 i +*= fc00::7a 0 64600 65504 i +*= fc00::76 0 64600 65504 i +*> fc00::72 0 64600 65504 i +*= 20c0:a820:0:80::/64 + fc00::7e 0 64600 65504 i +*= fc00::7a 0 64600 65504 i +*= fc00::76 0 64600 65504 i +*> fc00::72 0 64600 65504 i +""" + +bgp_v6_network_ip_address = \ +""" +BGP routing table entry for 20c0:a820:0:80::/64 +Paths: (4 available, best #4, table default) + Advertised to non peer-group peers: + fc00::72 fc00::76 fc00::7a fc00::7e + 64600 65504 + fc00::7e from fc00::7e (100.1.0.32) + (fe80::1850:e9ff:fef9:27cb) (prefer-global) + Origin IGP, valid, external, multipath + Community: 5060:12345 + Last update: Tue Apr 20 05:54:17 2021 + 64600 65504 + fc00::7a from fc00::7a (100.1.0.31) + (fe80::1810:25ff:fe01:c153) (prefer-global) + Origin IGP, valid, external, multipath + Community: 5060:12345 + Last update: Tue Apr 20 05:54:17 2021 + 64600 65504 + fc00::76 from fc00::76 (100.1.0.30) + (fe80::80a7:74ff:fee1:d66d) (prefer-global) + Origin IGP, valid, external, multipath + Community: 5060:12345 + Last update: Tue Apr 20 05:54:17 2021 + 64600 65504 + fc00::72 from fc00::72 (100.1.0.29) + (fe80::90ec:bcff:fe4b:1e3e) (prefer-global) + Origin IGP, valid, external, multipath, best (Router ID) + Community: 5060:12345 + Last update: Tue Apr 20 05:54:16 2021 +""" + +bgp_v6_network_longer_prefixes_error = \ +"""The parameter option: "longer-prefixes" only available if passing a network prefix +EX: 'show ipv6 bgp network fc00:1::/64 longer-prefixes' +Aborted! +""" + +bgp_v6_network_longer_prefixes = \ +""" +BGP table version is 6407, local router ID is 10.1.0.32, vrf id 0 +Default local pref 100, local AS 65100 +Status codes: s suppressed, d damped, h history, * valid, > best, = multipath, + i internal, r RIB-failure, S Stale, R Removed +Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self +Origin codes: i - IGP, e - EGP, ? - incomplete + + Network Next Hop Metric LocPrf Weight Path +*= 20c0:a820:0:80::/64 + fc00::7e 0 64600 65504 i +*= fc00::7a 0 64600 65504 i +*= fc00::76 0 64600 65504 i +*> fc00::72 0 64600 65504 i + +Displayed 1 routes and 25602 total paths +""" + +bgp_v6_network_bestpath = \ +""" +BGP routing table entry for 20c0:a820:0:80::/64 +Paths: (4 available, best #4, table default) + Advertised to non peer-group peers: + fc00::72 fc00::76 fc00::7a fc00::7e + 64600 65504 + fc00::72 from fc00::72 (100.1.0.29) + (fe80::90ec:bcff:fe4b:1e3e) (prefer-global) + Origin IGP, valid, external, multipath, best (Router ID) + Community: 5060:12345 + Last update: Tue Apr 20 05:54:15 2021 +""" + +multi_asic_bgp_network_err = \ +"""Error: -n/--namespace option required. provide namespace from list ['asic0', 'asic1']""" + +bgp_v4_network_asic0 = \ +""" +BGP table version is 11256, local router ID is 10.1.0.32, vrf id 0 +Default local pref 100, local AS 65100 +Status codes: s suppressed, d damped, h history, * valid, > best, = multipath, + i internal, r RIB-failure, S Stale, R Removed +Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self +Origin codes: i - IGP, e - EGP, ? - incomplete + + Network Next Hop Metric LocPrf Weight Path +* i0.0.0.0/0 10.1.0.2 100 0 65200 6666 6667 i +* i 10.1.0.0 100 0 65200 6666 6667 i +*= 10.0.0.5 0 65200 6666 6667 i +*> 10.0.0.1 0 65200 6666 6667 i +* i8.0.0.0/32 10.1.0.2 0 100 0 i +* i 10.1.0.0 0 100 0 i +* 0.0.0.0 0 32768 ? +*> 0.0.0.0 0 32768 i +*=i8.0.0.1/32 10.1.0.2 0 100 0 i +*>i 10.1.0.0 0 100 0 i +*=i8.0.0.2/32 10.1.0.2 0 100 0 i +*>i 10.1.0.0 0 100 0 i +*=i8.0.0.3/32 10.1.0.2 0 100 0 i +*>i 10.1.0.0 0 100 0 i +*>i8.0.0.4/32 10.1.0.0 0 100 0 i +*>i8.0.0.5/32 10.1.0.2 0 100 0 i +* i10.0.0.0/31 10.1.0.2 0 100 0 ? +* i 10.1.0.0 0 100 0 ? +*> 0.0.0.0 0 32768 ? +* i10.0.0.4/31 10.1.0.2 0 100 0 ? +* i 10.1.0.0 0 100 0 ? +*> 0.0.0.0 0 32768 ? +*=i10.0.0.8/31 10.1.0.2 0 100 0 ? +*>i 10.1.0.0 0 100 0 ? +*=i10.0.0.12/31 10.1.0.2 0 100 0 ? +*>i 10.1.0.0 0 100 0 ? +*=i10.0.0.32/31 10.1.0.2 0 100 0 ? +*>i 10.1.0.0 0 100 0 ? +*=i10.0.0.34/31 10.1.0.2 0 100 0 ? +*>i 10.1.0.0 0 100 0 ? +*=i10.0.0.36/31 10.1.0.2 0 100 0 ? +*>i 10.1.0.0 0 100 0 ? +*=i10.0.0.38/31 10.1.0.2 0 100 0 ? +*>i 10.1.0.0 0 100 0 ? +*=i10.0.0.40/31 10.1.0.2 0 100 0 ? +*>i 10.1.0.0 0 100 0 ? +*=i10.0.0.42/31 10.1.0.2 0 100 0 ? +*>i 10.1.0.0 0 100 0 ? +*=i10.0.0.44/31 10.1.0.2 0 100 0 ? +*>i 10.1.0.0 0 100 0 ? +""" + +bgp_v4_network_ip_address_asic0 = \ +""" + BGP routing table entry for 10.0.0.44/31 +Paths: (2 available, best #2, table default, not advertised outside local AS) + Not advertised to any peer + Local + 10.1.0.2 from 10.1.0.2 (8.0.0.5) + Origin incomplete, metric 0, localpref 100, valid, internal, multipath + Community: local-AS + Originator: 8.0.0.5, Cluster list: 8.0.0.5 + Last update: Thu Apr 22 02:13:31 2021 + + Local + 10.1.0.0 from 10.1.0.0 (8.0.0.4) + Origin incomplete, metric 0, localpref 100, valid, internal, multipath, best (Router ID) + Community: local-AS + Originator: 8.0.0.4, Cluster list: 8.0.0.4 + Last update: Thu Apr 22 02:13:31 2021 +""" +bgp_v4_network_bestpath_asic0 = \ +""" +BGP routing table entry for 10.0.0.44/31 +Paths: (2 available, best #2, table default, not advertised outside local AS) + Not advertised to any peer + Local + 10.1.0.0 from 10.1.0.0 (8.0.0.4) + Origin incomplete, metric 0, localpref 100, valid, internal, multipath, best (Router ID) + Community: local-AS + Originator: 8.0.0.4, Cluster list: 8.0.0.4 + Last update: Thu Apr 22 02:13:30 2021 +""" + +bgp_v6_network_asic0 = \ +""" +BGP table version is 12849, local router ID is 10.1.0.32, vrf id 0 +Default local pref 100, local AS 65100 +Status codes: s suppressed, d damped, h history, * valid, > best, = multipath, + i internal, r RIB-failure, S Stale, R Removed +Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self +Origin codes: i - IGP, e - EGP, ? - incomplete + + Network Next Hop Metric LocPrf Weight Path +* i::/0 2603:10e2:400:1::1 + 100 0 65200 6666 6667 i +* i 2603:10e2:400:1::5 + 100 0 65200 6666 6667 i +*= fc00::6 0 65200 6666 6667 i +*> fc00::2 0 65200 6666 6667 i +* i2064:100::1/128 2603:10e2:400:1::1 + 100 0 65200 i +* i 2603:10e2:400:1::5 + 100 0 65200 i +*> fc00::2 0 65200 i +* i2064:100::3/128 2603:10e2:400:1::1 + 100 0 65200 i +* i 2603:10e2:400:1::5 + 100 0 65200 i +*> fc00::6 0 65200 i +*=i2064:100::5/128 2603:10e2:400:1::5 + 100 0 65200 i +*>i 2603:10e2:400:1::1 + 100 0 65200 i +*>i2064:100::7/128 2603:10e2:400:1::1 + 100 0 65200 i +*=i 2603:10e2:400:1::5 + 100 0 65200 i +*>i20c0:a800::/64 2603:10e2:400:1::1 + 100 0 64004 i +*=i 2603:10e2:400:1::5 + 100 0 64004 i +*>i20c0:a800:0:80::/64 + 2603:10e2:400:1::1 + 100 0 64004 i +*=i 2603:10e2:400:1::5 + 100 0 64004 i +*>i20c0:a808::/64 2603:10e2:400:1::1 + 100 0 64004 i +*=i 2603:10e2:400:1::5 + 100 0 64004 i +""" + +bgp_v6_network_ip_address_asic0 = \ +""" +BGP routing table entry for 20c0:a808:0:80::/64 +Paths: (2 available, best #1, table default) + Advertised to non peer-group peers: + fc00::2 fc00::6 + 64004 + 2603:10e2:400:1::1 from 2603:10e2:400:1::1 (8.0.0.4) + Origin IGP, localpref 100, valid, internal, multipath, best (Router ID) + Community: 8075:8823 + Originator: 8.0.0.4, Cluster list: 8.0.0.4 + Last update: Thu Apr 22 02:13:31 2021 + + 64004 + 2603:10e2:400:1::5 from 2603:10e2:400:1::5 (8.0.0.5) + Origin IGP, localpref 100, valid, internal, multipath + Community: 8075:8823 + Originator: 8.0.0.5, Cluster list: 8.0.0.5 + Last update: Thu Apr 22 02:13:31 2021 +""" + +bgp_v6_network_ip_address_asic0_bestpath = \ +""" +BGP routing table entry for 20c0:a808:0:80::/64 +Paths: (2 available, best #1, table default) + Advertised to non peer-group peers: + fc00::2 fc00::6 + 64004 + 2603:10e2:400:1::1 from 2603:10e2:400:1::1 (8.0.0.4) + Origin IGP, localpref 100, valid, internal, multipath, best (Router ID) + Community: 8075:8823 + Originator: 8.0.0.4, Cluster list: 8.0.0.4 + Last update: Thu Apr 22 02:13:30 2021 +""" + + +def mock_show_bgp_network_single_asic(request): + param = request.param + if param == 'bgp_v4_network': + return bgp_v4_network + elif param == 'bgp_v4_network_ip_address': + return bgp_v4_network_ip_address + elif param == 'bgp_v4_network_bestpath': + return bgp_v4_network_bestpath + elif param == 'bgp_v6_network': + return bgp_v6_network + elif param == 'bgp_v6_network_ip_address': + return bgp_v6_network_ip_address + elif param == 'bgp_v6_network_longer_prefixes': + return bgp_v6_network_longer_prefixes + elif param == 'bgp_v6_network_bestpath': + return bgp_v6_network_bestpath + else: + return "" + + +def mock_show_bgp_network_multi_asic(param): + if param == "bgp_v4_network_asic0": + return bgp_v4_network_asic0 + elif param == 'bgp_v4_network_ip_address_asic0': + return bgp_v4_network_ip_address_asic0 + elif param == 'bgp_v4_network_bestpath_asic0': + return bgp_v4_network_bestpath_asic0 + if param == "bgp_v6_network_asic0": + return bgp_v4_network_asic0 + elif param == 'bgp_v6_network_ip_address_asic0': + return bgp_v6_network_ip_address_asic0 + elif param == 'bgp_v6_network_bestpath_asic0': + return bgp_v6_network_ip_address_asic0_bestpath + else: + return '' + + +testData = { + 'bgp_v4_network': { + 'args': [], + 'rc': 0, + 'rc_output': bgp_v4_network + }, + 'bgp_v4_network_ip_address': { + 'args': [' 193.11.248.128/25'], + 'rc': 0, + 'rc_output': bgp_v4_network_ip_address + }, + 'bgp_v4_network_bestpath': { + 'args': [' 193.11.248.128/25', 'bestpath'], + 'rc': 0, + 'rc_output': bgp_v4_network_bestpath + }, + 'bgp_v4_network_longer_prefixes_error': { + 'args': [' 193.11.248.128', 'longer-prefixes'], + 'rc': 1, + 'rc_output': bgp_v4_network_longer_prefixes_error + }, + 'bgp_v6_network': { + 'args': [], + 'rc': 0, + 'rc_output': bgp_v6_network + }, + 'bgp_v6_network_ip_address': { + 'args': [' 20c0:a820:0:80::/64'], + 'rc': 0, + 'rc_output': bgp_v6_network_ip_address + }, + 'bgp_v6_network_bestpath': { + 'args': [' 20c0:a820:0:80::/64', 'bestpath'], + 'rc': 0, + 'rc_output': bgp_v6_network_bestpath + }, + 'bgp_v6_network_longer_prefixes_error': { + 'args': [' 20c0:a820:0:80::', 'longer-prefixes'], + 'rc': 1, + 'rc_output': bgp_v6_network_longer_prefixes_error + }, + 'bgp_v6_network_longer_prefixes': { + 'args': [' 20c0:a820:0:80::/64', 'longer-prefixes'], + 'rc': 0, + 'rc_output': bgp_v6_network_longer_prefixes + }, + 'bgp_v4_network_multi_asic': { + 'args': [], + 'rc': 2, + 'rc_err_msg': multi_asic_bgp_network_err + }, + 'bgp_v4_network_asic0': { + 'args': ['-nasic0'], + 'rc': 0, + 'rc_output': bgp_v4_network_asic0 + }, + 'bgp_v4_network_ip_address_asic0': { + 'args': ['-nasic0', '10.0.0.44'], + 'rc': 0, + 'rc_output': bgp_v4_network_ip_address_asic0 + }, + 'bgp_v4_network_bestpath_asic0': { + 'args': ['-nasic0', '10.0.0.44', 'bestpath'], + 'rc': 0, + 'rc_output': bgp_v4_network_bestpath_asic0 + }, + 'bgp_v6_network_multi_asic': { + 'args': [], + 'rc': 2, + 'rc_err_msg': multi_asic_bgp_network_err + }, + 'bgp_v6_network_asic0': { + 'args': ['-nasic0'], + 'rc': 0, + 'rc_output': bgp_v4_network_asic0 + }, + 'bgp_v6_network_ip_address_asic0': { + 'args': ['-nasic0', '20c0:a808:0:80::/64'], + 'rc': 0, + 'rc_output': bgp_v6_network_ip_address_asic0 + }, + 'bgp_v6_network_bestpath_asic0': { + 'args': ['-nasic0', '20c0:a808:0:80::/64', 'bestpath'], + 'rc': 0, + 'rc_output': bgp_v6_network_ip_address_asic0_bestpath + } +} \ No newline at end of file diff --git a/tests/conftest.py b/tests/conftest.py index 4ff1a002bd..6ad352b224 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,14 +1,24 @@ import json import os +import re import sys from unittest import mock + import pytest from sonic_py_common import device_info from swsscommon.swsscommon import ConfigDBConnector from .mock_tables import dbconnector from . import show_ip_route_common +from .bgp_commands_input.bgp_neighbor_test_vector import( + mock_show_bgp_neighbor_single_asic, + mock_show_bgp_neighbor_multi_asic, + ) +from .bgp_commands_input.bgp_network_test_vector import ( + mock_show_bgp_network_single_asic, + mock_show_bgp_network_multi_asic + ) from . import config_int_ip_common test_path = os.path.dirname(os.path.abspath(__file__)) @@ -108,7 +118,6 @@ def setup_t1_topo(): @pytest.fixture def setup_single_bgp_instance(request): import utilities_common.bgp_util as bgp_util - if request.param == 'v4': bgp_mocked_json = os.path.join( test_path, 'mock_tables', 'ipv4_bgp_summary.json') @@ -119,7 +128,7 @@ def setup_single_bgp_instance(request): bgp_mocked_json = os.path.join( test_path, 'mock_tables', 'dummy.json') - def mock_run_bgp_command(vtysh_cmd, bgp_namespace): + def mock_show_bgp_summary(vtysh_cmd, bgp_namespace): if os.path.isfile(bgp_mocked_json): with open(bgp_mocked_json) as json_data: mock_frr_data = json_data.read() @@ -140,7 +149,7 @@ def mock_run_show_ip_route_commands(request): elif request.param == 'ip_route': return show_ip_route_common.show_ip_route_expected_output elif request.param == 'ip_specific_route': - return show_ip_route_common.show_specific_ip_route_expected_output + return show_ip_route_common.show_specific_ip_route_expected_output elif request.param == 'ip_special_route': return show_ip_route_common.show_special_ip_route_expected_output elif request.param == 'ipv6_route': @@ -150,18 +159,26 @@ def mock_run_show_ip_route_commands(request): else: return "" - + if any ([request.param == 'ipv6_route_err', request.param == 'ip_route',\ request.param == 'ip_specific_route', request.param == 'ip_special_route',\ request.param == 'ipv6_route', request.param == 'ipv6_specific_route']): bgp_util.run_bgp_command = mock.MagicMock( return_value=mock_run_show_ip_route_commands(request)) + elif request.param.startswith('bgp_v4_neighbor') or \ + request.param.startswith('bgp_v6_neighbor'): + bgp_util.run_bgp_command = mock.MagicMock( + return_value=mock_show_bgp_neighbor_single_asic(request)) + elif request.param.startswith('bgp_v4_network') or \ + request.param.startswith('bgp_v6_network'): + bgp_util.run_bgp_command = mock.MagicMock( + return_value=mock_show_bgp_network_single_asic(request)) elif request.param == 'ip_route_for_int_ip': _old_run_bgp_command = bgp_util.run_bgp_command bgp_util.run_bgp_command = mock_run_bgp_command_for_static else: bgp_util.run_bgp_command = mock.MagicMock( - return_value=mock_run_bgp_command("", "")) + return_value=mock_show_bgp_summary("", "")) yield @@ -191,6 +208,11 @@ def setup_multi_asic_bgp_instance(request): m_asic_json_file = 'ip_special_recursive_route.json' elif request.param == 'ip_route_summary': m_asic_json_file = 'ip_route_summary.txt' + elif request.param.startswith('bgp_v4_network') or \ + request.param.startswith('bgp_v6_network') or \ + request.param.startswith('bgp_v4_neighbor') or \ + request.param.startswith('bgp_v6_neighbor'): + m_asic_json_file = request.param else: m_asic_json_file = os.path.join( test_path, 'mock_tables', 'dummy.json') @@ -206,6 +228,14 @@ def mock_run_bgp_command_for_static(vtysh_cmd, bgp_namespace=""): return "" def mock_run_bgp_command(vtysh_cmd, bgp_namespace): + if m_asic_json_file.startswith('bgp_v4_network') or \ + m_asic_json_file.startswith('bgp_v6_network'): + return mock_show_bgp_network_multi_asic(m_asic_json_file) + + if m_asic_json_file.startswith('bgp_v4_neighbor') or \ + m_asic_json_file.startswith('bgp_v6_neighbor'): + return mock_show_bgp_neighbor_multi_asic(m_asic_json_file, bgp_namespace) + bgp_mocked_json = os.path.join( test_path, 'mock_tables', bgp_namespace, m_asic_json_file) if os.path.isfile(bgp_mocked_json): @@ -241,3 +271,4 @@ def setup_ip_route_commands(): import show.main as show return show + diff --git a/tests/mock_tables/asic0/config_db.json b/tests/mock_tables/asic0/config_db.json index 0643baf57f..adc620ffb1 100644 --- a/tests/mock_tables/asic0/config_db.json +++ b/tests/mock_tables/asic0/config_db.json @@ -203,5 +203,25 @@ }, "VLAN_MEMBER|Vlan1000|PortChannel1002": { "tagging_mode": "tagged" + }, + "BGP_NEIGHBOR|10.0.0.1": { + "rrclient": "0", + "name": "ARISTA01T2", + "local_addr": "10.0.0.0", + "nhopself": "0", + "admin_status": "up", + "holdtime": "10", + "asn": "65200", + "keepalive": "3" + }, + "BGP_NEIGHBOR|fc00::2": { + "rrclient": "0", + "name": "ARISTA01T2", + "local_addr": "fc00::1", + "nhopself": "0", + "admin_status": "up", + "holdtime": "10", + "asn": "65200", + "keepalive": "3" } } diff --git a/tests/mock_tables/asic1/config_db.json b/tests/mock_tables/asic1/config_db.json index 5aab92c45a..f5caae6d35 100644 --- a/tests/mock_tables/asic1/config_db.json +++ b/tests/mock_tables/asic1/config_db.json @@ -165,5 +165,25 @@ "state": "enabled", "auto_restart": "enabled", "high_mem_alert": "disabled" + }, + "BGP_INTERNAL_NEIGHBOR|10.1.0.1": { + "rrclient": "0", + "name": "ASIC0", + "local_addr": "10.1.0.0", + "nhopself": "0", + "admin_status": "up", + "holdtime": "0", + "asn": "65100", + "keepalive": "0" + }, + "BGP_INTERNAL_NEIGHBOR|2603:10e2:400:1::2": { + "rrclient": "0", + "name": "ASIC0", + "local_addr": "2603:10e2:400:1::1", + "nhopself": "0", + "admin_status": "up", + "holdtime": "0", + "asn": "65100", + "keepalive": "0" } } diff --git a/tests/mock_tables/mock_multi_asic.py b/tests/mock_tables/mock_multi_asic.py index 46f943369d..0e5589c301 100644 --- a/tests/mock_tables/mock_multi_asic.py +++ b/tests/mock_tables/mock_multi_asic.py @@ -63,6 +63,8 @@ def mock_is_multi_asic(): def mock_get_namespace_list(namespace=None): + if namespace: + return [namespace] return ['asic0', 'asic1'] diff --git a/tests/pfcstat_test.py b/tests/pfcstat_test.py index 6e0a76d364..5115ad11f1 100644 --- a/tests/pfcstat_test.py +++ b/tests/pfcstat_test.py @@ -1,3 +1,4 @@ +import importlib import os import shutil import sys @@ -247,3 +248,7 @@ def teardown_class(cls): os.environ["UTILITIES_UNIT_TESTING"] = "0" os.environ["UTILITIES_UNIT_TESTING_TOPOLOGY"] = "" del_cached_stats() + import mock_tables.mock_single_asic + importlib.reload(mock_tables.mock_single_asic) + import pfcwd.main + importlib.reload(pfcwd.main) diff --git a/tests/pfcwd_test.py b/tests/pfcwd_test.py index be04a11f25..b0af050233 100644 --- a/tests/pfcwd_test.py +++ b/tests/pfcwd_test.py @@ -497,3 +497,7 @@ def teardown_class(cls): ) os.environ["UTILITIES_UNIT_TESTING"] = "0" os.environ["UTILITIES_UNIT_TESTING_TOPOLOGY"] = "" + import mock_tables.mock_single_asic + importlib.reload(mock_tables.mock_single_asic) + import pfcwd.main + importlib.reload(pfcwd.main) \ No newline at end of file diff --git a/tests/show_bgp_neighbor_test.py b/tests/show_bgp_neighbor_test.py new file mode 100644 index 0000000000..de84223060 --- /dev/null +++ b/tests/show_bgp_neighbor_test.py @@ -0,0 +1,128 @@ +import importlib +import os + +import pytest + +from click.testing import CliRunner +from .bgp_commands_input.bgp_neighbor_test_vector import * + + +def executor(test_vector, show): + runner = CliRunner() + input = testData[test_vector] + if test_vector.startswith('bgp_v6'): + exec_cmd = show.cli.commands["ipv6"].commands["bgp"].commands["neighbors"] + else: + exec_cmd = show.cli.commands["ip"].commands["bgp"].commands["neighbors"] + + result = runner.invoke(exec_cmd, input['args']) + + print(result.exit_code) + print(result.output) + + if input['rc'] == 0: + assert result.exit_code == 0 + else: + assert result.exit_code == input['rc'] + + if 'rc_err_msg' in input: + output = result.output.strip().split("\n")[-1] + assert input['rc_err_msg'] == output + + if 'rc_output' in input: + assert result.output == input['rc_output'] + + if 'rc_warning_msg' in input: + output = result.output.strip().split("\n")[0] + assert input['rc_warning_msg'] in output + + +class TestBgpNeighbors(object): + + @classmethod + def setup_class(cls): + print("SETUP") + from .mock_tables import mock_single_asic + importlib.reload(mock_single_asic) + from .mock_tables import dbconnector + dbconnector.load_namespace_config() + + @pytest.mark.parametrize('setup_single_bgp_instance, test_vector', + [ + ('bgp_v4_neighbors_output', 'bgp_v4_neighbors'), + ('bgp_v4_neighbors_output', + 'bgp_v4_neighbor_ip_address'), + ('bgp_v4_neighbor_invalid_neigh', + 'bgp_v4_neighbor_invalid'), + ('bgp_v4_neighbor_invalid_address', + 'bgp_v4_neighbor_invalid_address'), + ('bgp_v4_neighbor_output_adv_routes', + 'bgp_v4_neighbor_adv_routes'), + ('bgp_v4_neighbor_output_recv_routes', + 'bgp_v4_neighbor_recv_routes'), + ('bgp_v6_neighbors_output', 'bgp_v6_neighbors'), + ('bgp_v6_neighbors_output', + 'bgp_v6_neighbor_ip_address'), + ('bgp_v6_neighbor_invalid', + 'bgp_v6_neighbor_invalid'), + ('bgp_v6_neighbor_invalid_address', + 'bgp_v6_neighbor_invalid_address'), + ('bgp_v6_neighbor_output_adv_routes', + 'bgp_v6_neighbor_adv_routes'), + ('bgp_v6_neighbor_output_recv_routes', + 'bgp_v6_neighbor_recv_routes'), + ], + indirect=['setup_single_bgp_instance']) + def test_bgp_neighbors(self, + setup_bgp_commands, + setup_single_bgp_instance, + test_vector): + show = setup_bgp_commands + executor(test_vector, show) + + +class TestBgpNeighborsMultiAsic(object): + @classmethod + def setup_class(cls): + print("SETUP") + from .mock_tables import mock_multi_asic + importlib.reload(mock_multi_asic) + from .mock_tables import dbconnector + dbconnector.load_namespace_config() + + @pytest.mark.parametrize('setup_multi_asic_bgp_instance, test_vector', + [ + ('bgp_v4_neighbors_output_all_asics', + 'bgp_v4_neighbors_multi_asic'), + ('bgp_v4_neighbors_output_asic1', + 'bgp_v4_neighbors_asic'), + ('bgp_v4_neighbors_output_asic1', + 'bgp_v4_neighbors_internal'), + ('bgp_v4_neighbors_output_asic0', + 'bgp_v4_neighbors_external'), + ('bgp_v6_neighbor_output_warning', + 'bgp_v6_neighbor_warning'), + ('bgp_v6_neighbors_output_all_asics', + 'bgp_v6_neighbors_multi_asic'), + ('bgp_v6_neighbors_output_asic0', + 'bgp_v6_neighbors_asic'), + ('bgp_v6_neighbors_output_asic0', + 'bgp_v6_neighbors_external'), + ('bgp_v6_neighbors_output_asic1', + 'bgp_v6_neighbors_internal') + ], + indirect=['setup_multi_asic_bgp_instance']) + def test_bgp_neighbors(self, + setup_bgp_commands, + setup_multi_asic_bgp_instance, + test_vector): + show = setup_bgp_commands + executor(test_vector, show) + + @classmethod + def teardown_class(cls): + print("TEARDOWN") + from .mock_tables import mock_single_asic + importlib.reload(mock_single_asic) + from .mock_tables import dbconnector + dbconnector.load_database_config diff --git a/tests/show_bgp_network_test.py b/tests/show_bgp_network_test.py new file mode 100644 index 0000000000..f610199538 --- /dev/null +++ b/tests/show_bgp_network_test.py @@ -0,0 +1,100 @@ +import importlib +import os + +import pytest + +from click.testing import CliRunner +from .bgp_commands_input import bgp_network_test_vector + + +def executor(test_vector, show): + runner = CliRunner() + input = bgp_network_test_vector.testData[test_vector] + if test_vector.startswith('bgp_v6'): + exec_cmd = show.cli.commands["ipv6"].commands["bgp"].commands["network"] + else: + exec_cmd = show.cli.commands["ip"].commands["bgp"].commands["network"] + + result = runner.invoke(exec_cmd, input['args']) + + print(result.exit_code) + print(result.output) + + if input['rc'] == 0: + assert result.exit_code == 0 + else: + assert result.exit_code == input['rc'] + + if 'rc_err_msg' in input: + output = result.output.strip().split("\n")[-1] + assert input['rc_err_msg'] in output + + if 'rc_output' in input: + assert result.output == input['rc_output'] + + if 'rc_warning_msg' in input: + output = result.output.strip().split("\n")[0] + assert input['rc_warning_msg'] in output + + +class TestBgpNetwork(object): + + @classmethod + def setup_class(cls): + from .mock_tables import mock_single_asic + importlib.reload(mock_single_asic) + from .mock_tables import dbconnector + dbconnector.load_database_config + + + @pytest.mark.parametrize( + 'setup_single_bgp_instance, test_vector', + [('bgp_v4_network', 'bgp_v4_network'), + ('bgp_v6_network', 'bgp_v6_network'), + ('bgp_v4_network_ip_address', 'bgp_v4_network_ip_address'), + ('bgp_v6_network_ip_address', 'bgp_v6_network_ip_address'), + ('bgp_v6_network_bestpath', 'bgp_v6_network_bestpath'), + ('bgp_v4_network_bestpath', 'bgp_v4_network_bestpath'), + ('bgp_v6_network_longer_prefixes', 'bgp_v6_network_longer_prefixes'), + ('bgp_v4_network', 'bgp_v4_network_longer_prefixes_error'), + ('bgp_v4_network', 'bgp_v6_network_longer_prefixes_error')], + indirect=['setup_single_bgp_instance']) + def test_bgp_network(self, setup_bgp_commands, test_vector, + setup_single_bgp_instance): + show = setup_bgp_commands + executor(test_vector, show) + + +class TestMultiAsicBgpNetwork(object): + + @classmethod + def setup_class(cls): + print("SETUP") + from .mock_tables import mock_multi_asic + importlib.reload(mock_multi_asic) + from .mock_tables import dbconnector + dbconnector.load_namespace_config() + + @pytest.mark.parametrize( + 'setup_multi_asic_bgp_instance, test_vector', + [('bgp_v4_network', 'bgp_v4_network_multi_asic'), + ('bgp_v6_network', 'bgp_v6_network_multi_asic'), + ('bgp_v4_network_asic0', 'bgp_v4_network_asic0'), + ('bgp_v4_network_ip_address_asic0', 'bgp_v4_network_ip_address_asic0'), + ('bgp_v4_network_bestpath_asic0', 'bgp_v4_network_bestpath_asic0'), + ('bgp_v6_network_asic0', 'bgp_v6_network_asic0'), + ('bgp_v6_network_ip_address_asic0', 'bgp_v6_network_ip_address_asic0'), + ('bgp_v6_network_bestpath_asic0', 'bgp_v6_network_bestpath_asic0')], + indirect=['setup_multi_asic_bgp_instance']) + def test_bgp_network(self, setup_bgp_commands, test_vector, + setup_multi_asic_bgp_instance): + show = setup_bgp_commands + executor(test_vector, show) + + @classmethod + def teardown_class(cls): + print("TEARDOWN") + from .mock_tables import mock_single_asic + importlib.reload(mock_single_asic) + from .mock_tables import dbconnector + dbconnector.load_database_config diff --git a/utilities_common/bgp_util.py b/utilities_common/bgp_util.py index 3d3968bd32..1d46ec5686 100644 --- a/utilities_common/bgp_util.py +++ b/utilities_common/bgp_util.py @@ -11,6 +11,32 @@ from utilities_common import constants +def get_namespace_for_bgp_neighbor(neighbor_ip): + namespace_list = multi_asic.get_namespace_list() + for namespace in namespace_list: + if is_bgp_neigh_present(neighbor_ip, namespace): + return namespace + + # neighbor IP not present in any namespace + raise ValueError( + ' Bgp neighbor {} not configured'.format(neighbor_ip)) + + +def is_bgp_neigh_present(neighbor_ip, namespace=multi_asic.DEFAULT_NAMESPACE): + config_db = multi_asic.connect_config_db_for_ns(namespace) + #check the internal + bgp_session = config_db.get_entry(multi_asic.BGP_NEIGH_CFG_DB_TABLE, + neighbor_ip) + if bgp_session: + return True + + bgp_session = config_db.get_entry( + multi_asic.BGP_INTERNAL_NEIGH_CFG_DB_TABLE, neighbor_ip) + if bgp_session: + return True + return False + + def is_ipv4_address(ip_address): """ Checks if given ip is ipv4 @@ -147,11 +173,13 @@ def get_neighbor_dict_from_table(db, table_name): return neighbor_dict -def run_bgp_command(vtysh_cmd, bgp_namespace=multi_asic.DEFAULT_NAMESPACE): +def run_bgp_command(vtysh_cmd, + bgp_namespace=multi_asic.DEFAULT_NAMESPACE): bgp_instance_id = ' ' output = None if bgp_namespace is not multi_asic.DEFAULT_NAMESPACE: - bgp_instance_id = " -n {} ".format(multi_asic.get_asic_id_from_name(bgp_namespace)) + bgp_instance_id = " -n {} ".format( + multi_asic.get_asic_id_from_name(bgp_namespace)) cmd = 'sudo vtysh {} -c "{}"'.format( bgp_instance_id, vtysh_cmd) @@ -159,11 +187,10 @@ def run_bgp_command(vtysh_cmd, bgp_namespace=multi_asic.DEFAULT_NAMESPACE): output = clicommon.run_command(cmd, return_cmd=True) except Exception: ctx = click.get_current_context() - ctx.fail("Unable to get summary from bgp".format(bgp_instance_id)) + ctx.fail("Unable to get summary from bgp {}".format(bgp_instance_id)) return output - def get_bgp_summary_from_all_bgp_instances(af, namespace, display): device = multi_asic_util.MultiAsic(display, namespace) @@ -258,7 +285,7 @@ def process_bgp_summary_json(bgp_summary, cmd_output, device): bgp_summary['peerGroupMemory'] = bgp_summary.get( 'peerGroupMemory', 0) + cmd_output['peerGroupMemory'] - #store instance level field is seperate dict + # store instance level field is seperate dict router_info = {} router_info['router_id'] = cmd_output['routerId'] router_info['vrf'] = cmd_output['vrfId'] @@ -288,7 +315,7 @@ def process_bgp_summary_json(bgp_summary, cmd_output, device): peers.append(value['pfxRcd']) else: peers.append(value['state']) - + # Get the bgp neighbour name ans store it neigh_name = get_bgp_neighbor_ip_to_name( peer_ip, static_neighbors, dynamic_neighbors) diff --git a/utilities_common/multi_asic.py b/utilities_common/multi_asic.py index d98b26b399..920b5eebe5 100644 --- a/utilities_common/multi_asic.py +++ b/utilities_common/multi_asic.py @@ -105,6 +105,11 @@ def multi_asic_display_default_option(): help='Namespace name or all'), ] +def multi_asic_namespace_validation_callback(ctx, param, value): + if not multi_asic.is_multi_asic: + click.echo("-n/--namespace is not available for single asic") + ctx.abort() + return value def multi_asic_click_options(func): for option in reversed(_multi_asic_click_options): From 08337aa7637b290bb8407c38b2a5dbe3e8383b3e Mon Sep 17 00:00:00 2001 From: Stepan Blyshchak <38952541+stepanblyschak@users.noreply.github.com> Date: Thu, 29 Apr 2021 04:58:30 +0300 Subject: [PATCH 177/342] [sonic-package-manager] first phase implementation of sonic-package-manager (#1527) What I did Implemented sonic-package-manager utility to manager SONiC Packages as per HLD Azure/SONiC#682. Implemented optional logic to migrate packages into new SONiC image in sonic-installer. How I did it Implemented as per HLD Azure/SONiC#682. How to verify it (Doc: Azure/SONiC#682) install package uninstall package upgrade package S2S upgrade THANK YOU, Stepan! --- doc/Command-Reference.md | 318 +++++- setup.py | 14 + .../bash_completion.d/sonic-package-manager | 8 + sonic-utilities-data/bash_completion.d/spm | 1 + sonic-utilities-data/templates/dump.sh.j2 | 29 + .../templates/service_mgmt.sh.j2 | 149 +++ .../templates/sonic.service.j2 | 39 + sonic-utilities-data/templates/timer.unit.j2 | 15 + sonic_installer/bootloader/aboot.py | 11 +- sonic_installer/bootloader/bootloader.py | 5 +- sonic_installer/common.py | 3 + sonic_installer/main.py | 127 ++- sonic_package_manager/__init__.py | 5 + sonic_package_manager/constraint.py | 166 ++++ sonic_package_manager/database.py | 222 +++++ sonic_package_manager/dockerapi.py | 226 +++++ sonic_package_manager/errors.py | 146 +++ sonic_package_manager/logger.py | 29 + sonic_package_manager/main.py | 460 +++++++++ sonic_package_manager/manager.py | 931 ++++++++++++++++++ sonic_package_manager/manifest.py | 210 ++++ sonic_package_manager/metadata.py | 185 ++++ sonic_package_manager/package.py | 53 + sonic_package_manager/progress.py | 52 + sonic_package_manager/reference.py | 30 + sonic_package_manager/registry.py | 157 +++ .../service_creator/__init__.py | 3 + .../service_creator/creator.py | 342 +++++++ .../service_creator/feature.py | 108 ++ .../service_creator/sonic_db.py | 98 ++ .../service_creator/utils.py | 17 + sonic_package_manager/source.py | 183 ++++ sonic_package_manager/utils.py | 42 + sonic_package_manager/version.py | 23 + tests/sonic_package_manager/conftest.py | 377 +++++++ tests/sonic_package_manager/test_cli.py | 63 ++ .../sonic_package_manager/test_constraint.py | 76 ++ tests/sonic_package_manager/test_database.py | 89 ++ tests/sonic_package_manager/test_manager.py | 322 ++++++ tests/sonic_package_manager/test_manifest.py | 74 ++ tests/sonic_package_manager/test_metadata.py | 37 + tests/sonic_package_manager/test_reference.py | 18 + tests/sonic_package_manager/test_registry.py | 15 + .../test_service_creator.py | 171 ++++ tests/sonic_package_manager/test_utils.py | 8 + 45 files changed, 5633 insertions(+), 24 deletions(-) create mode 100644 sonic-utilities-data/bash_completion.d/sonic-package-manager create mode 120000 sonic-utilities-data/bash_completion.d/spm create mode 100644 sonic-utilities-data/templates/dump.sh.j2 create mode 100644 sonic-utilities-data/templates/service_mgmt.sh.j2 create mode 100644 sonic-utilities-data/templates/sonic.service.j2 create mode 100644 sonic-utilities-data/templates/timer.unit.j2 create mode 100644 sonic_package_manager/__init__.py create mode 100644 sonic_package_manager/constraint.py create mode 100644 sonic_package_manager/database.py create mode 100644 sonic_package_manager/dockerapi.py create mode 100644 sonic_package_manager/errors.py create mode 100644 sonic_package_manager/logger.py create mode 100644 sonic_package_manager/main.py create mode 100644 sonic_package_manager/manager.py create mode 100644 sonic_package_manager/manifest.py create mode 100644 sonic_package_manager/metadata.py create mode 100644 sonic_package_manager/package.py create mode 100644 sonic_package_manager/progress.py create mode 100644 sonic_package_manager/reference.py create mode 100644 sonic_package_manager/registry.py create mode 100644 sonic_package_manager/service_creator/__init__.py create mode 100644 sonic_package_manager/service_creator/creator.py create mode 100644 sonic_package_manager/service_creator/feature.py create mode 100644 sonic_package_manager/service_creator/sonic_db.py create mode 100644 sonic_package_manager/service_creator/utils.py create mode 100644 sonic_package_manager/source.py create mode 100644 sonic_package_manager/utils.py create mode 100644 sonic_package_manager/version.py create mode 100644 tests/sonic_package_manager/conftest.py create mode 100644 tests/sonic_package_manager/test_cli.py create mode 100644 tests/sonic_package_manager/test_constraint.py create mode 100644 tests/sonic_package_manager/test_database.py create mode 100644 tests/sonic_package_manager/test_manager.py create mode 100644 tests/sonic_package_manager/test_manifest.py create mode 100644 tests/sonic_package_manager/test_metadata.py create mode 100644 tests/sonic_package_manager/test_reference.py create mode 100644 tests/sonic_package_manager/test_registry.py create mode 100644 tests/sonic_package_manager/test_service_creator.py create mode 100644 tests/sonic_package_manager/test_utils.py diff --git a/doc/Command-Reference.md b/doc/Command-Reference.md index 6615413255..ab4e28dbdc 100644 --- a/doc/Command-Reference.md +++ b/doc/Command-Reference.md @@ -143,6 +143,7 @@ * [Watermark Show commands](#watermark-show-commands) * [Watermark Config commands](#watermark-config-commands) * [Software Installation and Management](#software-installation-and-management) + * [SONiC Package Manager](#sonic-package-manager) * [SONiC Installer](#sonic-installer) * [Troubleshooting Commands](#troubleshooting-commands) * [Routing Stack](#routing-stack) @@ -7961,8 +7962,316 @@ Go Back To [Beginning of the document](#) or [Beginning of this section](#waterm ## Software Installation and Management -SONiC software can be installed in two methods, viz, "using sonic-installer tool", "ONIE Installer". +SONiC images can be installed in one of two methods: +1. From within a running SONiC image using the `sonic-installer` utility +2. From the vendor's bootloader (E.g., ONIE, Aboot, etc.) +SONiC packages are available as prebuilt Docker images and meant to be installed with the *sonic-package-manager* utility. + +### SONiC Package Manager + +The *sonic-package-manager* is a command line tool to manage (e.g. install, upgrade or uninstall) SONiC Packages. + +**sonic-package-manager list** + +This command lists all available SONiC packages, their desription, installed version and installation status. +SONiC package status can be *Installed*, *Not installed* or *Built-In*. "Built-In" status means that a feature is built-in to SONiC image and can't be upgraded or uninstalled. + +- Usage: + ``` + sonic-package-manager list + ``` + +- Example: + ``` + admin@sonic:~$ sonic-package-manager list + Name Repository Description Version Status + -------------- --------------------------- ---------------------------- --------- -------------- + cpu-report azure/cpu-report CPU report package N/A Not Installed + database docker-database SONiC database package 1.0.0 Built-In + dhcp-relay azure/docker-dhcp-relay SONiC dhcp-relay package 1.0.0 Installed + fpm-frr docker-fpm-frr SONiC fpm-frr package 1.0.0 Built-In + lldp docker-lldp SONiC lldp package 1.0.0 Built-In + macsec docker-macsec SONiC macsec package 1.0.0 Built-In + mgmt-framework docker-sonic-mgmt-framework SONiC mgmt-framework package 1.0.0 Built-In + nat docker-nat SONiC nat package 1.0.0 Built-In + pmon docker-platform-monitor SONiC pmon package 1.0.0 Built-In + radv docker-router-advertiser SONiC radv package 1.0.0 Built-In + sflow docker-sflow SONiC sflow package 1.0.0 Built-In + snmp docker-snmp SONiC snmp package 1.0.0 Built-In + swss docker-orchagent SONiC swss package 1.0.0 Built-In + syncd docker-syncd-mlnx SONiC syncd package 1.0.0 Built-In + teamd docker-teamd SONiC teamd package 1.0.0 Built-In + telemetry docker-sonic-telemetry SONiC telemetry package 1.0.0 Built-In + ``` + +**sonic-package-manager repository add** + +This command will add a new repository as source for SONiC packages to the database. *NOTE*: requires elevated (root) privileges to run + +- Usage: + ``` + Usage: sonic-package-manager repository add [OPTIONS] NAME REPOSITORY + + Add a new repository to database. + + NOTE: This command requires elevated (root) privileges to run. + + Options: + --default-reference TEXT Default installation reference. Can be a tag or + sha256 digest in repository. + --description TEXT Optional package entry description. + --help Show this message and exit. + ``` +- Example: + ``` + admin@sonic:~$ sudo sonic-package-manager repository add \ + cpu-report azure/sonic-cpu-report --default-reference 1.0.0 + ``` + +**sonic-package-manager repository remove** + +This command will remove a repository as source for SONiC packages from the database . The package has to be *Not Installed* in order to be removed from package database. *NOTE*: requires elevated (root) privileges to run + +- Usage: + ``` + Usage: sonic-package-manager repository remove [OPTIONS] NAME + + Remove repository from database. + + NOTE: This command requires elevated (root) privileges to run. + + Options: + --help Show this message and exit. + ``` +- Example: + ``` + admin@sonic:~$ sudo sonic-package-manager repository remove cpu-report + ``` + +**sonic-package-manager install** + +This command pulls and installs a package on SONiC host. *NOTE*: this command requires elevated (root) privileges to run + +- Usage: + ``` + Usage: sonic-package-manager install [OPTIONS] [PACKAGE_EXPR] + + Install/Upgrade package using [PACKAGE_EXPR] in format + "[=|@]". + + The repository to pull the package from is resolved by lookup in + package database, thus the package has to be added via "sonic- + package-manager repository add" command. + + In case when [PACKAGE_EXPR] is a package name "" this command + will install or upgrade to a version referenced by "default- + reference" in package database. + + NOTE: This command requires elevated (root) privileges to run. + + Options: + --enable Set the default state of the feature to enabled + and enable feature right after installation. NOTE: + user needs to execute "config save -y" to make + this setting persistent. + --set-owner [local|kube] Default owner configuration setting for a feature. + --from-repository TEXT Fetch package directly from image registry + repository. NOTE: This argument is mutually + exclusive with arguments: [package_expr, + from_tarball]. + --from-tarball FILE Fetch package from saved image tarball. NOTE: This + argument is mutually exclusive with arguments: + [package_expr, from_repository]. + -f, --force Force operation by ignoring package dependency + tree and package manifest validation failures. + -y, --yes Automatically answer yes on prompts. + -v, --verbosity LVL Either CRITICAL, ERROR, WARNING, INFO or DEBUG. + Default is INFO. + --skip-host-plugins Do not install host OS plugins provided by the + package (CLI, etc). NOTE: In case when package + host OS plugins are set as mandatory in package + manifest this option will fail the installation. + --allow-downgrade Allow package downgrade. By default an attempt to + downgrade the package will result in a failure + since downgrade might not be supported by the + package, thus requires explicit request from the + user. + --help Show this message and exit.. + ``` +- Example: + ``` + admin@sonic:~$ sudo sonic-package-manager install dhcp-relay=1.0.2 + ``` + ``` + admin@sonic:~$ sudo sonic-package-manager install dhcp-relay@latest + ``` + ``` + admin@sonic:~$ sudo sonic-package-manager install dhcp-relay@sha256:9780f6d83e45878749497a6297ed9906c19ee0cc48cc88dc63827564bb8768fd + ``` + ``` + admin@sonic:~$ sudo sonic-package-manager install --from-repository azure/sonic-cpu-report:latest + ``` + ``` + admin@sonic:~$ sudo sonic-package-manager install --from-tarball sonic-docker-image.gz + ``` + +**sonic-package-manager uninstall** + +This command uninstalls package from SONiC host. User needs to stop the feature prior to uninstalling it. +*NOTE*: this command requires elevated (root) privileges to run. + +- Usage: + ``` + Usage: sonic-package-manager uninstall [OPTIONS] NAME + + Uninstall package. + + NOTE: This command requires elevated (root) privileges to run. + + Options: + -f, --force Force operation by ignoring package dependency tree and + package manifest validation failures. + -y, --yes Automatically answer yes on prompts. + -v, --verbosity LVL Either CRITICAL, ERROR, WARNING, INFO or DEBUG. Default + is INFO. + --help Show this message and exit. + ``` +- Example: + ``` + admin@sonic:~$ sudo sonic-package-manager uninstall dhcp-relay + ``` + +**sonic-package-manager reset** + +This comamnd resets the package by reinstalling it to its default version. *NOTE*: this command requires elevated (root) privileges to run. + +- Usage: + ``` + Usage: sonic-package-manager reset [OPTIONS] NAME + + Reset package to the default version. + + NOTE: This command requires elevated (root) privileges to run. + + Options: + -f, --force Force operation by ignoring package dependency tree and + package manifest validation failures. + -y, --yes Automatically answer yes on prompts. + -v, --verbosity LVL Either CRITICAL, ERROR, WARNING, INFO or DEBUG. Default + is INFO. + --skip-host-plugins Do not install host OS plugins provided by the package + (CLI, etc). NOTE: In case when package host OS plugins + are set as mandatory in package manifest this option + will fail the installation. + --help Show this message and exit. + ``` +- Example: + ``` + admin@sonic:~$ sudo sonic-package-manager reset dhcp-relay + ``` + +**sonic-package-manager show package versions** + +This command will retrieve a list of all available versions for the given package from the configured upstream repository + +- Usage: + ``` + Usage: sonic-package-manager show package versions [OPTIONS] NAME + + Show available versions. + + Options: + --all Show all available tags in repository. + --plain Plain output. + --help Show this message and exit. + ``` +- Example: + ``` + admin@sonic:~$ sonic-package-manager show package versions dhcp-relay + • 1.0.0 + • 1.0.2 + • 2.0.0 + ``` + ``` + admin@sonic:~$ sonic-package-manager show package versions dhcp-relay --plain + 1.0.0 + 1.0.2 + 2.0.0 + ``` + ``` + admin@sonic:~$ sonic-package-manager show package versions dhcp-relay --all + • 1.0.0 + • 1.0.2 + • 2.0.0 + • latest + ``` + +**sonic-package-manager show package changelog** + +This command fetches the changelog from the package manifest and displays it. *NOTE*: package changelog can be retrieved from registry or read from image tarball without installing it. + +- Usage: + ``` + Usage: sonic-package-manager show package changelog [OPTIONS] [PACKAGE_EXPR] + + Show package changelog. + + Options: + --from-repository TEXT Fetch package directly from image registry + repository NOTE: This argument is mutually exclusive + with arguments: [from_tarball, package_expr]. + --from-tarball FILE Fetch package from saved image tarball NOTE: This + argument is mutually exclusive with arguments: + [package_expr, from_repository]. + --help Show this message and exit. + ``` +- Example: + ``` + admin@sonic:~$ sonic-package-manager show package changelog dhcp-relay + 1.0.0: + + • Initial release + + Author (author@email.com) Mon, 25 May 2020 12:25:00 +0300 + ``` + +**sonic-package-manager show package manifest** + +This command fetches the package manifest and displays it. *NOTE*: package manifest can be retrieved from registry or read from image tarball without installing it. + +- Usage: + ``` + Usage: sonic-package-manager show package manifest [OPTIONS] [PACKAGE_EXPR] + + Show package manifest. + + Options: + --from-repository TEXT Fetch package directly from image registry + repository NOTE: This argument is mutually exclusive + with arguments: [package_expr, from_tarball]. + --from-tarball FILE Fetch package from saved image tarball NOTE: This + argument is mutually exclusive with arguments: + [from_repository, package_expr]. + -v, --verbosity LVL Either CRITICAL, ERROR, WARNING, INFO or DEBUG + --help Show this message and exit. + ``` +- Example: + ``` + admin@sonic:~$ sonic-package-manager show package manifest dhcp-relay=2.0.0 + { + "version": "1.0.0", + "package": { + "version": "2.0.0", + "depends": [ + "database>=1.0.0,<2.0.0" + ] + }, + "service": { + "name": "dhcp_relay" + } + } + ``` ### SONiC Installer This is a command line tool available as part of the SONiC software; If the device is already running the SONiC software, this tool can be used to install an alternate image in the partition. @@ -8033,6 +8342,13 @@ This command is used to install a new image on the alternate image partition. T Done ``` +Installing a new image using the sonic-installer will keep using the packages installed on the currently running SONiC image and automatically migrate those. In order to perform clean SONiC installation use the *--skip-package-migration* option: + +- Example: + ``` + admin@sonic:~$ sudo sonic-installer install https://sonic-jenkins.westus.cloudapp.azure.com/job/xxxx/job/buildimage-xxxx-all/xxx/artifact/target/sonic-xxxx.bin --skip-package-migration + ``` + **sonic-installer set_default** This command is be used to change the image which can be loaded by default in all the subsequent reboots. diff --git a/setup.py b/setup.py index cd706eb433..15f93b46f7 100644 --- a/setup.py +++ b/setup.py @@ -48,6 +48,8 @@ 'show.plugins', 'sonic_installer', 'sonic_installer.bootloader', + 'sonic_package_manager', + 'sonic_package_manager.service_creator', 'tests', 'undebug', 'utilities_common', @@ -151,13 +153,21 @@ 'sonic-clear = clear.main:cli', 'sonic-installer = sonic_installer.main:sonic_installer', 'sonic_installer = sonic_installer.main:sonic_installer', # Deprecated + 'sonic-package-manager = sonic_package_manager.main:cli', + 'spm = sonic_package_manager.main:cli', 'undebug = undebug.main:cli', 'watchdogutil = watchdogutil.main:watchdogutil', ] }, install_requires=[ 'click==7.0', + 'click-log==0.3.2', + 'docker==4.4.4', + 'docker-image-py==0.1.10', + 'filelock==3.0.12', + 'enlighten==1.8.0', 'ipaddress==1.0.23', + 'jinja2==2.11.3', 'jsondiff==1.2.0', 'jsonpatch==1.32.0', 'm2crypto==0.31.0', @@ -165,6 +175,8 @@ 'netaddr==0.8.0', 'netifaces==0.10.7', 'pexpect==4.8.0', + 'poetry-semver==0.1.0', + 'prettyprinter==0.18.0', 'pyroute2==0.5.14', 'requests==2.25.0', 'sonic-config-engine', @@ -173,6 +185,7 @@ 'sonic-yang-mgmt', 'swsssdk>=2.0.1', 'tabulate==0.8.2', + 'www-authenticate==0.9.2', 'xmltodict==0.12.0', ], setup_requires= [ @@ -180,6 +193,7 @@ 'wheel' ], tests_require = [ + 'pyfakefs', 'pytest', 'mockredispy>=2.9.3', 'deepdiff==5.2.3' diff --git a/sonic-utilities-data/bash_completion.d/sonic-package-manager b/sonic-utilities-data/bash_completion.d/sonic-package-manager new file mode 100644 index 0000000000..a8a2456603 --- /dev/null +++ b/sonic-utilities-data/bash_completion.d/sonic-package-manager @@ -0,0 +1,8 @@ +_sonic_package_manager_completion() { + COMPREPLY=( $( env COMP_WORDS="${COMP_WORDS[*]}" \ + COMP_CWORD=$COMP_CWORD \ + _SONIC_PACKAGE_MANAGER_COMPLETE=complete $1 ) ) + return 0 +} + +complete -F _sonic_package_manager_completion -o default sonic-package-manager; diff --git a/sonic-utilities-data/bash_completion.d/spm b/sonic-utilities-data/bash_completion.d/spm new file mode 120000 index 0000000000..3fff069223 --- /dev/null +++ b/sonic-utilities-data/bash_completion.d/spm @@ -0,0 +1 @@ +sonic-package-manager \ No newline at end of file diff --git a/sonic-utilities-data/templates/dump.sh.j2 b/sonic-utilities-data/templates/dump.sh.j2 new file mode 100644 index 0000000000..ebb7ed8f24 --- /dev/null +++ b/sonic-utilities-data/templates/dump.sh.j2 @@ -0,0 +1,29 @@ +#!/bin/bash + +# +# =============== Managed by SONiC Package Manager. DO NOT EDIT! =============== +# auto-generated from {{ source }} by sonic-package-manager +# + +service="{{ manifest.service.name }}" +dump_command="{{ manifest.package['debug-dump'] }}" +container_re="^${service}[0-9]*$" +{% raw %} +container_ids="$(docker ps -f name=${container_re} -f status=running --format {{.Names}})" +{% endraw %} +tmp_dir=$(mktemp -d) +tmp_dump_dir="$tmp_dir/$service" +tmp_archive=$(mktemp) + +mkdir -p "$tmp_dump_dir" + +for container_id in $container_ids; do + docker exec -t "${container_id}" ${dump_command} &> "${tmp_dump_dir}/${container_id}" +done + + +tar -C $(dirname $tmp_dump_dir) -cf $tmp_archive $service + +cat $tmp_archive +rm $tmp_archive +rm -rf $tmp_dir diff --git a/sonic-utilities-data/templates/service_mgmt.sh.j2 b/sonic-utilities-data/templates/service_mgmt.sh.j2 new file mode 100644 index 0000000000..e46ba47380 --- /dev/null +++ b/sonic-utilities-data/templates/service_mgmt.sh.j2 @@ -0,0 +1,149 @@ +#!/bin/bash + +# +# =============== Managed by SONiC Package Manager. DO NOT EDIT! =============== +# auto-generated from {{ source }} by sonic-package-manager +# + +SERVICE="{{ manifest.service.name }}" +NAMESPACE_PREFIX="asic" +SONIC_DB_CLI="sonic-db-cli" +TMPDIR="/tmp/" +DEBUGLOG="${TMPDIR}/${SERVICE}.log" +[[ ! -z $DEV ]] && DEBUGLOG="${TMPDIR}/${SERVICE}-${DEV}.log" +[[ ! -z $DEV ]] && NET_NS="${NAMESPACE_PREFIX}${DEV}" # name of the network namespace +[[ ! -z $DEV ]] && SONIC_DB_CLI="${SONIC_DB_CLI} -n ${NET_NS}" + +{%- for service in manifest.service.dependent %} +{%- if service in multi_instance_services %} +MULTI_INST_DEPENDENT="${MULTI_INST_DEPENDENT} {{ service }}" +{%- else %} +DEPENDENT="${DEPENDENT} {{ service }}" +{%- endif %} +{%- endfor %} + +# Update dependent list based on other packages requirements +if [[ -f /etc/sonic/${SERVICE}_dependent ]]; then + DEPENDENT="${DEPENDENT} $(cat /etc/sonic/${SERVICE}_dependent)" +fi + +if [[ -f /etc/sonic/${SERVICE}_multi_inst_dependent ]]; then + MULTI_INST_DEPENDENT="${MULTI_INST_DEPENDENT} cat /etc/sonic/${SERVICE}_multi_inst_dependent" +fi + +function debug() +{ + /usr/bin/logger $1 + /bin/echo `date` "- $1" >> ${DEBUGLOG} +} + +function check_warm_boot() +{ + SYSTEM_WARM_START=`$SONIC_DB_CLI STATE_DB hget "WARM_RESTART_ENABLE_TABLE|system" enable` + SERVICE_WARM_START=`$SONIC_DB_CLI STATE_DB hget "WARM_RESTART_ENABLE_TABLE|${SERVICE}" enable` + if [[ x"$SYSTEM_WARM_START" == x"true" ]] || [[ x"$SERVICE_WARM_START" == x"true" ]]; then + WARM_BOOT="true" +{#- TODO: restore count validation for SONiC packages #} + else + WARM_BOOT="false" + fi +} + +function check_fast_boot() +{ + if [[ $($SONIC_DB_CLI STATE_DB GET "FAST_REBOOT|system") == "1" ]]; then + FAST_BOOT="true" + else + FAST_BOOT="false" + fi +} + +function start_dependent_services() { + if [[ x"$WARM_BOOT" != x"true" ]]; then + for dep in ${DEPENDENT}; do + /bin/systemctl start ${dep} + done + for dep in ${MULTI_INST_DEPENDENT}; do + if [[ ! -z $DEV ]]; then + /bin/systemctl start ${dep}@$DEV + else + /bin/systemctl start ${dep} + fi + done + fi +} + +function stop_dependent_services() { + if [[ x"$WARM_BOOT" != x"true" ]] && [[ x"$FAST_BOOT" != x"true" ]]; then + for dep in ${DEPENDENT}; do + /bin/systemctl stop ${dep} + done + for dep in ${MULTI_INST_DEPENDENT}; do + if [[ ! -z $DEV ]]; then + /bin/systemctl stop ${dep}@$DEV + else + /bin/systemctl stop ${dep} + fi + done + fi +} + +function start() { + debug "Starting ${SERVICE}$DEV service..." + + # start service docker + /usr/bin/${SERVICE}.sh start $DEV + debug "Started ${SERVICE}$DEV service..." + +{%- if manifest.service["post-start-action"] %} + docker exec -t ${SERVICE}${DEV} {{ manifest.service["post-start-action"] }} +{%- endif %} +} + +function wait() { + start_dependent_services + + if [[ ! -z $DEV ]]; then + /usr/bin/${SERVICE}.sh wait $DEV + else + /usr/bin/${SERVICE}.sh wait + fi +} + +function stop() { + debug "Stopping ${SERVICE}$DEV service..." + +{%- if manifest.service["pre-shutdown-action"] %} + docker exec -t ${SERVICE}${DEV} {{ manifest.service["pre-shutdown-action"] }} +{%- endif %} + + # For WARM/FAST boot do not perform service stop + if [[ x"$WARM_BOOT" != x"true" ]] && [[ x"$FAST_BOOT" != x"true" ]]; then + /usr/bin/${SERVICE}.sh stop $DEV + else + docker kill ${SERVICE}$DEV &> /dev/null || debug "Docker ${SERVICE}$DEV is not running ($?) ..." + fi + + debug "Stopped ${SERVICE}$DEV service..." + + stop_dependent_services +} + +OP=$1 +DEV=$2 + +check_warm_boot +check_fast_boot + +debug "Fast boot flag: ${SERVICE}$DEV ${FAST_BOOT}." +debug "Warm boot flag: ${SERVICE}$DEV ${WARM_BOOT}." + +case "$OP" in + start|wait|stop) + $1 + ;; + *) + echo "Usage: $0 {start|wait|stop}" + exit 1 + ;; +esac diff --git a/sonic-utilities-data/templates/sonic.service.j2 b/sonic-utilities-data/templates/sonic.service.j2 new file mode 100644 index 0000000000..72d6ab698c --- /dev/null +++ b/sonic-utilities-data/templates/sonic.service.j2 @@ -0,0 +1,39 @@ +# +# =============== Managed by SONiC Package Manager. DO NOT EDIT! =============== +# auto-generated from {{ source }} by sonic-package-manager +# +{%- set path = '/usr/local/bin' %} +{%- set multi_instance = multi_instance|default(False) %} +{%- set multi_instance_services = multi_instance_services|default([]) %} +[Unit] +Description={{ manifest.service.name }} container +{%- for service in manifest.service.requires %} +Requires={{ service }}{% if multi_instance and service in multi_instance_services %}@%i{% endif %}.service +{%- endfor %} +{%- for service in manifest.service.requisite %} +Requisite={{ service }}{% if multi_instance and service in multi_instance_services %}@%i{% endif %}.service +{%- endfor %} +{%- for service in manifest.service.after %} +After={{ service }}{% if multi_instance and service in multi_instance_services %}@%i{% endif %}.service +{%- endfor %} +{%- for service in manifest.service.before %} +Before={{ service }}{% if multi_instance and service in multi_instance_services %}@%i{% endif %}.service +{%- endfor %} +BindsTo=sonic.target +After=sonic.target +StartLimitIntervalSec=1200 +StartLimitBurst=3 + +[Service] +ExecStartPre={{path}}/{{manifest.service.name}}.sh start{% if multi_instance %} %i{% endif %} +ExecStart={{path}}/{{manifest.service.name}}.sh wait{% if multi_instance %} %i{% endif %} +ExecStop={{path}}/{{manifest.service.name}}.sh stop{% if multi_instance %} %i{% endif %} +RestartSec=30 + +{%- if not manifest.service.delayed %} +[Install] +WantedBy=sonic.target +{%- for service in manifest.service["wanted-by"] %} +WantedBy={{ service }}{% if multi_instance and service in multi_instance_services %}@%i{% endif %}.service +{%- endfor %} +{%- endif %} diff --git a/sonic-utilities-data/templates/timer.unit.j2 b/sonic-utilities-data/templates/timer.unit.j2 new file mode 100644 index 0000000000..a757b8deb8 --- /dev/null +++ b/sonic-utilities-data/templates/timer.unit.j2 @@ -0,0 +1,15 @@ +# +# =============== Managed by SONiC Package Manager. DO NOT EDIT! =============== +# auto-generated from {{ source }} by sonic-package-manager +# +[Unit] +Description=Delays {{ manifest.service.name }} until SONiC has started +PartOf={{ manifest.service.name }}{% if multi_instance %}@%i{% endif %}.service + +[Timer] +OnUnitActiveSec=0 sec +OnBootSec=3min 30 sec +Unit={{ manifest.service.name }}{% if multi_instance %}@%i{% endif %}.service + +[Install] +WantedBy=timers.target sonic.target diff --git a/sonic_installer/bootloader/aboot.py b/sonic_installer/bootloader/aboot.py index 3bf3e297e7..a2ef2acf4f 100644 --- a/sonic_installer/bootloader/aboot.py +++ b/sonic_installer/bootloader/aboot.py @@ -19,7 +19,6 @@ HOST_PATH, IMAGE_DIR_PREFIX, IMAGE_PREFIX, - ROOTFS_NAME, run_command, run_command_or_raise, ) @@ -189,14 +188,14 @@ def _get_swi_file_offset(self, swipath, filename): return f._fileobj.tell() # pylint: disable=protected-access @contextmanager - def get_rootfs_path(self, image_path): - rootfs_path = os.path.join(image_path, ROOTFS_NAME) - if os.path.exists(rootfs_path) and not isSecureboot(): - yield rootfs_path + def get_path_in_image(self, image_path, path): + path_in_image = os.path.join(image_path, path) + if os.path.exists(path_in_image) and not isSecureboot(): + yield path_in_image return swipath = os.path.join(image_path, DEFAULT_SWI_IMAGE) - offset = self._get_swi_file_offset(swipath, ROOTFS_NAME) + offset = self._get_swi_file_offset(swipath, path) loopdev = subprocess.check_output(['losetup', '-f']).decode('utf8').rstrip() try: diff --git a/sonic_installer/bootloader/bootloader.py b/sonic_installer/bootloader/bootloader.py index b59c9edccd..a6694977ae 100644 --- a/sonic_installer/bootloader/bootloader.py +++ b/sonic_installer/bootloader/bootloader.py @@ -9,7 +9,6 @@ HOST_PATH, IMAGE_DIR_PREFIX, IMAGE_PREFIX, - ROOTFS_NAME, ) class Bootloader(object): @@ -71,6 +70,6 @@ def get_image_path(cls, image): return image.replace(IMAGE_PREFIX, prefix) @contextmanager - def get_rootfs_path(self, image_path): + def get_path_in_image(self, image_path, path_in_image): """returns the path to the squashfs""" - yield path.join(image_path, ROOTFS_NAME) + yield path.join(image_path, path_in_image) diff --git a/sonic_installer/common.py b/sonic_installer/common.py index c49aaac032..ac1416789f 100644 --- a/sonic_installer/common.py +++ b/sonic_installer/common.py @@ -14,6 +14,9 @@ IMAGE_PREFIX = 'SONiC-OS-' IMAGE_DIR_PREFIX = 'image-' ROOTFS_NAME = 'fs.squashfs' +UPPERDIR_NAME = 'rw' +WORKDIR_NAME = 'work' +DOCKERDIR_NAME = 'docker' # Run bash command and print output to stdout def run_command(command): diff --git a/sonic_installer/main.py b/sonic_installer/main.py index 92ad7677f4..12a2ab7e0e 100644 --- a/sonic_installer/main.py +++ b/sonic_installer/main.py @@ -1,4 +1,5 @@ import configparser +import contextlib import os import re import subprocess @@ -11,7 +12,14 @@ from swsscommon.swsscommon import SonicV2Connector from .bootloader import get_bootloader -from .common import run_command, run_command_or_raise, IMAGE_PREFIX +from .common import ( + run_command, run_command_or_raise, + IMAGE_PREFIX, + ROOTFS_NAME, + UPPERDIR_NAME, + WORKDIR_NAME, + DOCKERDIR_NAME, +) from .exception import SonicRuntimeException SYSLOG_IDENTIFIER = "sonic-installer" @@ -218,17 +226,48 @@ def print_deprecation_warning(deprecated_cmd_or_subcmd, new_cmd_or_subcmd): fg="red", err=True) click.secho("Please use '{}' instead".format(new_cmd_or_subcmd), fg="red", err=True) -def update_sonic_environment(click, bootloader, binary_image_version): + +def mount_squash_fs(squashfs_path, mount_point): + run_command_or_raise(["mkdir", "-p", mount_point]) + run_command_or_raise(["mount", "-t", "squashfs", squashfs_path, mount_point]) + + +def umount(mount_point, read_only=True, recursive=False, force=True, remove_dir=True): + flags = [] + if read_only: + flags.append("-r") + if force: + flags.append("-f") + if recursive: + flags.append("-R") + run_command_or_raise(["umount", *flags, mount_point]) + if remove_dir: + run_command_or_raise(["rm", "-rf", mount_point]) + + +def mount_overlay_fs(lowerdir, upperdir, workdir, mount_point): + run_command_or_raise(["mkdir", "-p", mount_point]) + overlay_options = "rw,relatime,lowerdir={},upperdir={},workdir={}".format(lowerdir, upperdir, workdir) + run_command_or_raise(["mount", "overlay", "-t", "overlay", "-o", overlay_options, mount_point]) + + +def mount_bind(source, mount_point): + run_command_or_raise(["mkdir", "-p", mount_point]) + run_command_or_raise(["mount", "--bind", source, mount_point]) + + +def mount_procfs_chroot(root): + run_command_or_raise(["chroot", root, "mount", "proc", "/proc", "-t", "proc"]) + + +def mount_sysfs_chroot(root): + run_command_or_raise(["chroot", root, "mount", "sysfs", "/sys", "-t", "sysfs"]) + + +def update_sonic_environment(bootloader, binary_image_version): """Prepare sonic environment variable using incoming image template file. If incoming image template does not exist use current image template file. """ - def mount_next_image_fs(squashfs_path, mount_point): - run_command_or_raise(["mkdir", "-p", mount_point]) - run_command_or_raise(["mount", "-t", "squashfs", squashfs_path, mount_point]) - - def umount_next_image_fs(mount_point): - run_command_or_raise(["umount", "-rf", mount_point]) - run_command_or_raise(["rm", "-rf", mount_point]) SONIC_ENV_TEMPLATE_FILE = os.path.join("usr", "share", "sonic", "templates", "sonic-environment.j2") SONIC_VERSION_YML_FILE = os.path.join("etc", "sonic", "sonic_version.yml") @@ -239,9 +278,9 @@ def umount_next_image_fs(mount_point): env_dir = os.path.join(new_image_dir, "sonic-config") env_file = os.path.join(env_dir, "sonic-environment") - with bootloader.get_rootfs_path(new_image_dir) as new_image_squashfs_path: + with bootloader.get_path_in_image(new_image_dir, ROOTFS_NAME) as new_image_squashfs_path: try: - mount_next_image_fs(new_image_squashfs_path, new_image_mount) + mount_squash_fs(new_image_squashfs_path, new_image_mount) next_sonic_env_template_file = os.path.join(new_image_mount, SONIC_ENV_TEMPLATE_FILE) next_sonic_version_yml_file = os.path.join(new_image_mount, SONIC_VERSION_YML_FILE) @@ -264,7 +303,62 @@ def umount_next_image_fs(mount_point): os.remove(env_file) os.rmdir(env_dir) finally: - umount_next_image_fs(new_image_mount) + umount(new_image_mount) + + +def migrate_sonic_packages(bootloader, binary_image_version): + """ Migrate SONiC packages to new SONiC image. """ + + SONIC_PACKAGE_MANAGER = "sonic-package-manager" + PACKAGE_MANAGER_DIR = "/var/lib/sonic-package-manager/" + DOCKER_CTL_SCRIPT = "/usr/lib/docker/docker.sh" + DOCKERD_SOCK = "docker.sock" + VAR_RUN_PATH = "/var/run/" + + tmp_dir = "tmp" + packages_file = "packages.json" + packages_path = os.path.join(PACKAGE_MANAGER_DIR, packages_file) + sonic_version = re.sub(IMAGE_PREFIX, '', binary_image_version) + new_image_dir = bootloader.get_image_path(binary_image_version) + + with contextlib.ExitStack() as stack: + def get_path(path): + """ Closure to get path by entering + a context manager of bootloader.get_path_in_image """ + + return stack.enter_context(bootloader.get_path_in_image(new_image_dir, path)) + + new_image_squashfs_path = get_path(ROOTFS_NAME) + new_image_upper_dir = get_path(UPPERDIR_NAME) + new_image_work_dir = get_path(WORKDIR_NAME) + new_image_docker_dir = get_path(DOCKERDIR_NAME) + new_image_mount = os.path.join("/", tmp_dir, "image-{0}-fs".format(sonic_version)) + new_image_docker_mount = os.path.join(new_image_mount, "var", "lib", "docker") + + try: + mount_squash_fs(new_image_squashfs_path, new_image_mount) + # make sure upper dir and work dir exist + run_command_or_raise(["mkdir", "-p", new_image_upper_dir]) + run_command_or_raise(["mkdir", "-p", new_image_work_dir]) + mount_overlay_fs(new_image_mount, new_image_upper_dir, new_image_work_dir, new_image_mount) + mount_bind(new_image_docker_dir, new_image_docker_mount) + mount_procfs_chroot(new_image_mount) + mount_sysfs_chroot(new_image_mount) + run_command_or_raise(["chroot", new_image_mount, DOCKER_CTL_SCRIPT, "start"]) + run_command_or_raise(["cp", packages_path, os.path.join(new_image_mount, tmp_dir, packages_file)]) + run_command_or_raise(["touch", os.path.join(new_image_mount, "tmp", DOCKERD_SOCK)]) + run_command_or_raise(["mount", "--bind", + os.path.join(VAR_RUN_PATH, DOCKERD_SOCK), + os.path.join(new_image_mount, "tmp", DOCKERD_SOCK)]) + run_command_or_raise(["chroot", new_image_mount, SONIC_PACKAGE_MANAGER, "migrate", + os.path.join("/", tmp_dir, packages_file), + "--dockerd-socket", os.path.join("/", tmp_dir, DOCKERD_SOCK), + "-y"]) + finally: + run_command("chroot {} {} stop".format(new_image_mount, DOCKER_CTL_SCRIPT)) + umount(new_image_mount, recursive=True, read_only=False, remove_dir=False) + umount(new_image_mount) + # Main entrypoint @click.group(cls=AliasedGroup) @@ -286,8 +380,10 @@ def sonic_installer(): help="Force installation of an image of a type which differs from that of the current running image") @click.option('--skip_migration', is_flag=True, help="Do not migrate current configuration to the newly installed image") +@click.option('--skip-package-migration', is_flag=True, + help="Do not migrate current packages to the newly installed image") @click.argument('url') -def install(url, force, skip_migration=False): +def install(url, force, skip_migration=False, skip_package_migration=False): """ Install image from local binary or URL""" bootloader = get_bootloader() @@ -331,7 +427,10 @@ def install(url, force, skip_migration=False): else: run_command('config-setup backup') - update_sonic_environment(click, bootloader, binary_image_version) + update_sonic_environment(bootloader, binary_image_version) + + if not skip_package_migration: + migrate_sonic_packages(bootloader, binary_image_version) # Finally, sync filesystem run_command("sync;sync;sync") diff --git a/sonic_package_manager/__init__.py b/sonic_package_manager/__init__.py new file mode 100644 index 0000000000..9d8827c5e4 --- /dev/null +++ b/sonic_package_manager/__init__.py @@ -0,0 +1,5 @@ +#!/usr/bin/env python + +from sonic_package_manager.manager import PackageManager + +__all__ = ['PackageManager'] diff --git a/sonic_package_manager/constraint.py b/sonic_package_manager/constraint.py new file mode 100644 index 0000000000..af5a13000b --- /dev/null +++ b/sonic_package_manager/constraint.py @@ -0,0 +1,166 @@ +#!/usr/bin/env python + +""" Package version constraints module. """ + +import re +from abc import ABC +from dataclasses import dataclass, field +from typing import Dict, Union + +import semver + + +class VersionConstraint(semver.VersionConstraint, ABC): + """ Extends VersionConstraint from semver package. """ + + @staticmethod + def parse(constraint_expression: str) -> 'VersionConstraint': + """ Parse version constraint. + + Args: + constraint_expression: Expression syntax: "[[op][version]]+". + Returns: + The resulting VersionConstraint object. + """ + + return semver.parse_constraint(constraint_expression) + + +@dataclass +class ComponentConstraints: + """ ComponentConstraints is a set of components version constraints. """ + + components: Dict[str, VersionConstraint] = field(default_factory=dict) + + @staticmethod + def parse(constraints: Dict) -> 'ComponentConstraints': + """ Parse constraint from dictionary. + + Args: + constraints: dictionary with component name + as key and constraint expression as value + + Returns: + ComponentConstraints object. + + """ + + components = {component: VersionConstraint.parse(version) + for component, version in constraints.items()} + return ComponentConstraints(components) + + def deparse(self) -> Dict[str, str]: + """ Returns the manifest representation of components constraints. + + Returns: + Dictionary of string keys and string values. + + """ + + return { + component: str(version) for component, version in self.components.items() + } + + +@dataclass +class PackageConstraint: + """ PackageConstraint is a package version constraint. """ + + name: str + constraint: VersionConstraint + _components: ComponentConstraints = ComponentConstraints({}) + + def __str__(self): return f'{self.name}{self.constraint}' + + @property + def components(self): return self._components.components + + @staticmethod + def from_string(constraint_expression: str) -> 'PackageConstraint': + """ Parse package constraint string which contains a package + name separated by a space with zero, one or more version constraint + expressions. A variety of version matching operators are supported + including >, <, ==, !=, ^, *. See Examples. + + Args: + constraint_expression: Expression syntax "[package name] [[op][version]]+". + + Returns: + PackageConstraint object. + + Examples: + >>> PackageConstraint.parse('syncd^1.0.0').constraint + =1.0.0,<2.0.0)> + >>> PackageConstraint.parse('swss>1.3.2 <4.2.1').constraint + 1.3.2,<4.2.1)> + >>> PackageConstraint.parse('swss').constraint + + """ + + REQUIREMENT_SPECIFIER_RE = \ + r'(?P[A-Za-z0-9_-]+)(?P.*)' + + match = re.match(REQUIREMENT_SPECIFIER_RE, constraint_expression) + if match is None: + raise ValueError(f'Invalid constraint {constraint_expression}') + groupdict = match.groupdict() + name = groupdict.get('name') + constraint = groupdict.get('constraint') or '*' + return PackageConstraint(name, VersionConstraint.parse(constraint)) + + @staticmethod + def from_dict(constraint_dict: Dict) -> 'PackageConstraint': + """ Parse package constraint information from dictionary. E.g: + + { + "name": "swss", + "version": "^1.0.0", + "componenets": { + "libswsscommon": "^1.0.0" + } + } + + Args: + constraint_dict: Dictionary of constraint infromation. + + Returns: + PackageConstraint object. + """ + + name = constraint_dict['name'] + version = VersionConstraint.parse(constraint_dict.get('version') or '*') + components = ComponentConstraints.parse(constraint_dict.get('components', {})) + return PackageConstraint(name, version, components) + + @staticmethod + def parse(constraint: Union[str, Dict]) -> 'PackageConstraint': + """ Parse constraint from string expression or dictionary. + + Args: + constraint: string or dictionary. Check from_str() and from_dict() methods. + + Returns: + PackageConstraint object. + + """ + + if type(constraint) is str: + return PackageConstraint.from_string(constraint) + elif type(constraint) is dict: + return PackageConstraint.from_dict(constraint) + else: + raise ValueError('Input argument should be either str or dict') + + def deparse(self) -> Dict: + """ Returns the manifest representation of package constraint. + + Returns: + Dictionary in manifest representation. + + """ + + return { + 'name': self.name, + 'version': str(self.constraint), + 'components': self._components.deparse(), + } diff --git a/sonic_package_manager/database.py b/sonic_package_manager/database.py new file mode 100644 index 0000000000..6c1cec5c07 --- /dev/null +++ b/sonic_package_manager/database.py @@ -0,0 +1,222 @@ +#!/usr/bin/env python + +""" Repository Database interface module. """ +import json +import os +from dataclasses import dataclass, replace +from typing import Optional, Dict, Callable + +from sonic_package_manager.errors import PackageManagerError, PackageNotFoundError, PackageAlreadyExistsError +from sonic_package_manager.version import Version + +BASE_LIBRARY_PATH = '/var/lib/sonic-package-manager/' +PACKAGE_MANAGER_DB_FILE_PATH = os.path.join(BASE_LIBRARY_PATH, 'packages.json') +PACKAGE_MANAGER_LOCK_FILE = os.path.join(BASE_LIBRARY_PATH, '.lock') + + +@dataclass(order=True) +class PackageEntry: + """ Package database single entry object. + + Attributes: + name: Name of the package + repository: Default repository to pull package from. + description: Package description or None if package does not + provide a description. + default_reference: Default reference (tag or digest) or None + if default reference is not provided. + version: Installed version of the package or None if + package is not installed. + installed: Boolean flag whether the package is installed. + built_in: Boolean flag whether the package is built in. + image_id: Image ID for this package or None if package + is not installed. + """ + + name: str + repository: Optional[str] + description: Optional[str] = None + default_reference: Optional[str] = None + version: Optional[Version] = None + installed: bool = False + built_in: bool = False + image_id: Optional[str] = None + + +def package_from_dict(name: str, package_info: Dict) -> PackageEntry: + """ Parse dictionary into PackageEntry object.""" + + repository = package_info.get('repository') + description = package_info.get('description') + default_reference = package_info.get('default-reference') + version = package_info.get('installed-version') + if version: + version = Version.parse(version) + installed = package_info.get('installed', False) + built_in = package_info.get('built-in', False) + image_id = package_info.get('image-id') + + return PackageEntry(name, repository, description, + default_reference, version, installed, + built_in, image_id) + + +def package_to_dict(package: PackageEntry) -> Dict: + """ Serialize package into dictionary. """ + + return { + 'repository': package.repository, + 'description': package.description, + 'default-reference': package.default_reference, + 'installed-version': None if package.version is None else str(package.version), + 'installed': package.installed, + 'built-in': package.built_in, + 'image-id': package.image_id, + } + + +class PackageDatabase: + """ An interface to SONiC repository database """ + + def __init__(self, + database: Dict[str, PackageEntry], + on_save: Optional[Callable] = None): + """ Initialize PackageDatabase. + + Args: + database: Database dictionary + on_save: Optional callback to execute on commit() + """ + + self._database = database + self._on_save = on_save + + def add_package(self, + name: str, + repository: str, + description: Optional[str] = None, + default_reference: Optional[str] = None): + """ Adds a new package entry in database. + + Args: + name: Package name. + repository: Repository URL. + description: Description string. + default_reference: Default version string. + + Raises: + PackageAlreadyExistsError: if package already exists in database. + """ + + if self.has_package(name): + raise PackageAlreadyExistsError(name) + + package = PackageEntry(name, repository, description, default_reference) + self._database[name] = package + + def remove_package(self, name: str): + """ Removes package entry from database. + + Args: + name: repository name. + Raises: + PackageNotFoundError: Raises when package with the given name does not exist + in the database. + """ + + pkg = self.get_package(name) + + if pkg.built_in: + raise PackageManagerError(f'Package {name} is built-in, cannot remove it') + + if pkg.installed: + raise PackageManagerError(f'Package {name} is installed, uninstall it first') + + self._database.pop(name) + + def update_package(self, pkg: PackageEntry): + """ Modify repository in the database. + + Args: + pkg: Repository object. + Raises: + PackageManagerError: Raises when repository with the given name does not exist + in the database. + """ + + name = pkg.name + + if not self.has_package(name): + raise PackageNotFoundError(name) + + self._database[name] = pkg + + def get_package(self, name: str) -> PackageEntry: + """ Return a package referenced by name. + If the package is not found PackageNotFoundError is thrown. + + Args: + name: Package name. + Returns: + PackageInfo object. + Raises: + PackageNotFoundError: When package called name was not found. + """ + + try: + pkg = self._database[name] + except KeyError: + raise PackageNotFoundError(name) + + return replace(pkg) + + def has_package(self, name: str) -> bool: + """ Checks if the database contains an entry for a package. + called name. Returns True if the package exists, otherwise False. + + Args: + name: Package name. + Returns: + True if the package exists, otherwise False. + """ + + try: + self.get_package(name) + return True + except PackageNotFoundError: + return False + + def __iter__(self): + """ Iterates over packages in the database. + + Yields: + PackageInfo object. + """ + + for name, _ in self._database.items(): + yield self.get_package(name) + + @staticmethod + def from_file(db_file=PACKAGE_MANAGER_DB_FILE_PATH) -> 'PackageDatabase': + """ Read database content from file. """ + + def on_save(database): + with open(db_file, 'w') as db: + db_content = {} + for name, package in database.items(): + db_content[name] = package_to_dict(package) + json.dump(db_content, db, indent=4) + + database = {} + with open(db_file) as db: + db_content = json.load(db) + for key in db_content: + package = package_from_dict(key, db_content[key]) + database[key] = package + return PackageDatabase(database, on_save) + + def commit(self): + """ Save database content to file. """ + + if self._on_save: + self._on_save(self._database) diff --git a/sonic_package_manager/dockerapi.py b/sonic_package_manager/dockerapi.py new file mode 100644 index 0000000000..926600d0bc --- /dev/null +++ b/sonic_package_manager/dockerapi.py @@ -0,0 +1,226 @@ +#!/usr/bin/evn python + +""" Module provides Docker interface. """ + +import contextlib +import io +import tarfile +import re +from typing import Optional + +from sonic_package_manager.logger import log +from sonic_package_manager.progress import ProgressManager + + +def is_digest(ref: str): + return ref.startswith('sha256:') + + +def bytes_to_mb(bytes): + return bytes / 1024 / 1024 + + +def get_id(line): + return line['id'] + + +def get_status(line): + return line['status'] + + +def get_progress(line): + progress = line['progressDetail'] + current = bytes_to_mb(progress['current']) + total = bytes_to_mb(progress['total']) + return current, total + + +def process_progress(progress_manager, line): + try: + status = get_status(line) + id = get_id(line) + current, total = get_progress(line) + + if id not in progress_manager: + progress_manager.new(id, + total=total, + unit='Mb', + desc=f'{status} {id}') + pbar = progress_manager.get(id) + + # Complete status + if 'complete' in status: + pbar.desc = f'{status} {id}' + pbar.update(pbar.total) + return + + # Status changed + if status not in pbar.desc: + pbar.desc = f'{status} {id}' + pbar.total = total + pbar.count = 0 + + pbar.update(current - pbar.count) + except KeyError: + # not a progress line + return + + +def get_repository_from_image(image): + """ Returns the first RepoTag repository + found in image. """ + + repotags = image.attrs['RepoTags'] + for repotag in repotags: + repository, tag = repotag.split(':') + return repository + + +class DockerApi: + """ DockerApi provides a set of methods - + wrappers around docker client methods """ + + def __init__(self, + client, + progress_manager: Optional[ProgressManager] = None): + self.client = client + self.progress_manager = progress_manager + + def pull(self, repository: str, + reference: Optional[str] = None): + """ Docker 'pull' command. + Args: + repository: repository to pull + reference: tag or digest + """ + + log.debug(f'pulling image from {repository} reference={reference}') + + api = self.client.api + progress_manager = self.progress_manager + + digest = None + + with progress_manager or contextlib.nullcontext(): + for line in api.pull(repository, + reference, + stream=True, + decode=True): + log.debug(f'pull status: {line}') + + status = get_status(line) + + # Record pulled digest + digest_match = re.match(r'Digest: (?P.*)', status) + if digest_match: + digest = digest_match.groupdict()['sha'] + + if progress_manager: + process_progress(progress_manager, line) + + log.debug(f'Digest: {digest}') + log.debug(f'image from {repository} reference={reference} pulled successfully') + + return self.get_image(f'{repository}@{digest}') + + def load(self, imgpath: str): + """ Docker 'load' command. + Args: + + """ + + log.debug(f'loading image from {imgpath}') + + api = self.client.api + progress_manager = self.progress_manager + + imageid = None + repotag = None + + with progress_manager or contextlib.nullcontext(): + with open(imgpath, 'rb') as imagefile: + for line in api.load_image(imagefile, quiet=False): + log.debug(f'pull status: {line}') + + if progress_manager: + process_progress(progress_manager, line) + + if 'stream' not in line: + continue + + stream = line['stream'] + repotag_match = re.match(r'Loaded image: (?P.*)\n', stream) + if repotag_match: + repotag = repotag_match.groupdict()['repotag'] + imageid_match = re.match(r'Loaded image ID: sha256:(?P.*)\n', stream) + if imageid_match: + imageid = imageid_match.groupdict()['id'] + + imagename = repotag if repotag else imageid + log.debug(f'Loaded image {imagename}') + + return self.get_image(imagename) + + def rmi(self, image: str, **kwargs): + """ Docker 'rmi -f' command. """ + + log.debug(f'removing image {image} kwargs={kwargs}') + + self.client.images.remove(image, **kwargs) + + log.debug(f'image {image} removed successfully') + + def tag(self, image: str, repotag: str, **kwargs): + """ Docker 'tag' command """ + + log.debug(f'tagging image {image} {repotag} kwargs={kwargs}') + + img = self.client.images.get(image) + img.tag(repotag, **kwargs) + + log.debug(f'image {image} tagged {repotag} successfully') + + def rm(self, container: str, **kwargs): + """ Docker 'rm' command. """ + + self.client.containers.get(container).remove(**kwargs) + log.debug(f'removed container {container}') + + def ps(self, **kwargs): + """ Docker 'ps' command. """ + + return self.client.containers.list(**kwargs) + + def labels(self, image: str): + """ Returns a list of labels associated with image. """ + + log.debug(f'inspecting image labels {image}') + + labels = self.client.images.get(image).labels + + log.debug(f'image {image} labels successfully: {labels}') + return labels + + def get_image(self, name: str): + return self.client.images.get(name) + + def extract(self, image, src_path: str, dst_path: str): + """ Copy src_path from the docker image to host dst_path. """ + + buf = bytes() + + container = self.client.containers.create(image) + try: + bits, _ = container.get_archive(src_path) + for chunk in bits: + buf += chunk + finally: + container.remove(force=True) + + with tarfile.open(fileobj=io.BytesIO(buf)) as tar: + for member in tar: + if dst_path.endswith('/'): + tar.extract(member, dst_path) + else: + member.name = dst_path + tar.extract(member, dst_path) diff --git a/sonic_package_manager/errors.py b/sonic_package_manager/errors.py new file mode 100644 index 0000000000..17279c52c4 --- /dev/null +++ b/sonic_package_manager/errors.py @@ -0,0 +1,146 @@ +#!/usr/bin/env python + +""" SONiC Package Manager exceptions are defined in this module. """ + +from dataclasses import dataclass +from typing import Optional + +from sonic_package_manager.constraint import PackageConstraint, VersionConstraint +from sonic_package_manager.version import Version + + +class PackageManagerError(Exception): + """ Base class for exceptions generated by SONiC package manager """ + + pass + + +class ManifestError(Exception): + """ Class for manifest validate failures. """ + + pass + + +class MetadataError(Exception): + """ Class for metadata failures. """ + + pass + + +@dataclass +class PackageNotFoundError(PackageManagerError): + """ Repository not found in repository database exception """ + + name: str + + def __str__(self): + return f'Package {self.name} is not found in packages database' + + +@dataclass +class PackageAlreadyExistsError(PackageManagerError): + """ Package already exists in the packages database exception. """ + + name: str + + def __str__(self): + return f'Package {self.name} already exists in packages database' + + +class PackageInstallationError(PackageManagerError): + """ Exception for package installation error. """ + + pass + + +class PackageUninstallationError(PackageManagerError): + """ Exception for package installation error. """ + + pass + + +class PackageUpgradeError(PackageManagerError): + """ Exception for package upgrade error. """ + + pass + + +@dataclass +class PackageSonicRequirementError(PackageInstallationError): + """ Exception for installation errors, when SONiC version requirement is not met. """ + + name: str + component: str + constraint: PackageConstraint + installed_ver: Optional[Version] = None + + def __str__(self): + if self.installed_ver is not None: + return (f'Package {self.name} requires base OS component {self.component} version {self.constraint} ' + f'while the installed version is {self.installed_ver}') + return (f'Package {self.name} requires base OS component {self.component} version {self.constraint} ' + f'but it is not present int base OS image') + + +@dataclass +class PackageDependencyError(PackageInstallationError): + """ Exception class for installation errors related to missing dependency. """ + + name: str + constraint: PackageConstraint + installed_ver: Optional[Version] = None + + def __str__(self): + if self.installed_ver: + return (f'Package {self.name} requires {self.constraint} ' + f'but version {self.installed_ver} is installed') + return f'Package {self.name} requires {self.constraint} but it is not installed' + + +@dataclass +class PackageComponentDependencyError(PackageInstallationError): + """ Exception class for installation error caused by component + version dependency. """ + + name: str + dependency: str + component: str + constraint: VersionConstraint + installed_ver: Optional[Version] = None + + def __str__(self): + if self.installed_ver: + return (f'Package {self.name} requires {self.component} {self.constraint} ' + f'in package {self.dependency} but version {self.installed_ver} is installed') + return (f'Package {self.name} requires {self.component} {self.constraint} ' + f'in package {self.dependency} but it is not installed') + + +@dataclass +class PackageConflictError(PackageInstallationError): + """ Exception class for installation errors related to missing dependency. """ + + name: str + constraint: PackageConstraint + installed_ver: Version + + def __str__(self): + return (f'Package {self.name} conflicts with {self.constraint} but ' + f'version {self.installed_ver} is installed') + + +@dataclass +class PackageComponentConflictError(PackageInstallationError): + """ Exception class for installation error caused by component + version conflict. """ + + name: str + dependency: str + component: str + constraint: VersionConstraint + installed_ver: Version + + def __str__(self): + return (f'Package {self.name} conflicts with {self.component} {self.constraint} ' + f'in package {self.dependency} but version {self.installed_ver} is installed') + diff --git a/sonic_package_manager/logger.py b/sonic_package_manager/logger.py new file mode 100644 index 0000000000..3d5e06d35f --- /dev/null +++ b/sonic_package_manager/logger.py @@ -0,0 +1,29 @@ +#!/usr/bin/env python + +""" Logger for sonic-package-manager. """ + +import logging.handlers + +import click_log + + +class Formatter(click_log.ColorFormatter): + """ Click logging formatter. """ + + colors = { + 'error': dict(fg='red'), + 'exception': dict(fg='red'), + 'critical': dict(fg='red'), + 'debug': dict(fg='blue', bold=True), + 'warning': dict(fg='yellow'), + } + + +log = logging.getLogger("sonic-package-manager") +log.setLevel(logging.INFO) + +click_handler = click_log.ClickHandler() +click_handler.formatter = Formatter() + +log.addHandler(click_handler) +log.addHandler(logging.handlers.SysLogHandler()) diff --git a/sonic_package_manager/main.py b/sonic_package_manager/main.py new file mode 100644 index 0000000000..c0589ae5b5 --- /dev/null +++ b/sonic_package_manager/main.py @@ -0,0 +1,460 @@ +#!/usr/bin/env python + +import functools +import json +import os +import sys +import typing + +import click +import click_log +import tabulate +from natsort import natsorted + +from sonic_package_manager.database import PackageEntry, PackageDatabase +from sonic_package_manager.errors import PackageManagerError +from sonic_package_manager.logger import log +from sonic_package_manager.manager import PackageManager + +BULLET_UC = '\u2022' + + +def exit_cli(*args, **kwargs): + """ Print a message and exit with rc 1. """ + + click.secho(*args, **kwargs) + sys.exit(1) + + +def show_help(ctx): + """ Show help message and exit process successfully. """ + + click.echo(ctx.get_help()) + ctx.exit(0) + + +def root_privileges_required(func: typing.Callable) -> typing.Callable: + """ Decorates a function, so that the function is invoked + only if the user is root. """ + + @functools.wraps(func) + def wrapped_function(*args, **kwargs): + """ Wrapper around func. """ + + if os.geteuid() != 0: + exit_cli('Root privileges required for this operation', fg='red') + + return func(*args, **kwargs) + + wrapped_function.__doc__ += '\n\n NOTE: This command requires elevated (root) privileges to run.' + + return wrapped_function + + +def add_options(options): + """ Decorator to append options from + input list to command. """ + + def _add_options(func): + for option in reversed(options): + func = option(func) + return func + + return _add_options + + +class MutuallyExclusiveOption(click.Option): + """ This options type is extended with 'mutually_exclusive' + parameter which makes CLI to check if several options are now + used together in single command. """ + + def __init__(self, *args, **kwargs): + self.mutually_exclusive = set(kwargs.pop('mutually_exclusive', [])) + help_string = kwargs.get('help', '') + if self.mutually_exclusive: + ex_str = ', '.join(self.mutually_exclusive) + kwargs['help'] = f'{help_string} ' \ + f'NOTE: This argument is mutually ' \ + f'exclusive with arguments: [{ex_str}].' + super().__init__(*args, **kwargs) + + def handle_parse_result(self, ctx, opts, args): + if self.name in opts and opts[self.name] is not None: + for opt_name in self.mutually_exclusive.intersection(opts): + if opts[opt_name] is None: + continue + + raise click.UsageError(f'Illegal usage: {self.name} is mutually ' + f'exclusive with arguments ' + f'{", ".join(self.mutually_exclusive)}.') + + return super().handle_parse_result(ctx, opts, args) + + +PACKAGE_SOURCE_OPTIONS = [ + click.option('--from-repository', + help='Fetch package directly from image registry repository.', + cls=MutuallyExclusiveOption, + mutually_exclusive=['from_tarball', 'package_expr']), + click.option('--from-tarball', + type=click.Path(exists=True, + readable=True, + file_okay=True, + dir_okay=False), + help='Fetch package from saved image tarball.', + cls=MutuallyExclusiveOption, + mutually_exclusive=['from_repository', 'package_expr']), + click.argument('package-expr', + type=str, + required=False) +] + + +PACKAGE_COMMON_INSTALL_OPTIONS = [ + click.option('--skip-host-plugins', + is_flag=True, + help='Do not install host OS plugins provided by the package (CLI, etc). ' + 'NOTE: In case when package host OS plugins are set as mandatory in ' + 'package manifest this option will fail the installation.') +] + + +PACKAGE_COMMON_OPERATION_OPTIONS = [ + click.option('-f', '--force', + is_flag=True, + help='Force operation by ignoring package dependency tree and package manifest validation failures.'), + click.option('-y', '--yes', + is_flag=True, + help='Automatically answer yes on prompts.'), + click_log.simple_verbosity_option(log, help='Either CRITICAL, ERROR, WARNING, INFO or DEBUG. Default is INFO.'), +] + + +def get_package_status(package: PackageEntry): + """ Returns the installation status message for package. """ + + if package.built_in: + return 'Built-In' + elif package.installed: + return 'Installed' + else: + return 'Not Installed' + + +@click.group() +@click.pass_context +def cli(ctx): + """ SONiC Package Manager """ + + ctx.obj = PackageManager.get_manager() + + +@cli.group() +@click.pass_context +def repository(ctx): + """ Repository management commands. """ + + pass + + +@cli.group() +@click.pass_context +def show(ctx): + """ Package manager show commands. """ + + pass + + +@show.group() +@click.pass_context +def package(ctx): + """ Package show commands. """ + + pass + + +@cli.command() +@click.pass_context +def list(ctx): + """ List available packages. """ + + table_header = ['Name', 'Repository', 'Description', 'Version', 'Status'] + table_body = [] + + manager: PackageManager = ctx.obj + + try: + for package in natsorted(manager.database): + repository = package.repository or 'N/A' + version = package.version or 'N/A' + description = package.description or 'N/A' + status = get_package_status(package) + + table_body.append([ + package.name, + repository, + description, + version, + status + ]) + + click.echo(tabulate.tabulate(table_body, table_header)) + except PackageManagerError as err: + exit_cli(f'Failed to list repositories: {err}', fg='red') + + +@package.command() +@add_options(PACKAGE_SOURCE_OPTIONS) +@click.pass_context +def manifest(ctx, + package_expr, + from_repository, + from_tarball): + """ Show package manifest. """ + + manager: PackageManager = ctx.obj + + try: + source = manager.get_package_source(package_expr, + from_repository, + from_tarball) + package = source.get_package() + click.echo(json.dumps(package.manifest.unmarshal(), indent=4)) + except Exception as err: + exit_cli(f'Failed to print manifest: {err}', fg='red') + + +@package.command() +@click.argument('name') +@click.option('--all', is_flag=True, help='Show all available tags in repository.') +@click.option('--plain', is_flag=True, help='Plain output.') +@click.pass_context +def versions(ctx, name, all, plain): + """ Show available versions. """ + + try: + manager: PackageManager = ctx.obj + versions = manager.get_package_available_versions(name, all) + for version in versions: + if not plain: + click.secho(f'{BULLET_UC} ', bold=True, fg='green', nl=False) + click.secho(f'{version}') + except Exception as err: + exit_cli(f'Failed to get package versions for {name}: {err}', fg='red') + + +@package.command() +@add_options(PACKAGE_SOURCE_OPTIONS) +@click.pass_context +def changelog(ctx, + package_expr, + from_repository, + from_tarball): + """ Show package changelog. """ + + manager: PackageManager = ctx.obj + + try: + source = manager.get_package_source(package_expr, + from_repository, + from_tarball) + package = source.get_package() + changelog = package.manifest['package']['changelog'] + + if not changelog: + raise PackageManagerError(f'No changelog for package {package.name}') + + for version, entry in changelog.items(): + author = entry.get('author') or 'N/A' + email = entry.get('email') or 'N/A' + changes = entry.get('changes') or [] + date = entry.get('date') or 'N/A' + click.secho(f'{version}:\n', fg='green', bold=True) + for line in changes: + click.secho(f' {BULLET_UC} {line}', bold=True) + click.secho(f'\n {author} ' + f'({email}) {date}', fg='green', bold=True) + click.secho('') + + except Exception as err: + exit_cli(f'Failed to print package changelog: {err}', fg='red') + + +@repository.command() +@click.argument('name', type=str) +@click.argument('repository', type=str) +@click.option('--default-reference', type=str, help='Default installation reference. Can be a tag or sha256 digest in repository.') +@click.option('--description', type=str, help='Optional package entry description.') +@click.pass_context +@root_privileges_required +def add(ctx, name, repository, default_reference, description): + """ Add a new repository to database. """ + + manager: PackageManager = ctx.obj + + try: + manager.add_repository(name, + repository, + description=description, + default_reference=default_reference) + except Exception as err: + exit_cli(f'Failed to add repository {name}: {err}', fg='red') + + +@repository.command() +@click.argument("name") +@click.pass_context +@root_privileges_required +def remove(ctx, name): + """ Remove repository from database. """ + + manager: PackageManager = ctx.obj + + try: + manager.remove_repository(name) + except Exception as err: + exit_cli(f'Failed to remove repository {name}: {err}', fg='red') + + +@cli.command() +@click.option('--enable', + is_flag=True, + default=None, + help='Set the default state of the feature to enabled ' + 'and enable feature right after installation. ' + 'NOTE: user needs to execute "config save -y" to make ' + 'this setting persistent.') +@click.option('--set-owner', + type=click.Choice(['local', 'kube']), + default=None, + help='Default owner configuration setting for a feature.') +@click.option('--allow-downgrade', + is_flag=True, + default=None, + help='Allow package downgrade. By default an attempt to downgrade the package ' + 'will result in a failure since downgrade might not be supported by the package, ' + 'thus requires explicit request from the user.') +@add_options(PACKAGE_SOURCE_OPTIONS) +@add_options(PACKAGE_COMMON_OPERATION_OPTIONS) +@add_options(PACKAGE_COMMON_INSTALL_OPTIONS) +@click.pass_context +@root_privileges_required +def install(ctx, + package_expr, + from_repository, + from_tarball, + force, + yes, + enable, + set_owner, + skip_host_plugins, + allow_downgrade): + """ Install/Upgrade package using [PACKAGE_EXPR] in format "[=|@]". + + The repository to pull the package from is resolved by lookup in package database, + thus the package has to be added via "sonic-package-manager repository add" command. + + In case when [PACKAGE_EXPR] is a package name "" this command will install or upgrade + to a version referenced by "default-reference" in package database. """ + + manager: PackageManager = ctx.obj + + package_source = package_expr or from_repository or from_tarball + if not package_source: + exit_cli(f'Package source is not specified', fg='red') + + if not yes and not force: + click.confirm(f'{package_source} is going to be installed, ' + f'continue?', abort=True, show_default=True) + + install_opts = { + 'force': force, + 'skip_host_plugins': skip_host_plugins, + } + if enable is not None: + install_opts['enable'] = enable + if set_owner is not None: + install_opts['default_owner'] = set_owner + if allow_downgrade is not None: + install_opts['allow_downgrade'] = allow_downgrade + + try: + manager.install(package_expr, + from_repository, + from_tarball, + **install_opts) + except Exception as err: + exit_cli(f'Failed to install {package_source}: {err}', fg='red') + except KeyboardInterrupt: + exit_cli(f'Operation canceled by user', fg='red') + + +@cli.command() +@add_options(PACKAGE_COMMON_OPERATION_OPTIONS) +@add_options(PACKAGE_COMMON_INSTALL_OPTIONS) +@click.argument('name') +@click.pass_context +@root_privileges_required +def reset(ctx, name, force, yes, skip_host_plugins): + """ Reset package to the default version. """ + + manager: PackageManager = ctx.obj + + if not yes and not force: + click.confirm(f'Package {name} is going to be reset to default version, ' + f'continue?', abort=True, show_default=True) + + try: + manager.reset(name, force, skip_host_plugins) + except Exception as err: + exit_cli(f'Failed to reset package {name}: {err}', fg='red') + except KeyboardInterrupt: + exit_cli(f'Operation canceled by user', fg='red') + + +@cli.command() +@add_options(PACKAGE_COMMON_OPERATION_OPTIONS) +@click.argument('name') +@click.pass_context +@root_privileges_required +def uninstall(ctx, name, force, yes): + """ Uninstall package. """ + + manager: PackageManager = ctx.obj + + if not yes and not force: + click.confirm(f'Package {name} is going to be uninstalled, ' + f'continue?', abort=True, show_default=True) + + try: + manager.uninstall(name, force) + except Exception as err: + exit_cli(f'Failed to uninstall package {name}: {err}', fg='red') + except KeyboardInterrupt: + exit_cli(f'Operation canceled by user', fg='red') + + +@cli.command() +@add_options(PACKAGE_COMMON_OPERATION_OPTIONS) +@click.option('--dockerd-socket', type=click.Path()) +@click.argument('database', type=click.Path()) +@click.pass_context +@root_privileges_required +def migrate(ctx, database, force, yes, dockerd_socket): + """ Migrate packages from the given database file. """ + + manager: PackageManager = ctx.obj + + if not yes and not force: + click.confirm('Continue with package migration?', abort=True, show_default=True) + + try: + manager.migrate_packages(PackageDatabase.from_file(database), dockerd_socket) + except Exception as err: + exit_cli(f'Failed to migrate packages {err}', fg='red') + except KeyboardInterrupt: + exit_cli(f'Operation canceled by user', fg='red') + + +if __name__ == "__main__": + cli() diff --git a/sonic_package_manager/manager.py b/sonic_package_manager/manager.py new file mode 100644 index 0000000000..ba437534ed --- /dev/null +++ b/sonic_package_manager/manager.py @@ -0,0 +1,931 @@ +#!/usr/bin/env python + +import contextlib +import functools +import os +import pkgutil +import tempfile +from inspect import signature +from typing import Any, Iterable, Callable, Dict, Optional + +import docker +import filelock +from sonic_py_common import device_info + +from sonic_package_manager import utils +from sonic_package_manager.constraint import ( + VersionConstraint, + PackageConstraint +) +from sonic_package_manager.database import ( + PACKAGE_MANAGER_LOCK_FILE, + PackageDatabase +) +from sonic_package_manager.dockerapi import DockerApi +from sonic_package_manager.errors import ( + PackageManagerError, + PackageDependencyError, + PackageComponentDependencyError, + PackageConflictError, + PackageComponentConflictError, + PackageInstallationError, + PackageSonicRequirementError, + PackageUninstallationError, + PackageUpgradeError +) +from sonic_package_manager.logger import log +from sonic_package_manager.metadata import MetadataResolver +from sonic_package_manager.package import Package +from sonic_package_manager.progress import ProgressManager +from sonic_package_manager.reference import PackageReference +from sonic_package_manager.registry import RegistryResolver +from sonic_package_manager.service_creator.creator import ( + ServiceCreator, + run_command +) +from sonic_package_manager.service_creator.feature import FeatureRegistry +from sonic_package_manager.service_creator.sonic_db import SonicDB +from sonic_package_manager.service_creator.utils import in_chroot +from sonic_package_manager.source import ( + PackageSource, + LocalSource, + RegistrySource, + TarballSource +) +from sonic_package_manager.utils import DockerReference +from sonic_package_manager.version import ( + Version, + VersionRange, + version_to_tag, + tag_to_version +) + + +@contextlib.contextmanager +def failure_ignore(ignore: bool): + """ Ignores failures based on parameter passed. """ + + try: + yield + except Exception as err: + if ignore: + log.warning(f'ignoring error {err}') + else: + raise + + +def under_lock(func: Callable) -> Callable: + """ Execute operations under lock. """ + + @functools.wraps(func) + def wrapped_function(*args, **kwargs): + self = args[0] + with self.lock: + return func(*args, **kwargs) + + return wrapped_function + + +def opt_check(func: Callable) -> Callable: + """ Check kwargs for function. """ + + @functools.wraps(func) + def wrapped_function(*args, **kwargs): + sig = signature(func) + unsupported_opts = [opt for opt in kwargs if opt not in sig.parameters] + if unsupported_opts: + raise PackageManagerError( + f'Unsupported options {unsupported_opts} for {func.__name__}' + ) + return func(*args, **kwargs) + + return wrapped_function + + +def rollback(func, *args, **kwargs): + """ Used in rollback callbacks to ignore failure + but proceed with rollback. Error will be printed + but not fail the whole procedure of rollback. """ + + @functools.wraps(func) + def wrapper(): + try: + func(*args, **kwargs) + except Exception as err: + log.error(f'failed in rollback: {err}') + + return wrapper + + +def package_constraint_to_reference(constraint: PackageConstraint) -> PackageReference: + package_name, version_constraint = constraint.name, constraint.constraint + # Allow only specific version for now. + # Later we can improve package manager to support + # installing packages using expressions like 'package>1.0.0' + if version_constraint == VersionRange(): # empty range means any version + return PackageReference(package_name, None) + if not isinstance(version_constraint, Version): + raise PackageManagerError(f'Can only install specific version. ' + f'Use only following expression "{package_name}=" ' + f'to install specific version') + return PackageReference(package_name, version_to_tag(version_constraint)) + + +def parse_reference_expression(expression): + try: + return package_constraint_to_reference(PackageConstraint.parse(expression)) + except ValueError: + # if we failed to parse the expression as constraint expression + # we will try to parse it as reference + return PackageReference.parse(expression) + + +def validate_package_base_os_constraints(package: Package, sonic_version_info: Dict[str, str]): + """ Verify that all dependencies on base OS components are met. + Args: + package: Package to check constraints for. + sonic_version_info: SONiC components version information. + Raises: + PackageSonicRequirementError: in case dependency is not satisfied. + """ + + base_os_constraints = package.manifest['package']['base-os'].components + for component, constraint in base_os_constraints.items(): + if component not in sonic_version_info: + raise PackageSonicRequirementError(package.name, component, constraint) + + version = Version.parse(sonic_version_info[component]) + + if not constraint.allows_all(version): + raise PackageSonicRequirementError(package.name, component, constraint, version) + + +def validate_package_tree(packages: Dict[str, Package]): + """ Verify that all dependencies are met in all packages passed to this function. + Args: + packages: list of packages to check + Raises: + PackageDependencyError: if dependency is missing + PackageConflictError: if there is a conflict between packages + """ + + for name, package in packages.items(): + log.debug(f'checking dependencies for {name}') + for dependency in package.manifest['package']['depends']: + dependency_package = packages.get(dependency.name) + if dependency_package is None: + raise PackageDependencyError(package.name, dependency) + + installed_version = dependency_package.version + log.debug(f'dependency package is installed {dependency.name}: {installed_version}') + if not dependency.constraint.allows_all(installed_version): + raise PackageDependencyError(package.name, dependency, installed_version) + + dependency_components = dependency.components + if not dependency_components: + dependency_components = {} + for component, version in package.components.items(): + implicit_constraint = VersionConstraint.parse(f'^{version.major}.{version.minor}.0') + dependency_components[component] = implicit_constraint + + for component, constraint in dependency_components.items(): + if component not in dependency_package.components: + raise PackageComponentDependencyError(package.name, dependency, + component, constraint) + + component_version = dependency_package.components[component] + log.debug(f'dependency package {dependency.name}: ' + f'component {component} version is {component_version}') + + if not constraint.allows_all(component_version): + raise PackageComponentDependencyError(package.name, dependency, component, + constraint, component_version) + + log.debug(f'checking conflicts for {name}') + for conflict in package.manifest['package']['breaks']: + conflicting_package = packages.get(conflict.name) + if conflicting_package is None: + continue + + installed_version = conflicting_package.version + log.debug(f'conflicting package is installed {conflict.name}: {installed_version}') + if conflict.constraint.allows_all(installed_version): + raise PackageConflictError(package.name, conflict, installed_version) + + for component, constraint in conflicting_package.components.items(): + if component not in conflicting_package.components: + continue + + component_version = conflicting_package.components[component] + log.debug(f'conflicting package {dependency.name}: ' + f'component {component} version is {component_version}') + + if constraint.allows_all(component_version): + raise PackageComponentConflictError(package.name, dependency, component, + constraint, component_version) + + +def validate_package_cli_can_be_skipped(package: Package, skip: bool): + """ Checks whether package CLI installation can be skipped. + + Args: + package: Package to validate + skip: Whether to skip installing CLI + + Raises: + PackageManagerError + + """ + + if package.manifest['cli']['mandatory'] and skip: + raise PackageManagerError(f'CLI is mandatory for package {package.name} ' + f'but it was requested to be not installed') + elif skip: + log.warning(f'Package {package.name} CLI plugin will not be installed') + + +class PackageManager: + """ SONiC Package Manager. This class provides public API + for sonic_package_manager python library. It has functionality + for installing, uninstalling, updating SONiC packages as well as + retrieving information about the packages from different sources. """ + + def __init__(self, + docker_api: DockerApi, + registry_resolver: RegistryResolver, + database: PackageDatabase, + metadata_resolver: MetadataResolver, + service_creator: ServiceCreator, + device_information: Any, + lock: filelock.FileLock): + """ Initialize PackageManager. """ + + self.lock = lock + self.docker = docker_api + self.registry_resolver = registry_resolver + self.database = database + self.metadata_resolver = metadata_resolver + self.service_creator = service_creator + self.feature_registry = service_creator.feature_registry + self.is_multi_npu = device_information.is_multi_npu() + self.num_npus = device_information.get_num_npus() + self.version_info = device_information.get_sonic_version_info() + + @under_lock + def add_repository(self, *args, **kwargs): + """ Add repository to package database + and commit database content. + + Args: + args: Arguments to pass to PackageDatabase.add_package + kwargs: Keyword arguments to pass to PackageDatabase.add_package + """ + + self.database.add_package(*args, **kwargs) + self.database.commit() + + @under_lock + def remove_repository(self, name: str): + """ Remove repository from package database + and commit database content. + + Args: + name: package name + """ + + self.database.remove_package(name) + self.database.commit() + + @under_lock + def install(self, + expression: Optional[str] = None, + repotag: Optional[str] = None, + tarball: Optional[str] = None, + **kwargs): + """ Install/Upgrade SONiC Package from either an expression + representing the package and its version, repository and tag or + digest in same format as "docker pulL" accepts or an image tarball path. + + Args: + expression: SONiC Package reference expression + repotag: Install/Upgrade from REPO[:TAG][@DIGEST] + tarball: Install/Upgrade from tarball, path to tarball file + kwargs: Install/Upgrade options for self.install_from_source + Raises: + PackageManagerError + """ + + source = self.get_package_source(expression, repotag, tarball) + package = source.get_package() + + if self.is_installed(package.name): + self.upgrade_from_source(source, **kwargs) + else: + self.install_from_source(source, **kwargs) + + @under_lock + @opt_check + def install_from_source(self, + source: PackageSource, + force=False, + enable=False, + default_owner='local', + skip_host_plugins=False): + """ Install SONiC Package from source represented by PackageSource. + This method contains the logic of package installation. + + Args: + source: SONiC Package source. + force: Force the installation. + enable: If True the installed feature package will be enabled. + default_owner: Owner of the installed package. + skip_host_plugins: Skip CLI plugin installation. + Raises: + PackageManagerError + """ + + package = source.get_package() + name = package.name + + with failure_ignore(force): + if self.is_installed(name): + raise PackageInstallationError(f'{name} is already installed') + + version = package.manifest['package']['version'] + feature_state = 'enabled' if enable else 'disabled' + installed_packages = self._get_installed_packages_and(package) + + with failure_ignore(force): + validate_package_base_os_constraints(package, self.version_info) + validate_package_tree(installed_packages) + validate_package_cli_can_be_skipped(package, skip_host_plugins) + + # After all checks are passed we proceed to actual installation + + # When installing package from a tarball or directly from registry + # package name may not be in database. + if not self.database.has_package(package.name): + self.database.add_package(package.name, package.repository) + + try: + with contextlib.ExitStack() as exits: + source.install(package) + exits.callback(rollback(source.uninstall, package)) + + self.service_creator.create(package, state=feature_state, owner=default_owner) + exits.callback(rollback(self.service_creator.remove, package)) + + if not skip_host_plugins: + self._install_cli_plugins(package) + exits.callback(rollback(self._uninstall_cli_plugins, package)) + + exits.pop_all() + except Exception as err: + raise PackageInstallationError(f'Failed to install {package.name}: {err}') + except KeyboardInterrupt: + raise + + package.entry.installed = True + package.entry.version = version + self.database.update_package(package.entry) + self.database.commit() + + @under_lock + @opt_check + def uninstall(self, name: str, force=False): + """ Uninstall SONiC Package referenced by name. The uninstallation + can be forced if force argument is True. + + Args: + name: SONiC Package name. + force: Force the installation. + Raises: + PackageManagerError + """ + + with failure_ignore(force): + if not self.is_installed(name): + raise PackageUninstallationError(f'{name} is not installed') + + package = self.get_installed_package(name) + service_name = package.manifest['service']['name'] + + with failure_ignore(force): + if self.feature_registry.is_feature_enabled(service_name): + raise PackageUninstallationError( + f'{service_name} is enabled. Disable the feature first') + + if package.built_in: + raise PackageUninstallationError( + f'Cannot uninstall built-in package {package.name}') + + installed_packages = self._get_installed_packages_except(package) + + with failure_ignore(force): + validate_package_tree(installed_packages) + + # After all checks are passed we proceed to actual uninstallation + + try: + self._uninstall_cli_plugins(package) + self.service_creator.remove(package) + + # Clean containers based on this image + containers = self.docker.ps(filters={'ancestor': package.image_id}, + all=True) + for container in containers: + self.docker.rm(container.id, force=True) + + self.docker.rmi(package.image_id, force=True) + package.entry.image_id = None + except Exception as err: + raise PackageUninstallationError( + f'Failed to uninstall {package.name}: {err}' + ) + + package.entry.installed = False + package.entry.version = None + self.database.update_package(package.entry) + self.database.commit() + + @under_lock + @opt_check + def upgrade_from_source(self, + source: PackageSource, + force=False, + skip_host_plugins=False, + allow_downgrade=False): + """ Upgrade SONiC Package to a version the package reference + expression specifies. Can force the upgrade if force parameter + is True. Force can allow a package downgrade. + + Args: + source: SONiC Package source + force: Force the upgrade. + skip_host_plugins: Skip host OS plugins installation. + allow_downgrade: Flag to allow package downgrade. + Raises: + PackageManagerError + """ + + new_package = source.get_package() + name = new_package.name + + with failure_ignore(force): + if not self.is_installed(name): + raise PackageUpgradeError(f'{name} is not installed') + + old_package = self.get_installed_package(name) + + if old_package.built_in: + raise PackageUpgradeError( + f'Cannot upgrade built-in package {old_package.name}' + ) + + old_feature = old_package.manifest['service']['name'] + new_feature = new_package.manifest['service']['name'] + old_version = old_package.manifest['package']['version'] + new_version = new_package.manifest['package']['version'] + + with failure_ignore(force): + if old_version == new_version: + raise PackageUpgradeError(f'{new_version} is already installed') + + # TODO: Not all packages might support downgrade. + # We put a check here but we understand that for some packages + # the downgrade might be safe to do. There can be a variable in manifest + # describing package downgrade ability or downgrade-able versions. + if new_version < old_version and not allow_downgrade: + raise PackageUpgradeError( + f'Request to downgrade from {old_version} to {new_version}. ' + f'Downgrade might be not supported by the package' + ) + + # remove currently installed package from the list + installed_packages = self._get_installed_packages_and(new_package) + + with failure_ignore(force): + validate_package_base_os_constraints(new_package, self.version_info) + validate_package_tree(installed_packages) + validate_package_cli_can_be_skipped(new_package, skip_host_plugins) + + # After all checks are passed we proceed to actual upgrade + + try: + with contextlib.ExitStack() as exits: + self._uninstall_cli_plugins(old_package) + exits.callback(rollback(self._install_cli_plugins, old_package)) + + source.install(new_package) + exits.callback(rollback(source.uninstall, new_package)) + + if self.feature_registry.is_feature_enabled(old_feature): + self._systemctl_action(old_package, 'stop') + exits.callback(rollback(self._systemctl_action, + old_package, 'start')) + + self.service_creator.remove(old_package, deregister_feature=False) + exits.callback(rollback(self.service_creator.create, + old_package, register_feature=False)) + + # Clean containers based on the old image + containers = self.docker.ps(filters={'ancestor': old_package.image_id}, + all=True) + for container in containers: + self.docker.rm(container.id, force=True) + + self.service_creator.create(new_package, register_feature=False) + exits.callback(rollback(self.service_creator.remove, new_package, + register_feature=False)) + + if self.feature_registry.is_feature_enabled(new_feature): + self._systemctl_action(new_package, 'start') + exits.callback(rollback(self._systemctl_action, + new_package, 'stop')) + + if not skip_host_plugins: + self._install_cli_plugins(new_package) + exits.callback(rollback(self._uninstall_cli_plugin, old_package)) + + self.docker.rmi(old_package.image_id, force=True) + + exits.pop_all() + except Exception as err: + raise PackageUpgradeError(f'Failed to upgrade {new_package.name}: {err}') + except KeyboardInterrupt: + raise + + new_package_entry = new_package.entry + new_package_entry.installed = True + new_package_entry.version = new_version + self.database.update_package(new_package_entry) + self.database.commit() + + @under_lock + @opt_check + def reset(self, name: str, force: bool = False, skip_host_plugins: bool = False): + """ Reset package to defaults version + + Args: + name: SONiC Package name. + force: Force the installation. + skip_host_plugins: Skip host plugins installation. + Raises: + PackageManagerError + """ + + with failure_ignore(force): + if not self.is_installed(name): + raise PackageManagerError(f'{name} is not installed') + + package = self.get_installed_package(name) + default_reference = package.entry.default_reference + if default_reference is None: + raise PackageManagerError(f'package {name} has no default reference') + + package_ref = PackageReference(name, default_reference) + source = self.get_package_source(package_ref=package_ref) + self.upgrade_from_source(source, force=force, + allow_downgrade=True, + skip_host_plugins=skip_host_plugins) + + @under_lock + def migrate_packages(self, + old_package_database: PackageDatabase, + dockerd_sock: Optional[str] = None): + """ + Migrate packages from old database. This function can do a comparison between + current database and the database passed in as argument. If the package is + missing in the current database it will be added. If the package is installed + in the passed database and in the current it is not installed it will be + installed with a passed database package version. If the package is installed + in the passed database and it is installed in the current database but with + older version the package will be upgraded to the never version. If the package + is installed in the passed database and in the current it is installed but with + never version - no actions are taken. If dockerd_sock parameter is passed, the + migration process will use loaded images from docker library of the currently + installed image. + + Args: + old_package_database: SONiC Package Database to migrate packages from. + dockerd_sock: Path to dockerd socket. + Raises: + PackageManagerError + """ + + self._migrate_package_database(old_package_database) + + def migrate_package(old_package_entry, + new_package_entry): + """ Migrate package routine + + Args: + old_package_entry: Entry in old package database. + new_package_entry: Entry in new package database. + """ + + name = new_package_entry.name + version = new_package_entry.version + + if dockerd_sock: + # dockerd_sock is defined, so use docked_sock to connect to + # dockerd and fetch package image from it. + log.info(f'installing {name} from old docker library') + docker_api = DockerApi(docker.DockerClient(base_url=f'unix://{dockerd_sock}')) + + image = docker_api.get_image(old_package_entry.image_id) + + with tempfile.NamedTemporaryFile('wb') as file: + for chunk in image.save(named=True): + file.write(chunk) + + self.install(tarball=file.name) + else: + log.info(f'installing {name} version {version}') + + self.install(f'{name}={version}') + + # TODO: Topological sort packages by their dependencies first. + for old_package in old_package_database: + if not old_package.installed or old_package.built_in: + continue + + log.info(f'migrating package {old_package.name}') + + new_package = self.database.get_package(old_package.name) + + if new_package.installed: + if old_package.version > new_package.version: + log.info(f'{old_package.name} package version is greater ' + f'then installed in new image: ' + f'{old_package.version} > {new_package.version}') + log.info(f'upgrading {new_package.name} to {old_package.version}') + new_package.version = old_package.version + migrate_package(old_package, new_package) + else: + log.info(f'skipping {new_package.name} as installed version is newer') + elif new_package.default_reference is not None: + new_package_ref = PackageReference(new_package.name, new_package.default_reference) + package_source = self.get_package_source(package_ref=new_package_ref) + package = package_source.get_package() + new_package_default_version = package.manifest['package']['version'] + if old_package.version > new_package_default_version: + log.info(f'{old_package.name} package version is lower ' + f'then the default in new image: ' + f'{old_package.version} > {new_package_default_version}') + new_package.version = old_package.version + migrate_package(old_package, new_package) + else: + self.install(f'{new_package.name}={new_package_default_version}') + else: + # No default version and package is not installed. + # Migrate old package same version. + new_package.version = old_package.version + migrate_package(old_package, new_package) + + self.database.commit() + + def get_installed_package(self, name: str) -> Package: + """ Get installed package by name. + + Args: + name: package name. + Returns: + Package object. + """ + + package_entry = self.database.get_package(name) + source = LocalSource(package_entry, + self.database, + self.docker, + self.metadata_resolver) + return source.get_package() + + def get_package_source(self, + package_expression: Optional[str] = None, + repository_reference: Optional[str] = None, + tarboll_path: Optional[str] = None, + package_ref: Optional[PackageReference] = None): + """ Returns PackageSource object based on input source. + + Args: + package_expression: SONiC Package expression string + repository_reference: Install from REPO[:TAG][@DIGEST] + tarboll_path: Install from image tarball + package_ref: Package reference object + Returns: + SONiC Package object. + Raises: + ValueError if no source specified. + """ + + if package_expression: + ref = parse_reference_expression(package_expression) + return self.get_package_source(package_ref=ref) + elif repository_reference: + repo_ref = DockerReference.parse(repository_reference) + repository = repo_ref['name'] + reference = repo_ref['tag'] or repo_ref['digest'] + reference = reference or 'latest' + return RegistrySource(repository, + reference, + self.database, + self.docker, + self.metadata_resolver) + elif tarboll_path: + return TarballSource(tarboll_path, + self.database, + self.docker, + self.metadata_resolver) + elif package_ref: + package_entry = self.database.get_package(package_ref.name) + + # Determine the reference if not specified. + # If package is installed assume the installed + # one is requested, otherwise look for default + # reference defined for this package. In case package + # does not have a default reference raise an error. + if package_ref.reference is None: + if package_entry.installed: + return LocalSource(package_entry, + self.database, + self.docker, + self.metadata_resolver) + if package_entry.default_reference is not None: + package_ref.reference = package_entry.default_reference + else: + raise PackageManagerError(f'No default reference tag. ' + f'Please specify the version or tag explicitly') + + return RegistrySource(package_entry.repository, + package_ref.reference, + self.database, + self.docker, + self.metadata_resolver) + else: + raise ValueError('No package source provided') + + def get_package_available_versions(self, + name: str, + all: bool = False) -> Iterable: + """ Returns a list of available versions for package. + + Args: + name: Package name. + all: If set to True will return all tags including + those which do not follow semantic versioning. + Returns: + List of versions + """ + package_info = self.database.get_package(name) + registry = self.registry_resolver.get_registry_for(package_info.repository) + available_tags = registry.tags(package_info.repository) + + def is_semantic_ver_tag(tag: str) -> bool: + try: + tag_to_version(tag) + return True + except ValueError: + pass + return False + + if all: + return available_tags + + return map(tag_to_version, filter(is_semantic_ver_tag, available_tags)) + + def is_installed(self, name: str) -> bool: + """ Returns boolean whether a package called name is installed. + + Args: + name: Package name. + Returns: + True if package is installed, False otherwise. + """ + + if not self.database.has_package(name): + return False + package_info = self.database.get_package(name) + return package_info.installed + + def get_installed_packages(self) -> Dict[str, Package]: + """ Returns a dictionary of installed packages where + keys are package names and values are package objects. + + Returns: + Installed packages dictionary. + """ + + return { + entry.name: self.get_installed_package(entry.name) + for entry in self.database if entry.installed + } + + def _migrate_package_database(self, old_package_database: PackageDatabase): + """ Performs part of package migration process. + For every package in old_package_database that is not listed in current + database add a corresponding entry to current database. """ + + for package in old_package_database: + if not self.database.has_package(package.name): + self.database.add_package(package.name, + package.repository, + package.description, + package.default_reference) + + def _get_installed_packages_and(self, package: Package) -> Dict[str, Package]: + """ Returns a dictionary of installed packages with their names as keys + adding a package provided in the argument. """ + + packages = self.get_installed_packages() + packages[package.name] = package + return packages + + def _get_installed_packages_except(self, package: Package) -> Dict[str, Package]: + """ Returns a dictionary of installed packages with their names as keys + removing a package provided in the argument. """ + + packages = self.get_installed_packages() + packages.pop(package.name) + return packages + + # TODO: Replace with "config feature" command. + # The problem with current "config feature" command + # is that it is asynchronous, thus can't be used + # for package upgrade purposes where we need to wait + # till service stops before upgrading docker image. + # It would be really handy if we could just call + # something like: "config feature state --wait" + # instead of operating on systemd service since + # this is basically a duplicated code from "hostcfgd". + def _systemctl_action(self, package: Package, action: str): + """ Execute systemctl action for a service supporting + multi-asic services. """ + + name = package.manifest['service']['name'] + host_service = package.manifest['service']['host-service'] + asic_service = package.manifest['service']['asic-service'] + single_instance = host_service or (asic_service and not self.is_multi_npu) + multi_instance = asic_service and self.is_multi_npu + + if in_chroot(): + return + + if single_instance: + run_command(f'systemctl {action} {name}') + if multi_instance: + for npu in range(self.num_npus): + run_command(f'systemctl {action} {name}@{npu}') + + @staticmethod + def _get_cli_plugin_name(package: Package): + return utils.make_python_identifier(package.name) + '.py' + + @classmethod + def _get_cli_plugin_path(cls, package: Package, command): + pkg_loader = pkgutil.get_loader(f'{command}.plugins') + if pkg_loader is None: + raise PackageManagerError(f'Failed to get plugins path for {command} CLI') + plugins_pkg_path = os.path.dirname(pkg_loader.path) + return os.path.join(plugins_pkg_path, cls._get_cli_plugin_name(package)) + + def _install_cli_plugins(self, package: Package): + for command in ('show', 'config', 'clear'): + self._install_cli_plugin(package, command) + + def _uninstall_cli_plugins(self, package: Package): + for command in ('show', 'config', 'clear'): + self._uninstall_cli_plugin(package, command) + + def _install_cli_plugin(self, package: Package, command: str): + image_plugin_path = package.manifest['cli'][command] + if not image_plugin_path: + return + host_plugin_path = self._get_cli_plugin_path(package, command) + self.docker.extract(package.entry.image_id, image_plugin_path, host_plugin_path) + + def _uninstall_cli_plugin(self, package: Package, command: str): + image_plugin_path = package.manifest['cli'][command] + if not image_plugin_path: + return + host_plugin_path = self._get_cli_plugin_path(package, command) + if os.path.exists(host_plugin_path): + os.remove(host_plugin_path) + + @staticmethod + def get_manager() -> 'PackageManager': + """ Creates and returns PackageManager instance. + + Returns: + PackageManager + """ + + docker_api = DockerApi(docker.from_env()) + registry_resolver = RegistryResolver() + return PackageManager(DockerApi(docker.from_env(), ProgressManager()), + registry_resolver, + PackageDatabase.from_file(), + MetadataResolver(docker_api, registry_resolver), + ServiceCreator(FeatureRegistry(SonicDB), SonicDB), + device_info, + filelock.FileLock(PACKAGE_MANAGER_LOCK_FILE, timeout=0)) diff --git a/sonic_package_manager/manifest.py b/sonic_package_manager/manifest.py new file mode 100644 index 0000000000..b58a0d10f0 --- /dev/null +++ b/sonic_package_manager/manifest.py @@ -0,0 +1,210 @@ +#!/usr/bin/env python + +from abc import ABC +from dataclasses import dataclass +from typing import Optional, List, Dict, Any + +from sonic_package_manager.constraint import ( + ComponentConstraints, + PackageConstraint +) +from sonic_package_manager.errors import ManifestError +from sonic_package_manager.version import Version + + +class ManifestSchema: + """ ManifestSchema class describes and provides marshalling + and unmarshalling methods. + """ + + class Marshaller: + """ Base class for marshaling and un-marshaling. """ + + def marshal(self, value): + """ Validates and returns a valid manifest dictionary. + + Args: + value: input value to validate. + Returns: valid manifest node. + """ + + raise NotImplementedError + + def unmarshal(self, value): + """ Un-marshals the manifest to a dictionary. + + Args: + value: input value to validate. + Returns: valid manifest node. + """ + + raise NotImplementedError + + @dataclass + class ParsedMarshaller(Marshaller): + """ Marshaller used on types which support class method "parse" """ + + type: Any + + def marshal(self, value): + try: + return self.type.parse(value) + except ValueError as err: + raise ManifestError(f'Failed to marshal {value}: {err}') + + def unmarshal(self, value): + try: + if hasattr(value, 'deparse'): + return value.deparse() + return str(value) + except Exception as err: + raise ManifestError(f'Failed to unmarshal {value}: {err}') + + @dataclass + class DefaultMarshaller(Marshaller): + """ Default marshaller that validates if the given + value is instance of given type. """ + + type: type + + def marshal(self, value): + if not isinstance(value, self.type): + raise ManifestError(f'{value} is not of type {self.type.__name__}') + return value + + def unmarshal(self, value): + return value + + @dataclass + class ManifestNode(Marshaller, ABC): + """ + Base class for any manifest object. + + Attrs: + key: String representing the key for this object. + """ + + key: str + + @dataclass + class ManifestRoot(ManifestNode): + items: List + + def marshal(self, value: Optional[dict]): + result = {} + if value is None: + value = {} + + for item in self.items: + next_value = value.get(item.key) + result[item.key] = item.marshal(next_value) + return result + + def unmarshal(self, value): + return_value = {} + for item in self.items: + return_value[item.key] = item.unmarshal(value[item.key]) + return return_value + + @dataclass + class ManifestField(ManifestNode): + type: Any + default: Optional[Any] = None + + def marshal(self, value): + if value is None: + if self.default is not None: + return self.default + raise ManifestError(f'{self.key} is a required field but it is missing') + try: + return_value = self.type.marshal(value) + except Exception as err: + raise ManifestError(f'Failed to marshal {self.key}: {err}') + return return_value + + def unmarshal(self, value): + return self.type.unmarshal(value) + + @dataclass + class ManifestArray(ManifestNode): + type: Any + + def marshal(self, value): + if value is None: + return [] + + return_value = [] + try: + for item in value: + return_value.append(self.type.marshal(item)) + except Exception as err: + raise ManifestError(f'Failed to convert {self.key}={value} to array: {err}') + + return return_value + + def unmarshal(self, value): + return [self.type.unmarshal(item) for item in value] + + # TODO: add description for each field + SCHEMA = ManifestRoot('root', [ + ManifestField('version', ParsedMarshaller(Version), Version(1, 0, 0)), + ManifestRoot('package', [ + ManifestField('version', ParsedMarshaller(Version)), + ManifestField('name', DefaultMarshaller(str)), + ManifestField('description', DefaultMarshaller(str), ''), + ManifestField('base-os', ParsedMarshaller(ComponentConstraints), ComponentConstraints()), + ManifestArray('depends', ParsedMarshaller(PackageConstraint)), + ManifestArray('breaks', ParsedMarshaller(PackageConstraint)), + ManifestField('init-cfg', DefaultMarshaller(dict), dict()), + ManifestField('changelog', DefaultMarshaller(dict), dict()), + ManifestField('debug-dump', DefaultMarshaller(str), ''), + ]), + ManifestRoot('service', [ + ManifestField('name', DefaultMarshaller(str)), + ManifestArray('requires', DefaultMarshaller(str)), + ManifestArray('requisite', DefaultMarshaller(str)), + ManifestArray('wanted-by', DefaultMarshaller(str)), + ManifestArray('after', DefaultMarshaller(str)), + ManifestArray('before', DefaultMarshaller(str)), + ManifestArray('dependent', DefaultMarshaller(str)), + ManifestArray('dependent-of', DefaultMarshaller(str)), + ManifestField('post-start-action', DefaultMarshaller(str), ''), + ManifestField('pre-shutdown-action', DefaultMarshaller(str), ''), + ManifestField('asic-service', DefaultMarshaller(bool), False), + ManifestField('host-service', DefaultMarshaller(bool), True), + ManifestField('delayed', DefaultMarshaller(bool), False), + ]), + ManifestRoot('container', [ + ManifestField('privileged', DefaultMarshaller(bool), False), + ManifestArray('volumes', DefaultMarshaller(str)), + ManifestArray('mounts', ManifestRoot('mounts', [ + ManifestField('source', DefaultMarshaller(str)), + ManifestField('target', DefaultMarshaller(str)), + ManifestField('type', DefaultMarshaller(str)), + ])), + ManifestField('environment', DefaultMarshaller(dict), dict()), + ManifestArray('tmpfs', DefaultMarshaller(str)), + ]), + ManifestArray('processes', ManifestRoot('processes', [ + ManifestField('name', DefaultMarshaller(str)), + ])), + ManifestRoot('cli', [ + ManifestField('mandatory', DefaultMarshaller(bool), False), + ManifestField('show', DefaultMarshaller(str), ''), + ManifestField('config', DefaultMarshaller(str), ''), + ManifestField('clear', DefaultMarshaller(str), '') + ]) + ]) + + +class Manifest(dict): + """ Manifest object. """ + + SCHEMA = ManifestSchema.SCHEMA + + @classmethod + def marshal(cls, input_dict: dict): + return Manifest(cls.SCHEMA.marshal(input_dict)) + + def unmarshal(self) -> Dict: + return self.SCHEMA.unmarshal(self) diff --git a/sonic_package_manager/metadata.py b/sonic_package_manager/metadata.py new file mode 100644 index 0000000000..7f7c25ceaf --- /dev/null +++ b/sonic_package_manager/metadata.py @@ -0,0 +1,185 @@ +#!/usr/bin/env python + +from dataclasses import dataclass, field + +import json +import tarfile +from typing import Dict + +from sonic_package_manager.errors import MetadataError +from sonic_package_manager.manifest import Manifest +from sonic_package_manager.version import Version + + +def deep_update(dst: Dict, src: Dict) -> Dict: + """ Deep update dst dictionary with src dictionary. + + Args: + dst: Dictionary to update + src: Dictionary to update with + + Returns: + New merged dictionary. + """ + + for key, value in src.items(): + if isinstance(value, dict): + node = dst.setdefault(key, {}) + deep_update(node, value) + else: + dst[key] = value + return dst + + +def translate_plain_to_tree(plain: Dict[str, str], sep='.') -> Dict: + """ Convert plain key/value dictionary into + a tree by spliting the key with '.' + + Args: + plain: Dictionary to convert into tree-like structure. + Keys in this dictionary have to be in a format: + "[key0].+", e.g: "com.azure.sonic" that + will be converted into tree like struct: + + { + "com": { + "azure": { + "sonic": {} + } + } + } + sep: Seperator string + + Returns: + Tree like structure + + """ + + res = {} + for key, value in plain.items(): + if sep not in key: + res[key] = value + continue + namespace, key = key.split(sep, 1) + res.setdefault(namespace, {}) + deep_update(res[namespace], translate_plain_to_tree({key: value})) + return res + + +@dataclass +class Metadata: + """ Package metadata object that can be retrieved from + OCI image manifest. """ + + manifest: Manifest + components: Dict[str, Version] = field(default_factory=dict) + + +class MetadataResolver: + """ Resolve metadata for package from different sources. """ + + def __init__(self, docker, registry_resolver): + self.docker = docker + self.registry_resolver = registry_resolver + + def from_local(self, image: str) -> Metadata: + """ Reads manifest from locally installed docker image. + + Args: + image: Docker image ID + Returns: + Metadata + Raises: + MetadataError + """ + + labels = self.docker.labels(image) + if labels is None: + raise MetadataError('No manifest found in image labels') + + return self.from_labels(labels) + + def from_registry(self, + repository: str, + reference: str) -> Metadata: + """ Reads manifest from remote registry. + + Args: + repository: Repository to pull image from + reference: Reference, either tag or digest + Returns: + Metadata + Raises: + MetadataError + """ + + registry = self.registry_resolver.get_registry_for(repository) + + manifest = registry.manifest(repository, reference) + digest = manifest['config']['digest'] + + blob = registry.blobs(repository, digest) + labels = blob['config']['Labels'] + if labels is None: + raise MetadataError('No manifest found in image labels') + + return self.from_labels(labels) + + def from_tarball(self, image_path: str) -> Metadata: + """ Reads manifest image tarball. + Args: + image_path: Path to image tarball. + Returns: + Manifest + Raises: + MetadataError + """ + + with tarfile.open(image_path) as image: + manifest = json.loads(image.extractfile('manifest.json').read()) + + blob = manifest[0]['Config'] + image_config = json.loads(image.extractfile(blob).read()) + labels = image_config['config']['Labels'] + if labels is None: + raise MetadataError('No manifest found in image labels') + + return self.from_labels(labels) + + @classmethod + def from_labels(cls, labels: Dict[str, str]) -> Metadata: + """ Get manifest from image labels. + + Args: + labels: key, value string pairs + Returns: + Metadata + Raises: + MetadataError + """ + + metadata_dict = translate_plain_to_tree(labels) + try: + sonic_metadata = metadata_dict['com']['azure']['sonic'] + except KeyError: + raise MetadataError('No metadata found in image labels') + + try: + manifest_string = sonic_metadata['manifest'] + except KeyError: + raise MetadataError('No manifest found in image labels') + + try: + manifest_dict = json.loads(manifest_string) + except (ValueError, TypeError) as err: + raise MetadataError(f'Failed to parse manifest JSON: {err}') + + components = {} + if 'versions' in sonic_metadata: + for component, version in sonic_metadata['versions'].items(): + try: + components[component] = Version.parse(version) + except ValueError as err: + raise MetadataError(f'Failed to parse component version: {err}') + + return Metadata(Manifest.marshal(manifest_dict), components) diff --git a/sonic_package_manager/package.py b/sonic_package_manager/package.py new file mode 100644 index 0000000000..2928f17392 --- /dev/null +++ b/sonic_package_manager/package.py @@ -0,0 +1,53 @@ +#!/usr/bin/env python + +from dataclasses import dataclass + +from sonic_package_manager.database import PackageEntry +from sonic_package_manager.metadata import Metadata + + +@dataclass +class Package: + """ Package class is a representation of Package. + + Attributes: + entry: Package entry in package database + metadata: Metadata object for this package + manifest: Manifest for this package + components: Components versions for this package + name: Name of the package from package database + repository: Default repository to pull this package from + image_id: Docker image ID of the installed package; + It is set to None if package is not installed. + installed: Boolean flag whether package is installed or not. + build_in: Boolean flag whether package is built in or not. + + """ + + entry: PackageEntry + metadata: Metadata + + @property + def name(self): return self.entry.name + + @property + def repository(self): return self.entry.repository + + @property + def image_id(self): return self.entry.image_id + + @property + def installed(self): return self.entry.installed + + @property + def built_in(self): return self.entry.built_in + + @property + def version(self): return self.entry.version + + @property + def manifest(self): return self.metadata.manifest + + @property + def components(self): return self.metadata.components + diff --git a/sonic_package_manager/progress.py b/sonic_package_manager/progress.py new file mode 100644 index 0000000000..5258ebab98 --- /dev/null +++ b/sonic_package_manager/progress.py @@ -0,0 +1,52 @@ +#!/usr/bin/env python + +import enlighten + +BAR_FMT = '{desc}{desc_pad}{percentage:3.0f}%|{bar}| {count:{len_total}.2f}/{total:.2f}{unit_pad}{unit} ' + \ + '[{elapsed}<{eta}, {rate:.2f}{unit_pad}{unit}/s]' + +COUNTER_FMT = '{desc}{desc_pad}{count:.1f} {unit}{unit_pad}' + \ + '[{elapsed}, {rate:.2f}{unit_pad}{unit}/s]{fill}' + + +class ProgressManager: + """ ProgressManager is used for creating multiple progress bars + which nicely interact with logging and prints. """ + + def __init__(self): + self.manager = enlighten.get_manager() + self.pbars = {} + + def __enter__(self): + return self.manager.__enter__() + + def __exit__(self, exc_type, exc_val, exc_tb): + return self.manager.__exit__(exc_type, exc_val, exc_tb) + + def new(self, id: str, *args, **kwargs): + """ Creates new progress bar with id. + Args: + id: progress bar identifier + *args: pass arguments for progress bar creation + **kwargs: pass keyword arguments for progress bar creation. + """ + + if 'bar_format' not in kwargs: + kwargs['bar_format'] = BAR_FMT + if 'counter_format' not in kwargs: + kwargs['counter_format'] = COUNTER_FMT + + self.pbars[id] = self.manager.counter(*args, **kwargs) + + def get(self, id: str): + """ Returns progress bar by id. + Args: + id: progress bar identifier + Returns: + Progress bar. + """ + + return self.pbars[id] + + def __contains__(self, id): + return id in self.pbars diff --git a/sonic_package_manager/reference.py b/sonic_package_manager/reference.py new file mode 100644 index 0000000000..9c4d8e825c --- /dev/null +++ b/sonic_package_manager/reference.py @@ -0,0 +1,30 @@ +#!/usr/bin/env python + +import re +from dataclasses import dataclass +from typing import Optional + + +@dataclass +class PackageReference: + """ PackageReference is a package version constraint. """ + + name: str + reference: Optional[str] = None + + def __str__(self): + return f'{self.name} {self.reference}' + + @staticmethod + def parse(expression: str) -> 'PackageReference': + REQUIREMENT_SPECIFIER_RE = \ + r'(?P[A-Za-z0-9_-]+)(?P@(?P.*))' + + match = re.match(REQUIREMENT_SPECIFIER_RE, expression) + if match is None: + raise ValueError(f'Invalid reference specifier {expression}') + groupdict = match.groupdict() + name = groupdict.get('name') + reference = groupdict.get('reference') + + return PackageReference(name, reference) diff --git a/sonic_package_manager/registry.py b/sonic_package_manager/registry.py new file mode 100644 index 0000000000..8a09d9136e --- /dev/null +++ b/sonic_package_manager/registry.py @@ -0,0 +1,157 @@ +#!/usr/bin/env python + +import json +from dataclasses import dataclass +from typing import List, Dict + +import requests +import www_authenticate +from docker_image import reference +from prettyprinter import pformat + +from sonic_package_manager.logger import log +from sonic_package_manager.utils import DockerReference + + +class AuthenticationServiceError(Exception): + """ Exception class for errors related to authentication. """ + + pass + + +class AuthenticationService: + """ AuthenticationService provides an authentication tokens. """ + + @staticmethod + def get_token(realm, service, scope) -> str: + """ Retrieve an authentication token. + + Args: + realm: Realm: url to request token. + service: service to request token for. + scope: scope to requests token for. + Returns: + token value as a string. + """ + + log.debug(f'getting authentication token: realm={realm} service={service} scope={scope}') + + response = requests.get(f'{realm}?scope={scope}&service={service}') + if response.status_code != requests.codes.ok: + raise AuthenticationServiceError(f'Failed to retrieve token') + + content = json.loads(response.content) + token = content['token'] + expires_in = content['expires_in'] + + log.debug(f'authentication token for realm={realm} service={service} scope={scope}: ' + f'token={token} expires_in={expires_in}') + + return token + + +@dataclass +class RegistryApiError(Exception): + """ Class for registry related errors. """ + + msg: str + response: requests.Response + + def __str__(self): + code = self.response.status_code + content = self.response.content.decode() + try: + content = json.loads(content) + except ValueError: + pass + return f'{self.msg}: code: {code} details: {pformat(content)}' + + +class Registry: + """ Provides a Docker registry interface. """ + + MIME_DOCKER_MANIFEST = 'application/vnd.docker.distribution.manifest.v2+json' + + def __init__(self, host: str): + self.url = host + + @staticmethod + def _execute_get_request(url, headers): + response = requests.get(url, headers=headers) + if response.status_code == requests.codes.unauthorized: + # Get authentication details from headers + # Registry should tell how to authenticate + www_authenticate_details = response.headers['Www-Authenticate'] + log.debug(f'unauthorized: retrieving authentication details ' + f'from response headers {www_authenticate_details}') + bearer = www_authenticate.parse(www_authenticate_details)['bearer'] + token = AuthenticationService.get_token(**bearer) + headers['Authorization'] = f'Bearer {token}' + # Repeat request + response = requests.get(url, headers=headers) + return response + + def _get_base_url(self, repository: str): + return f'{self.url}/v2/{repository}' + + def tags(self, repository: str) -> List[str]: + log.debug(f'getting tags for {repository}') + + _, repository = reference.Reference.split_docker_domain(repository) + headers = {'Accept': 'application/json'} + url = f'{self._get_base_url(repository)}/tags/list' + response = self._execute_get_request(url, headers) + if response.status_code != requests.codes.ok: + raise RegistryApiError(f'Failed to retrieve tags from {repository}', response) + + content = json.loads(response.content) + log.debug(f'tags list api response: f{content}') + + return content['tags'] + + def manifest(self, repository: str, ref: str) -> Dict: + log.debug(f'getting manifest for {repository}:{ref}') + + _, repository = reference.Reference.split_docker_domain(repository) + headers = {'Accept': self.MIME_DOCKER_MANIFEST} + url = f'{self._get_base_url(repository)}/manifests/{ref}' + response = self._execute_get_request(url, headers) + + if response.status_code != requests.codes.ok: + raise RegistryApiError(f'Failed to retrieve manifest for {repository}:{ref}', response) + + content = json.loads(response.content) + log.debug(f'manifest content for {repository}:{ref}: {content}') + + return content + + def blobs(self, repository: str, digest: str): + log.debug(f'retrieving blob for {repository}:{digest}') + + _, repository = reference.Reference.split_docker_domain(repository) + headers = {'Accept': self.MIME_DOCKER_MANIFEST} + url = f'{self._get_base_url(repository)}/blobs/{digest}' + response = self._execute_get_request(url, headers) + if response.status_code != requests.codes.ok: + raise RegistryApiError(f'Failed to retrieve blobs for {repository}:{digest}', response) + content = json.loads(response.content) + + log.debug(f'retrieved blob for {repository}:{digest}: {content}') + return content + + +class RegistryResolver: + """ Returns a registry object based on the input repository reference + string. """ + + DockerHubRegistry = Registry('https://index.docker.io') + + def __init__(self): + pass + + def get_registry_for(self, ref: str) -> Registry: + domain, _ = DockerReference.split_docker_domain(ref) + if domain == reference.DEFAULT_DOMAIN: + return self.DockerHubRegistry + # TODO: support insecure registries + return Registry(f'https://{domain}') diff --git a/sonic_package_manager/service_creator/__init__.py b/sonic_package_manager/service_creator/__init__.py new file mode 100644 index 0000000000..e2af81ceb5 --- /dev/null +++ b/sonic_package_manager/service_creator/__init__.py @@ -0,0 +1,3 @@ +#!/usr/bin/env python + +ETC_SONIC_PATH = '/etc/sonic' diff --git a/sonic_package_manager/service_creator/creator.py b/sonic_package_manager/service_creator/creator.py new file mode 100644 index 0000000000..54b9315bee --- /dev/null +++ b/sonic_package_manager/service_creator/creator.py @@ -0,0 +1,342 @@ +#!/usr/bin/env python + +import contextlib +import os +import stat +import subprocess +from typing import Dict + +import jinja2 as jinja2 +from prettyprinter import pformat + +from sonic_package_manager.logger import log +from sonic_package_manager.package import Package +from sonic_package_manager.service_creator import ETC_SONIC_PATH +from sonic_package_manager.service_creator.feature import FeatureRegistry +from sonic_package_manager.service_creator.utils import in_chroot + +SERVICE_FILE_TEMPLATE = 'sonic.service.j2' +TIMER_UNIT_TEMPLATE = 'timer.unit.j2' + +SYSTEMD_LOCATION = '/usr/lib/systemd/system' + +SERVICE_MGMT_SCRIPT_TEMPLATE = 'service_mgmt.sh.j2' +SERVICE_MGMT_SCRIPT_LOCATION = '/usr/local/bin' + +DOCKER_CTL_SCRIPT_TEMPLATE = 'docker_image_ctl.j2' +DOCKER_CTL_SCRIPT_LOCATION = '/usr/bin' + +DEBUG_DUMP_SCRIPT_TEMPLATE = 'dump.sh.j2' +DEBUG_DUMP_SCRIPT_LOCATION = '/usr/local/bin/debug-dump/' + +TEMPLATES_PATH = '/usr/share/sonic/templates' + + +class ServiceCreatorError(Exception): + pass + + +def render_template(in_template: str, + outfile: str, + render_ctx: Dict, + executable: bool = False): + """ Template renderer helper routine. + Args: + in_template: Input file with template content + outfile: Output file to render template to + render_ctx: Dictionary used to generate jinja2 template + executable: Set executable bit on rendered file + """ + + log.debug(f'Rendering {in_template} to {outfile} with {pformat(render_ctx)}') + + with open(in_template, 'r') as instream: + template = jinja2.Template(instream.read()) + + with open(outfile, 'w') as outstream: + outstream.write(template.render(**render_ctx)) + + if executable: + set_executable_bit(outfile) + + +def get_tmpl_path(template_name: str) -> str: + """ Returns a path to a template. + Args: + template_name: Template file name. + """ + + return os.path.join(TEMPLATES_PATH, template_name) + + +def set_executable_bit(filepath): + """ Sets +x on filepath. """ + + st = os.stat(filepath) + os.chmod(filepath, st.st_mode | stat.S_IEXEC) + + +def run_command(command: str): + """ Run arbitrary bash command. + Args: + command: String command to execute as bash script + Raises: + PackageManagerError: Raised when the command return code + is not 0. + """ + + log.debug(f'running command: {command}') + + proc = subprocess.Popen(command, + shell=True, + executable='/bin/bash', + stdout=subprocess.PIPE) + (out, _) = proc.communicate() + if proc.returncode != 0: + raise ServiceCreatorError(f'Failed to execute "{command}"') + + +class ServiceCreator: + """ Creates and registers services in SONiC based on the package + manifest. """ + + def __init__(self, feature_registry: FeatureRegistry, sonic_db): + self.feature_registry = feature_registry + self.sonic_db = sonic_db + + def create(self, + package: Package, + register_feature=True, + state='enabled', + owner='local'): + try: + self.generate_container_mgmt(package) + self.generate_service_mgmt(package) + self.update_dependent_list_file(package) + self.generate_systemd_service(package) + self.generate_dump_script(package) + + self.set_initial_config(package) + + self.post_operation_hook() + + if register_feature: + self.feature_registry.register(package.manifest, + state, owner) + except (Exception, KeyboardInterrupt): + self.remove(package, register_feature) + raise + + def remove(self, package: Package, deregister_feature=True): + name = package.manifest['service']['name'] + + def remove_file(path): + if os.path.exists(path): + os.remove(path) + log.info(f'removed {path}') + + remove_file(os.path.join(SYSTEMD_LOCATION, f'{name}.service')) + remove_file(os.path.join(SYSTEMD_LOCATION, f'{name}@.service')) + remove_file(os.path.join(SERVICE_MGMT_SCRIPT_LOCATION, f'{name}.sh')) + remove_file(os.path.join(DOCKER_CTL_SCRIPT_LOCATION, f'{name}.sh')) + remove_file(os.path.join(DEBUG_DUMP_SCRIPT_LOCATION, f'{name}')) + + self.update_dependent_list_file(package, remove=True) + + self.post_operation_hook() + + if deregister_feature: + self.feature_registry.deregister(package.manifest['service']['name']) + self.remove_config(package) + + def post_operation_hook(self): + if not in_chroot(): + run_command('systemctl daemon-reload') + + def generate_container_mgmt(self, package: Package): + image_id = package.image_id + name = package.manifest['service']['name'] + container_spec = package.manifest['container'] + script_path = os.path.join(DOCKER_CTL_SCRIPT_LOCATION, f'{name}.sh') + script_template = get_tmpl_path(DOCKER_CTL_SCRIPT_TEMPLATE) + run_opt = [] + + if container_spec['privileged']: + run_opt.append('--privileged') + + run_opt.append('-t') + + for volume in container_spec['volumes']: + run_opt.append(f'-v {volume}') + + for mount in container_spec['mounts']: + mount_type, source, target = mount['type'], mount['source'], mount['target'] + run_opt.append(f'--mount type={mount_type},source={source},target={target}') + + for tmpfs_mount in container_spec['tmpfs']: + run_opt.append(f'--tmpfs {tmpfs_mount}') + + for env_name, value in container_spec['environment'].items(): + run_opt.append(f'-e {env_name}={value}') + + run_opt = ' '.join(run_opt) + render_ctx = { + 'docker_container_name': name, + 'docker_image_id': image_id, + 'docker_image_run_opt': run_opt, + } + render_template(script_template, script_path, render_ctx, executable=True) + log.info(f'generated {script_path}') + + def generate_service_mgmt(self, package: Package): + name = package.manifest['service']['name'] + multi_instance_services = self.feature_registry.get_multi_instance_features() + script_path = os.path.join(SERVICE_MGMT_SCRIPT_LOCATION, f'{name}.sh') + scrip_template = get_tmpl_path(SERVICE_MGMT_SCRIPT_TEMPLATE) + render_ctx = { + 'source': get_tmpl_path(SERVICE_MGMT_SCRIPT_TEMPLATE), + 'manifest': package.manifest.unmarshal(), + 'multi_instance_services': multi_instance_services, + } + render_template(scrip_template, script_path, render_ctx, executable=True) + log.info(f'generated {script_path}') + + def generate_systemd_service(self, package: Package): + name = package.manifest['service']['name'] + multi_instance_services = self.feature_registry.get_multi_instance_features() + + template = get_tmpl_path(SERVICE_FILE_TEMPLATE) + template_vars = { + 'source': get_tmpl_path(SERVICE_FILE_TEMPLATE), + 'manifest': package.manifest.unmarshal(), + 'multi_instance': False, + 'multi_instance_services': multi_instance_services, + } + output_file = os.path.join(SYSTEMD_LOCATION, f'{name}.service') + render_template(template, output_file, template_vars) + log.info(f'generated {output_file}') + + if package.manifest['service']['asic-service']: + output_file = os.path.join(SYSTEMD_LOCATION, f'{name}@.service') + template_vars['multi_instance'] = True + render_template(template, output_file, template_vars) + log.info(f'generated {output_file}') + + if package.manifest['service']['delayed']: + template_vars = { + 'source': get_tmpl_path(TIMER_UNIT_TEMPLATE), + 'manifest': package.manifest.unmarshal(), + 'multi_instance': False, + } + output_file = os.path.join(SYSTEMD_LOCATION, f'{name}.timer') + template = os.path.join(TEMPLATES_PATH, TIMER_UNIT_TEMPLATE) + render_template(template, output_file, template_vars) + log.info(f'generated {output_file}') + + if package.manifest['service']['asic-service']: + output_file = os.path.join(SYSTEMD_LOCATION, f'{name}@.timer') + template_vars['multi_instance'] = True + render_template(template, output_file, template_vars) + log.info(f'generated {output_file}') + + def update_dependent_list_file(self, package: Package, remove=False): + name = package.manifest['service']['name'] + dependent_of = package.manifest['service']['dependent-of'] + host_service = package.manifest['service']['host-service'] + asic_service = package.manifest['service']['asic-service'] + + def update_dependent(service, name, multi_inst): + if multi_inst: + filename = f'{service}_multi_inst_dependent' + else: + filename = f'{service}_dependent' + + filepath = os.path.join(ETC_SONIC_PATH, filename) + + dependent_services = set() + if os.path.exists(filepath): + with open(filepath) as fp: + dependent_services.update({line.strip() for line in fp.readlines()}) + if remove: + with contextlib.suppress(KeyError): + dependent_services.remove(name) + else: + dependent_services.add(name) + with open(filepath, 'w') as fp: + fp.write('\n'.join(dependent_services)) + + for service in dependent_of: + if host_service: + update_dependent(service, name, multi_inst=False) + if asic_service: + update_dependent(service, name, multi_inst=True) + + def generate_dump_script(self, package): + name = package.manifest['service']['name'] + + if not package.manifest['package']['debug-dump']: + return + + if not os.path.exists(DEBUG_DUMP_SCRIPT_LOCATION): + os.mkdir(DEBUG_DUMP_SCRIPT_LOCATION) + + scrip_template = os.path.join(TEMPLATES_PATH, DEBUG_DUMP_SCRIPT_TEMPLATE) + script_path = os.path.join(DEBUG_DUMP_SCRIPT_LOCATION, f'{name}') + render_ctx = { + 'source': get_tmpl_path(SERVICE_MGMT_SCRIPT_TEMPLATE), + 'manifest': package.manifest.unmarshal(), + } + render_template(scrip_template, script_path, render_ctx, executable=True) + log.info(f'generated {script_path}') + + def get_tables(self, table_name): + tables = [] + + running_table = self.sonic_db.running_table(table_name) + if running_table is not None: + tables.append(running_table) + + persistent_table = self.sonic_db.persistent_table(table_name) + if persistent_table is not None: + tables.append(persistent_table) + + initial_table = self.sonic_db.initial_table(table_name) + if initial_table is not None: + tables.append(initial_table) + + return tables + + def set_initial_config(self, package): + init_cfg = package.manifest['package']['init-cfg'] + + for tablename, content in init_cfg.items(): + if not isinstance(content, dict): + continue + + tables = self.get_tables(tablename) + + for key in content: + for table in tables: + cfg = content[key] + exists, old_fvs = table.get(key) + if exists: + cfg.update(old_fvs) + fvs = list(cfg.items()) + table.set(key, fvs) + + def remove_config(self, package): + # Remove configuration based on init-cfg tables, so having + # init-cfg even with tables without keys might be a good idea. + # TODO: init-cfg should be validated with yang model + # TODO: remove config from tables known to yang model + init_cfg = package.manifest['package']['init-cfg'] + + for tablename, content in init_cfg.items(): + if not isinstance(content, dict): + continue + + tables = self.get_tables(tablename) + + for key in content: + for table in tables: + table._del(key) diff --git a/sonic_package_manager/service_creator/feature.py b/sonic_package_manager/service_creator/feature.py new file mode 100644 index 0000000000..4df06384d2 --- /dev/null +++ b/sonic_package_manager/service_creator/feature.py @@ -0,0 +1,108 @@ +#!/usr/bin/env python + +""" This module implements new feature registration/de-registration in SONiC system. """ + +from typing import Dict, Type + +from sonic_package_manager.manifest import Manifest +from sonic_package_manager.service_creator.sonic_db import SonicDB + +FEATURE = 'FEATURE' +DEFAULT_FEATURE_CONFIG = { + 'state': 'disabled', + 'auto_restart': 'enabled', + 'high_mem_alert': 'disabled', + 'set_owner': 'local' +} + + +class FeatureRegistry: + """ FeatureRegistry class provides an interface to + register/de-register new feature persistently. """ + + def __init__(self, sonic_db: Type[SonicDB]): + self._sonic_db = sonic_db + + def register(self, + manifest: Manifest, + state: str = 'disabled', + owner: str = 'local'): + name = manifest['service']['name'] + for table in self._get_tables(): + cfg_entries = self.get_default_feature_entries(state, owner) + non_cfg_entries = self.get_non_configurable_feature_entries(manifest) + + exists, current_cfg = table.get(name) + + new_cfg = cfg_entries.copy() + # Override configurable entries with CONFIG DB data. + new_cfg = {**new_cfg, **dict(current_cfg)} + # Override CONFIG DB data with non configurable entries. + new_cfg = {**new_cfg, **non_cfg_entries} + + table.set(name, list(new_cfg.items())) + + def deregister(self, name: str): + for table in self._get_tables(): + table._del(name) + + def is_feature_enabled(self, name: str) -> bool: + """ Returns whether the feature is current enabled + or not. Accesses running CONFIG DB. If no running CONFIG_DB + table is found in tables returns False. """ + + running_db_table = self._sonic_db.running_table(FEATURE) + if running_db_table is None: + return False + + exists, cfg = running_db_table.get(name) + if not exists: + return False + cfg = dict(cfg) + return cfg.get('state').lower() == 'enabled' + + def get_multi_instance_features(self): + res = [] + init_db_table = self._sonic_db.initial_table(FEATURE) + for feature in init_db_table.keys(): + exists, cfg = init_db_table.get(feature) + assert exists + cfg = dict(cfg) + asic_flag = str(cfg.get('has_per_asic_scope', 'False')) + if asic_flag.lower() == 'true': + res.append(feature) + return res + + @staticmethod + def get_default_feature_entries(state=None, owner=None) -> Dict[str, str]: + """ Get configurable feature table entries: + e.g. 'state', 'auto_restart', etc. """ + + cfg = DEFAULT_FEATURE_CONFIG.copy() + if state: + cfg['state'] = state + if owner: + cfg['set_owner'] = owner + return cfg + + @staticmethod + def get_non_configurable_feature_entries(manifest) -> Dict[str, str]: + """ Get non-configurable feature table entries: e.g. 'has_timer' """ + + return { + 'has_per_asic_scope': str(manifest['service']['asic-service']), + 'has_global_scope': str(manifest['service']['host-service']), + 'has_timer': str(manifest['service']['delayed']), + } + + def _get_tables(self): + tables = [] + running = self._sonic_db.running_table(FEATURE) + if running is not None: # it's Ok if there is no database container running + tables.append(running) + persistent = self._sonic_db.persistent_table(FEATURE) + if persistent is not None: # it's Ok if there is no config_db.json + tables.append(persistent) + tables.append(self._sonic_db.initial_table(FEATURE)) # init_cfg.json is must + + return tables diff --git a/sonic_package_manager/service_creator/sonic_db.py b/sonic_package_manager/service_creator/sonic_db.py new file mode 100644 index 0000000000..a064c60c4a --- /dev/null +++ b/sonic_package_manager/service_creator/sonic_db.py @@ -0,0 +1,98 @@ +#!/usr/bin/env python + +import contextlib +import json +import os + +from swsscommon import swsscommon + +from sonic_package_manager.service_creator import ETC_SONIC_PATH +from sonic_package_manager.service_creator.utils import in_chroot + +CONFIG_DB = 'CONFIG_DB' +CONFIG_DB_JSON = os.path.join(ETC_SONIC_PATH, 'config_db.json') +INIT_CFG_JSON = os.path.join(ETC_SONIC_PATH, 'init_cfg.json') + + +class FileDbTable: + """ swsscommon.Table adapter for persistent DBs. """ + + def __init__(self, file, table): + self._file = file + self._table = table + + def keys(self): + with open(self._file) as stream: + config = json.load(stream) + return config.get(self._table, {}).keys() + + def get(self, key): + with open(self._file) as stream: + config = json.load(stream) + + table = config.get(self._table, {}) + exists = key in table + fvs_dict = table.get(key, {}) + fvs = list(fvs_dict.items()) + return exists, fvs + + def set(self, key, fvs): + with open(self._file) as stream: + config = json.load(stream) + + table = config.setdefault(self._table, {}) + table.update({key: dict(fvs)}) + + with open(self._file, 'w') as stream: + json.dump(config, stream, indent=4) + + def _del(self, key): + with open(self._file) as stream: + config = json.load(stream) + + with contextlib.suppress(KeyError): + config[self._table].pop(key) + + with open(self._file, 'w') as stream: + json.dump(config, stream, indent=4) + + +class SonicDB: + """ Store different DB access objects for + running DB and also for persistent and initial + configs. """ + + _running = None + + @classmethod + def running_table(cls, table): + """ Returns running DB table. """ + + # In chroot we can connect to a running + # DB via TCP socket, we should ignore this case. + if in_chroot(): + return None + + if cls._running is None: + try: + cls._running = swsscommon.DBConnector(CONFIG_DB, 0) + except RuntimeError: + # Failed to connect to DB. + return None + + return swsscommon.Table(cls._running, table) + + @classmethod + def persistent_table(cls, table): + """ Returns persistent DB table. """ + + if not os.path.exists(CONFIG_DB_JSON): + return None + + return FileDbTable(CONFIG_DB_JSON, table) + + @classmethod + def initial_table(cls, table): + """ Returns initial DB table. """ + + return FileDbTable(INIT_CFG_JSON, table) diff --git a/sonic_package_manager/service_creator/utils.py b/sonic_package_manager/service_creator/utils.py new file mode 100644 index 0000000000..cdeeb17abb --- /dev/null +++ b/sonic_package_manager/service_creator/utils.py @@ -0,0 +1,17 @@ +#!/usr/bin/env python + +import os + + +def in_chroot() -> bool: + """ Verify if we are running in chroot or not + by comparing root / mount point device id and inode + with init process - /proc/1/root mount point device + id and inode. If those match we are not chroot-ed + otherwise we are. """ + + root_stat = os.stat('/') + init_root_stat = os.stat('/proc/1/root') + + return (root_stat.st_dev, root_stat.st_ino) != \ + (init_root_stat.st_dev, init_root_stat.st_ino) diff --git a/sonic_package_manager/source.py b/sonic_package_manager/source.py new file mode 100644 index 0000000000..c179e0b3ee --- /dev/null +++ b/sonic_package_manager/source.py @@ -0,0 +1,183 @@ +#!/usr/bin/env python3 + +from sonic_package_manager.database import PackageDatabase, PackageEntry +from sonic_package_manager.dockerapi import DockerApi, get_repository_from_image +from sonic_package_manager.metadata import Metadata, MetadataResolver +from sonic_package_manager.package import Package + + +class PackageSource(object): + """ PackageSource abstracts the way manifest is read + and image is retrieved based on different image sources. + (i.e from registry, from tarball or locally installed) """ + + def __init__(self, + database: PackageDatabase, + docker: DockerApi, + metadata_resolver: MetadataResolver): + self.database = database + self.docker = docker + self.metadata_resolver = metadata_resolver + + def get_metadata(self) -> Metadata: + """ Returns package manifest. + Child class has to implement this method. + + Returns: + Metadata + """ + raise NotImplementedError + + def install_image(self, package: Package): + """ Install image based on package source. + Child class has to implement this method. + + Args: + package: SONiC Package + Returns: + Docker Image object. + """ + + raise NotImplementedError + + def install(self, package: Package): + """ Install image based on package source, + record installation infromation in PackageEntry.. + + Args: + package: SONiC Package + """ + + image = self.install_image(package) + package.entry.image_id = image.id + # if no repository is defined for this package + # get repository from image + if not package.repository: + package.entry.repository = get_repository_from_image(image) + + def uninstall(self, package: Package): + """ Uninstall image. + + Args: + package: SONiC Package + """ + + self.docker.rmi(package.image_id) + package.entry.image_id = None + + def get_package(self) -> Package: + """ Returns SONiC Package based on manifest. + + Returns: + SONiC Package + """ + + metadata = self.get_metadata() + manifest = metadata.manifest + + name = manifest['package']['name'] + description = manifest['package']['description'] + + # Will be resolved in install() method. + # When installing from tarball we don't know yet + # the repository for this package. + repository = None + + if self.database.has_package(name): + # inherit package database info + package_entry = self.database.get_package(name) + else: + package_entry = PackageEntry(name, repository, + description=description) + + return Package( + package_entry, + metadata + ) + + +class TarballSource(PackageSource): + """ TarballSource implements PackageSource + for locally existing image saved as tarball. """ + + def __init__(self, + tarball_path: str, + database: PackageDatabase, + docker: DockerApi, + metadata_resolver: MetadataResolver): + super().__init__(database, + docker, + metadata_resolver) + self.tarball_path = tarball_path + + def get_metadata(self) -> Metadata: + """ Returns manifest read from tarball. """ + + return self.metadata_resolver.from_tarball(self.tarball_path) + + def install_image(self, package: Package): + """ Installs image from local tarball source. """ + + return self.docker.load(self.tarball_path) + + +class RegistrySource(PackageSource): + """ RegistrySource implements PackageSource + for packages that are pulled from registry. """ + + def __init__(self, + repository: str, + reference: str, + database: PackageDatabase, + docker: DockerApi, + metadata_resolver: MetadataResolver): + super().__init__(database, + docker, + metadata_resolver) + self.repository = repository + self.reference = reference + + def get_metadata(self) -> Metadata: + """ Returns manifest read from registry. """ + + return self.metadata_resolver.from_registry(self.repository, + self.reference) + + def install_image(self, package: Package): + """ Installs image from registry. """ + + image_id = self.docker.pull(self.repository, self.reference) + if not package.entry.default_reference: + package.entry.default_reference = self.reference + return image_id + + +class LocalSource(PackageSource): + """ LocalSource accesses local docker library to retrieve manifest + but does not implement installation of the image. """ + + def __init__(self, + entry: PackageEntry, + database: PackageDatabase, + docker: DockerApi, + metadata_resolver: MetadataResolver): + super().__init__(database, + docker, + metadata_resolver) + self.entry = entry + + def get_metadata(self) -> Metadata: + """ Returns manifest read from locally installed Docker. """ + + image = self.entry.image_id + + if self.entry.built_in: + # Built-in (installed not via sonic-package-manager) + # won't have image_id in database. Using their + # repository name as image. + image = f'{self.entry.repository}:latest' + + return self.metadata_resolver.from_local(image) + + def get_package(self) -> Package: + return Package(self.entry, self.get_metadata()) diff --git a/sonic_package_manager/utils.py b/sonic_package_manager/utils.py new file mode 100644 index 0000000000..410947dd24 --- /dev/null +++ b/sonic_package_manager/utils.py @@ -0,0 +1,42 @@ +#!/usr/bin/env python + +import keyword +import re + +from docker_image.reference import Reference + +DockerReference = Reference + + +def make_python_identifier(string): + """ + Takes an arbitrary string and creates a valid Python identifier. + + Identifiers must follow the convention outlined here: + https://docs.python.org/2/reference/lexical_analysis.html#identifiers + """ + + # create a working copy (and make it lowercase, while we're at it) + s = string.lower() + + # remove leading and trailing whitespace + s = s.strip() + + # Make spaces into underscores + s = re.sub('[\\s\\t\\n]+', '_', s) + + # Remove invalid characters + s = re.sub('[^0-9a-zA-Z_]', '', s) + + # Remove leading characters until we find a letter or underscore + s = re.sub('^[^a-zA-Z_]+', '', s) + + # Check that the string is not a python identifier + while s in keyword.kwlist: + if re.match(".*?_\d+$", s): + i = re.match(".*?_(\d+)$", s).groups()[0] + s = s.strip('_'+i) + '_'+str(int(i)+1) + else: + s += '_1' + + return s diff --git a/sonic_package_manager/version.py b/sonic_package_manager/version.py new file mode 100644 index 0000000000..e5a5623d3b --- /dev/null +++ b/sonic_package_manager/version.py @@ -0,0 +1,23 @@ +#!/usr/bin/env python + +""" Version and helpers routines. """ + +import semver + +Version = semver.Version +VersionRange = semver.VersionRange + + +def version_to_tag(ver: Version) -> str: + """ Converts the version to Docker compliant tag string. """ + + return str(ver).replace('+', '_') + + +def tag_to_version(tag: str) -> Version: + """ Converts the version to Docker compliant tag string. """ + + try: + return Version.parse(tag.replace('_', '+')) + except ValueError as err: + raise ValueError(f'Failed to convert {tag} to version string: {err}') diff --git a/tests/sonic_package_manager/conftest.py b/tests/sonic_package_manager/conftest.py new file mode 100644 index 0000000000..cee997596c --- /dev/null +++ b/tests/sonic_package_manager/conftest.py @@ -0,0 +1,377 @@ +#!/usr/bin/env python + +from dataclasses import dataclass +from unittest import mock +from unittest.mock import Mock, MagicMock + +import pytest +from docker_image.reference import Reference + +from sonic_package_manager.database import PackageDatabase, PackageEntry +from sonic_package_manager.manager import DockerApi, PackageManager +from sonic_package_manager.manifest import Manifest +from sonic_package_manager.metadata import Metadata, MetadataResolver +from sonic_package_manager.registry import RegistryResolver +from sonic_package_manager.version import Version +from sonic_package_manager.service_creator.creator import * + + +@pytest.fixture +def mock_docker_api(): + docker = MagicMock(DockerApi) + + @dataclass + class Image: + id: str + + @property + def attrs(self): + return {'RepoTags': [self.id]} + + def pull(repo, ref): + return Image(f'{repo}:{ref}') + + def load(filename): + return Image(filename) + + docker.pull = MagicMock(side_effect=pull) + docker.load = MagicMock(side_effect=load) + + yield docker + + +@pytest.fixture +def mock_registry_resolver(): + yield Mock(RegistryResolver) + + +@pytest.fixture +def mock_metadata_resolver(): + yield Mock(MetadataResolver) + + +@pytest.fixture +def mock_feature_registry(): + yield MagicMock() + + +@pytest.fixture +def mock_service_creator(): + yield Mock() + + +@pytest.fixture +def mock_sonic_db(): + yield Mock() + + +@pytest.fixture +def fake_metadata_resolver(): + class FakeMetadataResolver: + def __init__(self): + self.metadata_store = {} + self.add('docker-database', 'latest', 'database', '1.0.0') + self.add('docker-orchagent', 'latest', 'swss', '1.0.0', + components={ + 'libswsscommon': Version.parse('1.0.0'), + 'libsairedis': Version.parse('1.0.0') + } + ) + self.add('Azure/docker-test', '1.6.0', 'test-package', '1.6.0') + self.add('Azure/docker-test-2', '1.5.0', 'test-package-2', '1.5.0') + self.add('Azure/docker-test-2', '2.0.0', 'test-package-2', '2.0.0') + self.add('Azure/docker-test-3', 'latest', 'test-package-3', '1.6.0') + self.add('Azure/docker-test-3', '1.5.0', 'test-package-3', '1.5.0') + self.add('Azure/docker-test-3', '1.6.0', 'test-package-3', '1.6.0') + self.add('Azure/docker-test-4', '1.5.0', 'test-package-4', '1.5.0') + self.add('Azure/docker-test-5', '1.5.0', 'test-package-5', '1.5.0') + self.add('Azure/docker-test-5', '1.9.0', 'test-package-5', '1.9.0') + self.add('Azure/docker-test-6', '1.5.0', 'test-package-6', '1.5.0') + self.add('Azure/docker-test-6', '1.9.0', 'test-package-6', '1.9.0') + self.add('Azure/docker-test-6', '2.0.0', 'test-package-6', '2.0.0') + self.add('Azure/docker-test-6', 'latest', 'test-package-6', '1.5.0') + + def from_registry(self, repository: str, reference: str): + manifest = Manifest.marshal(self.metadata_store[repository][reference]['manifest']) + components = self.metadata_store[repository][reference]['components'] + return Metadata(manifest, components) + + def from_local(self, image: str): + ref = Reference.parse(image) + manifest = Manifest.marshal(self.metadata_store[ref['name']][ref['tag']]['manifest']) + components = self.metadata_store[ref['name']][ref['tag']]['components'] + return Metadata(manifest, components) + + def from_tarball(self, filepath: str) -> Manifest: + path, ref = filepath.split(':') + manifest = Manifest.marshal(self.metadata_store[path][ref]['manifest']) + components = self.metadata_store[path][ref]['components'] + return Metadata(manifest, components) + + def add(self, repo, reference, name, version, components=None): + repo_dict = self.metadata_store.setdefault(repo, {}) + repo_dict[reference] = { + 'manifest': { + 'package': { + 'version': version, + 'name': name, + 'base-os': {}, + }, + 'service': { + 'name': name, + } + }, + 'components': components or {}, + } + + yield FakeMetadataResolver() + + +@pytest.fixture +def fake_device_info(): + class FakeDeviceInfo: + def __init__(self): + self.multi_npu = True + self.num_npus = 1 + self.version_info = { + 'libswsscommon': '1.0.0', + } + + def is_multi_npu(self): + return self.multi_npu + + def get_num_npus(self): + return self.num_npus + + def get_sonic_version_info(self): + return self.version_info + + yield FakeDeviceInfo() + + +def add_package(content, metadata_resolver, repository, reference, **kwargs): + metadata = metadata_resolver.from_registry(repository, reference) + name = metadata.manifest['package']['name'] + version = metadata.manifest['package']['version'] + installed = kwargs.get('installed', False) + built_in = kwargs.get('built-in', False) + + if installed and not built_in and 'image_id' not in kwargs: + kwargs['image_id'] = f'{repository}:{reference}' + + if installed and 'version' not in kwargs: + kwargs['version'] = version + + content[name] = PackageEntry(name, repository, **kwargs) + + +@pytest.fixture +def fake_db(fake_metadata_resolver): + content = {} + + add_package( + content, + fake_metadata_resolver, + 'docker-database', + 'latest', + description='SONiC database service', + default_reference='1.0.0', + installed=True, + built_in=True + ) + add_package( + content, + fake_metadata_resolver, + 'docker-orchagent', + 'latest', + description='SONiC switch state service', + default_reference='1.0.0', + installed=True, + built_in=True + ) + add_package( + content, + fake_metadata_resolver, + 'Azure/docker-test', + '1.6.0', + description='SONiC Package Manager Test Package', + default_reference='1.6.0', + installed=False, + built_in=False + ) + add_package( + content, + fake_metadata_resolver, + 'Azure/docker-test-2', + '1.5.0', + description='SONiC Package Manager Test Package #2', + default_reference='1.5.0', + installed=False, + built_in=False + ) + add_package( + content, + fake_metadata_resolver, + 'Azure/docker-test-3', + '1.5.0', + description='SONiC Package Manager Test Package #3', + default_reference='1.5.0', + installed=True, + built_in=False + ) + add_package( + content, + fake_metadata_resolver, + 'Azure/docker-test-5', + '1.9.0', + description='SONiC Package Manager Test Package #5', + default_reference='1.9.0', + installed=False, + built_in=False + ) + add_package( + content, + fake_metadata_resolver, + 'Azure/docker-test-6', + '1.5.0', + description='SONiC Package Manager Test Package #6', + default_reference='1.5.0', + installed=False, + built_in=False + ) + + yield PackageDatabase(content) + + +@pytest.fixture +def fake_db_for_migration(fake_metadata_resolver): + content = {} + add_package( + content, + fake_metadata_resolver, + 'docker-database', + 'latest', + description='SONiC database service', + default_reference='1.0.0', + installed=True, + built_in=True + ) + add_package( + content, + fake_metadata_resolver, + 'docker-orchagent', + 'latest', + description='SONiC switch state service', + default_reference='1.0.0', + installed=True, + built_in=True + ) + add_package( + content, + fake_metadata_resolver, + 'Azure/docker-test', + '1.6.0', + description='SONiC Package Manager Test Package', + default_reference='1.6.0', + installed=False, + built_in=False + ) + add_package( + content, + fake_metadata_resolver, + 'Azure/docker-test-2', + '2.0.0', + description='SONiC Package Manager Test Package #2', + default_reference='2.0.0', + installed=False, + built_in=False + ) + add_package( + content, + fake_metadata_resolver, + 'Azure/docker-test-3', + '1.6.0', + description='SONiC Package Manager Test Package #3', + default_reference='1.6.0', + installed=True, + built_in=False + ) + add_package( + content, + fake_metadata_resolver, + 'Azure/docker-test-4', + '1.5.0', + description='SONiC Package Manager Test Package #4', + default_reference='1.5.0', + installed=True, + built_in=False + ) + add_package( + content, + fake_metadata_resolver, + 'Azure/docker-test-5', + '1.5.0', + description='SONiC Package Manager Test Package #5', + default_reference='1.5.0', + installed=True, + built_in=False + ) + add_package( + content, + fake_metadata_resolver, + 'Azure/docker-test-6', + '2.0.0', + description='SONiC Package Manager Test Package #6', + default_reference='2.0.0', + installed=True, + built_in=False + ) + + yield PackageDatabase(content) + + +@pytest.fixture() +def sonic_fs(fs): + fs.create_file('/proc/1/root') + fs.create_dir(ETC_SONIC_PATH) + fs.create_dir(SYSTEMD_LOCATION) + fs.create_dir(DOCKER_CTL_SCRIPT_LOCATION) + fs.create_dir(SERVICE_MGMT_SCRIPT_LOCATION) + fs.create_file(os.path.join(TEMPLATES_PATH, SERVICE_FILE_TEMPLATE)) + fs.create_file(os.path.join(TEMPLATES_PATH, TIMER_UNIT_TEMPLATE)) + fs.create_file(os.path.join(TEMPLATES_PATH, SERVICE_MGMT_SCRIPT_TEMPLATE)) + fs.create_file(os.path.join(TEMPLATES_PATH, DOCKER_CTL_SCRIPT_TEMPLATE)) + fs.create_file(os.path.join(TEMPLATES_PATH, DEBUG_DUMP_SCRIPT_TEMPLATE)) + yield fs + + +@pytest.fixture(autouse=True) +def patch_pkgutil(): + with mock.patch('pkgutil.get_loader'): + yield + + +@pytest.fixture +def package_manager(mock_docker_api, + mock_registry_resolver, + mock_service_creator, + fake_metadata_resolver, + fake_db, + fake_device_info): + yield PackageManager(mock_docker_api, mock_registry_resolver, + fake_db, fake_metadata_resolver, + mock_service_creator, + fake_device_info, + MagicMock()) + + +@pytest.fixture +def anything(): + """ Fixture that returns Any object that can be used in + assert_called_*_with to match any object passed. """ + + class Any: + def __eq__(self, other): + return True + + yield Any() diff --git a/tests/sonic_package_manager/test_cli.py b/tests/sonic_package_manager/test_cli.py new file mode 100644 index 0000000000..695d8cba58 --- /dev/null +++ b/tests/sonic_package_manager/test_cli.py @@ -0,0 +1,63 @@ +#!/usr/bin/env python + +from click.testing import CliRunner + +from sonic_package_manager import main + + +def test_show_changelog(package_manager, fake_metadata_resolver): + """ Test case for "sonic-package-manager package show changelog [NAME]" """ + + runner = CliRunner() + changelog = { + "1.0.0": { + "changes": ["Initial release"], + "author": "Stepan Blyshchak", + "email": "stepanb@nvidia.com", + "date": "Mon, 25 May 2020 12:24:30 +0300" + }, + "1.1.0": { + "changes": [ + "Added functionality", + "Bug fixes" + ], + "author": "Stepan Blyshchak", + "email": "stepanb@nvidia.com", + "date": "Fri, 23 Oct 2020 12:26:08 +0300" + } + } + manifest = fake_metadata_resolver.metadata_store['Azure/docker-test']['1.6.0']['manifest'] + manifest['package']['changelog'] = changelog + + expected_output = """\ +1.0.0: + + • Initial release + + Stepan Blyshchak (stepanb@nvidia.com) Mon, 25 May 2020 12:24:30 +0300 + +1.1.0: + + • Added functionality + • Bug fixes + + Stepan Blyshchak (stepanb@nvidia.com) Fri, 23 Oct 2020 12:26:08 +0300 + +""" + + result = runner.invoke(main.show.commands['package'].commands['changelog'], + ['test-package'], obj=package_manager) + + assert result.exit_code == 0 + assert result.output == expected_output + + +def test_show_changelog_no_changelog(package_manager): + """ Test case for "sonic-package-manager package show changelog [NAME]" + when there is no changelog provided by package. """ + + runner = CliRunner() + result = runner.invoke(main.show.commands['package'].commands['changelog'], ['test-package'], obj=package_manager) + + assert result.exit_code == 1 + assert result.output == 'Failed to print package changelog: No changelog for package test-package\n' diff --git a/tests/sonic_package_manager/test_constraint.py b/tests/sonic_package_manager/test_constraint.py new file mode 100644 index 0000000000..1b34a301d2 --- /dev/null +++ b/tests/sonic_package_manager/test_constraint.py @@ -0,0 +1,76 @@ +#!/usr/bin/env python + +from sonic_package_manager import version +from sonic_package_manager.constraint import PackageConstraint +from sonic_package_manager.version import Version, VersionRange + + +def test_constraint(): + package_constraint = PackageConstraint.parse('swss>1.0.0') + assert package_constraint.name == 'swss' + assert not package_constraint.constraint.allows(Version.parse('0.9.1')) + assert package_constraint.constraint.allows(Version.parse('1.1.1')) + + +def test_constraint_range(): + package_constraint = PackageConstraint.parse('swss^1.2.0') + assert package_constraint.name == 'swss' + assert not package_constraint.constraint.allows(Version.parse('1.1.1')) + assert package_constraint.constraint.allows(Version.parse('1.2.5')) + assert not package_constraint.constraint.allows(Version.parse('2.0.1')) + + +def test_constraint_strict(): + package_constraint = PackageConstraint.parse('swss==1.2.0') + assert package_constraint.name == 'swss' + assert not package_constraint.constraint.allows(Version.parse('1.1.1')) + assert package_constraint.constraint.allows(Version.parse('1.2.0')) + + +def test_constraint_match(): + package_constraint = PackageConstraint.parse('swss==1.2*.*') + assert package_constraint.name == 'swss' + assert not package_constraint.constraint.allows(Version.parse('1.1.1')) + assert package_constraint.constraint.allows(Version.parse('1.2.0')) + + +def test_constraint_multiple(): + package_constraint = PackageConstraint.parse('swss>1.2.0,<3.0.0,!=2.2.2') + assert package_constraint.name == 'swss' + assert not package_constraint.constraint.allows(Version.parse('2.2.2')) + assert not package_constraint.constraint.allows(Version.parse('3.2.0')) + assert not package_constraint.constraint.allows(Version.parse('0.2.0')) + assert package_constraint.constraint.allows(Version.parse('2.2.3')) + assert package_constraint.constraint.allows(Version.parse('1.2.3')) + + +def test_constraint_only_name(): + package_constraint = PackageConstraint.parse('swss') + assert package_constraint.name == 'swss' + assert package_constraint.constraint == VersionRange() + + +def test_constraint_from_dict(): + package_constraint = PackageConstraint.parse({ + 'name': 'swss', + 'version': '^1.0.0', + 'components': { + 'libswsscommon': '^1.1.0', + }, + }) + assert package_constraint.name == 'swss' + assert package_constraint.constraint.allows(Version.parse('1.0.0')) + assert not package_constraint.constraint.allows(Version.parse('2.0.0')) + assert package_constraint.components['libswsscommon'].allows(Version.parse('1.2.0')) + assert not package_constraint.components['libswsscommon'].allows(Version.parse('1.0.0')) + assert not package_constraint.components['libswsscommon'].allows(Version.parse('2.0.0')) + + +def test_version_to_tag(): + assert version.version_to_tag(Version.parse('1.0.0-rc0')) == '1.0.0-rc0' + assert version.version_to_tag(Version.parse('1.0.0-rc0+152')) == '1.0.0-rc0_152' + + +def test_tag_to_version(): + assert str(version.tag_to_version('1.0.0-rc0_152')) == '1.0.0-rc0+152' + assert str(version.tag_to_version('1.0.0-rc0')) == '1.0.0-rc0' diff --git a/tests/sonic_package_manager/test_database.py b/tests/sonic_package_manager/test_database.py new file mode 100644 index 0000000000..1c565d6f4c --- /dev/null +++ b/tests/sonic_package_manager/test_database.py @@ -0,0 +1,89 @@ +#!/usr/bin/env python + +import pytest + +from sonic_package_manager.database import PackageEntry +from sonic_package_manager.errors import ( + PackageNotFoundError, + PackageAlreadyExistsError, + PackageManagerError +) +from sonic_package_manager.version import Version + + +def test_database_get_package(fake_db): + swss_package = fake_db.get_package('swss') + assert swss_package.installed + assert swss_package.built_in + assert swss_package.repository == 'docker-orchagent' + assert swss_package.default_reference == '1.0.0' + assert swss_package.version == Version(1, 0, 0) + + +def test_database_get_package_not_builtin(fake_db): + test_package = fake_db.get_package('test-package') + assert not test_package.installed + assert not test_package.built_in + assert test_package.repository == 'Azure/docker-test' + assert test_package.default_reference == '1.6.0' + assert test_package.version is None + + +def test_database_get_package_not_existing(fake_db): + with pytest.raises(PackageNotFoundError): + fake_db.get_package('abc') + + +def test_database_add_package(fake_db): + fake_db.add_package('test-package-99', 'Azure/docker-test-99') + test_package = fake_db.get_package('test-package-99') + assert not test_package.installed + assert not test_package.built_in + assert test_package.repository == 'Azure/docker-test-99' + assert test_package.default_reference is None + assert test_package.version is None + + +def test_database_add_package_existing(fake_db): + with pytest.raises(PackageAlreadyExistsError): + fake_db.add_package('swss', 'Azure/docker-orchagent') + + +def test_database_update_package(fake_db): + test_package = fake_db.get_package('test-package-2') + test_package.installed = True + test_package.version = Version(1, 2, 3) + fake_db.update_package(test_package) + test_package = fake_db.get_package('test-package-2') + assert test_package.installed + assert test_package.version == Version(1, 2, 3) + + +def test_database_update_package_non_existing(fake_db): + test_package = PackageEntry('abc', 'abc') + with pytest.raises(PackageNotFoundError): + fake_db.update_package(test_package) + + +def test_database_remove_package(fake_db): + fake_db.remove_package('test-package') + assert not fake_db.has_package('test-package') + + +def test_database_remove_package_non_existing(fake_db): + with pytest.raises(PackageNotFoundError): + fake_db.remove_package('non-existing-package') + + +def test_database_remove_package_installed(fake_db): + with pytest.raises(PackageManagerError, + match='Package test-package-3 is installed, ' + 'uninstall it first'): + fake_db.remove_package('test-package-3') + + +def test_database_remove_package_built_in(fake_db): + with pytest.raises(PackageManagerError, + match='Package swss is built-in, ' + 'cannot remove it'): + fake_db.remove_package('swss') diff --git a/tests/sonic_package_manager/test_manager.py b/tests/sonic_package_manager/test_manager.py new file mode 100644 index 0000000000..c7eb1ca7ac --- /dev/null +++ b/tests/sonic_package_manager/test_manager.py @@ -0,0 +1,322 @@ +#!/usr/bin/env python + +from unittest.mock import Mock, call + +import pytest + +from sonic_package_manager.errors import * +from sonic_package_manager.version import Version + + +def test_installation_not_installed(package_manager): + package_manager.install('test-package') + package = package_manager.get_installed_package('test-package') + assert package.installed + assert package.entry.default_reference == '1.6.0' + + +def test_installation_already_installed(package_manager): + package_manager.install('test-package') + with pytest.raises(PackageManagerError, + match='1.6.0 is already installed'): + package_manager.install('test-package') + + +def test_installation_dependencies(package_manager, fake_metadata_resolver, mock_docker_api): + manifest = fake_metadata_resolver.metadata_store['Azure/docker-test']['1.6.0']['manifest'] + manifest['package']['depends'] = ['swss^2.0.0'] + with pytest.raises(PackageInstallationError, + match='Package test-package requires swss>=2.0.0,<3.0.0 ' + 'but version 1.0.0 is installed'): + package_manager.install('test-package') + + +def test_installation_dependencies_missing_package(package_manager, fake_metadata_resolver): + manifest = fake_metadata_resolver.metadata_store['Azure/docker-test']['1.6.0']['manifest'] + manifest['package']['depends'] = ['missing-package>=1.0.0'] + with pytest.raises(PackageInstallationError, + match='Package test-package requires ' + 'missing-package>=1.0.0 but it is not installed'): + package_manager.install('test-package') + + +def test_installation_dependencies_satisfied(package_manager, fake_metadata_resolver): + manifest = fake_metadata_resolver.metadata_store['Azure/docker-test']['1.6.0']['manifest'] + manifest['package']['depends'] = ['database>=1.0.0', 'swss>=1.0.0'] + package_manager.install('test-package') + + +def test_installation_components_dependencies_satisfied(package_manager, fake_metadata_resolver): + metadata = fake_metadata_resolver.metadata_store['Azure/docker-test']['1.6.0'] + manifest = metadata['manifest'] + metadata['components'] = { + 'libswsscommon': Version.parse('1.1.0') + } + manifest['package']['depends'] = [ + { + 'name': 'swss', + 'version': '>=1.0.0', + 'components': { + 'libswsscommon': '^1.0.0', + }, + }, + ] + package_manager.install('test-package') + + +def test_installation_components_dependencies_not_satisfied(package_manager, fake_metadata_resolver): + metadata = fake_metadata_resolver.metadata_store['Azure/docker-test']['1.6.0'] + manifest = metadata['manifest'] + metadata['components'] = { + 'libswsscommon': Version.parse('1.1.0') + } + manifest['package']['depends'] = [ + { + 'name': 'swss', + 'version': '>=1.0.0', + 'components': { + 'libswsscommon': '^1.1.0', + }, + }, + ] + with pytest.raises(PackageInstallationError, + match='Package test-package requires libswsscommon >=1.1.0,<2.0.0 ' + 'in package swss>=1.0.0 but version 1.0.0 is installed'): + package_manager.install('test-package') + + +def test_installation_components_dependencies_implicit(package_manager, fake_metadata_resolver): + metadata = fake_metadata_resolver.metadata_store['Azure/docker-test']['1.6.0'] + manifest = metadata['manifest'] + metadata['components'] = { + 'libswsscommon': Version.parse('2.1.0') + } + manifest['package']['depends'] = [ + { + 'name': 'swss', + 'version': '>=1.0.0', + }, + ] + with pytest.raises(PackageInstallationError, + match='Package test-package requires libswsscommon >=2.1.0,<3.0.0 ' + 'in package swss>=1.0.0 but version 1.0.0 is installed'): + package_manager.install('test-package') + + +def test_installation_components_dependencies_explicitely_allowed(package_manager, fake_metadata_resolver): + metadata = fake_metadata_resolver.metadata_store['Azure/docker-test']['1.6.0'] + manifest = metadata['manifest'] + metadata['components'] = { + 'libswsscommon': Version.parse('2.1.0') + } + manifest['package']['depends'] = [ + { + 'name': 'swss', + 'version': '>=1.0.0', + 'components': { + 'libswsscommon': '>=1.0.0,<3.0.0' + } + }, + ] + package_manager.install('test-package') + + +def test_installation_breaks(package_manager, fake_metadata_resolver): + manifest = fake_metadata_resolver.metadata_store['Azure/docker-test']['1.6.0']['manifest'] + manifest['package']['breaks'] = ['swss^1.0.0'] + with pytest.raises(PackageInstallationError, + match='Package test-package conflicts with ' + 'swss>=1.0.0,<2.0.0 but version 1.0.0 is installed'): + package_manager.install('test-package') + + +def test_installation_breaks_missing_package(package_manager, fake_metadata_resolver): + manifest = fake_metadata_resolver.metadata_store['Azure/docker-test']['1.6.0']['manifest'] + manifest['package']['breaks'] = ['missing-package^1.0.0'] + package_manager.install('test-package') + + +def test_installation_breaks_not_installed_package(package_manager, fake_metadata_resolver): + manifest = fake_metadata_resolver.metadata_store['Azure/docker-test']['1.6.0']['manifest'] + manifest['package']['breaks'] = ['test-package-2^1.0.0'] + package_manager.install('test-package') + + +def test_installation_base_os_constraint(package_manager, fake_metadata_resolver): + manifest = fake_metadata_resolver.metadata_store['Azure/docker-test']['1.6.0']['manifest'] + manifest['package']['base-os']['libswsscommon'] = '>=2.0.0' + with pytest.raises(PackageSonicRequirementError, + match='Package test-package requires base OS component libswsscommon ' + 'version >=2.0.0 while the installed version is 1.0.0'): + package_manager.install('test-package') + + +def test_installation_base_os_constraint_satisfied(package_manager, fake_metadata_resolver): + manifest = fake_metadata_resolver.metadata_store['Azure/docker-test']['1.6.0']['manifest'] + manifest['package']['base-os']['libswsscommon'] = '>=1.0.0' + package_manager.install('test-package') + + +def test_installation_cli_plugin(package_manager, fake_metadata_resolver, anything): + manifest = fake_metadata_resolver.metadata_store['Azure/docker-test']['1.6.0']['manifest'] + manifest['cli']= {'show': '/cli/plugin.py'} + package_manager._install_cli_plugins = Mock() + package_manager.install('test-package') + package_manager._install_cli_plugins.assert_called_once_with(anything) + + +def test_installation_cli_plugin_skipped(package_manager, fake_metadata_resolver, anything): + manifest = fake_metadata_resolver.metadata_store['Azure/docker-test']['1.6.0']['manifest'] + manifest['cli']= {'show': '/cli/plugin.py'} + package_manager._install_cli_plugins = Mock() + package_manager.install('test-package', skip_host_plugins=True) + package_manager._install_cli_plugins.assert_not_called() + + +def test_installation_cli_plugin_is_mandatory_but_skipped(package_manager, fake_metadata_resolver): + manifest = fake_metadata_resolver.metadata_store['Azure/docker-test']['1.6.0']['manifest'] + manifest['cli']= {'mandatory': True} + with pytest.raises(PackageManagerError, + match='CLI is mandatory for package test-package but ' + 'it was requested to be not installed'): + package_manager.install('test-package', skip_host_plugins=True) + + +def test_installation(package_manager, mock_docker_api, anything): + package_manager.install('test-package') + mock_docker_api.pull.assert_called_once_with('Azure/docker-test', '1.6.0') + + +def test_installation_using_reference(package_manager, + fake_metadata_resolver, + mock_docker_api, + anything): + ref = 'sha256:9780f6d83e45878749497a6297ed9906c19ee0cc48cc88dc63827564bb8768fd' + metadata = fake_metadata_resolver.metadata_store['Azure/docker-test']['1.6.0'] + fake_metadata_resolver.metadata_store['Azure/docker-test'][ref] = metadata + + package_manager.install(f'test-package@{ref}') + mock_docker_api.pull.assert_called_once_with('Azure/docker-test', f'{ref}') + + +def test_manager_installation_tag(package_manager, + mock_docker_api, + anything): + package_manager.install(f'test-package=1.6.0') + mock_docker_api.pull.assert_called_once_with('Azure/docker-test', '1.6.0') + + +def test_installation_from_file(package_manager, mock_docker_api, sonic_fs): + sonic_fs.create_file('Azure/docker-test:1.6.0') + package_manager.install(tarball='Azure/docker-test:1.6.0') + mock_docker_api.load.assert_called_once_with('Azure/docker-test:1.6.0') + + +def test_installation_from_registry(package_manager, mock_docker_api): + package_manager.install(repotag='Azure/docker-test:1.6.0') + mock_docker_api.pull.assert_called_once_with('Azure/docker-test', '1.6.0') + + +def test_installation_from_registry_using_digest(package_manager, mock_docker_api, fake_metadata_resolver): + ref = 'sha256:9780f6d83e45878749497a6297ed9906c19ee0cc48cc88dc63827564bb8768fd' + metadata = fake_metadata_resolver.metadata_store['Azure/docker-test']['1.6.0'] + fake_metadata_resolver.metadata_store['Azure/docker-test'][ref] = metadata + + ref = 'sha256:9780f6d83e45878749497a6297ed9906c19ee0cc48cc88dc63827564bb8768fd' + package_manager.install(repotag=f'Azure/docker-test@{ref}') + mock_docker_api.pull.assert_called_once_with('Azure/docker-test', ref) + + +def test_installation_from_file_known_package(package_manager, fake_db, sonic_fs): + repository = fake_db.get_package('test-package').repository + sonic_fs.create_file('Azure/docker-test:1.6.0') + package_manager.install(tarball='Azure/docker-test:1.6.0') + # locally installed package does not override already known package repository + assert repository == fake_db.get_package('test-package').repository + + +def test_installation_from_file_unknown_package(package_manager, fake_db, sonic_fs): + assert not fake_db.has_package('test-package-4') + sonic_fs.create_file('Azure/docker-test-4:1.5.0') + package_manager.install(tarball='Azure/docker-test-4:1.5.0') + assert fake_db.has_package('test-package-4') + + +def test_upgrade_from_file_known_package(package_manager, fake_db, sonic_fs): + repository = fake_db.get_package('test-package-6').repository + # install older version from repository + package_manager.install('test-package-6=1.5.0') + # upgrade from file + sonic_fs.create_file('Azure/docker-test-6:2.0.0') + package_manager.install(tarball='Azure/docker-test-6:2.0.0') + # locally installed package does not override already known package repository + assert repository == fake_db.get_package('test-package-6').repository + + +def test_installation_non_default_owner(package_manager, anything, mock_service_creator): + package_manager.install('test-package', default_owner='kube') + mock_service_creator.create.assert_called_once_with(anything, state='disabled', owner='kube') + + +def test_installation_enabled(package_manager, anything, mock_service_creator): + package_manager.install('test-package', enable=True) + mock_service_creator.create.assert_called_once_with(anything, state='enabled', owner='local') + + +def test_installation_fault(package_manager, mock_docker_api, mock_service_creator): + # make 'tag' to fail + mock_service_creator.create = Mock(side_effect=Exception('Failed to create service')) + # 'rmi' is called on rollback + mock_docker_api.rmi = Mock(side_effect=Exception('Failed to remove image')) + # assert that the rollback does not hide the original failure. + with pytest.raises(Exception, match='Failed to create service'): + package_manager.install('test-package') + mock_docker_api.rmi.assert_called_once() + + +def test_manager_installation_version_range(package_manager): + with pytest.raises(PackageManagerError, + match='Can only install specific version. ' + 'Use only following expression "test-package=" ' + 'to install specific version'): + package_manager.install(f'test-package>=1.6.0') + + +def test_manager_upgrade(package_manager, sonic_fs): + package_manager.install('test-package-6=1.5.0') + package = package_manager.get_installed_package('test-package-6') + + package_manager.install('test-package-6=2.0.0') + upgraded_package = package_manager.get_installed_package('test-package-6') + assert upgraded_package.entry.version == Version(2, 0, 0) + assert upgraded_package.entry.default_reference == package.entry.default_reference + + +def test_manager_package_reset(package_manager, sonic_fs): + package_manager.install('test-package-6=1.5.0') + package_manager.install('test-package-6=2.0.0') + + package_manager.reset('test-package-6') + upgraded_package = package_manager.get_installed_package('test-package-6') + assert upgraded_package.entry.version == Version(1, 5, 0) + + +def test_manager_migration(package_manager, fake_db_for_migration): + package_manager.install = Mock() + package_manager.migrate_packages(fake_db_for_migration) + + package_manager.install.assert_has_calls([ + # test-package-3 was installed but there is a newer version installed + # in fake_db_for_migration, asserting for upgrade + call('test-package-3=1.6.0'), + # test-package-4 was not present in DB at all, but it is present and installed in + # fake_db_for_migration, thus asserting that it is going to be installed. + call('test-package-4=1.5.0'), + # test-package-5 1.5.0 was installed in fake_db_for_migration but the default + # in current db is 1.9.0, assert that migration will install the newer version. + call('test-package-5=1.9.0'), + # test-package-6 2.0.0 was installed in fake_db_for_migration but the default + # in current db is 1.5.0, assert that migration will install the newer version. + call('test-package-6=2.0.0')], + any_order=True + ) diff --git a/tests/sonic_package_manager/test_manifest.py b/tests/sonic_package_manager/test_manifest.py new file mode 100644 index 0000000000..efdcc558ab --- /dev/null +++ b/tests/sonic_package_manager/test_manifest.py @@ -0,0 +1,74 @@ +#!/usr/bin/env python + +import pytest + +from sonic_package_manager.constraint import ComponentConstraints +from sonic_package_manager.manifest import Manifest, ManifestError +from sonic_package_manager.version import VersionRange + + +def test_manifest_v1_defaults(): + manifest = Manifest.marshal({'package': {'name': 'test', + 'version': '1.0.0'}, + 'service': {'name': 'test'}}) + assert manifest['package']['depends'] == [] + assert manifest['package']['breaks'] == [] + assert manifest['package']['base-os'] == ComponentConstraints() + assert not manifest['service']['asic-service'] + assert manifest['service']['host-service'] + + +def test_manifest_v1_invalid_version(): + with pytest.raises(ManifestError): + Manifest.marshal({'package': {'version': 'abc', 'name': 'test'}, + 'service': {'name': 'test'}}) + + +def test_manifest_v1_invalid_package_constraint(): + with pytest.raises(ManifestError): + Manifest.marshal({'package': {'name': 'test', 'version': '1.0.0', + 'depends': ['swss>a']}, + 'service': {'name': 'test'}}) + + +def test_manifest_v1_service_spec(): + manifest = Manifest.marshal({'package': {'name': 'test', + 'version': '1.0.0'}, + 'service': {'name': 'test', 'asic-service': True}}) + assert manifest['service']['asic-service'] + + +def test_manifest_v1_mounts(): + manifest = Manifest.marshal({'version': '1.0.0', 'package': {'name': 'test', + 'version': '1.0.0'}, + 'service': {'name': 'cpu-report'}, + 'container': {'privileged': True, + 'mounts': [{'source': 'a', 'target': 'b', 'type': 'bind'}]}}) + assert manifest['container']['mounts'][0]['source'] == 'a' + assert manifest['container']['mounts'][0]['target'] == 'b' + assert manifest['container']['mounts'][0]['type'] == 'bind' + + +def test_manifest_v1_mounts_invalid(): + with pytest.raises(ManifestError): + Manifest.marshal({'version': '1.0.0', 'package': {'name': 'test', 'version': '1.0.0'}, + 'service': {'name': 'cpu-report'}, + 'container': {'privileged': True, + 'mounts': [{'not-source': 'a', 'target': 'b', 'type': 'bind'}]}}) + + +def test_manifest_v1_unmarshal(): + manifest_json_input = {'package': {'name': 'test', 'version': '1.0.0', + 'depends': [ + { + 'name': 'swss', + 'version': '>1.0.0', + 'components': {}, + } + ]}, + 'service': {'name': 'test'}} + manifest = Manifest.marshal(manifest_json_input) + manifest_json = manifest.unmarshal() + for key, section in manifest_json_input.items(): + for field, value in section.items(): + assert manifest_json[key][field] == value diff --git a/tests/sonic_package_manager/test_metadata.py b/tests/sonic_package_manager/test_metadata.py new file mode 100644 index 0000000000..aee2f49428 --- /dev/null +++ b/tests/sonic_package_manager/test_metadata.py @@ -0,0 +1,37 @@ +#!/usr/bin/env python + +import contextlib +from unittest.mock import Mock, MagicMock + +from sonic_package_manager.database import PackageEntry +from sonic_package_manager.errors import MetadataError +from sonic_package_manager.metadata import MetadataResolver +from sonic_package_manager.version import Version + + +def test_metadata_resolver_local(mock_registry_resolver, mock_docker_api): + metadata_resolver = MetadataResolver(mock_docker_api, mock_registry_resolver) + # it raises exception because mock manifest is not a valid manifest + # but this is not a test objective, so just suppress the error. + with contextlib.suppress(MetadataError): + metadata_resolver.from_local('image') + mock_docker_api.labels.assert_called_once() + + +def test_metadata_resolver_remote(mock_registry_resolver, mock_docker_api): + metadata_resolver = MetadataResolver(mock_docker_api, mock_registry_resolver) + mock_registry = MagicMock() + mock_registry.manifest = MagicMock(return_value={'config': {'digest': 'some-digest'}}) + + def return_mock_registry(repository): + return mock_registry + + mock_registry_resolver.get_registry_for = Mock(side_effect=return_mock_registry) + # it raises exception because mock manifest is not a valid manifest + # but this is not a test objective, so just suppress the error. + with contextlib.suppress(MetadataError): + metadata_resolver.from_registry('test-repository', '1.2.0') + mock_registry_resolver.get_registry_for.assert_called_once_with('test-repository') + mock_registry.manifest.assert_called_once_with('test-repository', '1.2.0') + mock_registry.blobs.assert_called_once_with('test-repository', 'some-digest') + mock_docker_api.labels.assert_not_called() diff --git a/tests/sonic_package_manager/test_reference.py b/tests/sonic_package_manager/test_reference.py new file mode 100644 index 0000000000..043b66ddd5 --- /dev/null +++ b/tests/sonic_package_manager/test_reference.py @@ -0,0 +1,18 @@ +#!/usr/bin/env python + +import pytest + +from sonic_package_manager.reference import PackageReference + + +def test_reference(): + package_constraint = PackageReference.parse( + 'swss@sha256:9780f6d83e45878749497a6297ed9906c19ee0cc48cc88dc63827564bb8768fd' + ) + assert package_constraint.name == 'swss' + assert package_constraint.reference == 'sha256:9780f6d83e45878749497a6297ed9906c19ee0cc48cc88dc63827564bb8768fd' + + +def test_reference_invalid(): + with pytest.raises(ValueError): + PackageReference.parse('swssfdsf') diff --git a/tests/sonic_package_manager/test_registry.py b/tests/sonic_package_manager/test_registry.py new file mode 100644 index 0000000000..0d82499df3 --- /dev/null +++ b/tests/sonic_package_manager/test_registry.py @@ -0,0 +1,15 @@ +#!/usr/bin/env python + +from sonic_package_manager.registry import RegistryResolver + + +def test_get_registry_for(): + resolver = RegistryResolver() + registry = resolver.get_registry_for('debian') + assert registry is resolver.DockerHubRegistry + registry = resolver.get_registry_for('Azure/sonic') + assert registry is resolver.DockerHubRegistry + registry = resolver.get_registry_for('registry-server:5000/docker') + assert registry.url == 'https://registry-server:5000' + registry = resolver.get_registry_for('registry-server.com/docker') + assert registry.url == 'https://registry-server.com' diff --git a/tests/sonic_package_manager/test_service_creator.py b/tests/sonic_package_manager/test_service_creator.py new file mode 100644 index 0000000000..fec8de600c --- /dev/null +++ b/tests/sonic_package_manager/test_service_creator.py @@ -0,0 +1,171 @@ +#!/usr/bin/env python + +import os +from unittest.mock import Mock, MagicMock + +import pytest + +from sonic_package_manager.database import PackageEntry +from sonic_package_manager.manifest import Manifest +from sonic_package_manager.metadata import Metadata +from sonic_package_manager.package import Package +from sonic_package_manager.service_creator.creator import * +from sonic_package_manager.service_creator.feature import FeatureRegistry + + +@pytest.fixture +def manifest(): + return Manifest.marshal({ + 'package': { + 'name': 'test', + 'version': '1.0.0', + }, + 'service': { + 'name': 'test', + 'requires': ['database'], + 'after': ['database', 'swss', 'syncd'], + 'before': ['ntp-config'], + 'dependent-of': ['swss'], + 'asic-service': False, + 'host-service': True, + }, + 'container': { + 'privileged': True, + 'volumes': [ + '/etc/sonic:/etc/sonic:ro' + ] + } + }) + + +def test_service_creator(sonic_fs, manifest, mock_feature_registry, mock_sonic_db): + creator = ServiceCreator(mock_feature_registry, mock_sonic_db) + entry = PackageEntry('test', 'azure/sonic-test') + package = Package(entry, Metadata(manifest)) + creator.create(package) + + assert sonic_fs.exists(os.path.join(ETC_SONIC_PATH, 'swss_dependent')) + assert sonic_fs.exists(os.path.join(DOCKER_CTL_SCRIPT_LOCATION, 'test.sh')) + assert sonic_fs.exists(os.path.join(SERVICE_MGMT_SCRIPT_LOCATION, 'test.sh')) + assert sonic_fs.exists(os.path.join(SYSTEMD_LOCATION, 'test.service')) + + +def test_service_creator_with_timer_unit(sonic_fs, manifest, mock_feature_registry, mock_sonic_db): + creator = ServiceCreator(mock_feature_registry, mock_sonic_db) + entry = PackageEntry('test', 'azure/sonic-test') + package = Package(entry, Metadata(manifest)) + creator.create(package) + + assert not sonic_fs.exists(os.path.join(SYSTEMD_LOCATION, 'test.timer')) + + manifest['service']['delayed'] = True + package = Package(entry, Metadata(manifest)) + creator.create(package) + + assert sonic_fs.exists(os.path.join(SYSTEMD_LOCATION, 'test.timer')) + + +def test_service_creator_with_debug_dump(sonic_fs, manifest, mock_feature_registry, mock_sonic_db): + creator = ServiceCreator(mock_feature_registry, mock_sonic_db) + entry = PackageEntry('test', 'azure/sonic-test') + package = Package(entry, Metadata(manifest)) + creator.create(package) + + assert not sonic_fs.exists(os.path.join(DEBUG_DUMP_SCRIPT_LOCATION, 'test')) + + manifest['package']['debug-dump'] = '/some/command' + package = Package(entry, Metadata(manifest)) + creator.create(package) + + assert sonic_fs.exists(os.path.join(DEBUG_DUMP_SCRIPT_LOCATION, 'test')) + + +def test_service_creator_initial_config(sonic_fs, manifest, mock_feature_registry, mock_sonic_db): + mock_table = Mock() + mock_table.get = Mock(return_value=(True, (('field_2', 'original_value_2'),))) + mock_sonic_db.initial_table = Mock(return_value=mock_table) + mock_sonic_db.persistent_table = Mock(return_value=mock_table) + mock_sonic_db.running_table = Mock(return_value=mock_table) + + creator = ServiceCreator(mock_feature_registry, mock_sonic_db) + + entry = PackageEntry('test', 'azure/sonic-test') + package = Package(entry, Metadata(manifest)) + creator.create(package) + + assert not sonic_fs.exists(os.path.join(DEBUG_DUMP_SCRIPT_LOCATION, 'test')) + + manifest['package']['init-cfg'] = { + 'TABLE_A': { + 'key_a': { + 'field_1': 'value_1', + 'field_2': 'value_2' + }, + }, + } + package = Package(entry, Metadata(manifest)) + + creator.create(package) + mock_table.set.assert_called_with('key_a', [('field_1', 'value_1'), + ('field_2', 'original_value_2')]) + + creator.remove(package) + mock_table._del.assert_called_with('key_a') + + +def test_feature_registration(mock_sonic_db, manifest): + mock_feature_table = Mock() + mock_feature_table.get = Mock(return_value=(False, ())) + mock_sonic_db.initial_table = Mock(return_value=mock_feature_table) + mock_sonic_db.persistent_table = Mock(return_value=mock_feature_table) + mock_sonic_db.running_table = Mock(return_value=mock_feature_table) + feature_registry = FeatureRegistry(mock_sonic_db) + feature_registry.register(manifest) + mock_feature_table.set.assert_called_with('test', [ + ('state', 'disabled'), + ('auto_restart', 'enabled'), + ('high_mem_alert', 'disabled'), + ('set_owner', 'local'), + ('has_per_asic_scope', 'False'), + ('has_global_scope', 'True'), + ('has_timer', 'False'), + ]) + + +def test_feature_registration_with_timer(mock_sonic_db, manifest): + manifest['service']['delayed'] = True + mock_feature_table = Mock() + mock_feature_table.get = Mock(return_value=(False, ())) + mock_sonic_db.initial_table = Mock(return_value=mock_feature_table) + mock_sonic_db.persistent_table = Mock(return_value=mock_feature_table) + mock_sonic_db.running_table = Mock(return_value=mock_feature_table) + feature_registry = FeatureRegistry(mock_sonic_db) + feature_registry.register(manifest) + mock_feature_table.set.assert_called_with('test', [ + ('state', 'disabled'), + ('auto_restart', 'enabled'), + ('high_mem_alert', 'disabled'), + ('set_owner', 'local'), + ('has_per_asic_scope', 'False'), + ('has_global_scope', 'True'), + ('has_timer', 'True'), + ]) + + +def test_feature_registration_with_non_default_owner(mock_sonic_db, manifest): + mock_feature_table = Mock() + mock_feature_table.get = Mock(return_value=(False, ())) + mock_sonic_db.initial_table = Mock(return_value=mock_feature_table) + mock_sonic_db.persistent_table = Mock(return_value=mock_feature_table) + mock_sonic_db.running_table = Mock(return_value=mock_feature_table) + feature_registry = FeatureRegistry(mock_sonic_db) + feature_registry.register(manifest, owner='kube') + mock_feature_table.set.assert_called_with('test', [ + ('state', 'disabled'), + ('auto_restart', 'enabled'), + ('high_mem_alert', 'disabled'), + ('set_owner', 'kube'), + ('has_per_asic_scope', 'False'), + ('has_global_scope', 'True'), + ('has_timer', 'False'), + ]) diff --git a/tests/sonic_package_manager/test_utils.py b/tests/sonic_package_manager/test_utils.py new file mode 100644 index 0000000000..c4d8b15840 --- /dev/null +++ b/tests/sonic_package_manager/test_utils.py @@ -0,0 +1,8 @@ +#!/usr/bin/env python + +from sonic_package_manager import utils + + +def test_make_python_identifier(): + assert utils.make_python_identifier('-some-package name').isidentifier() + assert utils.make_python_identifier('01 leading digit').isidentifier() From 2e09b2202283ff350a52ee5b0937240851cb298d Mon Sep 17 00:00:00 2001 From: Stephen Sun <5379172+stephenxs@users.noreply.github.com> Date: Mon, 3 May 2021 23:57:39 +0800 Subject: [PATCH 178/342] Handle the new db version which mellanox_buffer_migrator isn't interested (#1566) Enhancement: handle the case that no buffer change in the latest database version Current, the following two versions are the same: - The latest version changed by mellanox_buffer_migrator - The latest version in CONFIG_DB That won't be true if another part in CONFIG_DB is updated. In that case, the latest version in CONFIG_DB will be greater than the latest version in mellanox_buffer_migrator. However, this can break the buffer migrator unit test: - The db_migrator will always migrate the database to the latest version - The config database version check will fail in case the latest version in the config database doesn't match that defined in the buffer migrator. This is to support this case. Signed-off-by: Stephen Sun --- tests/db_migrator_test.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/tests/db_migrator_test.py b/tests/db_migrator_test.py index 87cf2c8c11..bbff2a7666 100644 --- a/tests/db_migrator_test.py +++ b/tests/db_migrator_test.py @@ -76,6 +76,16 @@ def check_appl_db(self, result, expected): for key in keys: assert expected.get_all(expected.APPL_DB, key) == result.get_all(result.APPL_DB, key) + def advance_version_for_expected_database(self, migrated_db, expected_db): + # In case there are new db versions greater than the latest one that mellanox buffer migrator is interested, + # we just advance the database version in the expected database to make the test pass + expected_dbversion = expected_db.get_entry('VERSIONS', 'DATABASE') + dbmgtr_dbversion = migrated_db.get_entry('VERSIONS', 'DATABASE') + if expected_dbversion and dbmgtr_dbversion: + if expected_dbversion['VERSION'] == self.version_list[-1] and dbmgtr_dbversion['VERSION'] > expected_dbversion['VERSION']: + expected_dbversion['VERSION'] = dbmgtr_dbversion['VERSION'] + expected_db.set_entry('VERSIONS', 'DATABASE', expected_dbversion) + @pytest.mark.parametrize('scenario', ['empty-config', 'non-default-config', @@ -93,6 +103,7 @@ def test_mellanox_buffer_migrator_negative_cold_reboot(self, scenario): dbmgtr = db_migrator.DBMigrator(None) dbmgtr.migrate() expected_db = self.mock_dedicated_config_db(db_after_migrate) + self.advance_version_for_expected_database(dbmgtr.configDB, expected_db.cfgdb) self.check_config_db(dbmgtr.configDB, expected_db.cfgdb) assert not dbmgtr.mellanox_buffer_migrator.is_buffer_config_default @@ -119,8 +130,6 @@ def test_mellanox_buffer_migrator_for_cold_reboot(self, sku_version, topo): sku, start_version = sku_version version = start_version start_index = self.version_list.index(start_version) - # Eventually, the config db should be migrated to the latest version - expected_db = self.mock_dedicated_config_db(self.make_db_name_by_sku_topo_version(sku, topo, self.version_list[-1])) # start_version represents the database version from which the SKU is supported # For each SKU, @@ -130,6 +139,9 @@ def test_mellanox_buffer_migrator_for_cold_reboot(self, sku_version, topo): import db_migrator dbmgtr = db_migrator.DBMigrator(None) dbmgtr.migrate() + # Eventually, the config db should be migrated to the latest version + expected_db = self.mock_dedicated_config_db(self.make_db_name_by_sku_topo_version(sku, topo, self.version_list[-1])) + self.advance_version_for_expected_database(dbmgtr.configDB, expected_db.cfgdb) self.check_config_db(dbmgtr.configDB, expected_db.cfgdb) assert dbmgtr.mellanox_buffer_migrator.is_buffer_config_default @@ -145,6 +157,7 @@ def mellanox_buffer_migrator_warm_reboot_runner(self, input_config_db, input_app import db_migrator dbmgtr = db_migrator.DBMigrator(None) dbmgtr.migrate() + self.advance_version_for_expected_database(dbmgtr.configDB, expected_config_db.cfgdb) assert dbmgtr.mellanox_buffer_migrator.is_buffer_config_default == is_buffer_config_default_expected self.check_config_db(dbmgtr.configDB, expected_config_db.cfgdb) self.check_appl_db(dbmgtr.appDB, expected_appl_db) @@ -173,6 +186,7 @@ def test_mellanox_buffer_migrator_for_warm_reboot(self, sku, topo): self.mellanox_buffer_migrator_warm_reboot_runner(input_db_name, input_db_name, expected_db_name, expected_db_name, True) def test_mellanox_buffer_migrator_negative_nondefault_for_warm_reboot(self): + device_info.get_sonic_version_info = get_sonic_version_info_mlnx expected_config_db = 'non-default-config-expected' expected_appl_db = 'non-default-expected' input_config_db = 'non-default-config-input' From 912076658883513214b769e2a670b7b2303cb67f Mon Sep 17 00:00:00 2001 From: Qi Luo Date: Mon, 3 May 2021 09:03:49 -0700 Subject: [PATCH 179/342] Relax the install_requires, no need to exact version as long as there are no broken changes with future versions (#1530) #### What I did Fixes https://github.com/Azure/sonic-buildimage/issues/7152 #### How I did it Relax the install_requires --- setup.py | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/setup.py b/setup.py index 15f93b46f7..b8b6d07229 100644 --- a/setup.py +++ b/setup.py @@ -161,32 +161,32 @@ }, install_requires=[ 'click==7.0', - 'click-log==0.3.2', - 'docker==4.4.4', - 'docker-image-py==0.1.10', - 'filelock==3.0.12', - 'enlighten==1.8.0', - 'ipaddress==1.0.23', - 'jinja2==2.11.3', - 'jsondiff==1.2.0', - 'jsonpatch==1.32.0', - 'm2crypto==0.31.0', - 'natsort==6.2.1', # 6.2.1 is the last version which supports Python 2. Can update once we no longer support Python 2 - 'netaddr==0.8.0', - 'netifaces==0.10.7', - 'pexpect==4.8.0', - 'poetry-semver==0.1.0', - 'prettyprinter==0.18.0', - 'pyroute2==0.5.14', - 'requests==2.25.0', + 'click-log>=0.3.2', + 'docker>=4.4.4', + 'docker-image-py>=0.1.10', + 'filelock>=3.0.12', + 'enlighten>=1.8.0', + 'ipaddress>=1.0.23', + 'jinja2>=2.11.3', + 'jsondiff>=1.2.0', + 'jsonpatch>=1.32.0', + 'm2crypto>=0.31.0', + 'natsort>=6.2.1', # 6.2.1 is the last version which supports Python 2. Can update once we no longer support Python 2 + 'netaddr>=0.8.0', + 'netifaces>=0.10.7', + 'pexpect>=4.8.0', + 'poetry-semver>=0.1.0', + 'prettyprinter>=0.18.0', + 'pyroute2>=0.5.14', + 'requests>=2.25.0', 'sonic-config-engine', 'sonic-platform-common', 'sonic-py-common', 'sonic-yang-mgmt', 'swsssdk>=2.0.1', - 'tabulate==0.8.2', - 'www-authenticate==0.9.2', - 'xmltodict==0.12.0', + 'tabulate>=0.8.2', + 'www-authenticate>=0.9.2', + 'xmltodict>=0.12.0', ], setup_requires= [ 'pytest-runner', From cbe21599e7e1371c70370a147bca0d4be401c56f Mon Sep 17 00:00:00 2001 From: Volodymyr Samotiy Date: Tue, 4 May 2021 05:20:34 +0300 Subject: [PATCH 180/342] [vnet] Add "vnet_route_check" script (#1300) * [vnet] Add "vnet_route_check" script * [vnet_route_check.py]: tool that verifies VNET routes consistancy between SONiC and vendor SDK DBs. Signed-off-by: Volodymyr Samotiy --- scripts/vnet_route_check.py | 363 +++++++++++++++++++++++++++++++++ setup.py | 1 + tests/vnet_route_check_test.py | 325 +++++++++++++++++++++++++++++ 3 files changed, 689 insertions(+) create mode 100755 scripts/vnet_route_check.py create mode 100644 tests/vnet_route_check_test.py diff --git a/scripts/vnet_route_check.py b/scripts/vnet_route_check.py new file mode 100755 index 0000000000..010e953451 --- /dev/null +++ b/scripts/vnet_route_check.py @@ -0,0 +1,363 @@ +#!/usr/bin/env python + +import os +import sys +import json +import syslog +from swsscommon import swsscommon + +''' vnet_route_check.py: tool that verifies VNET routes consistancy between SONiC and vendor SDK DBs. + +Logically VNET route verification logic consists of 3 parts: +1. Get VNET routes entries that are missed in ASIC_DB but present in APP_DB. +2. Get VNET routes entries that are missed in APP_DB but present in ASIC_DB. +3. Get VNET routes entries that are missed in SDK but present in ASIC_DB. + +Returns 0 if there is no inconsistancy found and all VNET routes are aligned in all DBs. +Returns -1 if there is incosistancy found and prints differences between DBs in JSON format to standart output. + +Format of differences output: +{ + "results": { + "missed_in_asic_db_routes": { + "": { + "routes": [ + "/" + ] + } + }, + "missed_in_app_db_routes": { + "": { + "routes": [ + "/" + ] + } + }, + "missed_in_sdk_routes": { + "": { + "routes": [ + "/" + ] + } + } + } +} +''' + + +RC_OK = 0 +RC_ERR = -1 + + +report_level = syslog.LOG_ERR +write_to_syslog = True + + +def set_level(lvl, log_to_syslog): + global report_level + global write_to_syslog + + write_to_syslog = log_to_syslog + report_level = lvl + + +def print_message(lvl, *args): + if (lvl <= report_level): + msg = "" + for arg in args: + msg += " " + str(arg) + print(msg) + if write_to_syslog: + syslog.syslog(lvl, msg) + + +def check_vnet_cfg(): + ''' Returns True if VNET is configured in APP_DB or False if no VNET configuration. + ''' + db = swsscommon.DBConnector('APPL_DB', 0) + + vnet_db_keys = swsscommon.Table(db, 'VNET_TABLE').getKeys() + + return True if vnet_db_keys else False + + +def get_vnet_intfs(): + ''' Returns dictionary of VNETs and related VNET interfaces. + Format: { : [ ] } + ''' + db = swsscommon.DBConnector('APPL_DB', 0) + + intfs_table = swsscommon.Table(db, 'INTF_TABLE') + intfs_keys = swsscommon.Table(db, 'INTF_TABLE').getKeys() + + vnet_intfs = {} + + for intf_key in intfs_keys: + intf_attrs = intfs_table.get(intf_key)[1] + + if 'vnet_name' in intf_attrs: + vnet_name = intf_attrs['vnet_name'] + if vnet_name in vnet_intfs: + vnet_intfs[vnet_name].append(intf_key) + else: + vnet_intfs[vnet_name] = [intf_key] + + return vnet_intfs + + +def get_all_rifs_oids(): + ''' Returns dictionary of all router interfaces and their OIDs. + Format: { : } + ''' + db = swsscommon.DBConnector('COUNTERS_DB', 0) + + rif_table = swsscommon.Table(db, 'COUNTERS_RIF_NAME_MAP') + rif_keys = rif_table.getKeys() + + rif_name_oid_map = {} + + for rif_name in rif_keys: + rif_name_oid_map[rif_name] = rif_table.get(rif_name)[1] + + return rif_name_oid_map + + +def get_vnet_rifs_oids(): + ''' Returns dictionary of VNET interfaces and their OIDs. + Format: { : } + ''' + vnet_intfs = get_vnet_intfs() + intfs_oids = get_all_rifs_oids() + + vnet_intfs = [vnet_intfs[k] for k in vnet_intfs] + vnet_intfs = [val for sublist in vnet_intfs for val in sublist] + + vnet_rifs_oids_map = {} + + for intf_name in intfs_oids or {}: + if intf_name in vnet_intfs: + vnet_rifs_oids_map[intf_name] = intfs_oids[intf_name] + + return vnet_rifs_oids_map + + +def get_vrf_entries(): + ''' Returns dictionary of VNET interfaces and corresponding VRF OIDs. + Format: { : } + ''' + db = swsscommon.DBConnector('ASIC_DB', 0) + rif_table = swsscommon.Table(db, 'ASIC_STATE') + + vnet_rifs_oids = get_vnet_rifs_oids() + + rif_vrf_map = {} + for vnet_rif_name in vnet_rifs_oids: + + db_keys = rif_table.getKeys() + + for db_key in db_keys: + if 'SAI_OBJECT_TYPE_ROUTER_INTERFACE' in db_key: + rif_attrs = rif_table.get(db_key)[1] + rif_vrf_map[vnet_rif_name] = rif_attrs['SAI_ROUTER_INTERFACE_ATTR_VIRTUAL_ROUTER_ID'] + + return rif_vrf_map + + +def filter_out_vnet_ip2me_routes(vnet_routes): + ''' Filters out IP2ME routes from the provided dictionary with VNET routes + Format: { : { 'routes': [ ], 'vrf_oid': } } + ''' + db = swsscommon.DBConnector('APPL_DB', 0) + + all_rifs_db_keys = swsscommon.Table(db, 'INTF_TABLE').getKeys() + vnet_intfs = get_vnet_intfs() + + vnet_intfs = [vnet_intfs[k] for k in vnet_intfs] + vnet_intfs = [val for sublist in vnet_intfs for val in sublist] + + vnet_ip2me_routes = [] + for rif in all_rifs_db_keys: + rif_attrs = rif.split(':') + # Skip RIF entries without IP prefix and prefix length (they have only one attribute - RIF name) + if len(rif_attrs) == 1: + continue + + # rif_attrs[0] - RIF name + # rif_attrs[1] - IP prefix and prefix legth + # IP2ME routes have '/32' prefix length so replace it and add to the list + if rif_attrs[0] in vnet_intfs: + vnet_ip2me_routes.append(rif_attrs[1].replace('/24', '/32')) + + for vnet, vnet_attrs in vnet_routes.items(): + for route in vnet_attrs['routes']: + if route in vnet_ip2me_routes: + vnet_attrs['routes'].remove(route) + + if not vnet_attrs['routes']: + vnet_routes.pop(vnet) + + +def get_vnet_routes_from_app_db(): + ''' Returns dictionary of VNET routes configured per each VNET in APP_DB. + Format: { : { 'routes': [ ], 'vrf_oid': } } + ''' + db = swsscommon.DBConnector('APPL_DB', 0) + + vnet_intfs = get_vnet_intfs() + vnet_vrfs = get_vrf_entries() + + vnet_route_table = swsscommon.Table(db, 'VNET_ROUTE_TABLE') + vnet_route_tunnel_table = swsscommon.Table(db, 'VNET_ROUTE_TUNNEL_TABLE') + + vnet_routes_db_keys = vnet_route_table.getKeys() + vnet_route_tunnel_table.getKeys() + + vnet_routes = {} + + for vnet_route_db_key in vnet_routes_db_keys: + vnet_route_list = vnet_route_db_key.split(':') + vnet_name = vnet_route_list[0] + vnet_route = vnet_route_list[1] + + if vnet_name not in vnet_routes: + vnet_routes[vnet_name] = {} + vnet_routes[vnet_name]['routes'] = [] + + intf = vnet_intfs[vnet_name][0] + vnet_routes[vnet_name]['vrf_oid'] = vnet_vrfs.get(intf, 'None') + + vnet_routes[vnet_name]['routes'].append(vnet_route) + + return vnet_routes + + +def get_vnet_routes_from_asic_db(): + ''' Returns dictionary of VNET routes configured per each VNET in ASIC_DB. + Format: { : { 'routes': [ ], 'vrf_oid': } } + ''' + db = swsscommon.DBConnector('ASIC_DB', 0) + + tbl = swsscommon.Table(db, 'ASIC_STATE') + + vnet_vrfs = get_vrf_entries() + vnet_vrfs_oids = [vnet_vrfs[k] for k in vnet_vrfs] + + vnet_intfs = get_vnet_intfs() + + vrf_oid_to_vnet_map = {} + + for vnet_name, vnet_rifs in vnet_intfs.items(): + for vnet_rif, vrf_oid in vnet_vrfs.items(): + if vnet_rif in vnet_rifs: + vrf_oid_to_vnet_map[vrf_oid] = vnet_name + + routes_db_keys = tbl.getKeys() + + vnet_routes = {} + + for route_db_key in routes_db_keys: + route_attrs = route_db_key.lower().split('\"', -1) + + if 'sai_object_type_route_entry' not in route_attrs[0]: + continue + + # route_attrs[11] - VRF OID for the VNET route + # route_attrs[3] - VNET route IP subnet + vrf_oid = route_attrs[11] + ip_addr = route_attrs[3] + + if vrf_oid in vnet_vrfs_oids: + if vrf_oid_to_vnet_map[vrf_oid] not in vnet_routes: + vnet_name = vrf_oid_to_vnet_map[vrf_oid] + + vnet_routes[vnet_name] = {} + vnet_routes[vnet_name]['routes'] = [] + vnet_routes[vnet_name]['vrf_oid'] = vrf_oid + + vnet_routes[vnet_name]['routes'].append(ip_addr) + + filter_out_vnet_ip2me_routes(vnet_routes) + + return vnet_routes + + +def get_vnet_routes_diff(routes_1, routes_2): + ''' Returns all routes present in routes_2 dictionary but missed in routes_1 + Format: { : { 'routes': [ ] } } + ''' + + routes = {} + + for vnet_name, vnet_attrs in routes_2.items(): + if vnet_name not in routes_1: + routes[vnet_name] = routes + else: + for vnet_route in vnet_attrs['routes']: + if vnet_route not in routes_1[vnet_name]['routes']: + if vnet_name not in routes: + routes[vnet_name] = {} + routes[vnet_name]['routes'] = [] + routes[vnet_name]['routes'].append(vnet_route) + + return routes + + +def get_sdk_vnet_routes_diff(routes): + ''' Returns all routes present in routes dictionary but missed in SAI/SDK + Format: { : { 'routes': [ ], 'vrf_oid': } } + ''' + routes_diff = {} + + res = os.system('docker exec syncd test -f /usr/bin/vnet_route_check.py') + if res != 0: + return routes_diff + + for vnet_name, vnet_routes in routes.items(): + vnet_routes = routes[vnet_name]["routes"] + vnet_vrf_oid = routes[vnet_name]["vrf_oid"] + + res = os.system('docker exec syncd "/usr/bin/vnet_route_check.py {} {}"'.format(vnet_vrf_oid, vnet_routes)) + if res: + routes_diff[vnet_name] = {} + routes_diff[vnet_name]['routes'] = res + + return routes_diff + + +def main(): + + rc = RC_OK + + # Don't run VNET routes consistancy logic if there is no VNET configuration + if not check_vnet_cfg(): + return rc + + app_db_vnet_routes = get_vnet_routes_from_app_db() + asic_db_vnet_routes = get_vnet_routes_from_asic_db() + + missed_in_asic_db_routes = get_vnet_routes_diff(asic_db_vnet_routes, app_db_vnet_routes) + missed_in_app_db_routes = get_vnet_routes_diff(app_db_vnet_routes, asic_db_vnet_routes) + missed_in_sdk_routes = get_sdk_vnet_routes_diff(asic_db_vnet_routes) + + res = {} + res['results'] = {} + rc = RC_OK + + if missed_in_asic_db_routes: + res['results']['missed_in_asic_db_routes'] = missed_in_asic_db_routes + + if missed_in_app_db_routes: + res['results']['missed_in_app_db_routes'] = missed_in_app_db_routes + + if missed_in_sdk_routes: + res['results']['missed_in_sdk_routes'] = missed_in_sdk_routes + + if res['results']: + rc = RC_ERR + print_message(syslog.LOG_ERR, json.dumps(res, indent=4)) + print_message(syslog.LOG_ERR, 'Vnet Route Mismatch reported') + + return rc, res + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/setup.py b/setup.py index b8b6d07229..d857cd3723 100644 --- a/setup.py +++ b/setup.py @@ -117,6 +117,7 @@ 'scripts/reboot', 'scripts/route_check.py', 'scripts/route_check_test.sh', + 'scripts/vnet_route_check.py', 'scripts/sfpshow', 'scripts/storyteller', 'scripts/syseeprom-to-json', diff --git a/tests/vnet_route_check_test.py b/tests/vnet_route_check_test.py new file mode 100644 index 0000000000..09f35761a4 --- /dev/null +++ b/tests/vnet_route_check_test.py @@ -0,0 +1,325 @@ +import copy +import json +import os +import sys +from unittest.mock import MagicMock, patch + +import pytest + +sys.path.append("scripts") +import vnet_route_check + +DESCR = "Description" +ARGS = "args" +RET = "return" +APPL_DB = 0 +ASIC_DB = 1 +CNTR_DB = 2 +PRE = "pre-value" +UPD = "update" +RESULT = "res" + +OP_SET = "SET" +OP_DEL = "DEL" + +VXLAN_TUNNEL_TABLE = "VXLAN_TUNNEL_TABLE" +VNET_TABLE = "VNET_TABLE" +VNET_ROUTE_TABLE = "VNET_ROUTE_TABLE" +INTF_TABLE = "INTF_TABLE" +ASIC_STATE = "ASIC_STATE" + +RT_ENTRY_KEY_PREFIX = 'SAI_OBJECT_TYPE_ROUTE_ENTRY:{\"dest":\"' +RT_ENTRY_KEY_SUFFIX = '\",\"switch_id\":\"oid:0x21000000000000\",\"vr\":\"oid:0x3000000000d4b\"}' + +current_test_name = None +current_test_no = None +current_test_data = None + +tables_returned = {} + +test_data = { + "0": { + DESCR: "All VNET routes are configured in both APP and ASIC DBs", + ARGS: "vnet_route_check", + PRE: { + APPL_DB: { + VXLAN_TUNNEL_TABLE: { + "tunnel_v4": { "src_ip": "10.1.0.32" } + }, + VNET_TABLE: { + "Vnet1": { "vxlan_tunnel": "tunnel_v4", "vni": "10001" } + }, + INTF_TABLE: { + "Vlan3001": { "vnet_name": "Vnet1" }, + "Vlan3001:30.1.10.1/24": {} + }, + VNET_ROUTE_TABLE: { + "Vnet1:30.1.10.0/24": { "ifname": "Vlan3001" }, + "Vnet1:50.1.1.0/24": { "ifname": "Vlan3001" }, + "Vnet1:50.2.2.0/24": { "ifname": "Vlan3001" } + } + }, + ASIC_DB: { + ASIC_STATE: { + RT_ENTRY_KEY_PREFIX + "30.1.10.0/24" + RT_ENTRY_KEY_SUFFIX: {}, + RT_ENTRY_KEY_PREFIX + "50.1.1.0/24" + RT_ENTRY_KEY_SUFFIX: {}, + RT_ENTRY_KEY_PREFIX + "50.2.2.0/24" + RT_ENTRY_KEY_SUFFIX: {}, + "SAI_OBJECT_TYPE_ROUTER_INTERFACE:oid:0x6000000000d76": { + "SAI_ROUTER_INTERFACE_ATTR_VIRTUAL_ROUTER_ID": "oid:0x3000000000d4b" + } + } + }, + CNTR_DB: { + "COUNTERS_RIF_NAME_MAP": { "Vlan3001": "oid:0x6000000000d76" } + } + }, + RESULT: { + "results": {} + } + }, + "1": { + DESCR: "VNET route is missed in ASIC DB", + ARGS: "vnet_route_check", + RET: -1, + PRE: { + APPL_DB: { + VXLAN_TUNNEL_TABLE: { + "tunnel_v4": { "src_ip": "10.1.0.32" } + }, + VNET_TABLE: { + "Vnet1": { "vxlan_tunnel": "tunnel_v4", "vni": "10001" } + }, + INTF_TABLE: { + "Vlan3001": { "vnet_name": "Vnet1" }, + "Vlan3001:30.1.10.1/24": {} + }, + VNET_ROUTE_TABLE: { + "Vnet1:30.1.10.0/24": { "ifname": "Vlan3001" }, + "Vnet1:50.1.1.0/24": { "ifname": "Vlan3001" }, + "Vnet1:50.2.2.0/24": { "ifname": "Vlan3001" } + } + }, + ASIC_DB: { + ASIC_STATE: { + RT_ENTRY_KEY_PREFIX + "30.1.10.0/24" + RT_ENTRY_KEY_SUFFIX: {}, + RT_ENTRY_KEY_PREFIX + "50.1.1.0/24" + RT_ENTRY_KEY_SUFFIX: {}, + "SAI_OBJECT_TYPE_ROUTER_INTERFACE:oid:0x6000000000d76": { + "SAI_ROUTER_INTERFACE_ATTR_VIRTUAL_ROUTER_ID": "oid:0x3000000000d4b" + } + } + }, + CNTR_DB: { + "COUNTERS_RIF_NAME_MAP": { "Vlan3001": "oid:0x6000000000d76" } + } + }, + RESULT: { + "results": { + "missed_in_asic_db_routes": { + "Vnet1": { + "routes": [ + "50.2.2.0/24" + ] + } + } + } + } + }, + "2": { + DESCR: "VNET route is missed in APP DB", + ARGS: "vnet_route_check", + RET: -1, + PRE: { + APPL_DB: { + VXLAN_TUNNEL_TABLE: { + "tunnel_v4": { "src_ip": "10.1.0.32" } + }, + VNET_TABLE: { + "Vnet1": { "vxlan_tunnel": "tunnel_v4", "vni": "10001" } + }, + INTF_TABLE: { + "Vlan3001": { "vnet_name": "Vnet1" }, + "Vlan3001:30.1.10.1/24": {} + }, + VNET_ROUTE_TABLE: { + "Vnet1:30.1.10.0/24": { "ifname": "Vlan3001" }, + "Vnet1:50.1.1.0/24": { "ifname": "Vlan3001" }, + } + }, + ASIC_DB: { + ASIC_STATE: { + RT_ENTRY_KEY_PREFIX + "30.1.10.0/24" + RT_ENTRY_KEY_SUFFIX: {}, + RT_ENTRY_KEY_PREFIX + "50.1.1.0/24" + RT_ENTRY_KEY_SUFFIX: {}, + RT_ENTRY_KEY_PREFIX + "50.2.2.0/24" + RT_ENTRY_KEY_SUFFIX: {}, + "SAI_OBJECT_TYPE_ROUTER_INTERFACE:oid:0x6000000000d76": { + "SAI_ROUTER_INTERFACE_ATTR_VIRTUAL_ROUTER_ID": "oid:0x3000000000d4b" + } + } + }, + CNTR_DB: { + "COUNTERS_RIF_NAME_MAP": { "Vlan3001": "oid:0x6000000000d76" } + } + }, + RESULT: { + "results": { + "missed_in_app_db_routes": { + "Vnet1": { + "routes": [ + "50.2.2.0/24" + ] + } + } + } + } + }, + "3": { + DESCR: "VNET routes are missed in both ASIC and APP DB", + ARGS: "vnet_route_check", + RET: -1, + PRE: { + APPL_DB: { + VXLAN_TUNNEL_TABLE: { + "tunnel_v4": { "src_ip": "10.1.0.32" } + }, + VNET_TABLE: { + "Vnet1": { "vxlan_tunnel": "tunnel_v4", "vni": "10001" } + }, + INTF_TABLE: { + "Vlan3001": { "vnet_name": "Vnet1" }, + "Vlan3001:30.1.10.1/24": {} + }, + VNET_ROUTE_TABLE: { + "Vnet1:30.1.10.0/24": { "ifname": "Vlan3001" }, + "Vnet1:50.1.1.0/24": { "ifname": "Vlan3001" }, + } + }, + ASIC_DB: { + ASIC_STATE: { + RT_ENTRY_KEY_PREFIX + "30.1.10.0/24" + RT_ENTRY_KEY_SUFFIX: {}, + RT_ENTRY_KEY_PREFIX + "50.2.2.0/24" + RT_ENTRY_KEY_SUFFIX: {}, + "SAI_OBJECT_TYPE_ROUTER_INTERFACE:oid:0x6000000000d76": { + "SAI_ROUTER_INTERFACE_ATTR_VIRTUAL_ROUTER_ID": "oid:0x3000000000d4b" + } + } + }, + CNTR_DB: { + "COUNTERS_RIF_NAME_MAP": { "Vlan3001": "oid:0x6000000000d76" } + } + }, + RESULT: { + "results": { + "missed_in_app_db_routes": { + "Vnet1": { + "routes": [ + "50.2.2.0/24" + ] + } + }, + "missed_in_asic_db_routes": { + "Vnet1": { + "routes": [ + "50.1.1.0/24" + ] + } + } + } + } + } +} + + +def do_start_test(tname, tno, ctdata): + global current_test_name, current_test_no, current_test_data + global tables_returned + + current_test_name = tname + current_test_no = tno + current_test_data = ctdata + tables_returned = {} + + print("Starting test case {} number={}".format(tname, tno)) + + +class Table: + def __init__(self, db, tbl): + self.db = db + self.tbl = tbl + self.data = copy.deepcopy(self.get_val(current_test_data[PRE], [db, tbl])) + + def get_val(self, d, keys): + for k in keys: + d = d[k] if k in d else {} + return d + + def getKeys(self): + return list(self.data.keys()) + + def get(self, key): + ret = copy.deepcopy(self.data.get(key, {})) + return (True, ret) + + +db_conns = {"APPL_DB": APPL_DB, "ASIC_DB": ASIC_DB, "COUNTERS_DB": CNTR_DB} +def conn_side_effect(arg, _): + return db_conns[arg] + + +def table_side_effect(db, tbl): + if not db in tables_returned: + tables_returned[db] = {} + if not tbl in tables_returned[db]: + tables_returned[db][tbl] = Table(db, tbl) + return tables_returned[db][tbl] + + +class mock_db_conn: + def __init__(self, db): + self.db_name = None + for (k, v) in db_conns.items(): + if v == db: + self.db_name = k + assert self.db_name != None + + def getDbName(self): + return self.db_name + + +def table_side_effect(db, tbl): + if not db in tables_returned: + tables_returned[db] = {} + if not tbl in tables_returned[db]: + tables_returned[db][tbl] = Table(db, tbl) + return tables_returned[db][tbl] + + +def set_mock(mock_table, mock_conn): + mock_conn.side_effect = conn_side_effect + mock_table.side_effect = table_side_effect + + +class TestVnetRouteCheck(object): + def setup(self): + pass + + def init(self): + vnet_route_check.UNIT_TESTING = 1 + + @patch("vnet_route_check.swsscommon.DBConnector") + @patch("vnet_route_check.swsscommon.Table") + def test_vnet_route_check(self, mock_table, mock_conn): + self.init() + ret = 0 + + set_mock(mock_table, mock_conn) + for (i, ct_data) in test_data.items(): + do_start_test("route_test", i, ct_data) + + with patch('sys.argv', ct_data[ARGS].split()): + ret, res = vnet_route_check.main() + expect_ret = ct_data[RET] if RET in ct_data else 0 + expect_res = ct_data[RESULT] if RESULT in ct_data else None + if res: + print("res={}".format(json.dumps(res, indent=4))) + if expect_res: + print("expect_res={}".format(json.dumps(expect_res, indent=4))) + assert ret == expect_ret + assert res == expect_res From 0f4988bc285ee14aa383e004a42d2043716713fa Mon Sep 17 00:00:00 2001 From: Andriy Yurkiv <70649192+ayurkiv-nvda@users.noreply.github.com> Date: Tue, 4 May 2021 10:35:32 +0300 Subject: [PATCH 181/342] Add pg-drop script to sonic filesystem (#1583) - What I did Added 'pg-drop' to the files system of SONiC - How I did it Add 'scripts/pg-drop' to setup.py file - How to verify it Check that 'pg-drop' script exists in /usr/local/bin/pg-drop Signed-off-by: Andriy Yurkiv --- setup.py | 1 + 1 file changed, 1 insertion(+) diff --git a/setup.py b/setup.py index d857cd3723..77a771650f 100644 --- a/setup.py +++ b/setup.py @@ -108,6 +108,7 @@ 'scripts/nbrshow', 'scripts/neighbor_advertiser', 'scripts/pcmping', + 'scripts/pg-drop', 'scripts/port2alias', 'scripts/portconfig', 'scripts/portstat', From 9492eabcf09161a5f4410eb51eb740f70570c605 Mon Sep 17 00:00:00 2001 From: Andriy Yurkiv <70649192+ayurkiv-nvda@users.noreply.github.com> Date: Tue, 4 May 2021 19:34:27 +0300 Subject: [PATCH 182/342] Use swsscommon instead of swsssdk (#1510) #### What I did Changed code to use use swsscommon instead of swsssdk in counterpoll #### How I did it Removed an explicit function call from sdsssdk module #### How to verify it run counterpoll tests --- counterpoll/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/counterpoll/main.py b/counterpoll/main.py index ff9ca49dd4..cc0060d991 100644 --- a/counterpoll/main.py +++ b/counterpoll/main.py @@ -129,7 +129,7 @@ def disable(): @click.pass_context def pg_drop(ctx): """ Ingress PG drop counter commands """ - ctx.obj = swsssdk.ConfigDBConnector() + ctx.obj = ConfigDBConnector() ctx.obj.connect() @pg_drop.command() From be974bf33604356015c1fc39f563677256ff92ef Mon Sep 17 00:00:00 2001 From: Sumukha Tumkur Vani Date: Wed, 5 May 2021 09:16:22 -0700 Subject: [PATCH 183/342] [neighbor_advertiser] Use existing tunnel if present for creating tunnel mappings (#1589) --- scripts/neighbor_advertiser | 18 ++++++++++++++---- tests/neighbor_advertiser_test.py | 9 +++++++++ 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/scripts/neighbor_advertiser b/scripts/neighbor_advertiser index dc38cf26c3..5cc09d32c9 100644 --- a/scripts/neighbor_advertiser +++ b/scripts/neighbor_advertiser @@ -169,9 +169,11 @@ def get_loopback_addr(ip_ver): def get_vlan_interfaces(): vlan_info = config_db.get_table('VLAN') vlan_interfaces = [] - + vlan_intfs = config_db.get_table('VLAN_INTERFACE') + # Skip L2 VLANs for vlan_name in vlan_info: - vlan_interfaces.append(vlan_name) + if vlan_name in vlan_intfs: + vlan_interfaces.append(vlan_name) return vlan_interfaces @@ -502,6 +504,14 @@ def reset_mirror_tunnel(): # Set vxlan tunnel # +def check_existing_tunnel(): + vxlan_tunnel = config_db.get_table('VXLAN_TUNNEL') + if len(vxlan_tunnel): + global VXLAN_TUNNEL_NAME + VXLAN_TUNNEL_NAME = list(vxlan_tunnel.keys())[0] + return True + return False + def add_vxlan_tunnel(dst_ipv4_addr): vxlan_tunnel_info = { 'src_ip': get_loopback_addr(4), @@ -517,12 +527,12 @@ def add_vxlan_tunnel_map(): 'vni': get_vlan_interface_vxlan_id(vlan_intf_name), 'vlan': vlan_intf_name } - config_db.set_entry('VXLAN_TUNNEL_MAP', (VXLAN_TUNNEL_NAME, VXLAN_TUNNEL_MAP_PREFIX + str(index)), vxlan_tunnel_map_info) def set_vxlan_tunnel(ferret_server_ip): - add_vxlan_tunnel(ferret_server_ip) + if not check_existing_tunnel(): + add_vxlan_tunnel(ferret_server_ip) add_vxlan_tunnel_map() log.log_info('Finish setting vxlan tunnel; Ferret: {}'.format(ferret_server_ip)) diff --git a/tests/neighbor_advertiser_test.py b/tests/neighbor_advertiser_test.py index 4a7ab41863..3ad575c983 100644 --- a/tests/neighbor_advertiser_test.py +++ b/tests/neighbor_advertiser_test.py @@ -57,3 +57,12 @@ def test_neighbor_advertiser_slice(self, set_up): } ) assert output == expected_output + + def test_set_vxlan(self, set_up): + assert(neighbor_advertiser.check_existing_tunnel()) + neighbor_advertiser.add_vxlan_tunnel_map() + tunnel_mapping = neighbor_advertiser.config_db.get_table('VXLAN_TUNNEL_MAP') + expected_mapping = {("vtep1", "map_1"): {"vni": "1000", "vlan": "Vlan1000"}, ("vtep1", "map_2"): {"vni": "2000", "vlan": "Vlan2000"}} + for key in expected_mapping.keys(): + assert(key in tunnel_mapping.keys()) + assert(expected_mapping[key] == tunnel_mapping[key]) From fff40512b21c5e894856a3723e52b5f711cf8edd Mon Sep 17 00:00:00 2001 From: Sudharsan Dhamal Gopalarathnam Date: Wed, 5 May 2021 10:09:52 -0700 Subject: [PATCH 184/342] Fixing serial number read to get from DB if it is populated (#1580) #### What I did Modified show version command to pick serial number from STATE_DB if it was populated instead of getting it from EEPROM. #### How I did it Check state_db to see if serial number EEPROM section is populated. If yes use the data from DB. If not, read it from the decode-syseeprom --- show/main.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/show/main.py b/show/main.py index b0b2986a78..d0ca14650a 100755 --- a/show/main.py +++ b/show/main.py @@ -960,8 +960,15 @@ def version(verbose): asic_type = version_info['asic_type'] asic_count = multi_asic.get_num_asics() - serial_number_cmd = "sudo decode-syseeprom -s" - serial_number = subprocess.Popen(serial_number_cmd, shell=True, text=True, stdout=subprocess.PIPE) + serial_number = None + db = SonicV2Connector() + db.connect(db.STATE_DB) + eeprom_table = db.get_all(db.STATE_DB, 'EEPROM_INFO|0x23') + if "Name" in eeprom_table and eeprom_table["Name"] == "Serial Number" and "Value" in eeprom_table: + serial_number = eeprom_table["Value"] + else: + serial_number_cmd = "sudo decode-syseeprom -s" + serial_number = subprocess.Popen(serial_number_cmd, shell=True, text=True, stdout=subprocess.PIPE).stdout.read() sys_uptime_cmd = "uptime" sys_uptime = subprocess.Popen(sys_uptime_cmd, shell=True, text=True, stdout=subprocess.PIPE) @@ -976,7 +983,7 @@ def version(verbose): click.echo("HwSKU: {}".format(hwsku)) click.echo("ASIC: {}".format(asic_type)) click.echo("ASIC Count: {}".format(asic_count)) - click.echo("Serial Number: {}".format(serial_number.stdout.read().strip())) + click.echo("Serial Number: {}".format(serial_number.strip())) click.echo("Uptime: {}".format(sys_uptime.stdout.read().strip())) click.echo("\nDocker images:") cmd = 'sudo docker images --format "table {{.Repository}}\\t{{.Tag}}\\t{{.ID}}\\t{{.Size}}"' From 615e5312a2fa89e9f4736832338ce7a9256e7004 Mon Sep 17 00:00:00 2001 From: Travis Van Duyn Date: Wed, 5 May 2021 12:22:40 -0700 Subject: [PATCH 185/342] [show][config] Add new snmp commands (#1347) Added new SNMP show and config commands using ConfigDB as well as unittests. show commands: show runningconfiguration snmp show runningconfiguration snmp contact [--json] show runningconfiguration snmp location [--json] show runningconfiguration snmp community [--json] show runningconfiguration snmp user [--json] config commands: sudo config snmp community add/del/replace sudo config snmp contact add/del/modify sudo config snmp location add/del/modify sudo config snmp user add/del --- config/main.py | 540 +++++++++++++++++++ show/main.py | 179 ++++++- tests/config_snmp_test.py | 872 +++++++++++++++++++++++++++++++ tests/mock_tables/config_db.json | 166 ++++++ tests/show_snmp_test.py | 467 +++++++++++++++++ 5 files changed, 2210 insertions(+), 14 deletions(-) create mode 100644 tests/config_snmp_test.py create mode 100644 tests/show_snmp_test.py diff --git a/config/main.py b/config/main.py index e9bab3172d..953af72e79 100644 --- a/config/main.py +++ b/config/main.py @@ -2191,6 +2191,546 @@ def delete_snmptrap_server(ctx, ver): cmd="systemctl restart snmp" os.system (cmd) + + +# +# 'snmp' group ('config snmp ...') +# +@config.group(cls=clicommon.AbbreviationGroup, name='snmp') +@clicommon.pass_db +def snmp(db): + """SNMP configuration tasks""" + + +@snmp.group(cls=clicommon.AbbreviationGroup) +@clicommon.pass_db +def community(db): + pass + + +def is_valid_community_type(commstr_type): + commstr_types = ['RO', 'RW'] + if commstr_type not in commstr_types: + click.echo("Invalid community type. Must be either RO or RW") + return False + return True + + +def is_valid_user_type(user_type): + convert_user_type = {'noauthnopriv': 'noAuthNoPriv', 'authnopriv': 'AuthNoPriv', 'priv': 'Priv'} + if user_type not in convert_user_type: + message = ("Invalid user type. Must be one of these one of these three " + "'noauthnopriv' or 'authnopriv' or 'priv'") + click.echo(message) + return False, message + return True, convert_user_type[user_type] + + +def is_valid_auth_type(user_auth_type): + user_auth_types = ['MD5', 'SHA', 'HMAC-SHA-2'] + if user_auth_type not in user_auth_types: + click.echo("Invalid user authentication type. Must be one of these 'MD5', 'SHA', or 'HMAC-SHA-2'") + return False + return True + + +def is_valid_encrypt_type(encrypt_type): + encrypt_types = ['DES', 'AES'] + if encrypt_type not in encrypt_types: + click.echo("Invalid user encryption type. Must be one of these two 'DES' or 'AES'") + return False + return True + + +def snmp_community_secret_check(snmp_secret): + excluded_special_symbols = ['@', ":"] + if len(snmp_secret) > 32: + click.echo("SNMP community string length should be not be greater than 32") + click.echo("SNMP community string should not have any of these special " + "symbols {}".format(excluded_special_symbols)) + click.echo("FAILED: SNMP community string length should be not be greater than 32") + return False + if any(char in excluded_special_symbols for char in snmp_secret): + click.echo("SNMP community string length should be not be greater than 32") + click.echo("SNMP community string should not have any of these special " + "symbols {}".format(excluded_special_symbols)) + click.echo("FAILED: SNMP community string should not have any of these " + "special symbols {}".format(excluded_special_symbols)) + return False + return True + + +def snmp_username_check(snmp_username): + excluded_special_symbols = ['@', ":"] + if len(snmp_username) > 32: + click.echo("SNMP user {} length should be not be greater than 32 characters".format(snmp_username)) + click.echo("SNMP community string should not have any of these special " + "symbols {}".format(excluded_special_symbols)) + click.echo("FAILED: SNMP user {} length should not be greater than 32 characters".format(snmp_username)) + return False + if any(char in excluded_special_symbols for char in snmp_username): + click.echo("SNMP user {} length should be not be greater than 32 characters".format(snmp_username)) + click.echo("SNMP community string should not have any of these special " + "symbols {}".format(excluded_special_symbols)) + click.echo("FAILED: SNMP user {} should not have any of these special " + "symbols {}".format(snmp_username, excluded_special_symbols)) + return False + return True + + +def snmp_user_secret_check(snmp_secret): + excluded_special_symbols = ['@', ":"] + if len(snmp_secret) < 8: + click.echo("SNMP user password length should be at least 8 characters") + click.echo("SNMP user password length should be not be greater than 64") + click.echo("SNMP user password should not have any of these special " + "symbols {}".format(excluded_special_symbols)) + click.echo("FAILED: SNMP user password length should be at least 8 characters") + return False + if len(snmp_secret) > 64: + click.echo("SNMP user password length should be at least 8 characters") + click.echo("SNMP user password length should be not be greater than 64") + click.echo("SNMP user password should not have any of these special " + "symbols {}".format(excluded_special_symbols)) + click.echo("FAILED: SNMP user password length should be not be greater than 64") + return False + if any(char in excluded_special_symbols for char in snmp_secret): + click.echo("SNMP user password length should be at least 8 characters") + click.echo("SNMP user password length should be not be greater than 64") + click.echo("SNMP user password should not have any of these special " + "symbols {}".format(excluded_special_symbols)) + click.echo("FAILED: SNMP user password should not have any of these special " + "symbols {}".format(excluded_special_symbols)) + return False + return True + + +@community.command('add') +@click.argument('community', metavar='', required=True) +@click.argument('string_type', metavar='', required=True) +@clicommon.pass_db +def add_community(db, community, string_type): + """ Add snmp community string""" + string_type = string_type.upper() + if not is_valid_community_type(string_type): + sys.exit(1) + if not snmp_community_secret_check(community): + sys.exit(2) + snmp_communities = db.cfgdb.get_table("SNMP_COMMUNITY") + if community in snmp_communities: + click.echo("SNMP community {} is already configured".format(community)) + sys.exit(3) + db.cfgdb.set_entry('SNMP_COMMUNITY', community, {'TYPE': string_type}) + click.echo("SNMP community {} added to configuration".format(community)) + try: + click.echo("Restarting SNMP service...") + clicommon.run_command("systemctl reset-failed snmp.service", display_cmd=False) + clicommon.run_command("systemctl restart snmp.service", display_cmd=False) + except SystemExit as e: + click.echo("Restart service snmp failed with error {}".format(e)) + raise click.Abort() + + +@community.command('del') +@click.argument('community', metavar='', required=True) +@clicommon.pass_db +def del_community(db, community): + """ Delete snmp community string""" + snmp_communities = db.cfgdb.get_table("SNMP_COMMUNITY") + if community not in snmp_communities: + click.echo("SNMP community {} is not configured".format(community)) + sys.exit(1) + else: + db.cfgdb.set_entry('SNMP_COMMUNITY', community, None) + click.echo("SNMP community {} removed from configuration".format(community)) + try: + click.echo("Restarting SNMP service...") + clicommon.run_command("systemctl reset-failed snmp.service", display_cmd=False) + clicommon.run_command("systemctl restart snmp.service", display_cmd=False) + except SystemExit as e: + click.echo("Restart service snmp failed with error {}".format(e)) + raise click.Abort() + + +@community.command('replace') +@click.argument('current_community', metavar='', required=True) +@click.argument('new_community', metavar='', required=True) +@clicommon.pass_db +def replace_community(db, current_community, new_community): + """ Replace snmp community string""" + snmp_communities = db.cfgdb.get_table("SNMP_COMMUNITY") + if not current_community in snmp_communities: + click.echo("Current SNMP community {} is not configured".format(current_community)) + sys.exit(1) + if not snmp_community_secret_check(new_community): + sys.exit(2) + elif new_community in snmp_communities: + click.echo("New SNMP community {} to replace current SNMP community {} already " + "configured".format(new_community, current_community)) + sys.exit(3) + else: + string_type = snmp_communities[current_community]['TYPE'] + db.cfgdb.set_entry('SNMP_COMMUNITY', new_community, {'TYPE': string_type}) + click.echo("SNMP community {} added to configuration".format(new_community)) + db.cfgdb.set_entry('SNMP_COMMUNITY', current_community, None) + click.echo('SNMP community {} replace community {}'.format(new_community, current_community)) + try: + click.echo("Restarting SNMP service...") + clicommon.run_command("systemctl reset-failed snmp.service", display_cmd=False) + clicommon.run_command("systemctl restart snmp.service", display_cmd=False) + except SystemExit as e: + click.echo("Restart service snmp failed with error {}".format(e)) + raise click.Abort() + + +@snmp.group(cls=clicommon.AbbreviationGroup) +@clicommon.pass_db +def contact(db): + pass + + +def is_valid_email(email): + return bool(re.search(r"^[\w\.\+\-]+\@[\w]+\.[a-z]{2,3}$", email)) + + +@contact.command('add') +@click.argument('contact', metavar='', required=True) +@click.argument('contact_email', metavar='', required=True) +@clicommon.pass_db +def add_contact(db, contact, contact_email): + """ Add snmp contact name and email """ + snmp = db.cfgdb.get_table("SNMP") + try: + if snmp['CONTACT']: + click.echo("Contact already exists. Use sudo config snmp contact modify instead") + sys.exit(1) + else: + db.cfgdb.set_entry('SNMP', 'CONTACT', {contact: contact_email}) + click.echo("Contact name {} and contact email {} have been added to " + "configuration".format(contact, contact_email)) + try: + click.echo("Restarting SNMP service...") + clicommon.run_command("systemctl reset-failed snmp.service", display_cmd=False) + clicommon.run_command("systemctl restart snmp.service", display_cmd=False) + except SystemExit as e: + click.echo("Restart service snmp failed with error {}".format(e)) + raise click.Abort() + except KeyError: + if "CONTACT" not in snmp.keys(): + if not is_valid_email(contact_email): + click.echo("Contact email {} is not valid".format(contact_email)) + sys.exit(2) + db.cfgdb.set_entry('SNMP', 'CONTACT', {contact: contact_email}) + click.echo("Contact name {} and contact email {} have been added to " + "configuration".format(contact, contact_email)) + try: + click.echo("Restarting SNMP service...") + clicommon.run_command("systemctl reset-failed snmp.service", display_cmd=False) + clicommon.run_command("systemctl restart snmp.service", display_cmd=False) + except SystemExit as e: + click.echo("Restart service snmp failed with error {}".format(e)) + raise click.Abort() + + +@contact.command('del') +@click.argument('contact', metavar='', required=True) +@clicommon.pass_db +def del_contact(db, contact): + """ Delete snmp contact name and email """ + snmp = db.cfgdb.get_table("SNMP") + try: + if not contact in (list(snmp['CONTACT'].keys()))[0]: + click.echo("SNMP contact {} is not configured".format(contact)) + sys.exit(1) + else: + db.cfgdb.set_entry('SNMP', 'CONTACT', None) + click.echo("SNMP contact {} removed from configuration".format(contact)) + try: + click.echo("Restarting SNMP service...") + clicommon.run_command("systemctl reset-failed snmp.service", display_cmd=False) + clicommon.run_command("systemctl restart snmp.service", display_cmd=False) + except SystemExit as e: + click.echo("Restart service snmp failed with error {}".format(e)) + raise click.Abort() + except KeyError: + if "CONTACT" not in snmp.keys(): + click.echo("Contact name {} is not configured".format(contact)) + sys.exit(2) + + +@contact.command('modify') +@click.argument('contact', metavar='', required=True) +@click.argument('contact_email', metavar='', required=True) +@clicommon.pass_db +def modify_contact(db, contact, contact_email): + """ Modify snmp contact""" + snmp = db.cfgdb.get_table("SNMP") + try: + current_snmp_contact_name = (list(snmp['CONTACT'].keys()))[0] + if current_snmp_contact_name == contact: + current_snmp_contact_email = snmp['CONTACT'][contact] + else: + current_snmp_contact_email = '' + if contact == current_snmp_contact_name and contact_email == current_snmp_contact_email: + click.echo("SNMP contact {} {} already exists".format(contact, contact_email)) + sys.exit(1) + elif contact == current_snmp_contact_name and contact_email != current_snmp_contact_email: + if not is_valid_email(contact_email): + click.echo("Contact email {} is not valid".format(contact_email)) + sys.exit(2) + db.cfgdb.mod_entry('SNMP', 'CONTACT', {contact: contact_email}) + click.echo("SNMP contact {} email updated to {}".format(contact, contact_email)) + try: + click.echo("Restarting SNMP service...") + clicommon.run_command("systemctl reset-failed snmp.service", display_cmd=False) + clicommon.run_command("systemctl restart snmp.service", display_cmd=False) + except SystemExit as e: + click.echo("Restart service snmp failed with error {}".format(e)) + raise click.Abort() + else: + if not is_valid_email(contact_email): + click.echo("Contact email {} is not valid".format(contact_email)) + sys.exit(2) + db.cfgdb.set_entry('SNMP', 'CONTACT', None) + db.cfgdb.set_entry('SNMP', 'CONTACT', {contact: contact_email}) + click.echo("SNMP contact {} and contact email {} updated".format(contact, contact_email)) + try: + click.echo("Restarting SNMP service...") + clicommon.run_command("systemctl reset-failed snmp.service", display_cmd=False) + clicommon.run_command("systemctl restart snmp.service", display_cmd=False) + except SystemExit as e: + click.echo("Restart service snmp failed with error {}".format(e)) + raise click.Abort() + except KeyError: + if "CONTACT" not in snmp.keys(): + click.echo("Contact name {} is not configured".format(contact)) + sys.exit(3) + + +@snmp.group(cls=clicommon.AbbreviationGroup) +@clicommon.pass_db +def location(db): + pass + + +@location.command('add') +@click.argument('location', metavar='', required=True, nargs=-1) +@clicommon.pass_db +def add_location(db, location): + """ Add snmp location""" + if isinstance(location, tuple): + location = " ".join(location) + elif isinstance(location, list): + location = " ".join(location) + snmp = db.cfgdb.get_table("SNMP") + try: + if snmp['LOCATION']: + click.echo("Location already exists") + sys.exit(1) + except KeyError: + if "LOCATION" not in snmp.keys(): + db.cfgdb.set_entry('SNMP', 'LOCATION', {'Location': location}) + click.echo("SNMP Location {} has been added to configuration".format(location)) + try: + click.echo("Restarting SNMP service...") + clicommon.run_command("systemctl reset-failed snmp.service", display_cmd=False) + clicommon.run_command("systemctl restart snmp.service", display_cmd=False) + except SystemExit as e: + click.echo("Restart service snmp failed with error {}".format(e)) + raise click.Abort() + + +@location.command('del') +@click.argument('location', metavar='', required=True, nargs=-1) +@clicommon.pass_db +def delete_location(db, location): + """ Delete snmp location""" + if isinstance(location, tuple): + location = " ".join(location) + elif isinstance(location, list): + location = " ".join(location) + snmp = db.cfgdb.get_table("SNMP") + try: + if location == snmp['LOCATION']['Location']: + db.cfgdb.set_entry('SNMP', 'LOCATION', None) + click.echo("SNMP Location {} removed from configuration".format(location)) + try: + click.echo("Restarting SNMP service...") + clicommon.run_command("systemctl reset-failed snmp.service", display_cmd=False) + clicommon.run_command("systemctl restart snmp.service", display_cmd=False) + except SystemExit as e: + click.echo("Restart service snmp failed with error {}".format(e)) + raise click.Abort() + else: + click.echo("SNMP Location {} does not exist. The location is {}".format(location, snmp['LOCATION']['Location'])) + sys.exit(1) + except KeyError: + if "LOCATION" not in snmp.keys(): + click.echo("SNMP Location {} is not configured".format(location)) + sys.exit(2) + + +@location.command('modify') +@click.argument('location', metavar='', required=True, nargs=-1) +@clicommon.pass_db +def modify_location(db, location): + """ Modify snmp location""" + if isinstance(location, tuple): + location = " ".join(location) + elif isinstance(location, list): + location = " ".join(location) + snmp = db.cfgdb.get_table("SNMP") + try: + snmp_location = snmp['LOCATION']['Location'] + if location in snmp_location: + click.echo("SNMP location {} already exists".format(location)) + sys.exit(1) + else: + db.cfgdb.mod_entry('SNMP', 'LOCATION', {'Location': location}) + click.echo("SNMP location {} modified in configuration".format(location)) + try: + click.echo("Restarting SNMP service...") + clicommon.run_command("systemctl reset-failed snmp.service", display_cmd=False) + clicommon.run_command("systemctl restart snmp.service", display_cmd=False) + except SystemExit as e: + click.echo("Restart service snmp failed with error {}".format(e)) + raise click.Abort() + except KeyError: + click.echo("Cannot modify SNMP Location. You must use 'config snmp location add command '") + sys.exit(2) + + +from enum import IntEnum +class SnmpUserError(IntEnum): + NameCheckFailure = 1 + TypeNoAuthNoPrivOrAuthNoPrivOrPrivCheckFailure = 2 + RoRwCheckFailure = 3 + NoAuthNoPrivHasAuthType = 4 + AuthTypeMd5OrShaOrHmacsha2IsMissing = 5 + AuthTypeMd5OrShaOrHmacsha2Failure = 6 + AuthPasswordMissing = 7 + AuthPasswordFailsComplexityRequirements = 8 + EncryptPasswordNotAllowedWithAuthNoPriv = 9 + EncryptTypeDesOrAesIsMissing = 10 + EncryptTypeFailsComplexityRequirements = 11 + EncryptPasswordMissingFailure = 12 + EncryptPasswordFailsComplexityRequirements = 13 + UserAlreadyConfigured = 14 + + +@snmp.group(cls=clicommon.AbbreviationGroup) +@clicommon.pass_db +def user(db): + pass + + +@user.command('add') +@click.argument('user', metavar='', required=True) +@click.argument('user_type', metavar='', required=True) +@click.argument('user_permission_type', metavar='', required=True) +@click.argument('user_auth_type', metavar='', required=False) +@click.argument('user_auth_password', metavar='', required=False) +@click.argument('user_encrypt_type', metavar='', required=False) +@click.argument('user_encrypt_password', metavar='', required=False) +@clicommon.pass_db +def add_user(db, user, user_type, user_permission_type, user_auth_type, user_auth_password, user_encrypt_type, + user_encrypt_password): + """ Add snmp user""" + if not snmp_username_check(user): + sys.exit(SnmpUserError.NameCheckFailure) + user_type = user_type.lower() + user_type_info = is_valid_user_type(user_type) + if not user_type_info[0]: + sys.exit(SnmpUserError.TypeNoAuthNoPrivOrAuthNoPrivOrPrivCheckFailure) + user_type = user_type_info[1] + user_permission_type = user_permission_type.upper() + if not is_valid_community_type(user_permission_type): + sys.exit(SnmpUserError.RoRwCheckFailure) + if user_type == "noAuthNoPriv": + if user_auth_type: + click.echo("User auth type not used with 'noAuthNoPriv'. Please use 'AuthNoPriv' or 'Priv' instead") + sys.exit(SnmpUserError.NoAuthNoPrivHasAuthType) + else: + if not user_auth_type: + click.echo("User auth type is missing. Must be MD5, SHA, or HMAC-SHA-2") + sys.exit(SnmpUserError.AuthTypeMd5OrShaOrHmacsha2IsMissing) + if user_auth_type: + user_auth_type = user_auth_type.upper() + if not is_valid_auth_type(user_auth_type): + sys.exit(SnmpUserError.AuthTypeMd5OrShaOrHmacsha2Failure) + elif not user_auth_password: + click.echo("User auth password is missing") + sys.exit(SnmpUserError.AuthPasswordMissing) + elif user_auth_password: + if not snmp_user_secret_check(user_auth_password): + sys.exit(SnmpUserError.AuthPasswordFailsComplexityRequirements) + if user_type == "AuthNoPriv": + if user_encrypt_type: + click.echo("User encrypt type not used with 'AuthNoPriv'. Please use 'Priv' instead") + sys.exit(SnmpUserError.EncryptPasswordNotAllowedWithAuthNoPriv) + elif user_type == "Priv": + if not user_encrypt_type: + click.echo("User encrypt type is missing. Must be DES or AES") + sys.exit(SnmpUserError.EncryptTypeDesOrAesIsMissing) + if user_encrypt_type: + user_encrypt_type = user_encrypt_type.upper() + if not is_valid_encrypt_type(user_encrypt_type): + sys.exit(SnmpUserError.EncryptTypeFailsComplexityRequirements) + elif not user_encrypt_password: + click.echo("User encrypt password is missing") + sys.exit(SnmpUserError.EncryptPasswordMissingFailure) + elif user_encrypt_password: + if not snmp_user_secret_check(user_encrypt_password): + sys.exit(SnmpUserError.EncryptPasswordFailsComplexityRequirements) + snmp_users = db.cfgdb.get_table("SNMP_USER") + if user in snmp_users.keys(): + click.echo("SNMP user {} is already configured".format(user)) + sys.exit(SnmpUserError.UserAlreadyConfigured) + else: + if not user_auth_type: + user_auth_type = '' + if not user_auth_password: + user_auth_password = '' + if not user_encrypt_type: + user_encrypt_type = '' + if not user_encrypt_password: + user_encrypt_password = '' + db.cfgdb.set_entry('SNMP_USER', user, {'SNMP_USER_TYPE': user_type, + 'SNMP_USER_PERMISSION': user_permission_type, + 'SNMP_USER_AUTH_TYPE': user_auth_type, + 'SNMP_USER_AUTH_PASSWORD': user_auth_password, + 'SNMP_USER_ENCRYPTION_TYPE': user_encrypt_type, + 'SNMP_USER_ENCRYPTION_PASSWORD': user_encrypt_password}) + click.echo("SNMP user {} added to configuration".format(user)) + try: + click.echo("Restarting SNMP service...") + clicommon.run_command("systemctl reset-failed snmp.service", display_cmd=False) + clicommon.run_command("systemctl restart snmp.service", display_cmd=False) + except SystemExit as e: + click.echo("Restart service snmp failed with error {}".format(e)) + raise click.Abort() + + +@user.command('del') +@click.argument('user', metavar='', required=True) +@clicommon.pass_db +def del_user(db, user): + """ Del snmp user""" + snmp_users = db.cfgdb.get_table("SNMP_USER") + if user not in snmp_users: + click.echo("SNMP user {} is not configured".format(user)) + sys.exit(1) + else: + db.cfgdb.set_entry('SNMP_USER', user, None) + click.echo("SNMP user {} removed from configuration".format(user)) + try: + click.echo("Restarting SNMP service...") + clicommon.run_command("systemctl reset-failed snmp.service", display_cmd=False) + clicommon.run_command("systemctl restart snmp.service", display_cmd=False) + except SystemExit as e: + click.echo("Restart service snmp failed with error {}".format(e)) + raise click.Abort() + # # 'bgp' group ('config bgp ...') # diff --git a/show/main.py b/show/main.py index d0ca14650a..1cea9e6534 100755 --- a/show/main.py +++ b/show/main.py @@ -377,6 +377,7 @@ def snmptrap (ctx): body.append([ver, traptable[row]['DestIp'], traptable[row]['DestPort'], traptable[row]['vrf'], traptable[row]['Community']]) click.echo(tabulate(body, header)) + # # 'subinterfaces' group ("show subinterfaces ...") # @@ -1109,20 +1110,6 @@ def interfaces(interfacename, verbose): run_command(cmd, display_cmd=verbose) -# 'snmp' subcommand ("show runningconfiguration snmp") -@runningconfiguration.command() -@click.argument('server', required=False) -@click.option('--verbose', is_flag=True, help="Enable verbose output") -def snmp(server, verbose): - """Show SNMP information""" - cmd = "sudo docker exec snmp cat /etc/snmp/snmpd.conf" - - if server is not None: - cmd += " | grep -i agentAddress" - - run_command(cmd, display_cmd=verbose) - - # 'ntp' subcommand ("show runningconfiguration ntp") @runningconfiguration.command() @click.option('--verbose', is_flag=True, help="Enable verbose output") @@ -1140,6 +1127,170 @@ def ntp(verbose): print(tabulate(ntp_dict, headers=list(ntp_dict.keys()), tablefmt="simple", stralign='left', missingval="")) + +# 'snmp' subcommand ("show runningconfiguration snmp") +@runningconfiguration.group("snmp", invoke_without_command=True) +@clicommon.pass_db +@click.pass_context +def snmp(ctx, db): + """Show SNMP running configuration""" + if ctx.invoked_subcommand is None: + show_run_snmp(db.cfgdb) + + +# ("show runningconfiguration snmp community") +@snmp.command('community') +@click.option('--json', 'json_output', required=False, is_flag=True, type=click.BOOL, + help="Display the output in JSON format") +@clicommon.pass_db +def community(db, json_output): + """show SNMP running configuration community""" + snmp_comm_header = ["Community String", "Community Type"] + snmp_comm_body = [] + snmp_comm_keys = db.cfgdb.get_table('SNMP_COMMUNITY') + snmp_comm_strings = snmp_comm_keys.keys() + if json_output: + click.echo(snmp_comm_keys) + else: + for line in snmp_comm_strings: + comm_string = line + comm_string_type = snmp_comm_keys[line]['TYPE'] + snmp_comm_body.append([comm_string, comm_string_type]) + click.echo(tabulate(natsorted(snmp_comm_body), snmp_comm_header)) + + +# ("show runningconfiguration snmp contact") +@snmp.command('contact') +@click.option('--json', 'json_output', required=False, is_flag=True, type=click.BOOL, + help="Display the output in JSON format") +@clicommon.pass_db +def contact(db, json_output): + """show SNMP running configuration contact""" + snmp = db.cfgdb.get_table('SNMP') + snmp_header = ["Contact", "Contact Email"] + snmp_body = [] + if json_output: + try: + if snmp['CONTACT']: + click.echo(snmp['CONTACT']) + except KeyError: + snmp['CONTACT'] = {} + click.echo(snmp['CONTACT']) + else: + try: + if snmp['CONTACT']: + snmp_contact = list(snmp['CONTACT'].keys()) + snmp_contact_email = [snmp['CONTACT'][snmp_contact[0]]] + snmp_body.append([snmp_contact[0], snmp_contact_email[0]]) + except KeyError: + snmp['CONTACT'] = '' + click.echo(tabulate(snmp_body, snmp_header)) + + +# ("show runningconfiguration snmp location") +@snmp.command('location') +@click.option('--json', 'json_output', required=False, is_flag=True, type=click.BOOL, + help="Display the output in JSON format") +@clicommon.pass_db +def location(db, json_output): + """show SNMP running configuration location""" + snmp = db.cfgdb.get_table('SNMP') + snmp_header = ["Location"] + snmp_body = [] + if json_output: + try: + if snmp['LOCATION']: + click.echo(snmp['LOCATION']) + except KeyError: + snmp['LOCATION'] = {} + click.echo(snmp['LOCATION']) + else: + try: + if snmp['LOCATION']: + snmp_location = [snmp['LOCATION']['Location']] + snmp_body.append(snmp_location) + except KeyError: + snmp['LOCATION'] = '' + click.echo(tabulate(snmp_body, snmp_header)) + + +# ("show runningconfiguration snmp user") +@snmp.command('user') +@click.option('--json', 'json_output', required=False, is_flag=True, type=click.BOOL, + help="Display the output in JSON format") +@clicommon.pass_db +def users(db, json_output): + """show SNMP running configuration user""" + snmp_users = db.cfgdb.get_table('SNMP_USER') + snmp_user_header = ['User', "Permission Type", "Type", "Auth Type", "Auth Password", "Encryption Type", + "Encryption Password"] + snmp_user_body = [] + if json_output: + click.echo(snmp_users) + else: + for snmp_user, snmp_user_value in snmp_users.items(): + snmp_user_permissions_type = snmp_users[snmp_user].get('SNMP_USER_PERMISSION', 'Null') + snmp_user_auth_type = snmp_users[snmp_user].get('SNMP_USER_AUTH_TYPE', 'Null') + snmp_user_auth_password = snmp_users[snmp_user].get('SNMP_USER_AUTH_PASSWORD', 'Null') + snmp_user_encryption_type = snmp_users[snmp_user].get('SNMP_USER_ENCRYPTION_TYPE', 'Null') + snmp_user_encryption_password = snmp_users[snmp_user].get('SNMP_USER_ENCRYPTION_PASSWORD', 'Null') + snmp_user_type = snmp_users[snmp_user].get('SNMP_USER_TYPE', 'Null') + snmp_user_body.append([snmp_user, snmp_user_permissions_type, snmp_user_type, snmp_user_auth_type, + snmp_user_auth_password, snmp_user_encryption_type, snmp_user_encryption_password]) + click.echo(tabulate(natsorted(snmp_user_body), snmp_user_header)) + + +# ("show runningconfiguration snmp") +@clicommon.pass_db +def show_run_snmp(db, ctx): + snmp_contact_location_table = db.cfgdb.get_table('SNMP') + snmp_comm_table = db.cfgdb.get_table('SNMP_COMMUNITY') + snmp_users = db.cfgdb.get_table('SNMP_USER') + snmp_location_header = ["Location"] + snmp_location_body = [] + snmp_contact_header = ["SNMP_CONTACT", "SNMP_CONTACT_EMAIL"] + snmp_contact_body = [] + snmp_comm_header = ["Community String", "Community Type"] + snmp_comm_body = [] + snmp_user_header = ['User', "Permission Type", "Type", "Auth Type", "Auth Password", "Encryption Type", + "Encryption Password"] + snmp_user_body = [] + try: + if snmp_contact_location_table['LOCATION']: + snmp_location = [snmp_contact_location_table['LOCATION']['Location']] + snmp_location_body.append(snmp_location) + except KeyError: + snmp_contact_location_table['LOCATION'] = '' + click.echo(tabulate(snmp_location_body, snmp_location_header)) + click.echo("\n") + try: + if snmp_contact_location_table['CONTACT']: + snmp_contact = list(snmp_contact_location_table['CONTACT'].keys()) + snmp_contact_email = [snmp_contact_location_table['CONTACT'][snmp_contact[0]]] + snmp_contact_body.append([snmp_contact[0], snmp_contact_email[0]]) + except KeyError: + snmp_contact_location_table['CONTACT'] = '' + click.echo(tabulate(snmp_contact_body, snmp_contact_header)) + click.echo("\n") + snmp_comm_strings = snmp_comm_table.keys() + for line in snmp_comm_strings: + comm_string = line + comm_string_type = snmp_comm_table[line]['TYPE'] + snmp_comm_body.append([comm_string, comm_string_type]) + click.echo(tabulate(natsorted(snmp_comm_body), snmp_comm_header)) + click.echo("\n") + for snmp_user, snmp_user_value in snmp_users.items(): + snmp_user_permissions_type = snmp_users[snmp_user].get('SNMP_USER_PERMISSION', 'Null') + snmp_user_auth_type = snmp_users[snmp_user].get('SNMP_USER_AUTH_TYPE', 'Null') + snmp_user_auth_password = snmp_users[snmp_user].get('SNMP_USER_AUTH_PASSWORD', 'Null') + snmp_user_encryption_type = snmp_users[snmp_user].get('SNMP_USER_ENCRYPTION_TYPE', 'Null') + snmp_user_encryption_password = snmp_users[snmp_user].get('SNMP_USER_ENCRYPTION_PASSWORD', 'Null') + snmp_user_type = snmp_users[snmp_user].get('SNMP_USER_TYPE', 'Null') + snmp_user_body.append([snmp_user, snmp_user_permissions_type, snmp_user_type, snmp_user_auth_type, + snmp_user_auth_password, snmp_user_encryption_type, snmp_user_encryption_password]) + click.echo(tabulate(natsorted(snmp_user_body), snmp_user_header)) + + # 'syslog' subcommand ("show runningconfiguration syslog") @runningconfiguration.command() @click.option('--verbose', is_flag=True, help="Enable verbose output") diff --git a/tests/config_snmp_test.py b/tests/config_snmp_test.py new file mode 100644 index 0000000000..1be2704e47 --- /dev/null +++ b/tests/config_snmp_test.py @@ -0,0 +1,872 @@ +import sys +import os +import click +from click.testing import CliRunner + +import show.main as show +import clear.main as clear +import config.main as config + +import pytest + +from unittest import mock +from unittest.mock import patch +from utilities_common.db import Db + +tabular_data_show_run_snmp_contact_expected = """\ +Contact Contact Email\n--------- --------------------\ntestuser testuser@contoso.com +""" + +json_data_show_run_snmp_contact_expected = """\ +{'testuser': 'testuser@contoso.com'} +""" + +config_snmp_contact_add_del_new_contact ="""\ +Contact name testuser and contact email testuser@contoso.com have been added to configuration +Restarting SNMP service... +""" + +config_snmp_location_add_new_location ="""\ +SNMP Location public has been added to configuration +Restarting SNMP service... +""" + + +expected_snmp_community_add_new_community_ro_output = {"TYPE": "RO"} +expected_snmp_community_add_new_community_rw_output = {"TYPE": "RW"} +expected_snmp_community_replace_existing_community_with_new_community_output = {'TYPE': 'RW'} + +expected_snmp_user_priv_ro_md5_des_config_db_output = {'SNMP_USER_AUTH_PASSWORD': 'user_auth_pass', + 'SNMP_USER_AUTH_TYPE': 'MD5', + 'SNMP_USER_ENCRYPTION_PASSWORD': 'user_encrypt_pass', + 'SNMP_USER_ENCRYPTION_TYPE': 'DES', + 'SNMP_USER_PERMISSION': 'RO', + 'SNMP_USER_TYPE': 'Priv'} +expected_snmp_user_priv_ro_md5_aes_config_db_output = {'SNMP_USER_AUTH_PASSWORD': 'user_auth_pass', + 'SNMP_USER_AUTH_TYPE': 'MD5', + 'SNMP_USER_ENCRYPTION_PASSWORD': 'user_encrypt_pass', + 'SNMP_USER_ENCRYPTION_TYPE': 'AES', + 'SNMP_USER_PERMISSION': 'RO', + 'SNMP_USER_TYPE': 'Priv'} +expected_snmp_user_priv_ro_sha_des_config_db_output = {'SNMP_USER_AUTH_PASSWORD': 'user_auth_pass', + 'SNMP_USER_AUTH_TYPE': 'SHA', + 'SNMP_USER_ENCRYPTION_PASSWORD': 'user_encrypt_pass', + 'SNMP_USER_ENCRYPTION_TYPE': 'DES', + 'SNMP_USER_PERMISSION': 'RO', + 'SNMP_USER_TYPE': 'Priv'} +expected_snmp_user_priv_ro_sha_aes_config_db_output = {'SNMP_USER_AUTH_PASSWORD': 'user_auth_pass', + 'SNMP_USER_AUTH_TYPE': 'SHA', + 'SNMP_USER_ENCRYPTION_PASSWORD': 'user_encrypt_pass', + 'SNMP_USER_ENCRYPTION_TYPE': 'AES', + 'SNMP_USER_PERMISSION': 'RO', + 'SNMP_USER_TYPE': 'Priv'} +expected_snmp_user_priv_ro_hmac_sha_2_des_config_db_output = {'SNMP_USER_AUTH_PASSWORD': 'user_auth_pass', + 'SNMP_USER_AUTH_TYPE': 'HMAC-SHA-2', + 'SNMP_USER_ENCRYPTION_PASSWORD': 'user_encrypt_pass', + 'SNMP_USER_ENCRYPTION_TYPE': 'DES', + 'SNMP_USER_PERMISSION': 'RO', + 'SNMP_USER_TYPE': 'Priv'} +expected_snmp_user_priv_ro_hmac_sha_2_aes_config_db_output = {'SNMP_USER_AUTH_PASSWORD': 'user_auth_pass', + 'SNMP_USER_AUTH_TYPE': 'HMAC-SHA-2', + 'SNMP_USER_ENCRYPTION_PASSWORD': 'user_encrypt_pass', + 'SNMP_USER_ENCRYPTION_TYPE': 'AES', + 'SNMP_USER_PERMISSION': 'RO', + 'SNMP_USER_TYPE': 'Priv'} +expected_snmp_user_priv_rw_md5_des_config_db_output = {'SNMP_USER_AUTH_PASSWORD': 'user_auth_pass', + 'SNMP_USER_AUTH_TYPE': 'MD5', + 'SNMP_USER_ENCRYPTION_PASSWORD': 'user_encrypt_pass', + 'SNMP_USER_ENCRYPTION_TYPE': 'DES', + 'SNMP_USER_PERMISSION': 'RW', + 'SNMP_USER_TYPE': 'Priv'} +expected_snmp_user_priv_rw_md5_aes_config_db_output = {'SNMP_USER_AUTH_PASSWORD': 'user_auth_pass', + 'SNMP_USER_AUTH_TYPE': 'MD5', + 'SNMP_USER_ENCRYPTION_PASSWORD': 'user_encrypt_pass', + 'SNMP_USER_ENCRYPTION_TYPE': 'AES', + 'SNMP_USER_PERMISSION': 'RW', + 'SNMP_USER_TYPE': 'Priv'} +expected_snmp_user_priv_rw_sha_des_config_db_output = {'SNMP_USER_AUTH_PASSWORD': 'user_auth_pass', + 'SNMP_USER_AUTH_TYPE': 'SHA', + 'SNMP_USER_ENCRYPTION_PASSWORD': 'user_encrypt_pass', + 'SNMP_USER_ENCRYPTION_TYPE': 'DES', + 'SNMP_USER_PERMISSION': 'RW', + 'SNMP_USER_TYPE': 'Priv'} +expected_snmp_user_priv_rw_sha_aes_config_db_output = {'SNMP_USER_AUTH_PASSWORD': 'user_auth_pass', + 'SNMP_USER_AUTH_TYPE': 'SHA', + 'SNMP_USER_ENCRYPTION_PASSWORD': 'user_encrypt_pass', + 'SNMP_USER_ENCRYPTION_TYPE': 'AES', + 'SNMP_USER_PERMISSION': 'RW', + 'SNMP_USER_TYPE': 'Priv'} +expected_snmp_user_priv_rw_hmac_sha_2_des_config_db_output = {'SNMP_USER_AUTH_PASSWORD': 'user_auth_pass', + 'SNMP_USER_AUTH_TYPE': 'HMAC-SHA-2', + 'SNMP_USER_ENCRYPTION_PASSWORD': 'user_encrypt_pass', + 'SNMP_USER_ENCRYPTION_TYPE': 'DES', + 'SNMP_USER_PERMISSION': 'RW', + 'SNMP_USER_TYPE': 'Priv'} +expected_snmp_user_priv_rw_hmac_sha_2_aes_config_db_output = {'SNMP_USER_AUTH_PASSWORD': 'user_auth_pass', + 'SNMP_USER_AUTH_TYPE': 'HMAC-SHA-2', + 'SNMP_USER_ENCRYPTION_PASSWORD': 'user_encrypt_pass', + 'SNMP_USER_ENCRYPTION_TYPE': 'AES', + 'SNMP_USER_PERMISSION': 'RW', + 'SNMP_USER_TYPE': 'Priv'} + +class TestSNMPConfigCommands(object): + @classmethod + def setup_class(cls): + print("SETUP") + os.environ["UTILITIES_UNIT_TESTING"] = "1" + + # Add snmp community tests + def test_config_snmp_community_add_new_community_ro(self): + db = Db() + runner = CliRunner() + with mock.patch('utilities_common.cli.run_command') as mock_run_command: + result = runner.invoke(config.config.commands["snmp"].commands["community"].commands["add"], + ["Everest", "ro"], obj=db) + print(result.exit_code) + assert result.exit_code == 0 + assert 'SNMP community Everest added to configuration' in result.output + assert db.cfgdb.get_entry("SNMP_COMMUNITY", "Everest") == expected_snmp_community_add_new_community_ro_output + + def test_config_snmp_community_add_new_community_rw(self): + db = Db() + runner = CliRunner() + with mock.patch('utilities_common.cli.run_command') as mock_run_command: + result = runner.invoke(config.config.commands["snmp"].commands["community"].commands["add"], + ["Shasta", "rw"], obj=db) + print(result.exit_code) + assert result.exit_code == 0 + assert 'SNMP community Shasta added to configuration' in result.output + assert db.cfgdb.get_entry("SNMP_COMMUNITY", "Shasta") == expected_snmp_community_add_new_community_rw_output + + def test_config_snmp_community_add_new_community_with_invalid_type(self): + runner = CliRunner() + result = runner.invoke(config.config.commands["snmp"].commands["community"].commands["add"], ["Everest", "RT"]) + print(result.exit_code) + assert result.exit_code == 1 + assert 'Invalid community type. Must be either RO or RW' in result.output + + def test_config_snmp_community_add_invalid_community_over_32_characters(self): + runner = CliRunner() + result = runner.invoke(config.config.commands["snmp"].commands["community"].commands["add"], + ["over_32_character_community_string", "ro"]) + print(result.exit_code) + assert result.exit_code == 2 + assert 'FAILED: SNMP community string length should be not be greater than 32' in result.output + + def test_config_snmp_community_add_invalid_community_with_excluded_special_characters(self): + runner = CliRunner() + result = runner.invoke(config.config.commands["snmp"].commands["community"].commands["add"], + ["Test@snmp", "ro"]) + print(result.exit_code) + assert result.exit_code == 2 + assert 'FAILED: SNMP community string should not have any of these special symbols' in result.output + + def test_config_snmp_community_add_existing_community(self): + runner = CliRunner() + result = runner.invoke(config.config.commands["snmp"].commands["community"].commands["add"], ["Rainer", "rw"]) + print(result.exit_code) + assert result.exit_code == 3 + assert 'SNMP community Rainer is already configured' in result.output + + # Del snmp community tests + def test_config_snmp_community_del_existing_community(self): + db = Db() + runner = CliRunner() + with mock.patch('utilities_common.cli.run_command') as mock_run_command: + result = runner.invoke(config.config.commands["snmp"].commands["community"].commands["del"], + ["Rainer"], obj=db) + print(result.exit_code) + assert result.exit_code == 0 + assert 'SNMP community Rainer removed from configuration' in result.output + assert db.cfgdb.get_entry("SNMP_COMMUNITY", "Everest") == {} + + def test_config_snmp_community_del_non_existing_community(self): + runner = CliRunner() + result = runner.invoke(config.config.commands["snmp"].commands["community"].commands["del"], ["Everest"]) + print(result.exit_code) + assert result.exit_code == 1 + assert 'SNMP community Everest is not configured' in result.output + + # Replace snmp community tests + def test_config_snmp_community_replace_existing_community_with_new_community(self): + db = Db() + runner = CliRunner() + with mock.patch('utilities_common.cli.run_command') as mock_run_command: + result = runner.invoke(config.config.commands["snmp"].commands["community"].commands["replace"], + ["Rainer", "Everest"], obj=db) + print(result.exit_code) + assert result.exit_code == 0 + assert 'SNMP community Everest added to configuration' in result.output + assert db.cfgdb.get_entry("SNMP_COMMUNITY", "Everest") == \ + expected_snmp_community_replace_existing_community_with_new_community_output + + def test_config_snmp_community_replace_existing_community_non_existing_community(self): + runner = CliRunner() + result = runner.invoke(config.config.commands["snmp"].commands["community"].commands["replace"], + ["Denali", "Everest"]) + print(result.exit_code) + assert result.exit_code == 1 + assert 'Current SNMP community Denali is not configured' in result.output + + def test_config_snmp_community_replace_new_community_already_exists(self): + runner = CliRunner() + result = runner.invoke(config.config.commands["snmp"].commands["community"].commands["replace"], + ["Rainer", "msft"]) + print(result.exit_code) + assert result.exit_code == 3 + assert 'New SNMP community msft to replace current SNMP community Rainer already configured' in result.output + + def test_config_snmp_community_replace_with_invalid_new_community_bad_symbol(self): + runner = CliRunner() + result = runner.invoke(config.config.commands["snmp"].commands["community"].commands["replace"], + ["Rainer", "msft@"]) + print(result.exit_code) + assert result.exit_code == 2 + assert 'FAILED: SNMP community string should not have any of these special symbols' in result.output + + def test_config_snmp_community_replace_with_invalid_new_community_over_32_chars(self): + runner = CliRunner() + result = runner.invoke(config.config.commands["snmp"].commands["community"].commands["replace"], + ["Rainer", "over_32_characters_community_string"]) + print(result.exit_code) + assert result.exit_code == 2 + assert 'FAILED: SNMP community string length should be not be greater than 32' in result.output + + + # Del snmp contact when CONTACT not setup in REDIS + def test_config_snmp_contact_del_without_contact_redis(self): + db = Db() + runner = CliRunner() + result = runner.invoke(config.config.commands["snmp"].commands["contact"].commands["del"], ["blah"], obj=db) + print(result.exit_code) + assert result.exit_code == 2 + assert 'Contact name blah is not configured' in result.output + assert db.cfgdb.get_entry("SNMP", "CONTACT") == {} + + def test_config_snmp_contact_modify_without_contact_redis(self): + db = Db() + runner = CliRunner() + result = runner.invoke(config.config.commands["snmp"].commands["contact"].commands["modify"], + ["blah", "blah@contoso.com"], obj=db) + print(result.exit_code) + assert result.exit_code == 3 + assert 'Contact name blah is not configured' in result.output + assert db.cfgdb.get_entry("SNMP", "CONTACT") == {} + + def test_config_snmp_contact_add_del_new_contact(self): + db = Db() + runner = CliRunner() + with mock.patch('utilities_common.cli.run_command') as mock_run_command: + result = runner.invoke(config.config.commands["snmp"].commands["contact"].commands["add"], + ["testuser", "testuser@contoso.com"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == config_snmp_contact_add_del_new_contact + assert db.cfgdb.get_entry("SNMP", "CONTACT") == {"testuser": "testuser@contoso.com"} + + result = runner.invoke(config.config.commands["snmp"].commands["contact"].commands["del"], + ["testuser"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert 'SNMP contact testuser removed from configuration' in result.output + assert db.cfgdb.get_entry("SNMP", "CONTACT") == {} + + # Add snmp contact tests + def test_config_snmp_contact_add_with_existing_contact(self): + db = Db() + runner = CliRunner() + with mock.patch('utilities_common.cli.run_command') as mock_run_command: + result = runner.invoke(config.config.commands["snmp"].commands["contact"].commands["add"], + ["testuser", "testuser@contoso.com"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == config_snmp_contact_add_del_new_contact + assert db.cfgdb.get_entry("SNMP", "CONTACT") == {"testuser": "testuser@contoso.com"} + + result = runner.invoke(config.config.commands["snmp"].commands["contact"].commands["add"], + ["blah", "blah@contoso.com"], obj=db) + print(result.exit_code) + assert result.exit_code == 1 + assert 'Contact already exists. Use sudo config snmp contact modify instead' in result.output + + def test_config_snmp_contact_add_invalid_email(self): + db = Db() + runner = CliRunner() + with mock.patch('utilities_common.cli.run_command') as mock_run_command: + result = runner.invoke(config.config.commands["snmp"].commands["contact"].commands["add"], + ["testuser", "testusercontoso.com"], obj=db) + print(result.exit_code) + assert result.exit_code == 2 + assert "Contact email testusercontoso.com is not valid" in result.output + + + # Delete snmp contact tests + def test_config_snmp_contact_del_new_contact_when_contact_exists(self): + db = Db() + runner = CliRunner() + with mock.patch('utilities_common.cli.run_command') as mock_run_command: + result = runner.invoke(config.config.commands["snmp"].commands["contact"].commands["add"], + ["testuser", "testuser@contoso.com"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == config_snmp_contact_add_del_new_contact + assert db.cfgdb.get_entry("SNMP", "CONTACT") == {"testuser": "testuser@contoso.com"} + + result = runner.invoke(config.config.commands["snmp"].commands["contact"].commands["del"], ["blah"], obj=db) + print(result.exit_code) + assert result.exit_code == 1 + assert 'SNMP contact blah is not configured' in result.output + + def test_config_snmp_contact_del_with_existing_contact(self): + db = Db() + runner = CliRunner() + with mock.patch('utilities_common.cli.run_command') as mock_run_command: + result = runner.invoke(config.config.commands["snmp"].commands["contact"].commands["add"], + ["testuser", "testuser@contoso.com"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == config_snmp_contact_add_del_new_contact + assert db.cfgdb.get_entry("SNMP", "CONTACT") == {"testuser": "testuser@contoso.com"} + + result = runner.invoke(config.config.commands["snmp"].commands["contact"].commands["del"], + ["testuser"], obj=db) + print(result.exit_code) + assert result.exit_code == 0 + assert 'SNMP contact testuser removed from configuration' in result.output + assert db.cfgdb.get_entry("SNMP", "CONTACT") == {} + + # Modify snmp contact tests + def test_config_snmp_contact_modify_email_with_existing_contact(self): + db = Db() + runner = CliRunner() + with mock.patch('utilities_common.cli.run_command') as mock_run_command: + result = runner.invoke(config.config.commands["snmp"].commands["contact"].commands["add"], + ["testuser", "testuser@contoso.com"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == config_snmp_contact_add_del_new_contact + assert db.cfgdb.get_entry("SNMP", "CONTACT") == {"testuser": "testuser@contoso.com"} + + result = runner.invoke(config.config.commands["snmp"].commands["contact"].commands["modify"], + ["testuser", "testuser@test.com"], obj=db) + print(result.exit_code) + assert result.exit_code == 0 + assert 'SNMP contact testuser email updated to testuser@test.com' in result.output + assert db.cfgdb.get_entry("SNMP", "CONTACT") == {"testuser": "testuser@test.com"} + + def test_config_snmp_contact_modify_contact_and_email_with_existing_entry(self): + db = Db() + runner = CliRunner() + with mock.patch('utilities_common.cli.run_command') as mock_run_command: + result = runner.invoke(config.config.commands["snmp"].commands["contact"].commands["add"], + ["testuser", "testuser@contoso.com"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == config_snmp_contact_add_del_new_contact + assert db.cfgdb.get_entry("SNMP", "CONTACT") == {"testuser": "testuser@contoso.com"} + + result = runner.invoke(config.config.commands["snmp"].commands["contact"].commands["modify"], + ["testuser", "testuser@contoso.com"], obj=db) + print(result.exit_code) + assert result.exit_code == 1 + assert 'SNMP contact testuser testuser@contoso.com already exists' in result.output + + def test_config_snmp_contact_modify_existing_contact_with_invalid_email(self): + db = Db() + runner = CliRunner() + with mock.patch('utilities_common.cli.run_command') as mock_run_command: + result = runner.invoke(config.config.commands["snmp"].commands["contact"].commands["add"], + ["testuser", "testuser@contoso.com"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == config_snmp_contact_add_del_new_contact + assert db.cfgdb.get_entry("SNMP", "CONTACT") == {"testuser": "testuser@contoso.com"} + + result = runner.invoke(config.config.commands["snmp"].commands["contact"].commands["modify"], + ["testuser", "testuser@contosocom"], obj=db) + print(result.exit_code) + assert result.exit_code == 2 + assert 'Contact email testuser@contosocom is not valid' in result.output + + + def test_config_snmp_contact_modify_new_contact_with_invalid_email(self): + db = Db() + runner = CliRunner() + with mock.patch('utilities_common.cli.run_command') as mock_run_command: + result = runner.invoke(config.config.commands["snmp"].commands["contact"].commands["add"], + ["testuser", "testuser@contoso.com"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == config_snmp_contact_add_del_new_contact + assert db.cfgdb.get_entry("SNMP", "CONTACT") == {"testuser": "testuser@contoso.com"} + + result = runner.invoke(config.config.commands["snmp"].commands["contact"].commands["modify"], + ["blah", "blah@contoso@com"], obj=db) + print(result.exit_code) + assert result.exit_code == 2 + assert 'Contact email blah@contoso@com is not valid' in result.output + + # Add snmp location tests + def test_config_snmp_location_add_exiting_location_with_same_location_already_existing(self): + db = Db() + runner = CliRunner() + with mock.patch('utilities_common.cli.run_command') as mock_run_command: + result = runner.invoke(config.config.commands["snmp"].commands["location"].commands["add"], + ["public"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == config_snmp_location_add_new_location + assert db.cfgdb.get_entry("SNMP", "LOCATION") == {"Location": "public"} + + result = runner.invoke(config.config.commands["snmp"].commands["location"].commands["add"], + ["public"], obj=db) + print(result.exit_code) + assert result.exit_code == 1 + assert 'Location already exists' in result.output + + def test_config_snmp_location_add_new_location_with_location_already_existing(self): + db = Db() + runner = CliRunner() + with mock.patch('utilities_common.cli.run_command') as mock_run_command: + result = runner.invoke(config.config.commands["snmp"].commands["location"].commands["add"], + ["public"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == config_snmp_location_add_new_location + assert db.cfgdb.get_entry("SNMP", "LOCATION") == {"Location": "public"} + + result = runner.invoke(config.config.commands["snmp"].commands["location"].commands["add"], + ["Mile High"], obj=db) + print(result.exit_code) + assert result.exit_code == 1 + assert 'Location already exists' in result.output + + # Del snmp location tests + def test_config_snmp_location_del_with_existing_location(self): + db = Db() + runner = CliRunner() + with mock.patch('utilities_common.cli.run_command') as mock_run_command: + result = runner.invoke(config.config.commands["snmp"].commands["location"].commands["add"], + ["public"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == config_snmp_location_add_new_location + assert db.cfgdb.get_entry("SNMP", "LOCATION") == {"Location": "public"} + + result = runner.invoke(config.config.commands["snmp"].commands["location"].commands["del"], + ["public"], obj=db) + print(result.exit_code) + assert result.exit_code == 0 + assert 'SNMP Location public removed from configuration' in result.output + assert db.cfgdb.get_entry("SNMP", "LOCATION") == {} + + def test_config_snmp_location_del_new_location_with_location_already_existing(self): + db = Db() + runner = CliRunner() + with mock.patch('utilities_common.cli.run_command') as mock_run_command: + result = runner.invoke(config.config.commands["snmp"].commands["location"].commands["add"], + ["public"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == config_snmp_location_add_new_location + assert db.cfgdb.get_entry("SNMP", "LOCATION") == {"Location": "public"} + + result = runner.invoke(config.config.commands["snmp"].commands["location"].commands["del"], + ["Mile High"], obj=db) + print(result.exit_code) + assert result.exit_code == 1 + assert 'SNMP Location Mile High does not exist. The location is public' in result.output + + # Modify snmp location tests + def test_config_snmp_location_modify_with_same_location(self): + db = Db() + runner = CliRunner() + with mock.patch('utilities_common.cli.run_command') as mock_run_command: + result = runner.invoke(config.config.commands["snmp"].commands["location"].commands["add"], + ["public"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == config_snmp_location_add_new_location + assert db.cfgdb.get_entry("SNMP", "LOCATION") == {"Location": "public"} + + result = runner.invoke(config.config.commands["snmp"].commands["location"].commands["modify"], + ["public"], obj=db) + print(result.exit_code) + assert result.exit_code == 1 + assert 'SNMP location public already exists' in result.output + + def test_config_snmp_location_modify_without_redis(self): + db = Db() + runner = CliRunner() + with mock.patch('utilities_common.cli.run_command') as mock_run_command: + result = runner.invoke(config.config.commands["snmp"].commands["location"].commands["modify"], + ["Rainer"],obj=db) + print(result.exit_code) + assert result.exit_code == 2 + assert "Cannot modify SNMP Location. You must use 'config snmp location add " \ + "command '" in result.output + assert db.cfgdb.get_entry("SNMP", "LOCATION") == {} + + def test_config_snmp_location_modify_without_existing_location(self): + db = Db() + runner = CliRunner() + with mock.patch('utilities_common.cli.run_command') as mock_run_command: + result = runner.invoke(config.config.commands["snmp"].commands["location"].commands["add"], + ["public"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == config_snmp_location_add_new_location + assert db.cfgdb.get_entry("SNMP", "LOCATION") == {"Location": "public"} + + result = runner.invoke(config.config.commands["snmp"].commands["location"].commands["modify"], + ["Rainer"],obj=db) + print(result.exit_code) + assert result.exit_code == 0 + assert "SNMP location Rainer modified in configuration" in result.output + assert db.cfgdb.get_entry("SNMP", "LOCATION") == {"Location": "Rainer"} + + # Add snmp user tests + def test_config_snmp_user_add_invalid_user_name_over_32_characters(self): + runner = CliRunner() + result = runner.invoke(config.config.commands["snmp"].commands["user"].commands["add"], + ["over_32_characters_community_user", "noAUthNoPRiv", "ro"]) + print(result.exit_code) + assert result.exit_code == 1 + assert 'FAILED: SNMP user over_32_characters_community_user length should not be greater than 32 characters' \ + in result.output + + def test_config_snmp_user_add_excluded_special_characters_in_username(self): + runner = CliRunner() + result = runner.invoke(config.config.commands["snmp"].commands["user"].commands["add"], + ["Test@user", "noAUthNoPRiv", "ro"]) + print(result.exit_code) + assert result.exit_code == 1 + assert 'FAILED: SNMP user Test@user should not have any of these special symbols' in result.output + + def test_config_snmp_user_add_existing_user(self): + runner = CliRunner() + result = runner.invoke(config.config.commands["snmp"].commands["user"].commands["add"], + ["test_nopriv_RO_1", "noAUthNoPRiv", "ro"]) + print(result.exit_code) + assert result.exit_code == 14 + assert 'SNMP user test_nopriv_RO_1 is already configured' in result.output + + def test_config_snmp_user_add_invalid_user_type(self): + runner = CliRunner() + result = runner.invoke(config.config.commands["snmp"].commands["user"].commands["add"], + ["test_nopriv_RO_3", "nopriv", "ro"]) + print(result.exit_code) + print(result) + print(result.output) + assert result.exit_code == 2 + assert "Invalid user type. Must be one of these one of these three 'noauthnopriv' or 'authnopriv' or 'priv'" in result.output + + def test_config_snmp_user_add_invalid_permission_type(self): + runner = CliRunner() + result = runner.invoke(config.config.commands["snmp"].commands["user"].commands["add"], + ["test_nopriv_RO_3", "noauthnopriv", "ab"]) + print(result.exit_code) + assert result.exit_code == 3 + assert "Invalid community type. Must be either RO or RW" in result.output + + def test_config_snmp_user_add_user_type_noauthnopriv_with_unnecessary_auth_type(self): + runner = CliRunner() + result = runner.invoke(config.config.commands["snmp"].commands["user"].commands["add"], + ["test_nopriv_RO_3", "noauthnopriv", "ro", "sha"]) + print(result.exit_code) + assert result.exit_code == 4 + assert "User auth type not used with 'noAuthNoPriv'. Please use 'AuthNoPriv' or 'Priv' instead" in result.output + + def test_config_snmp_user_add_user_type_authnopriv_missing_auth_type(self): + runner = CliRunner() + result = runner.invoke(config.config.commands["snmp"].commands["user"].commands["add"], + ["test_nopriv_RO_3", "authnopriv", "ro"]) + print(result.exit_code) + assert result.exit_code == 5 + assert "User auth type is missing. Must be MD5, SHA, or HMAC-SHA-2" in result.output + + def test_config_snmp_user_add_user_type_authnopriv_missing_auth_password(self): + runner = CliRunner() + result = runner.invoke(config.config.commands["snmp"].commands["user"].commands["add"], + ["test_nopriv_RO_3", "authnopriv", "ro", "sha"]) + print(result.exit_code) + assert result.exit_code == 7 + assert "User auth password is missing" in result.output + + def test_config_snmp_user_add_user_type_authnopriv_with_unnecessary_encrypt_type(self): + runner = CliRunner() + result = runner.invoke(config.config.commands["snmp"].commands["user"].commands["add"], + ["test_nopriv_RO_3", "authnopriv", "ro", "sha", "testauthpass", "DES"]) + print(result.exit_code) + assert result.exit_code == 9 + assert "User encrypt type not used with 'AuthNoPriv'. Please use 'Priv' instead" in result.output + + def test_config_snmp_user_add_user_type_priv_missing_auth_type(self): + runner = CliRunner() + result = runner.invoke(config.config.commands["snmp"].commands["user"].commands["add"], + ["test_nopriv_RO_3", "priv", "ro"]) + print(result.exit_code) + assert result.exit_code == 5 + assert "User auth type is missing. Must be MD5, SHA, or HMAC-SHA-2" in result.output + + def test_config_snmp_user_add_user_type_priv_missing_auth_password(self): + runner = CliRunner() + result = runner.invoke(config.config.commands["snmp"].commands["user"].commands["add"], + ["test_nopriv_RO_3", "priv", "ro", "md5"]) + print(result.exit_code) + assert result.exit_code == 7 + assert "User auth password is missing" in result.output + + def test_config_snmp_user_add_user_type_priv_missing_encrypt_type(self): + runner = CliRunner() + result = runner.invoke(config.config.commands["snmp"].commands["user"].commands["add"], + ["test_nopriv_RO_3", "priv", "ro", "md5", "testauthpass"]) + print(result.exit_code) + assert result.exit_code == 10 + assert "User encrypt type is missing. Must be DES or AES" in result.output + + def test_config_snmp_user_add_user_type_priv_invalid_encrypt_password_over_64_characters(self): + runner = CliRunner() + result = runner.invoke(config.config.commands["snmp"].commands["user"].commands["add"], + ["test_nopriv_RO_3", "priv", "ro", "md5", "testauthpass", "DES", + "superlongencryptionpasswordtotestbeingoverthesixtyfourcharacterlimit"]) + print(result.exit_code) + assert result.exit_code == 13 + assert "FAILED: SNMP user password length should be not be greater than 64" in result.output + + def test_config_snmp_user_add_user_type_priv_invalid_encrypt_password_excluded_special_characters(self): + runner = CliRunner() + result = runner.invoke(config.config.commands["snmp"].commands["user"].commands["add"], + ["test_nopriv_RO_3", "priv", "ro", "md5", "testauthpass", "DES", "testencrypt@pass"]) + print(result.exit_code) + assert result.exit_code == 13 + assert "FAILED: SNMP user password should not have any of these special symbols" in result.output + + def test_config_snmp_user_add_user_type_priv_invalid_encrypt_password_not_long_enough(self): + runner = CliRunner() + result = runner.invoke(config.config.commands["snmp"].commands["user"].commands["add"], + ["test_nopriv_RO_3", "priv", "ro", "md5", "testauthpass", "DES", "test1"]) + print(result.exit_code) + assert result.exit_code == 13 + assert "FAILED: SNMP user password length should be at least 8 characters" in result.output + + def test_config_snmp_user_add_invalid_auth_type(self): + runner = CliRunner() + result = runner.invoke(config.config.commands["snmp"].commands["user"].commands["add"], + ["test_nopriv_RO_3", "authnopriv", "ro", "DM5", "user_auth_pass"]) + print(result.exit_code) + assert result.exit_code == 6 + assert "Invalid user authentication type. Must be one of these 'MD5', 'SHA', or 'HMAC-SHA-2'" in result.output + + def test_config_snmp_user_add_missing_auth_password(self): + runner = CliRunner() + result = runner.invoke(config.config.commands["snmp"].commands["user"].commands["add"], + ["test_nopriv_RO_3", "authnopriv", "ro", "SHA", ""]) + print(result.exit_code) + assert result.exit_code == 7 + assert 'User auth password is missing' in result.output + + def test_config_snmp_user_add_invalid_encrypt_type(self): + runner = CliRunner() + result = runner.invoke(config.config.commands["snmp"].commands["user"].commands["add"], + ["test_nopriv_RO_3", "priv", "ro", "SHA", "user_auth_pass", "EAS", "user_encrypt_pass"]) + print(result.exit_code) + assert result.exit_code == 11 + assert "Invalid user encryption type. Must be one of these two 'DES' or 'AES'" in result.output + + def test_config_snmp_user_add_missing_encrypt_password(self): + runner = CliRunner() + result = runner.invoke(config.config.commands["snmp"].commands["user"].commands["add"], + ["test_nopriv_RO_3", "priv", "ro", "SHA", "user_auth_pass", "AES"]) + print(result.exit_code) + assert result.exit_code == 12 + assert 'User encrypt password is missing' in result.output + + def test_config_snmp_user_add_user_already_existing(self): + runner = CliRunner() + result = runner.invoke(config.config.commands["snmp"].commands["user"].commands["add"], + ["test_nopriv_RO_1", "noauthnopriv", "ro"]) + print(result.exit_code) + assert result.exit_code == 14 + assert 'SNMP user test_nopriv_RO_1 is already configured' in result.output + + def test_config_snmp_user_add_valid_user_priv_ro_md5_des(self): + db = Db() + runner = CliRunner() + with mock.patch('utilities_common.cli.run_command') as mock_run_command: + result = runner.invoke(config.config.commands["snmp"].commands["user"].commands["add"], + ["test_priv_RO_7", "priv", "ro", "MD5", "user_auth_pass", "DES", "user_encrypt_pass"], obj=db) + print(result.exit_code) + assert result.exit_code == 0 + assert 'SNMP user test_priv_RO_7 added to configuration' in result.output + assert db.cfgdb.get_entry("SNMP_USER", "test_priv_RO_7") == expected_snmp_user_priv_ro_md5_des_config_db_output + + def test_config_snmp_user_add_valid_user_priv_ro_md5_aes(self): + db = Db() + runner = CliRunner() + with mock.patch('utilities_common.cli.run_command') as mock_run_command: + result = runner.invoke(config.config.commands["snmp"].commands["user"].commands["add"], + ["test_priv_RO_8", "priv", "ro", "MD5", "user_auth_pass", "AES", "user_encrypt_pass"], obj=db) + print(result.exit_code) + assert result.exit_code == 0 + assert 'SNMP user test_priv_RO_8 added to configuration' in result.output + assert db.cfgdb.get_entry("SNMP_USER", "test_priv_RO_8") == expected_snmp_user_priv_ro_md5_aes_config_db_output + + def test_config_snmp_user_add_valid_user_priv_ro_sha_des(self): + db = Db() + runner = CliRunner() + with mock.patch('utilities_common.cli.run_command') as mock_run_command: + result = runner.invoke(config.config.commands["snmp"].commands["user"].commands["add"], + ["test_priv_RO_9", "priv", "ro", "SHA", "user_auth_pass", "DES", "user_encrypt_pass"], obj=db) + print(result.exit_code) + assert result.exit_code == 0 + assert 'SNMP user test_priv_RO_9 added to configuration' in result.output + assert db.cfgdb.get_entry("SNMP_USER", "test_priv_RO_9") == expected_snmp_user_priv_ro_sha_des_config_db_output + + def test_config_snmp_user_add_valid_user_priv_ro_sha_aes(self): + db = Db() + runner = CliRunner() + with mock.patch('utilities_common.cli.run_command') as mock_run_command: + result = runner.invoke(config.config.commands["snmp"].commands["user"].commands["add"], + ["test_priv_RO_10", "priv", "ro", "SHA", "user_auth_pass", "AES", "user_encrypt_pass"], obj=db) + print(result.exit_code) + assert result.exit_code == 0 + assert 'SNMP user test_priv_RO_10 added to configuration' in result.output + assert db.cfgdb.get_entry("SNMP_USER", "test_priv_RO_10") == expected_snmp_user_priv_ro_sha_aes_config_db_output + + def test_config_snmp_user_add_valid_user_priv_ro_hmac_sha_2_des(self): + db = Db() + runner = CliRunner() + with mock.patch('utilities_common.cli.run_command') as mock_run_command: + result = runner.invoke(config.config.commands["snmp"].commands["user"].commands["add"], + ["test_priv_RO_11", "priv", "ro", "HMAC-SHA-2", "user_auth_pass", "DES", "user_encrypt_pass"], obj=db) + print(result.exit_code) + assert result.exit_code == 0 + assert 'SNMP user test_priv_RO_11 added to configuration' in result.output + assert db.cfgdb.get_entry("SNMP_USER", "test_priv_RO_11") == \ + expected_snmp_user_priv_ro_hmac_sha_2_des_config_db_output + + def test_config_snmp_user_add_valid_user_priv_ro_hmac_sha_2_aes(self): + db = Db() + runner = CliRunner() + with mock.patch('utilities_common.cli.run_command') as mock_run_command: + result = runner.invoke(config.config.commands["snmp"].commands["user"].commands["add"], + ["test_priv_RO_12", "priv", "ro", "HMAC-SHA-2", "user_auth_pass", "AES", "user_encrypt_pass"], obj=db) + print(result.exit_code) + assert result.exit_code == 0 + assert 'SNMP user test_priv_RO_12 added to configuration' in result.output + assert db.cfgdb.get_entry("SNMP_USER", "test_priv_RO_12") == \ + expected_snmp_user_priv_ro_hmac_sha_2_aes_config_db_output + + def test_config_snmp_user_add_valid_user_priv_rw_md5_des(self): + db = Db() + runner = CliRunner() + with mock.patch('utilities_common.cli.run_command') as mock_run_command: + result = runner.invoke(config.config.commands["snmp"].commands["user"].commands["add"], + ["test_priv_RW_7", "priv", "rw", "MD5", "user_auth_pass", "DES", "user_encrypt_pass"], obj=db) + print(result.exit_code) + assert result.exit_code == 0 + assert 'SNMP user test_priv_RW_7 added to configuration' in result.output + assert db.cfgdb.get_entry("SNMP_USER", "test_priv_RW_7") == expected_snmp_user_priv_rw_md5_des_config_db_output + + def test_config_snmp_user_add_valid_user_priv_rw_md5_aes(self): + db = Db() + runner = CliRunner() + with mock.patch('utilities_common.cli.run_command') as mock_run_command: + result = runner.invoke(config.config.commands["snmp"].commands["user"].commands["add"], + ["test_priv_RW_8", "priv", "rw", "MD5", "user_auth_pass", "AES", "user_encrypt_pass"], obj=db) + print(result.exit_code) + assert result.exit_code == 0 + assert 'SNMP user test_priv_RW_8 added to configuration' in result.output + assert db.cfgdb.get_entry("SNMP_USER", "test_priv_RW_8") == expected_snmp_user_priv_rw_md5_aes_config_db_output + + def test_config_snmp_user_add_valid_user_priv_rw_sha_des(self): + db = Db() + runner = CliRunner() + with mock.patch('utilities_common.cli.run_command') as mock_run_command: + result = runner.invoke(config.config.commands["snmp"].commands["user"].commands["add"], + ["test_priv_RW_9", "priv", "rw", "SHA", "user_auth_pass", "DES", "user_encrypt_pass"], obj=db) + print(result.exit_code) + assert result.exit_code == 0 + assert 'SNMP user test_priv_RW_9 added to configuration' in result.output + assert db.cfgdb.get_entry("SNMP_USER", "test_priv_RW_9") == expected_snmp_user_priv_rw_sha_des_config_db_output + + def test_config_snmp_user_add_valid_user_priv_rw_sha_aes(self): + db = Db() + runner = CliRunner() + with mock.patch('utilities_common.cli.run_command') as mock_run_command: + result = runner.invoke(config.config.commands["snmp"].commands["user"].commands["add"], + ["test_priv_RW_10", "priv", "rw", "SHA", "user_auth_pass", "AES", "user_encrypt_pass"], obj=db) + print(result.exit_code) + assert result.exit_code == 0 + assert 'SNMP user test_priv_RW_10 added to configuration' in result.output + assert db.cfgdb.get_entry("SNMP_USER", "test_priv_RW_10") == expected_snmp_user_priv_rw_sha_aes_config_db_output + + def test_config_snmp_user_add_valid_user_priv_rw_hmac_sha_2_des(self): + db = Db() + runner = CliRunner() + with mock.patch('utilities_common.cli.run_command') as mock_run_command: + result = runner.invoke(config.config.commands["snmp"].commands["user"].commands["add"], + ["test_priv_RW_11", "priv", "rw", "HMAC-SHA-2", "user_auth_pass", "DES", "user_encrypt_pass"], obj=db) + print(result.exit_code) + assert result.exit_code == 0 + assert 'SNMP user test_priv_RW_11 added to configuration' in result.output + assert db.cfgdb.get_entry("SNMP_USER", "test_priv_RW_11") == \ + expected_snmp_user_priv_rw_hmac_sha_2_des_config_db_output + + def test_config_snmp_user_add_valid_user_priv_rw_hmac_sha_2_aes(self): + db = Db() + runner = CliRunner() + with mock.patch('utilities_common.cli.run_command') as mock_run_command: + result = runner.invoke(config.config.commands["snmp"].commands["user"].commands["add"], + ["test_priv_RW_12", "priv", "rw", "HMAC-SHA-2", "user_auth_pass", "AES", "user_encrypt_pass"], obj=db) + print(result.exit_code) + assert result.exit_code == 0 + assert 'SNMP user test_priv_RW_12 added to configuration' in result.output + assert db.cfgdb.get_entry("SNMP_USER", "test_priv_RW_12") == \ + expected_snmp_user_priv_rw_hmac_sha_2_aes_config_db_output + + # Del snmp user tests + def test_config_snmp_user_del_valid_user(self): + runner = CliRunner() + with mock.patch('utilities_common.cli.run_command') as mock_run_command: + result = runner.invoke(config.config.commands["snmp"].commands["user"].commands["del"], + ["test_nopriv_RO_1"]) + print(result.exit_code) + assert result.exit_code == 0 + assert 'SNMP user test_nopriv_RO_1 removed from configuration' in result.output + + def test_config_snmp_user_del_invalid_user(self): + runner = CliRunner() + result = runner.invoke(config.config.commands["snmp"].commands["user"].commands["del"], + ["test_nopriv_RO_2"]) + print(result.exit_code) + assert result.exit_code == 1 + assert 'SNMP user test_nopriv_RO_2 is not configured' in result.output + + @pytest.mark.parametrize("invalid_email", ['test@contoso', 'test.contoso.com', 'testcontoso@com', + '123_%contoso.com', 'mytest@contoso.comm']) + def test_is_valid_email(self, invalid_email): + output = config.is_valid_email(invalid_email) + assert output == False + + @classmethod + def teardown_class(cls): + print("TEARDOWN") + os.environ["UTILITIES_UNIT_TESTING"] = "0" + diff --git a/tests/mock_tables/config_db.json b/tests/mock_tables/config_db.json index f8ceebffbf..6c554f8f98 100644 --- a/tests/mock_tables/config_db.json +++ b/tests/mock_tables/config_db.json @@ -695,6 +695,172 @@ "peer_switch": "sonic-switch", "type": "ToRRouter" }, + "SNMP_COMMUNITY|msft": { + "TYPE": "RO" + }, + "SNMP_COMMUNITY|Rainer": { + "TYPE": "RW" + }, + "SNMP_USER|test_authpriv_RO_2": { + "SNMP_USER_TYPE": "AuthNoPriv", + "SNMP_USER_PERMISSION": "RO", + "SNMP_USER_AUTH_TYPE": "SHA", + "SNMP_USER_AUTH_PASSWORD": "test_authpriv_RO_2_authpass", + "SNMP_USER_ENCRYPTION_TYPE": "", + "SNMP_USER_ENCRYPTION_PASSWORD": "" + }, + "SNMP_USER|test_authpriv_RO_3": { + "SNMP_USER_TYPE": "AuthNoPriv", + "SNMP_USER_PERMISSION": "RO", + "SNMP_USER_AUTH_TYPE": "HMAC-SHA-2", + "SNMP_USER_AUTH_PASSWORD": "test_authpriv_RO_3_authpass", + "SNMP_USER_ENCRYPTION_TYPE": "", + "SNMP_USER_ENCRYPTION_PASSWORD": "" + }, + "SNMP_USER|test_priv_RW_4": { + "SNMP_USER_TYPE": "Priv", + "SNMP_USER_PERMISSION": "RW", + "SNMP_USER_AUTH_TYPE": "SHA", + "SNMP_USER_AUTH_PASSWORD": "test_priv_RW_4_authpass", + "SNMP_USER_ENCRYPTION_TYPE": "AES", + "SNMP_USER_ENCRYPTION_PASSWORD": "test_priv_RW_4_encrpytpass" + }, + "SNMP_USER|test_priv_RW_3": { + "SNMP_USER_TYPE": "Priv", + "SNMP_USER_PERMISSION": "RW", + "SNMP_USER_AUTH_TYPE": "SHA", + "SNMP_USER_AUTH_PASSWORD": "test_priv_RW_3_authpass", + "SNMP_USER_ENCRYPTION_TYPE": "DES", + "SNMP_USER_ENCRYPTION_PASSWORD": "test_priv_RW_3_encrpytpass" + }, + "SNMP_USER|test_priv_RO_2": { + "SNMP_USER_TYPE": "Priv", + "SNMP_USER_PERMISSION": "RO", + "SNMP_USER_AUTH_TYPE": "MD5", + "SNMP_USER_AUTH_PASSWORD": "test_priv_RO_2_authpass", + "SNMP_USER_ENCRYPTION_TYPE": "AES", + "SNMP_USER_ENCRYPTION_PASSWORD": "test_priv_RO_2_encrpytpass" + }, + "SNMP_USER|test_nopriv_RO_1": { + "SNMP_USER_TYPE": "noAuthNoPriv", + "SNMP_USER_PERMISSION": "RO", + "SNMP_USER_AUTH_TYPE": "", + "SNMP_USER_AUTH_PASSWORD": "", + "SNMP_USER_ENCRYPTION_TYPE": "", + "SNMP_USER_ENCRYPTION_PASSWORD": "" + }, + "SNMP_USER|test_priv_RW_1": { + "SNMP_USER_TYPE": "Priv", + "SNMP_USER_PERMISSION": "RW", + "SNMP_USER_AUTH_TYPE": "MD5", + "SNMP_USER_AUTH_PASSWORD": "test_priv_RO_1_authpass", + "SNMP_USER_ENCRYPTION_TYPE": "DES", + "SNMP_USER_ENCRYPTION_PASSWORD": "test_priv_RW_1_encrpytpass" + }, + "SNMP_USER|test_authpriv_RW_1": { + "SNMP_USER_TYPE": "AuthNoPriv", + "SNMP_USER_PERMISSION": "RW", + "SNMP_USER_AUTH_TYPE": "MD5", + "SNMP_USER_AUTH_PASSWORD": "test_authpriv_RW_1_authpass", + "SNMP_USER_ENCRYPTION_TYPE": "", + "SNMP_USER_ENCRYPTION_PASSWORD": "" + }, + "SNMP_USER|test_priv_RO_6": { + "SNMP_USER_TYPE": "Priv", + "SNMP_USER_PERMISSION": "RO", + "SNMP_USER_AUTH_TYPE": "HMAC-SHA-2", + "SNMP_USER_AUTH_PASSWORD": "test_priv_RO_6_authpass", + "SNMP_USER_ENCRYPTION_TYPE": "AES", + "SNMP_USER_ENCRYPTION_PASSWORD": "test_priv_RO_6_encrpytpass" + }, + "SNMP_USER|test_priv_RO_1": { + "SNMP_USER_TYPE": "Priv", + "SNMP_USER_PERMISSION": "RO", + "SNMP_USER_AUTH_TYPE": "MD5", + "SNMP_USER_AUTH_PASSWORD": "test_priv_RO_1_authpass", + "SNMP_USER_ENCRYPTION_TYPE": "DES", + "SNMP_USER_ENCRYPTION_PASSWORD": "test_priv_RO_1_encrpytpass" + }, + "SNMP_USER|test_priv_RO_5": { + "SNMP_USER_TYPE": "Priv", + "SNMP_USER_PERMISSION": "RO", + "SNMP_USER_AUTH_TYPE": "HMAC-SHA-2", + "SNMP_USER_AUTH_PASSWORD": "test_priv_RO_5_authpass", + "SNMP_USER_ENCRYPTION_TYPE": "DES", + "SNMP_USER_ENCRYPTION_PASSWORD": "test_priv_RO_5_encrpytpass" + }, + "SNMP_USER|test_nopriv_RW_1": { + "SNMP_USER_TYPE": "noAuthNoPriv", + "SNMP_USER_PERMISSION": "RW", + "SNMP_USER_AUTH_TYPE": "", + "SNMP_USER_AUTH_PASSWORD": "", + "SNMP_USER_ENCRYPTION_TYPE": "", + "SNMP_USER_ENCRYPTION_PASSWORD": "" + }, + "SNMP_USER|test_priv_RO_3": { + "SNMP_USER_TYPE": "Priv", + "SNMP_USER_PERMISSION": "RO", + "SNMP_USER_AUTH_TYPE": "SHA", + "SNMP_USER_AUTH_PASSWORD": "test_priv_RO_3_authpass", + "SNMP_USER_ENCRYPTION_TYPE": "DES", + "SNMP_USER_ENCRYPTION_PASSWORD": "test_priv_RO_3_encrpytpass" + }, + "SNMP_USER|test_priv_RW_2": { + "SNMP_USER_TYPE": "Priv", + "SNMP_USER_PERMISSION": "RW", + "SNMP_USER_AUTH_TYPE": "MD5", + "SNMP_USER_AUTH_PASSWORD": "test_priv_RO_2_authpass", + "SNMP_USER_ENCRYPTION_TYPE": "AES", + "SNMP_USER_ENCRYPTION_PASSWORD": "test_priv_RW_2_encrpytpass" + }, + "SNMP_USER|test_authpriv_RW_3": { + "SNMP_USER_TYPE": "AuthNoPriv", + "SNMP_USER_PERMISSION": "RW", + "SNMP_USER_AUTH_TYPE": "HMAC-SHA-2", + "SNMP_USER_AUTH_PASSWORD": "test_authpriv_RW_3_authpass", + "SNMP_USER_ENCRYPTION_TYPE": "", + "SNMP_USER_ENCRYPTION_PASSWORD": "" + }, + "SNMP_USER|test_priv_RW_5": { + "SNMP_USER_TYPE": "Priv", + "SNMP_USER_PERMISSION": "RW", + "SNMP_USER_AUTH_TYPE": "HMAC-SHA-2", + "SNMP_USER_AUTH_PASSWORD": "test_priv_RW_5_authpass", + "SNMP_USER_ENCRYPTION_TYPE": "DES", + "SNMP_USER_ENCRYPTION_PASSWORD": "test_priv_RW_5_encrpytpass" + }, + "SNMP_USER|test_priv_RW_6": { + "SNMP_USER_TYPE": "Priv", + "SNMP_USER_PERMISSION": "RW", + "SNMP_USER_AUTH_TYPE": "HMAC-SHA-2", + "SNMP_USER_AUTH_PASSWORD": "test_priv_RW_6_authpass", + "SNMP_USER_ENCRYPTION_TYPE": "AES", + "SNMP_USER_ENCRYPTION_PASSWORD": "test_priv_RW_6_encrpytpass" + }, + "SNMP_USER|test_authpriv_RW_2": { + "SNMP_USER_TYPE": "AuthNoPriv", + "SNMP_USER_PERMISSION": "RW", + "SNMP_USER_AUTH_TYPE": "SHA", + "SNMP_USER_AUTH_PASSWORD": "test_authpriv_RW_2_authpass", + "SNMP_USER_ENCRYPTION_TYPE": "", + "SNMP_USER_ENCRYPTION_PASSWORD": "" + }, + "SNMP_USER|test_priv_RO_4": { + "SNMP_USER_TYPE": "Priv", + "SNMP_USER_PERMISSION": "RO", + "SNMP_USER_AUTH_TYPE": "SHA", + "SNMP_USER_AUTH_PASSWORD": "test_priv_RO_4_authpass", + "SNMP_USER_ENCRYPTION_TYPE": "AES", + "SNMP_USER_ENCRYPTION_PASSWORD": "test_priv_RO_4_encrpytpass" + }, + "SNMP_USER|test_authpriv_RO_1": { + "SNMP_USER_TYPE": "AuthNoPriv", + "SNMP_USER_PERMISSION": "RO", + "SNMP_USER_AUTH_TYPE": "MD5", + "SNMP_USER_AUTH_PASSWORD": "test_authpriv_RO_1_authpass", + "SNMP_USER_ENCRYPTION_TYPE": "", + "SNMP_USER_ENCRYPTION_PASSWORD": "" + }, "DEVICE_NEIGHBOR|Ethernet0": { "name": "Servers", "port": "eth0" diff --git a/tests/show_snmp_test.py b/tests/show_snmp_test.py new file mode 100644 index 0000000000..753e20c418 --- /dev/null +++ b/tests/show_snmp_test.py @@ -0,0 +1,467 @@ +import sys +import os +import click +from click.testing import CliRunner +import pytest +import swsssdk +import traceback + +test_path = os.path.dirname(os.path.abspath(__file__)) +modules_path = os.path.dirname(test_path) +scripts_path = os.path.join(modules_path, "scripts") +sys.path.insert(0, test_path) +sys.path.insert(0, modules_path) + +import show.main as show +import clear.main as clear +import config.main as config + +import mock_tables.dbconnector + +from unittest import mock +from unittest.mock import patch +from utilities_common.db import Db + +config_snmp_location_add_new_location ="""\ +SNMP Location public has been added to configuration +Restarting SNMP service... +""" + +config_snmp_contact_add_del_new_contact ="""\ +Contact name testuser and contact email testuser@contoso.com have been added to configuration +Restarting SNMP service... +""" + +tabular_data_show_run_snmp_contact_expected = """\ +Contact Contact Email\n--------- --------------------\ntestuser testuser@contoso.com +""" + +json_data_show_run_snmp_contact_expected = """\ +{'testuser': 'testuser@contoso.com'} +""" + +tabular_data_show_run_snmp_community_expected = """\ +Community String Community Type +------------------ ---------------- +Rainer RW +msft RO +""" + +json_data_show_run_snmp_community_expected = """\ +{'msft': {'TYPE': 'RO'}, 'Rainer': {'TYPE': 'RW'}} +""" + +tabular_data_show_run_snmp_location_expected = """\ +Location +---------- +public +""" + +json_data_show_run_snmp_location_expected = """\ +{'Location': 'public'} +""" + + +tabular_data_show_run_snmp_user_expected = """\ +User Permission Type Type Auth Type Auth Password Encryption Type Encryption Password +------------------ ----------------- ------------ ----------- --------------------------- ----------------- -------------------------- +test_authpriv_RO_1 RO AuthNoPriv MD5 test_authpriv_RO_1_authpass +test_authpriv_RO_2 RO AuthNoPriv SHA test_authpriv_RO_2_authpass +test_authpriv_RO_3 RO AuthNoPriv HMAC-SHA-2 test_authpriv_RO_3_authpass +test_authpriv_RW_1 RW AuthNoPriv MD5 test_authpriv_RW_1_authpass +test_authpriv_RW_2 RW AuthNoPriv SHA test_authpriv_RW_2_authpass +test_authpriv_RW_3 RW AuthNoPriv HMAC-SHA-2 test_authpriv_RW_3_authpass +test_nopriv_RO_1 RO noAuthNoPriv +test_nopriv_RW_1 RW noAuthNoPriv +test_priv_RO_1 RO Priv MD5 test_priv_RO_1_authpass DES test_priv_RO_1_encrpytpass +test_priv_RO_2 RO Priv MD5 test_priv_RO_2_authpass AES test_priv_RO_2_encrpytpass +test_priv_RO_3 RO Priv SHA test_priv_RO_3_authpass DES test_priv_RO_3_encrpytpass +test_priv_RO_4 RO Priv SHA test_priv_RO_4_authpass AES test_priv_RO_4_encrpytpass +test_priv_RO_5 RO Priv HMAC-SHA-2 test_priv_RO_5_authpass DES test_priv_RO_5_encrpytpass +test_priv_RO_6 RO Priv HMAC-SHA-2 test_priv_RO_6_authpass AES test_priv_RO_6_encrpytpass +test_priv_RW_1 RW Priv MD5 test_priv_RO_1_authpass DES test_priv_RW_1_encrpytpass +test_priv_RW_2 RW Priv MD5 test_priv_RO_2_authpass AES test_priv_RW_2_encrpytpass +test_priv_RW_3 RW Priv SHA test_priv_RW_3_authpass DES test_priv_RW_3_encrpytpass +test_priv_RW_4 RW Priv SHA test_priv_RW_4_authpass AES test_priv_RW_4_encrpytpass +test_priv_RW_5 RW Priv HMAC-SHA-2 test_priv_RW_5_authpass DES test_priv_RW_5_encrpytpass +test_priv_RW_6 RW Priv HMAC-SHA-2 test_priv_RW_6_authpass AES test_priv_RW_6_encrpytpass +""" + + + + +json_data_show_run_snmp_user_expected = """{'test_authpriv_RO_2': {'SNMP_USER_TYPE': 'AuthNoPriv', 'SNMP_USER_PERMISSION': 'RO', 'SNMP_USER_AUTH_TYPE': 'SHA', 'SNMP_USER_AUTH_PASSWORD': 'test_authpriv_RO_2_authpass', 'SNMP_USER_ENCRYPTION_TYPE': '', 'SNMP_USER_ENCRYPTION_PASSWORD': ''}, 'test_authpriv_RO_3': {'SNMP_USER_TYPE': 'AuthNoPriv', 'SNMP_USER_PERMISSION': 'RO', 'SNMP_USER_AUTH_TYPE': 'HMAC-SHA-2', 'SNMP_USER_AUTH_PASSWORD': 'test_authpriv_RO_3_authpass', 'SNMP_USER_ENCRYPTION_TYPE': '', 'SNMP_USER_ENCRYPTION_PASSWORD': ''}, 'test_priv_RW_4': {'SNMP_USER_TYPE': 'Priv', 'SNMP_USER_PERMISSION': 'RW', 'SNMP_USER_AUTH_TYPE': 'SHA', 'SNMP_USER_AUTH_PASSWORD': 'test_priv_RW_4_authpass', 'SNMP_USER_ENCRYPTION_TYPE': 'AES', 'SNMP_USER_ENCRYPTION_PASSWORD': 'test_priv_RW_4_encrpytpass'}, 'test_priv_RW_3': {'SNMP_USER_TYPE': 'Priv', 'SNMP_USER_PERMISSION': 'RW', 'SNMP_USER_AUTH_TYPE': 'SHA', 'SNMP_USER_AUTH_PASSWORD': 'test_priv_RW_3_authpass', 'SNMP_USER_ENCRYPTION_TYPE': 'DES', 'SNMP_USER_ENCRYPTION_PASSWORD': 'test_priv_RW_3_encrpytpass'}, 'test_priv_RO_2': {'SNMP_USER_TYPE': 'Priv', 'SNMP_USER_PERMISSION': 'RO', 'SNMP_USER_AUTH_TYPE': 'MD5', 'SNMP_USER_AUTH_PASSWORD': 'test_priv_RO_2_authpass', 'SNMP_USER_ENCRYPTION_TYPE': 'AES', 'SNMP_USER_ENCRYPTION_PASSWORD': 'test_priv_RO_2_encrpytpass'}, 'test_nopriv_RO_1': {'SNMP_USER_TYPE': 'noAuthNoPriv', 'SNMP_USER_PERMISSION': 'RO', 'SNMP_USER_AUTH_TYPE': '', 'SNMP_USER_AUTH_PASSWORD': '', 'SNMP_USER_ENCRYPTION_TYPE': '', 'SNMP_USER_ENCRYPTION_PASSWORD': ''}, 'test_priv_RW_1': {'SNMP_USER_TYPE': 'Priv', 'SNMP_USER_PERMISSION': 'RW', 'SNMP_USER_AUTH_TYPE': 'MD5', 'SNMP_USER_AUTH_PASSWORD': 'test_priv_RO_1_authpass', 'SNMP_USER_ENCRYPTION_TYPE': 'DES', 'SNMP_USER_ENCRYPTION_PASSWORD': 'test_priv_RW_1_encrpytpass'}, 'test_authpriv_RW_1': {'SNMP_USER_TYPE': 'AuthNoPriv', 'SNMP_USER_PERMISSION': 'RW', 'SNMP_USER_AUTH_TYPE': 'MD5', 'SNMP_USER_AUTH_PASSWORD': 'test_authpriv_RW_1_authpass', 'SNMP_USER_ENCRYPTION_TYPE': '', 'SNMP_USER_ENCRYPTION_PASSWORD': ''}, 'test_priv_RO_6': {'SNMP_USER_TYPE': 'Priv', 'SNMP_USER_PERMISSION': 'RO', 'SNMP_USER_AUTH_TYPE': 'HMAC-SHA-2', 'SNMP_USER_AUTH_PASSWORD': 'test_priv_RO_6_authpass', 'SNMP_USER_ENCRYPTION_TYPE': 'AES', 'SNMP_USER_ENCRYPTION_PASSWORD': 'test_priv_RO_6_encrpytpass'}, 'test_priv_RO_1': {'SNMP_USER_TYPE': 'Priv', 'SNMP_USER_PERMISSION': 'RO', 'SNMP_USER_AUTH_TYPE': 'MD5', 'SNMP_USER_AUTH_PASSWORD': 'test_priv_RO_1_authpass', 'SNMP_USER_ENCRYPTION_TYPE': 'DES', 'SNMP_USER_ENCRYPTION_PASSWORD': 'test_priv_RO_1_encrpytpass'}, 'test_priv_RO_5': {'SNMP_USER_TYPE': 'Priv', 'SNMP_USER_PERMISSION': 'RO', 'SNMP_USER_AUTH_TYPE': 'HMAC-SHA-2', 'SNMP_USER_AUTH_PASSWORD': 'test_priv_RO_5_authpass', 'SNMP_USER_ENCRYPTION_TYPE': 'DES', 'SNMP_USER_ENCRYPTION_PASSWORD': 'test_priv_RO_5_encrpytpass'}, 'test_nopriv_RW_1': {'SNMP_USER_TYPE': 'noAuthNoPriv', 'SNMP_USER_PERMISSION': 'RW', 'SNMP_USER_AUTH_TYPE': '', 'SNMP_USER_AUTH_PASSWORD': '', 'SNMP_USER_ENCRYPTION_TYPE': '', 'SNMP_USER_ENCRYPTION_PASSWORD': ''}, 'test_priv_RO_3': {'SNMP_USER_TYPE': 'Priv', 'SNMP_USER_PERMISSION': 'RO', 'SNMP_USER_AUTH_TYPE': 'SHA', 'SNMP_USER_AUTH_PASSWORD': 'test_priv_RO_3_authpass', 'SNMP_USER_ENCRYPTION_TYPE': 'DES', 'SNMP_USER_ENCRYPTION_PASSWORD': 'test_priv_RO_3_encrpytpass'}, 'test_priv_RW_2': {'SNMP_USER_TYPE': 'Priv', 'SNMP_USER_PERMISSION': 'RW', 'SNMP_USER_AUTH_TYPE': 'MD5', 'SNMP_USER_AUTH_PASSWORD': 'test_priv_RO_2_authpass', 'SNMP_USER_ENCRYPTION_TYPE': 'AES', 'SNMP_USER_ENCRYPTION_PASSWORD': 'test_priv_RW_2_encrpytpass'}, 'test_authpriv_RW_3': {'SNMP_USER_TYPE': 'AuthNoPriv', 'SNMP_USER_PERMISSION': 'RW', 'SNMP_USER_AUTH_TYPE': 'HMAC-SHA-2', 'SNMP_USER_AUTH_PASSWORD': 'test_authpriv_RW_3_authpass', 'SNMP_USER_ENCRYPTION_TYPE': '', 'SNMP_USER_ENCRYPTION_PASSWORD': ''}, 'test_priv_RW_5': {'SNMP_USER_TYPE': 'Priv', 'SNMP_USER_PERMISSION': 'RW', 'SNMP_USER_AUTH_TYPE': 'HMAC-SHA-2', 'SNMP_USER_AUTH_PASSWORD': 'test_priv_RW_5_authpass', 'SNMP_USER_ENCRYPTION_TYPE': 'DES', 'SNMP_USER_ENCRYPTION_PASSWORD': 'test_priv_RW_5_encrpytpass'}, 'test_priv_RW_6': {'SNMP_USER_TYPE': 'Priv', 'SNMP_USER_PERMISSION': 'RW', 'SNMP_USER_AUTH_TYPE': 'HMAC-SHA-2', 'SNMP_USER_AUTH_PASSWORD': 'test_priv_RW_6_authpass', 'SNMP_USER_ENCRYPTION_TYPE': 'AES', 'SNMP_USER_ENCRYPTION_PASSWORD': 'test_priv_RW_6_encrpytpass'}, 'test_authpriv_RW_2': {'SNMP_USER_TYPE': 'AuthNoPriv', 'SNMP_USER_PERMISSION': 'RW', 'SNMP_USER_AUTH_TYPE': 'SHA', 'SNMP_USER_AUTH_PASSWORD': 'test_authpriv_RW_2_authpass', 'SNMP_USER_ENCRYPTION_TYPE': '', 'SNMP_USER_ENCRYPTION_PASSWORD': ''}, 'test_priv_RO_4': {'SNMP_USER_TYPE': 'Priv', 'SNMP_USER_PERMISSION': 'RO', 'SNMP_USER_AUTH_TYPE': 'SHA', 'SNMP_USER_AUTH_PASSWORD': 'test_priv_RO_4_authpass', 'SNMP_USER_ENCRYPTION_TYPE': 'AES', 'SNMP_USER_ENCRYPTION_PASSWORD': 'test_priv_RO_4_encrpytpass'}, 'test_authpriv_RO_1': {'SNMP_USER_TYPE': 'AuthNoPriv', 'SNMP_USER_PERMISSION': 'RO', 'SNMP_USER_AUTH_TYPE': 'MD5', 'SNMP_USER_AUTH_PASSWORD': 'test_authpriv_RO_1_authpass', 'SNMP_USER_ENCRYPTION_TYPE': '', 'SNMP_USER_ENCRYPTION_PASSWORD': ''}} +""" + +tabular_data_show_run_snmp_expected = """\ +Location +---------- +public + + +SNMP_CONTACT SNMP_CONTACT_EMAIL +-------------- -------------------- +testuser testuser@contoso.com + + +Community String Community Type +------------------ ---------------- +Rainer RW +msft RO + + +User Permission Type Type Auth Type Auth Password Encryption Type Encryption Password +------------------ ----------------- ------------ ----------- --------------------------- ----------------- -------------------------- +test_authpriv_RO_1 RO AuthNoPriv MD5 test_authpriv_RO_1_authpass +test_authpriv_RO_2 RO AuthNoPriv SHA test_authpriv_RO_2_authpass +test_authpriv_RO_3 RO AuthNoPriv HMAC-SHA-2 test_authpriv_RO_3_authpass +test_authpriv_RW_1 RW AuthNoPriv MD5 test_authpriv_RW_1_authpass +test_authpriv_RW_2 RW AuthNoPriv SHA test_authpriv_RW_2_authpass +test_authpriv_RW_3 RW AuthNoPriv HMAC-SHA-2 test_authpriv_RW_3_authpass +test_nopriv_RO_1 RO noAuthNoPriv +test_nopriv_RW_1 RW noAuthNoPriv +test_priv_RO_1 RO Priv MD5 test_priv_RO_1_authpass DES test_priv_RO_1_encrpytpass +test_priv_RO_2 RO Priv MD5 test_priv_RO_2_authpass AES test_priv_RO_2_encrpytpass +test_priv_RO_3 RO Priv SHA test_priv_RO_3_authpass DES test_priv_RO_3_encrpytpass +test_priv_RO_4 RO Priv SHA test_priv_RO_4_authpass AES test_priv_RO_4_encrpytpass +test_priv_RO_5 RO Priv HMAC-SHA-2 test_priv_RO_5_authpass DES test_priv_RO_5_encrpytpass +test_priv_RO_6 RO Priv HMAC-SHA-2 test_priv_RO_6_authpass AES test_priv_RO_6_encrpytpass +test_priv_RW_1 RW Priv MD5 test_priv_RO_1_authpass DES test_priv_RW_1_encrpytpass +test_priv_RW_2 RW Priv MD5 test_priv_RO_2_authpass AES test_priv_RW_2_encrpytpass +test_priv_RW_3 RW Priv SHA test_priv_RW_3_authpass DES test_priv_RW_3_encrpytpass +test_priv_RW_4 RW Priv SHA test_priv_RW_4_authpass AES test_priv_RW_4_encrpytpass +test_priv_RW_5 RW Priv HMAC-SHA-2 test_priv_RW_5_authpass DES test_priv_RW_5_encrpytpass +test_priv_RW_6 RW Priv HMAC-SHA-2 test_priv_RW_6_authpass AES test_priv_RW_6_encrpytpass +""" + + +class TestSNMPShowCommands(object): + @classmethod + def setup_class(cls): + print("SETUP") + os.environ["PATH"] += os.pathsep + scripts_path + os.environ["UTILITIES_UNIT_TESTING"] = "1" + + # mock the redis for unit test purposes # + try: + if os.environ["UTILITIES_UNIT_TESTING"] == "1": + modules_path = os.path.join(os.path.dirname(__file__), "..") + test_path = os.path.join(modules_path, "sonic-utilities-tests") + sys.path.insert(0, modules_path) + sys.path.insert(0, test_path) + import mock_tables.dbconnector + except KeyError: + pass + + def test_show_run_snmp_location_tabular(self): + db = Db() + runner = CliRunner() + with mock.patch('utilities_common.cli.run_command') as mock_run_command: + result = runner.invoke(config.config.commands["snmp"].commands["location"].commands["add"], + ["public"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == config_snmp_location_add_new_location + assert db.cfgdb.get_entry("SNMP", "LOCATION") == {"Location": "public"} + + result = runner.invoke(show.cli.commands["runningconfiguration"].commands["snmp"].commands["location"], + [], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == tabular_data_show_run_snmp_location_expected + + def test_show_run_snmp_location_json(self): + db = Db() + runner = CliRunner() + with mock.patch('utilities_common.cli.run_command') as mock_run_command: + result = runner.invoke(config.config.commands["snmp"].commands["location"].commands["add"], + ["public"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == config_snmp_location_add_new_location + assert db.cfgdb.get_entry("SNMP", "LOCATION") == {"Location": "public"} + + result = runner.invoke(show.cli.commands["runningconfiguration"].commands["snmp"].commands["location"], + ["--json"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == json_data_show_run_snmp_location_expected + + def test_show_run_snmp_location_json_bad_key(self): + runner = CliRunner() + result = runner.invoke(show.cli.commands["runningconfiguration"].commands["snmp"].commands["location"], ["--json"]) + print(result.exit_code) + print(result.output) + traceback.print_tb(result.exc_info[2]) + assert result.exit_code == 0 + assert "{}" in result.output + + + def test_show_run_snmp_location_bad_key(self): + runner = CliRunner() + result = runner.invoke(show.cli.commands["runningconfiguration"].commands["snmp"].commands["location"], []) + print(result.exit_code) + print(result.output) + traceback.print_tb(result.exc_info[2]) + assert result.exit_code == 0 + assert "" in result.output + + def test_show_run_snmp_contact_tabular(self): + db = Db() + runner = CliRunner() + with mock.patch('utilities_common.cli.run_command') as mock_run_command: + result = runner.invoke(config.config.commands["snmp"].commands["contact"].commands["add"], + ["testuser", "testuser@contoso.com"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == config_snmp_contact_add_del_new_contact + assert db.cfgdb.get_entry("SNMP", "CONTACT") == {"testuser": "testuser@contoso.com"} + + result = runner.invoke(show.cli.commands["runningconfiguration"].commands["snmp"].commands["contact"], + [], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == tabular_data_show_run_snmp_contact_expected + + def test_show_run_snmp_contact_json(self): + db = Db() + runner = CliRunner() + with mock.patch('utilities_common.cli.run_command') as mock_run_command: + result = runner.invoke(config.config.commands["snmp"].commands["contact"].commands["add"], + ["testuser", "testuser@contoso.com"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == config_snmp_contact_add_del_new_contact + assert db.cfgdb.get_entry("SNMP", "CONTACT") == {"testuser": "testuser@contoso.com"} + + result = runner.invoke(show.cli.commands["runningconfiguration"].commands["snmp"].commands["contact"], + ["--json"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == json_data_show_run_snmp_contact_expected + + def test_show_run_snmp_contact_json_bad_key(self): + runner = CliRunner() + result = runner.invoke(show.cli.commands["runningconfiguration"].commands["snmp"].commands["contact"], ["--json"]) + print(result.exit_code) + print(result.output) + traceback.print_tb(result.exc_info[2]) + assert result.exit_code == 0 + assert '{}' in result.output + + def test_show_run_snmp_contact_tabular_bad_key(self): + runner = CliRunner() + result = runner.invoke(show.cli.commands["runningconfiguration"].commands["snmp"].commands["contact"]) + print(result.exit_code) + print(result.output) + traceback.print_tb(result.exc_info[2]) + assert result.exit_code == 0 + assert '' in result.output + + + def test_show_run_snmp_community_tabular(self): + runner = CliRunner() + result = runner.invoke(show.cli.commands["runningconfiguration"].commands["snmp"].commands["community"], []) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == tabular_data_show_run_snmp_community_expected + + def test_show_run_snmp_community_json(self): + runner = CliRunner() + result = runner.invoke(show.cli.commands["runningconfiguration"].commands["snmp"].commands["community"], + ["--json"]) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == json_data_show_run_snmp_community_expected + + def test_show_run_snmp_user_tabular(self): + runner = CliRunner() + result = runner.invoke(show.cli.commands["runningconfiguration"].commands["snmp"].commands["user"], []) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == tabular_data_show_run_snmp_user_expected + + def test_show_run_snmp_user_json(self): + runner = CliRunner() + result = runner.invoke(show.cli.commands["runningconfiguration"].commands["snmp"].commands["user"], ["--json"]) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == json_data_show_run_snmp_user_expected + + def test_show_run_snmp_user_json_bad_key(self): + db = Db() + runner = CliRunner() + with mock.patch('utilities_common.cli.run_command') as mock_run_command: + result = runner.invoke(config.config.commands["snmp"].commands["user"].commands["del"], + ["test_authpriv_RO_1"], obj=db) + print(result.exit_code) + assert result.exit_code == 0 + assert 'SNMP user test_authpriv_RO_1 removed from configuration' in result.output + + result = runner.invoke(config.config.commands["snmp"].commands["user"].commands["del"], + ["test_authpriv_RO_2"], obj=db) + print(result.exit_code) + assert result.exit_code == 0 + assert 'SNMP user test_authpriv_RO_2 removed from configuration' in result.output + + result = runner.invoke(config.config.commands["snmp"].commands["user"].commands["del"], + ["test_authpriv_RO_3"], obj=db) + print(result.exit_code) + assert result.exit_code == 0 + assert 'SNMP user test_authpriv_RO_3 removed from configuration' in result.output + + result = runner.invoke(config.config.commands["snmp"].commands["user"].commands["del"], + ["test_authpriv_RW_1"], obj=db) + print(result.exit_code) + assert result.exit_code == 0 + assert 'SNMP user test_authpriv_RW_1 removed from configuration' in result.output + + result = runner.invoke(config.config.commands["snmp"].commands["user"].commands["del"], + ["test_authpriv_RW_2"], obj=db) + print(result.exit_code) + assert result.exit_code == 0 + assert 'SNMP user test_authpriv_RW_2 removed from configuration' in result.output + + result = runner.invoke(config.config.commands["snmp"].commands["user"].commands["del"], + ["test_authpriv_RW_3"], obj=db) + print(result.exit_code) + assert result.exit_code == 0 + assert 'SNMP user test_authpriv_RW_3 removed from configuration' in result.output + + result = runner.invoke(config.config.commands["snmp"].commands["user"].commands["del"], + ["test_nopriv_RO_1"], obj=db) + print(result.exit_code) + assert result.exit_code == 0 + assert 'SNMP user test_nopriv_RO_1 removed from configuration' in result.output + + result = runner.invoke(config.config.commands["snmp"].commands["user"].commands["del"], + ["test_nopriv_RW_1"], obj=db) + print(result.exit_code) + assert result.exit_code == 0 + assert 'SNMP user test_nopriv_RW_1 removed from configuration' in result.output + + result = runner.invoke(config.config.commands["snmp"].commands["user"].commands["del"], + ["test_priv_RO_1"], obj=db) + print(result.exit_code) + assert result.exit_code == 0 + assert 'SNMP user test_priv_RO_1 removed from configuration' in result.output + + result = runner.invoke(config.config.commands["snmp"].commands["user"].commands["del"], + ["test_priv_RO_2"], obj=db) + print(result.exit_code) + assert result.exit_code == 0 + assert 'SNMP user test_priv_RO_2 removed from configuration' in result.output + + result = runner.invoke(config.config.commands["snmp"].commands["user"].commands["del"], + ["test_priv_RO_3"], obj=db) + print(result.exit_code) + assert result.exit_code == 0 + assert 'SNMP user test_priv_RO_3 removed from configuration' in result.output + + result = runner.invoke(config.config.commands["snmp"].commands["user"].commands["del"], + ["test_priv_RO_4"], obj=db) + print(result.exit_code) + assert result.exit_code == 0 + assert 'SNMP user test_priv_RO_4 removed from configuration' in result.output + + result = runner.invoke(config.config.commands["snmp"].commands["user"].commands["del"], + ["test_priv_RO_5"], obj=db) + print(result.exit_code) + assert result.exit_code == 0 + assert 'SNMP user test_priv_RO_5 removed from configuration' in result.output + + result = runner.invoke(config.config.commands["snmp"].commands["user"].commands["del"], + ["test_priv_RO_6"], obj=db) + print(result.exit_code) + assert result.exit_code == 0 + assert 'SNMP user test_priv_RO_6 removed from configuration' in result.output + + result = runner.invoke(config.config.commands["snmp"].commands["user"].commands["del"], + ["test_priv_RW_1"], obj=db) + print(result.exit_code) + assert result.exit_code == 0 + assert 'SNMP user test_priv_RW_1 removed from configuration' in result.output + + result = runner.invoke(config.config.commands["snmp"].commands["user"].commands["del"], + ["test_priv_RW_2"], obj=db) + print(result.exit_code) + assert result.exit_code == 0 + assert 'SNMP user test_priv_RW_2 removed from configuration' in result.output + + result = runner.invoke(config.config.commands["snmp"].commands["user"].commands["del"], + ["test_priv_RW_3"], obj=db) + print(result.exit_code) + assert result.exit_code == 0 + assert 'SNMP user test_priv_RW_3 removed from configuration' in result.output + + result = runner.invoke(config.config.commands["snmp"].commands["user"].commands["del"], + ["test_priv_RW_4"], obj=db) + print(result.exit_code) + assert result.exit_code == 0 + assert 'SNMP user test_priv_RW_4 removed from configuration' in result.output + + result = runner.invoke(config.config.commands["snmp"].commands["user"].commands["del"], + ["test_priv_RW_5"], obj=db) + print(result.exit_code) + assert result.exit_code == 0 + assert 'SNMP user test_priv_RW_5 removed from configuration' in result.output + + result = runner.invoke(config.config.commands["snmp"].commands["user"].commands["del"], + ["test_priv_RW_6"], obj=db) + print(result.exit_code) + assert result.exit_code == 0 + assert 'SNMP user test_priv_RW_6 removed from configuration' in result.output + + result = runner.invoke(show.cli.commands["runningconfiguration"].commands["snmp"].commands["user"], ["--json"], obj=db) + print(result.exit_code) + print(result.output) + traceback.print_tb(result.exc_info[2]) + assert result.exit_code == 0 + assert "{}" in result.output + + + def test_show_run_snmp_tabular(self): + db = Db() + runner = CliRunner() + with mock.patch('utilities_common.cli.run_command') as mock_run_command: + result = runner.invoke(config.config.commands["snmp"].commands["contact"].commands["add"], + ["testuser", "testuser@contoso.com"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == config_snmp_contact_add_del_new_contact + assert db.cfgdb.get_entry("SNMP", "CONTACT") == {"testuser": "testuser@contoso.com"} + + result = runner.invoke(config.config.commands["snmp"].commands["location"].commands["add"], + ["public"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == config_snmp_location_add_new_location + assert db.cfgdb.get_entry("SNMP", "LOCATION") == {"Location": "public"} + + result = runner.invoke(show.cli.commands["runningconfiguration"].commands["snmp"], [], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == tabular_data_show_run_snmp_expected + + + @classmethod + def teardown_class(cls): + print("TEARDOWN") + os.environ["PATH"] = os.pathsep.join(os.environ["PATH"].split(os.pathsep)[:-1]) + os.environ["UTILITIES_UNIT_TESTING"] = "0" + From 9a88cb6f0fbaf5fc8c336723cc7b831c6aacf19b Mon Sep 17 00:00:00 2001 From: Stepan Blyshchak <38952541+stepanblyschak@users.noreply.github.com> Date: Thu, 6 May 2021 11:30:42 +0300 Subject: [PATCH 186/342] [sonic_installer] dont fail package migration (#1591) - What I did Do not fail when user is doing downgrade. Fix Azure/sonic-buildimage#7518 - How I did it Ignoring failures. - How to verify it On master image install 202012 image. Signed-off-by: Stepan Blyschak --- sonic_installer/common.py | 4 ++-- sonic_installer/main.py | 16 ++++++++++------ 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/sonic_installer/common.py b/sonic_installer/common.py index ac1416789f..5e36cedb8c 100644 --- a/sonic_installer/common.py +++ b/sonic_installer/common.py @@ -31,13 +31,13 @@ def run_command(command): sys.exit(proc.returncode) # Run bash command and return output, raise if it fails -def run_command_or_raise(argv): +def run_command_or_raise(argv, raise_exception=True): click.echo(click.style("Command: ", fg='cyan') + click.style(' '.join(argv), fg='green')) proc = subprocess.Popen(argv, text=True, stdout=subprocess.PIPE) out, _ = proc.communicate() - if proc.returncode != 0: + if proc.returncode != 0 and raise_exception: raise SonicRuntimeException("Failed to run command '{0}'".format(argv)) return out.rstrip("\n") diff --git a/sonic_installer/main.py b/sonic_installer/main.py index 12a2ab7e0e..5f89878344 100644 --- a/sonic_installer/main.py +++ b/sonic_installer/main.py @@ -232,7 +232,7 @@ def mount_squash_fs(squashfs_path, mount_point): run_command_or_raise(["mount", "-t", "squashfs", squashfs_path, mount_point]) -def umount(mount_point, read_only=True, recursive=False, force=True, remove_dir=True): +def umount(mount_point, read_only=True, recursive=False, force=True, remove_dir=True, raise_exception=True): flags = [] if read_only: flags.append("-r") @@ -240,9 +240,9 @@ def umount(mount_point, read_only=True, recursive=False, force=True, remove_dir= flags.append("-f") if recursive: flags.append("-R") - run_command_or_raise(["umount", *flags, mount_point]) + run_command_or_raise(["umount", *flags, mount_point], raise_exception=raise_exception) if remove_dir: - run_command_or_raise(["rm", "-rf", mount_point]) + run_command_or_raise(["rm", "-rf", mount_point], raise_exception=raise_exception) def mount_overlay_fs(lowerdir, upperdir, workdir, mount_point): @@ -350,14 +350,18 @@ def get_path(path): run_command_or_raise(["mount", "--bind", os.path.join(VAR_RUN_PATH, DOCKERD_SOCK), os.path.join(new_image_mount, "tmp", DOCKERD_SOCK)]) + run_command_or_raise(["chroot", new_image_mount, "sh", "-c", "command -v {}".format(SONIC_PACKAGE_MANAGER)]) + except SonicRuntimeException as err: + echo_and_log("Warning: SONiC Application Extension is not supported in this image: {}".format(err), LOG_ERR, fg="red") + else: run_command_or_raise(["chroot", new_image_mount, SONIC_PACKAGE_MANAGER, "migrate", os.path.join("/", tmp_dir, packages_file), "--dockerd-socket", os.path.join("/", tmp_dir, DOCKERD_SOCK), "-y"]) finally: - run_command("chroot {} {} stop".format(new_image_mount, DOCKER_CTL_SCRIPT)) - umount(new_image_mount, recursive=True, read_only=False, remove_dir=False) - umount(new_image_mount) + run_command_or_raise(["chroot", new_image_mount, DOCKER_CTL_SCRIPT, "stop"], raise_exception=False) + umount(new_image_mount, recursive=True, read_only=False, remove_dir=False, raise_exception=False) + umount(new_image_mount, raise_exception=False) # Main entrypoint From a71ff02336d0984b1868891405af4b2c41ecfe5d Mon Sep 17 00:00:00 2001 From: Joe LeVeque Date: Thu, 6 May 2021 18:00:44 -0700 Subject: [PATCH 187/342] [sfpshow] Gracefully handle improper 'specification_compliance' field (#1594) #### What I did Gracefully handle improper 'specification_compliance' field #### How I did it The 'specification_compliance' field of transceiver info is expected to be a string representation of a dictionary. However, there is a chance, upon some kind of platform issue that a vendor's platform API returns something like 'N/A'. In this case, sfpshow would crash. Rather than crash, sfpshow should handle this gracefully and output 'N/A' instead. --- scripts/sfpshow | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/scripts/sfpshow b/scripts/sfpshow index 3ee80ea2c0..d05268f74d 100755 --- a/scripts/sfpshow +++ b/scripts/sfpshow @@ -6,6 +6,7 @@ which accesses the transceiver directly. """ +import ast import os import re import sys @@ -273,10 +274,15 @@ class SFPShow(object): output += '{}{}: {}\n'.format(indent, QSFP_DATA_MAP[key], sfp_info_dict[key]) else: output += '{}{}:\n'.format(indent, QSFP_DATA_MAP['specification_compliance']) - spefic_compliance_dict = eval(sfp_info_dict['specification_compliance']) - sorted_compliance_key_table = natsorted(spefic_compliance_dict) - for compliance_key in sorted_compliance_key_table: - output += '{}{}: {}\n'.format((indent * 2), compliance_key, spefic_compliance_dict[compliance_key]) + + spec_compliance_dict = {} + try: + spec_compliance_dict = ast.literal_eval(sfp_info_dict['specification_compliance']) + sorted_compliance_key_table = natsorted(spec_compliance_dict) + for compliance_key in sorted_compliance_key_table: + output += '{}{}: {}\n'.format((indent * 2), compliance_key, spec_compliance_dict[compliance_key]) + except ValueError as e: + output += '{}N/A\n'.format((indent * 2)) else: output += '{}{}: {}\n'.format(indent, QSFP_DATA_MAP[key], sfp_info_dict[key]) From 8c2980af96ba3921b244d7729398df4890c59e78 Mon Sep 17 00:00:00 2001 From: Junchao-Mellanox <57339448+Junchao-Mellanox@users.noreply.github.com> Date: Sat, 8 May 2021 00:41:07 +0800 Subject: [PATCH 188/342] [sonic-utilities] CLI support for port auto negotiation (#1568) #### What I did 1. Add CLI support for port auto negotiation feature. 2. Add db_migrator change for auto negotiation feature 2. Add unit test cases for all changes #### How I did it 1. Add new subcommands to "config interface" command group to allow user configuring port auto negotiation 2. Add new subcommands to "show interfaces" command group to allow user show auto negotiation status 3. In db_migrator.py, change auto negotiation related DB field to latest one --- config/main.py | 120 +++++++++++++++++ doc/Command-Reference.md | 127 ++++++++++++++++++ scripts/db_migrator.py | 22 ++- scripts/intfutil | 84 +++++++++++- scripts/portconfig | 114 +++++++++++++++- show/interfaces/__init__.py | 35 +++++ tests/config_an_test.py | 76 +++++++++++ .../non-default-config-expected.json | 2 +- .../config_db/port-an-expected.json | 40 ++++++ .../config_db/port-an-input.json | 39 ++++++ tests/db_migrator_test.py | 23 ++++ tests/intfutil_test.py | 48 +++++++ tests/mock_tables/appl_db.json | 11 +- tests/mock_tables/state_db.json | 3 + 14 files changed, 735 insertions(+), 9 deletions(-) create mode 100644 tests/config_an_test.py create mode 100644 tests/db_migrator_input/config_db/port-an-expected.json create mode 100644 tests/db_migrator_input/config_db/port-an-input.json diff --git a/config/main.py b/config/main.py index 953af72e79..d0c7c4258b 100644 --- a/config/main.py +++ b/config/main.py @@ -3014,6 +3014,126 @@ def speed(ctx, interface_name, interface_speed, verbose): command += " -vv" clicommon.run_command(command, display_cmd=verbose) +# +# 'autoneg' subcommand +# + +@interface.command() +@click.pass_context +@click.argument('interface_name', metavar='', required=True) +@click.argument('mode', metavar='', required=True, type=click.Choice(["enabled", "disabled"])) +@click.option('-v', '--verbose', is_flag=True, help="Enable verbose output") +def autoneg(ctx, interface_name, mode, verbose): + """Set interface auto negotiation mode""" + # Get the config_db connector + config_db = ctx.obj['config_db'] + + if clicommon.get_interface_naming_mode() == "alias": + interface_name = interface_alias_to_name(config_db, interface_name) + if interface_name is None: + ctx.fail("'interface_name' is None!") + + log.log_info("'interface autoneg {} {}' executing...".format(interface_name, mode)) + + if ctx.obj['namespace'] is DEFAULT_NAMESPACE: + command = "portconfig -p {} -an {}".format(interface_name, mode) + else: + command = "portconfig -p {} -an {} -n {}".format(interface_name, mode, ctx.obj['namespace']) + + if verbose: + command += " -vv" + clicommon.run_command(command, display_cmd=verbose) + +# +# 'adv-speeds' subcommand +# + +@interface.command() +@click.pass_context +@click.argument('interface_name', metavar='', required=True) +@click.argument('speed_list', metavar='', required=True) +@click.option('-v', '--verbose', is_flag=True, help="Enable verbose output") +def advertised_speeds(ctx, interface_name, speed_list, verbose): + """Set interface advertised speeds""" + # Get the config_db connector + config_db = ctx.obj['config_db'] + + if clicommon.get_interface_naming_mode() == "alias": + interface_name = interface_alias_to_name(config_db, interface_name) + if interface_name is None: + ctx.fail("'interface_name' is None!") + + log.log_info("'interface advertised_speeds {} {}' executing...".format(interface_name, speed_list)) + + if ctx.obj['namespace'] is DEFAULT_NAMESPACE: + command = "portconfig -p {} -S {}".format(interface_name, speed_list) + else: + command = "portconfig -p {} -S {} -n {}".format(interface_name, speed_list, ctx.obj['namespace']) + + if verbose: + command += " -vv" + clicommon.run_command(command, display_cmd=verbose) + +# +# 'interface-type' subcommand +# + +@interface.command(name='type') +@click.pass_context +@click.argument('interface_name', metavar='', required=True) +@click.argument('interface_type_value', metavar='', required=True) +@click.option('-v', '--verbose', is_flag=True, help="Enable verbose output") +def interface_type(ctx, interface_name, interface_type_value, verbose): + """Set interface type""" + # Get the config_db connector + config_db = ctx.obj['config_db'] + + if clicommon.get_interface_naming_mode() == "alias": + interface_name = interface_alias_to_name(config_db, interface_name) + if interface_name is None: + ctx.fail("'interface_name' is None!") + + log.log_info("'interface interface_type {} {}' executing...".format(interface_name, interface_type_value)) + + if ctx.obj['namespace'] is DEFAULT_NAMESPACE: + command = "portconfig -p {} -t {}".format(interface_name, interface_type_value) + else: + command = "portconfig -p {} -t {} -n {}".format(interface_name, interface_type_value, ctx.obj['namespace']) + + if verbose: + command += " -vv" + clicommon.run_command(command, display_cmd=verbose) + +# +# 'advertised-interface-types' subcommand +# + +@interface.command() +@click.pass_context +@click.argument('interface_name', metavar='', required=True) +@click.argument('interface_type_list', metavar='', required=True) +@click.option('-v', '--verbose', is_flag=True, help="Enable verbose output") +def advertised_types(ctx, interface_name, interface_type_list, verbose): + """Set interface advertised types""" + # Get the config_db connector + config_db = ctx.obj['config_db'] + + if clicommon.get_interface_naming_mode() == "alias": + interface_name = interface_alias_to_name(config_db, interface_name) + if interface_name is None: + ctx.fail("'interface_name' is None!") + + log.log_info("'interface advertised_interface_types {} {}' executing...".format(interface_name, interface_type_list)) + + if ctx.obj['namespace'] is DEFAULT_NAMESPACE: + command = "portconfig -p {} -T {}".format(interface_name, interface_type_list) + else: + command = "portconfig -p {} -T {} -n {}".format(interface_name, interface_type_list, ctx.obj['namespace']) + + if verbose: + command += " -vv" + clicommon.run_command(command, display_cmd=verbose) + # # 'breakout' subcommand # diff --git a/doc/Command-Reference.md b/doc/Command-Reference.md index ab4e28dbdc..6c7a474a5c 100644 --- a/doc/Command-Reference.md +++ b/doc/Command-Reference.md @@ -3064,6 +3064,7 @@ Subsequent pages explain each of these commands in detail. -?, -h, --help Show this message and exit. Commands: + autoneg Show interface autoneg information breakout Show Breakout Mode information by interfaces counters Show interface counters description Show interface status, protocol and... @@ -3074,6 +3075,30 @@ Subsequent pages explain each of these commands in detail. transceiver Show SFP Transceiver information ``` +**show interfaces autoneg** + +This show command displays the port auto negotiation status for all interfaces i.e. interface name, auto negotiation mode, speed, advertised speeds, interface type, advertised interface types, operational status, admin status. For a single interface, provide the interface name with the sub-command. + +- Usage: + ``` + show interfaces autoneg status + show interfaces autoneg status + ``` + +- Example: + ``` + admin@sonic:~$ show interfaces autoneg status + Interface Auto-Neg Mode Speed Adv Speeds Type Adv Types Oper Admin + ----------- --------------- ------- ------------ ------ ----------- ------ ------- + Ethernet0 enabled 25G 10G,25G CR CR,CR4 up up + Ethernet4 disabled 100G all CR4 all up up + + admin@sonic:~$ show interfaces autoneg status Ethernet8 + Interface Auto-Neg Mode Speed Adv Speeds Type Adv Types Oper Admin + ----------- --------------- ------- ------------ ------ ----------- ------ ------- + Ethernet8 disabled 100G N/A CR4 N/A up up + ``` + **show interfaces breakout** This show command displays the port capability for all interfaces i.e. index, lanes, default_brkout_mode, breakout_modes(i.e. all the available breakout modes) and brkout_mode (i.e. current breakout mode). To display current breakout mode, "current-mode" subcommand can be used.For a single interface, provide the interface name with the sub-command. @@ -3380,6 +3405,10 @@ This sub-section explains the following list of configuration on the interfaces. 4) speed - to set the interface speed 5) startup - to bring up the administratively shutdown interface 6) breakout - to set interface breakout mode +7) autoneg - to set interface auto negotiation mode +8) advertised-speeds - to set interface advertised speeds +9) advertised-types - to set interface advertised types +10) type - to set interface type From 201904 release onwards, the “config interface” command syntax is changed and the format is as follows: @@ -3714,6 +3743,104 @@ kindly use, double tab i.e. to see the available breakout option cust Go Back To [Beginning of the document](#) or [Beginning of this section](#interfaces) +**config interface autoneg (Versions >= 202106)** + +This command is used to set port auto negotiation mode. + +- Usage: + ``` + sudo config interface autoneg --help + Usage: config interface autoneg [OPTIONS] + + Set interface auto negotiation mode + + Options: + -v, --verbose Enable verbose output + -h, -?, --help Show this message and exit. + ``` + +- Example: + ``` + admin@sonic:~$ sudo config interface autoneg Ethernet0 enabled + + admin@sonic:~$ sudo config interface autoneg Ethernet0 disabled + ``` + +Go Back To [Beginning of the document](#) or [Beginning of this section](#interfaces) + +**config interface advertised-speeds (Versions >= 202106)** + +This command is used to set port advertised speed. + +- Usage: + ``` + sudo config interface advertised-speeds --help + Usage: config interface advertised-speeds [OPTIONS] + + Set interface advertised speeds + + Options: + -v, --verbose Enable verbose output + -h, -?, --help Show this message and exit. + ``` + +- Example: + ``` + admin@sonic:~$ sudo config interface advertised-speeds Ethernet0 all + + admin@sonic:~$ sudo config interface advertised-speeds Ethernet0 50000,100000 + ``` + +Go Back To [Beginning of the document](#) or [Beginning of this section](#interfaces) + +**config interface advertised-types (Versions >= 202106)** + +This command is used to set port advertised interface types. + +- Usage: + ``` + sudo config interface advertised-types --help + Usage: config interface advertised-types [OPTIONS] + + Set interface advertised types + + Options: + -v, --verbose Enable verbose output + -h, -?, --help Show this message and exit. + ``` + +- Example: + ``` + admin@sonic:~$ sudo config interface advertised-types Ethernet0 all + + admin@sonic:~$ sudo config interface advertised-types Ethernet0 CR,CR4 + ``` + +Go Back To [Beginning of the document](#) or [Beginning of this section](#interfaces) + +**config interface type (Versions >= 202106)** + +This command is used to set port interface type. + +- Usage: + ``` + sudo config interface type --help + Usage: config interface type [OPTIONS] + + Set interface type + + Options: + -v, --verbose Enable verbose output + -h, -?, --help Show this message and exit. + ``` + +- Example: + ``` + admin@sonic:~$ sudo config interface type Ethernet0 CR4 + ``` + +Go Back To [Beginning of the document](#) or [Beginning of this section](#interfaces) + **config interface cable_length (Versions >= 202006)** This command is used to configure the length of the cable connected to a port. The cable_length is in unit of meters and must be suffixed with "m". diff --git a/scripts/db_migrator.py b/scripts/db_migrator.py index 6e18ca4034..4d4312e5e4 100755 --- a/scripts/db_migrator.py +++ b/scripts/db_migrator.py @@ -353,6 +353,18 @@ def prepare_dynamic_buffer_for_warm_reboot(self, buffer_pools=None, buffer_profi return True + def migrate_config_db_port_table_for_auto_neg(self): + table_name = 'PORT' + port_table = self.configDB.get_table(table_name) + for key, value in port_table.items(): + if 'autoneg' in value: + if value['autoneg'] == '1': + self.configDB.set(self.configDB.CONFIG_DB, '{}|{}'.format(table_name, key), 'autoneg', 'on') + if 'speed' in value and 'adv_speeds' not in value: + self.configDB.set(self.configDB.CONFIG_DB, '{}|{}'.format(table_name, key), 'adv_speeds', value['speed']) + elif value['autoneg'] == '0': + self.configDB.set(self.configDB.CONFIG_DB, '{}|{}'.format(table_name, key), 'autoneg', 'off') + def version_unknown(self): """ version_unknown tracks all SONiC versions that doesn't have a version @@ -470,10 +482,18 @@ def version_1_0_5(self): def version_2_0_0(self): """ - Current latest version. Nothing to do here. + Version 2_0_0. """ log.log_info('Handling version_2_0_0') + self.migrate_config_db_port_table_for_auto_neg() + self.set_version('version_2_0_1') + return 'version_2_0_1' + def version_2_0_1(self): + """ + Current latest version. Nothing to do here. + """ + log.log_info('Handling version_2_0_1') return None def get_version(self): diff --git a/scripts/intfutil b/scripts/intfutil index 3a77338b39..a409d1a29d 100755 --- a/scripts/intfutil +++ b/scripts/intfutil @@ -41,6 +41,10 @@ PORT_FEC = "fec" PORT_DESCRIPTION = "description" PORT_OPTICS_TYPE = "type" PORT_PFC_ASYM_STATUS = "pfc_asym" +PORT_AUTONEG = 'autoneg' +PORT_ADV_SPEEDS = 'adv_speeds' +PORT_INTERFACE_TYPE = 'interface_type' +PORT_ADV_INTERFACE_TYPES = 'adv_interface_types' VLAN_SUB_INTERFACE_SEPARATOR = "." VLAN_SUB_INTERFACE_TYPE = "802.1q-encapsulation" @@ -133,7 +137,13 @@ def appl_db_port_status_get(appl_db, intf_name, status_type): if status is None: return "N/A" if status_type == PORT_SPEED and status != "N/A": - status = '{}G'.format(status[:-3]) + status = '{}G'.format(status[:-3]) + elif status_type == PORT_ADV_SPEEDS and status != "N/A" and status != "all": + speed_list = status.split(',') + new_speed_list = [] + for s in natsorted(speed_list): + new_speed_list.append('{}G'.format(s[:-3])) + status = ','.join(new_speed_list) return status def state_db_port_optics_get(state_db, intf_name, type): @@ -506,10 +516,77 @@ class IntfDescription(object): if self.appl_db_keys: self.table += self.generate_intf_description() + +# ========================== interface-autoneg logic ========================== +header_autoneg = ['Interface', 'Auto-Neg Mode', 'Speed', 'Adv Speeds', 'Type', 'Adv Types', 'Oper', 'Admin'] + + +class IntfAutoNegStatus(object): + + def __init__(self, intf_name, namespace_option, display_option): + self.db = None + self.config_db = None + self.table = [] + self.multi_asic = multi_asic_util.MultiAsic( + display_option, namespace_option) + + if intf_name is not None and intf_name == SUB_PORT: + self.intf_name = None + else: + self.intf_name = intf_name + + def display_autoneg_status(self): + + self.get_intf_autoneg_status() + + # Sorting and tabulating the result table. + sorted_table = natsorted(self.table) + print(tabulate(sorted_table, header_autoneg, tablefmt="simple", stralign='right')) + + def generate_autoneg_status(self): + """ + Generate interface-autoneg output + """ + + i = {} + table = [] + key = [] + + # + # Iterate through all the keys and append port's associated state to + # the result table. + # + for i in self.appl_db_keys: + key = re.split(':', i, maxsplit=1)[-1].strip() + if key in self.front_panel_ports_list: + if self.multi_asic.skip_display(constants.PORT_OBJ, key): + continue + autoneg_mode = appl_db_port_status_get(self.db, key, PORT_AUTONEG) + if autoneg_mode != 'N/A': + autoneg_mode = 'enabled' if autoneg_mode == 'on' else 'disabled' + table.append((key, + autoneg_mode, + appl_db_port_status_get(self.db, key, PORT_SPEED), + appl_db_port_status_get(self.db, key, PORT_ADV_SPEEDS), + appl_db_port_status_get(self.db, key, PORT_INTERFACE_TYPE), + appl_db_port_status_get(self.db, key, PORT_ADV_INTERFACE_TYPES), + appl_db_port_status_get(self.db, key, PORT_OPER_STATUS), + appl_db_port_status_get(self.db, key, PORT_ADMIN_STATUS), + )) + return table + + @multi_asic_util.run_on_multi_asic + def get_intf_autoneg_status(self): + self.front_panel_ports_list = get_frontpanel_port_list(self.config_db) + self.appl_db_keys = appl_db_keys_get(self.db, self.front_panel_ports_list, self.intf_name) + if self.appl_db_keys: + self.table += self.generate_autoneg_status() + + def main(): parser = argparse.ArgumentParser(description='Display Interface information', formatter_class=argparse.RawTextHelpFormatter) - parser.add_argument('-c', '--command', type=str, help='get interface status or description', default=None) + parser.add_argument('-c', '--command', type=str, help='get interface status or description or auto negotiation status', default=None) parser.add_argument('-i', '--interface', type=str, help='interface information for specific port: Ethernet0', default=None) parser = multi_asic_util.multi_asic_args(parser) args = parser.parse_args() @@ -520,6 +597,9 @@ def main(): elif args.command == "description": interface_desc = IntfDescription(args.interface, args.namespace, args.display) interface_desc.display_intf_description() + elif args.command == "autoneg": + interface_autoneg_status = IntfAutoNegStatus(args.interface, args.namespace, args.display) + interface_autoneg_status.display_autoneg_status() sys.exit(0) diff --git a/scripts/portconfig b/scripts/portconfig index b22e547101..a37a86a82f 100755 --- a/scripts/portconfig +++ b/scripts/portconfig @@ -16,15 +16,47 @@ optional arguments: -f --fec port fec mode -m --mtu port mtu in bytes -n --namesapce Namespace name + -an --autoneg port auto negotiation mode + -S --adv-speeds port advertised speeds + -t --interface-type port interface type + -T --adv-interface-types port advertised interface types """ +import os import sys import argparse -from swsscommon.swsscommon import ConfigDBConnector, SonicDBConfig +# mock the redis for unit test purposes # +try: + if os.environ["UTILITIES_UNIT_TESTING"] == "1": + modules_path = os.path.join(os.path.dirname(__file__), "..") + test_path = os.path.join(modules_path, "tests") + sys.path.insert(0, modules_path) + sys.path.insert(0, test_path) + import mock_tables.dbconnector +except KeyError: + pass + +from swsscommon.swsscommon import ConfigDBConnector, SonicDBConfig, SonicV2Connector + +# APPL_DB constants PORT_TABLE_NAME = "PORT" PORT_SPEED_CONFIG_FIELD_NAME = "speed" PORT_FEC_CONFIG_FIELD_NAME = "fec" PORT_MTU_CONFIG_FIELD_NAME = "mtu" +PORT_AUTONEG_CONFIG_FIELD_NAME = "autoneg" +PORT_ADV_SPEEDS_CONFIG_FIELD_NAME = "adv_speeds" +PORT_INTERFACE_TYPE_CONFIG_FIELD_NAME = "interface_type" +PORT_ADV_INTERFACE_TYPES_CONFIG_FIELD_NAME = "adv_interface_types" + +# STATE_DB constants +PORT_STATE_TABLE_NAME = "PORT_TABLE" +PORT_STATE_SUPPORTED_SPEEDS = "supported_speeds" + + +VALID_INTERFACE_TYPE_SET = set(['CR','CR2','CR4','SR','SR2','SR4', + 'LR','LR4','KR','KR4','CAUI','GMII', + 'SFI','XLAUI','KR2','CAUI4','XAUI', + 'XFI','XGMII']) class portconfig(object): """ @@ -32,7 +64,7 @@ class portconfig(object): """ def __init__(self, verbose, port, namespace): self.verbose = verbose - + self.namespace = namespace # Set up db connections if namespace is None: self.db = ConfigDBConnector() @@ -54,6 +86,12 @@ class portconfig(object): def set_speed(self, port, speed): if self.verbose: print("Setting speed %s on port %s" % (speed, port)) + supported_speeds_str = self.get_supported_speeds(port) + if supported_speeds_str: + if supported_speeds_str.find(str(speed)) == -1: + print('Invalid speed specified: {}'.format(speed)) + print('Valid speeds:{}'.format(supported_speeds_str)) + exit(1) self.db.mod_entry(PORT_TABLE_NAME, port, {PORT_SPEED_CONFIG_FIELD_NAME: speed}) def set_fec(self, port, fec): @@ -66,6 +104,60 @@ class portconfig(object): print("Setting mtu %s on port %s" % (mtu, port)) self.db.mod_entry(PORT_TABLE_NAME, port, {PORT_MTU_CONFIG_FIELD_NAME: mtu}) + def set_autoneg(self, port, mode): + if self.verbose: + print("Setting autoneg %s on port %s" % (mode, port)) + mode = 'on' if mode == 'enabled' else 'off' + self.db.mod_entry(PORT_TABLE_NAME, port, {PORT_AUTONEG_CONFIG_FIELD_NAME: mode}) + + def set_adv_speeds(self, port, adv_speeds): + if self.verbose: + print("Setting adv_speeds %s on port %s" % (adv_speeds, port)) + + if adv_speeds != 'all': + supported_speeds_str = self.get_supported_speeds(port) + if supported_speeds_str: + supported_speeds = set(supported_speeds_str.split(',')) + config_speeds = set(adv_speeds.split(',')) + invalid_speeds = config_speeds - supported_speeds + if invalid_speeds: + print('Invalid speed specified: {}'.format(','.join(invalid_speeds))) + print('Valid speeds:{}'.format(supported_speeds_str)) + exit(1) + + self.db.mod_entry(PORT_TABLE_NAME, port, {PORT_ADV_SPEEDS_CONFIG_FIELD_NAME: adv_speeds}) + + def set_interface_type(self, port, interface_type): + if self.verbose: + print("Setting interface_type %s on port %s" % (interface_type, port)) + if interface_type not in VALID_INTERFACE_TYPE_SET: + print("Invalid interface type specified: {}".format(interface_type)) + print("Valid interface types:{}".format(','.join(VALID_INTERFACE_TYPE_SET))) + exit(1) + self.db.mod_entry(PORT_TABLE_NAME, port, {PORT_INTERFACE_TYPE_CONFIG_FIELD_NAME: interface_type}) + + def set_adv_interface_types(self, port, adv_interface_types): + if self.verbose: + print("Setting adv_interface_types %s on port %s" % (adv_interface_types, port)) + + if adv_interface_types != 'all': + config_interface_types = set(adv_interface_types.split(',')) + invalid_interface_types = config_interface_types - VALID_INTERFACE_TYPE_SET + if invalid_interface_types: + print("Invalid interface type specified: {}".format(','.join(invalid_interface_types))) + print("Valid interface types:{}".format(','.join(VALID_INTERFACE_TYPE_SET))) + exit(1) + self.db.mod_entry(PORT_TABLE_NAME, port, {PORT_ADV_INTERFACE_TYPES_CONFIG_FIELD_NAME: adv_interface_types}) + + def get_supported_speeds(self, port): + if not self.namespace: + state_db = SonicV2Connector(host="127.0.0.1") + else: + state_db = SonicV2Connector(host="127.0.0.1", namesapce=self.namespace, use_unix_socket_path=True) + state_db.connect(state_db.STATE_DB) + return state_db.get(state_db.STATE_DB, '{}|{}'.format(PORT_STATE_TABLE_NAME, port), PORT_STATE_SUPPORTED_SPEEDS) + + def main(): parser = argparse.ArgumentParser(description='Set SONiC port parameters', formatter_class=argparse.RawTextHelpFormatter) @@ -78,6 +170,14 @@ def main(): parser.add_argument('-vv', '--verbose', action='store_true', help='Verbose output', default=False) parser.add_argument('-n', '--namespace', metavar='namespace details', type = str, required = False, help = 'The asic namespace whose DB instance we need to connect', default=None) + parser.add_argument('-an', '--autoneg', type = str, required = False, + help = 'port auto negotiation mode', default=None) + parser.add_argument('-S', '--adv-speeds', type = str, required = False, + help = 'port advertised speeds', default=None) + parser.add_argument('-t', '--interface-type', type = str, required = False, + help = 'port interface type', default=None) + parser.add_argument('-T', '--adv-interface-types', type = str, required = False, + help = 'port advertised interface types', default=None) args = parser.parse_args() if args.namespace is not None: @@ -89,13 +189,21 @@ def main(): port = portconfig(args.verbose, args.port, args.namespace) if args.list: port.list_params(args.port) - elif args.speed or args.fec or args.mtu: + elif args.speed or args.fec or args.mtu or args.autoneg or args.adv_speeds or args.interface_type or args.adv_interface_types: if args.speed: port.set_speed(args.port, args.speed) if args.fec: port.set_fec(args.port, args.fec) if args.mtu: port.set_mtu(args.port, args.mtu) + if args.autoneg: + port.set_autoneg(args.port, args.autoneg) + if args.adv_speeds: + port.set_adv_speeds(args.port, args.adv_speeds) + if args.interface_type: + port.set_interface_type(args.port, args.interface_type) + if args.adv_interface_types: + port.set_adv_interface_types(args.port, args.adv_interface_types) else: parser.print_help() sys.exit(1) diff --git a/show/interfaces/__init__.py b/show/interfaces/__init__.py index a588a1e6c5..6d31890b22 100644 --- a/show/interfaces/__init__.py +++ b/show/interfaces/__init__.py @@ -465,3 +465,38 @@ def detailed(interface, period, verbose): cmd += " -i {}".format(interface) clicommon.run_command(cmd, display_cmd=verbose) + + +# +# autoneg group (show interfaces autoneg ...) +# +@interfaces.group(name='autoneg', cls=clicommon.AliasedGroup) +def autoneg(): + """Show interface autoneg information""" + pass + + +# 'autoneg status' subcommand ("show interfaces autoneg status") +@autoneg.command(name='status') +@click.argument('interfacename', required=False) +@multi_asic_util.multi_asic_click_options +@click.option('--verbose', is_flag=True, help="Enable verbose output") +def autoneg_status(interfacename, namespace, display, verbose): + """Show interface autoneg status""" + + ctx = click.get_current_context() + + cmd = "intfutil -c autoneg" + + #ignore the display option when interface name is passed + if interfacename is not None: + interfacename = try_convert_interfacename_from_alias(ctx, interfacename) + + cmd += " -i {}".format(interfacename) + else: + cmd += " -d {}".format(display) + + if namespace is not None: + cmd += " -n {}".format(namespace) + + clicommon.run_command(cmd, display_cmd=verbose) diff --git a/tests/config_an_test.py b/tests/config_an_test.py new file mode 100644 index 0000000000..cfec47a5d1 --- /dev/null +++ b/tests/config_an_test.py @@ -0,0 +1,76 @@ +import click +import config.main as config +import operator +import os +import pytest +import sys + +from click.testing import CliRunner +from utilities_common.db import Db + +test_path = os.path.dirname(os.path.abspath(__file__)) +modules_path = os.path.dirname(test_path) +scripts_path = os.path.join(modules_path, "scripts") +sys.path.insert(0, modules_path) + + +@pytest.fixture(scope='module') +def ctx(scope='module'): + db = Db() + obj = {'config_db':db.cfgdb, 'namespace': ''} + yield obj + + +class TestConfigInterface(object): + @classmethod + def setup_class(cls): + print("SETUP") + os.environ["PATH"] += os.pathsep + scripts_path + os.environ["UTILITIES_UNIT_TESTING"] = "1" + + def test_config_autoneg(self, ctx): + self.basic_check("autoneg", ["Ethernet0", "enabled"], ctx) + self.basic_check("autoneg", ["Ethernet0", "disabled"], ctx) + self.basic_check("autoneg", ["Invalid", "enabled"], ctx, operator.ne) + self.basic_check("autoneg", ["Ethernet0", "invalid"], ctx, operator.ne) + + def test_config_speed(self, ctx): + self.basic_check("speed", ["Ethernet0", "40000"], ctx) + self.basic_check("speed", ["Invalid", "40000"], ctx, operator.ne) + # 50000 is not a supported speed + result = self.basic_check("speed", ["Ethernet0", "50000"], ctx, operator.ne) + assert 'Invalid speed' in result.output + assert 'Valid speeds:' in result.output + self.basic_check("speed", ["Ethernet0", "invalid"], ctx, operator.ne) + + def test_config_adv_speeds(self, ctx): + self.basic_check("advertised-speeds", ["Ethernet0", "40000,100000"], ctx) + self.basic_check("advertised-speeds", ["Ethernet0", "all"], ctx) + self.basic_check("advertised-speeds", ["Invalid", "40000,100000"], ctx, operator.ne) + result = self.basic_check("advertised-speeds", ["Ethernet0", "50000,100000"], ctx, operator.ne) + assert 'Invalid speed' in result.output + assert 'Valid speeds:' in result.output + + def test_config_type(self, ctx): + self.basic_check("type", ["Ethernet0", "CR4"], ctx) + self.basic_check("type", ["Invalid", "CR4"], ctx, operator.ne) + self.basic_check("type", ["Ethernet0", ""], ctx, operator.ne) + result = self.basic_check("type", ["Ethernet0", "Invalid"], ctx, operator.ne) + assert 'Invalid interface type specified' in result.output + assert 'Valid interface types:' in result.output + + def test_config_adv_types(self, ctx): + self.basic_check("advertised-types", ["Ethernet0", "CR4,KR4"], ctx) + self.basic_check("advertised-types", ["Ethernet0", "all"], ctx) + self.basic_check("advertised-types", ["Invalid", "CR4,KR4"], ctx, operator.ne) + result = self.basic_check("advertised-types", ["Ethernet0", "CR4,Invalid"], ctx, operator.ne) + assert 'Invalid interface type specified' in result.output + assert 'Valid interface types:' in result.output + self.basic_check("advertised-types", ["Ethernet0", ""], ctx, operator.ne) + + def basic_check(self, command_name, para_list, ctx, op=operator.eq, expect_result=0): + runner = CliRunner() + result = runner.invoke(config.config.commands["interface"].commands[command_name], para_list, obj = ctx) + print(result.output) + assert op(result.exit_code, expect_result) + return result diff --git a/tests/db_migrator_input/config_db/non-default-config-expected.json b/tests/db_migrator_input/config_db/non-default-config-expected.json index a31a50b45e..46e75f26f7 100644 --- a/tests/db_migrator_input/config_db/non-default-config-expected.json +++ b/tests/db_migrator_input/config_db/non-default-config-expected.json @@ -1115,6 +1115,6 @@ "speed": "50000" }, "VERSIONS|DATABASE": { - "VERSION": "version_2_0_0" + "VERSION": "version_2_0_1" } } diff --git a/tests/db_migrator_input/config_db/port-an-expected.json b/tests/db_migrator_input/config_db/port-an-expected.json new file mode 100644 index 0000000000..766ea64a94 --- /dev/null +++ b/tests/db_migrator_input/config_db/port-an-expected.json @@ -0,0 +1,40 @@ +{ + "PORT|Ethernet0": { + "index": "0", + "lanes": "0,1", + "description": "etp1a", + "mtu": "9100", + "alias": "etp1a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none", + "autoneg": "on", + "adv_speeds": "10000" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none", + "autoneg": "off" + }, + "PORT|Ethernet4": { + "index": "1", + "lanes": "4,5", + "description": "Servers1:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_1" + } +} \ No newline at end of file diff --git a/tests/db_migrator_input/config_db/port-an-input.json b/tests/db_migrator_input/config_db/port-an-input.json new file mode 100644 index 0000000000..373c9ae989 --- /dev/null +++ b/tests/db_migrator_input/config_db/port-an-input.json @@ -0,0 +1,39 @@ +{ + "PORT|Ethernet0": { + "index": "0", + "lanes": "0,1", + "description": "etp1a", + "mtu": "9100", + "alias": "etp1a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none", + "autoneg": "1" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none", + "autoneg": "0" + }, + "PORT|Ethernet4": { + "index": "1", + "lanes": "4,5", + "description": "Servers1:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_0" + } +} \ No newline at end of file diff --git a/tests/db_migrator_test.py b/tests/db_migrator_test.py index bbff2a7666..293ee1d09f 100644 --- a/tests/db_migrator_test.py +++ b/tests/db_migrator_test.py @@ -139,6 +139,7 @@ def test_mellanox_buffer_migrator_for_cold_reboot(self, sku_version, topo): import db_migrator dbmgtr = db_migrator.DBMigrator(None) dbmgtr.migrate() + # Eventually, the config db should be migrated to the latest version expected_db = self.mock_dedicated_config_db(self.make_db_name_by_sku_topo_version(sku, topo, self.version_list[-1])) self.advance_version_for_expected_database(dbmgtr.configDB, expected_db.cfgdb) @@ -192,3 +193,25 @@ def test_mellanox_buffer_migrator_negative_nondefault_for_warm_reboot(self): input_config_db = 'non-default-config-input' input_appl_db = 'non-default-input' self.mellanox_buffer_migrator_warm_reboot_runner(input_config_db, input_appl_db, expected_config_db, expected_appl_db, False) + + +class TestAutoNegMigrator(object): + @classmethod + def setup_class(cls): + os.environ['UTILITIES_UNIT_TESTING'] = "2" + + @classmethod + def teardown_class(cls): + os.environ['UTILITIES_UNIT_TESTING'] = "0" + dbconnector.dedicated_dbs['CONFIG_DB'] = None + + def test_port_autoneg_migrator(self): + dbconnector.dedicated_dbs['CONFIG_DB'] = os.path.join(mock_db_path, 'config_db', 'port-an-input') + import db_migrator + dbmgtr = db_migrator.DBMigrator(None) + dbmgtr.migrate() + dbconnector.dedicated_dbs['CONFIG_DB'] = os.path.join(mock_db_path, 'config_db', 'port-an-expected') + expected_db = Db() + + assert dbmgtr.configDB.get_table('PORT') == expected_db.cfgdb.get_table('PORT') + assert dbmgtr.configDB.get_table('VERSIONS') == expected_db.cfgdb.get_table('VERSIONS') diff --git a/tests/intfutil_test.py b/tests/intfutil_test.py index c350c57e50..f14f3f7f15 100644 --- a/tests/intfutil_test.py +++ b/tests/intfutil_test.py @@ -62,6 +62,31 @@ Ethernet32 up up etp9 Servers7:eth0 """ +show_interface_auto_neg_status_output = """\ + Interface Auto-Neg Mode Speed Adv Speeds Type Adv Types Oper Admin +----------- --------------- ------- ------------ ------ ----------- ------ ------- + Ethernet0 enabled 25G 10G,50G CR4 CR4,CR2 down up + Ethernet32 disabled 40G all N/A all up up +Ethernet112 N/A 40G N/A N/A N/A up up +Ethernet116 N/A 40G N/A N/A N/A up up +Ethernet120 N/A 40G N/A N/A N/A up up +Ethernet124 N/A 40G N/A N/A N/A up up +""" + +show_interface_auto_neg_status_Ethernet0_output = """\ + Interface Auto-Neg Mode Speed Adv Speeds Type Adv Types Oper Admin +----------- --------------- ------- ------------ ------ ----------- ------ ------- + Ethernet0 enabled 25G 10G,50G CR4 CR4,CR2 down up +""" + +show_interface_auto_neg_status_eth9_output = """\ + Interface Auto-Neg Mode Speed Adv Speeds Type Adv Types Oper Admin +----------- --------------- ------- ------------ ------ ----------- ------ ------- + Ethernet32 disabled 40G all N/A all up up +""" + + + class TestIntfutil(TestCase): @classmethod def setup_class(cls): @@ -227,6 +252,29 @@ def test_single_subintf_status_alias_mode_verbose(self): os.environ["SONIC_CLI_IFACE_MODE"] = "default" + def test_show_interfaces_autoneg_status(self): + result = self.runner.invoke(show.cli.commands["interfaces"].commands["autoneg"].commands["status"], []) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == show_interface_auto_neg_status_output + + def test_show_interfaces_autoneg_status_Ethernet0(self): + result = self.runner.invoke(show.cli.commands["interfaces"].commands["autoneg"].commands["status"], ["Ethernet0"]) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == show_interface_auto_neg_status_Ethernet0_output + + def test_show_interfaces_autoneg_status_etp9_in_alias_mode(self): + os.environ["SONIC_CLI_IFACE_MODE"] = "alias" + result = self.runner.invoke(show.cli.commands["interfaces"].commands["autoneg"].commands["status"], ["etp9"]) + os.environ["SONIC_CLI_IFACE_MODE"] = "default" + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == show_interface_auto_neg_status_eth9_output + @classmethod def teardown_class(cls): print("TEARDOWN") diff --git a/tests/mock_tables/appl_db.json b/tests/mock_tables/appl_db.json index a73fbb0e55..c82562579a 100644 --- a/tests/mock_tables/appl_db.json +++ b/tests/mock_tables/appl_db.json @@ -34,7 +34,11 @@ "pfc_asym": "off", "mtu": "9100", "fec": "rs", - "admin_status": "up" + "admin_status": "up", + "adv_speeds": "50000,10000", + "interface_type": "CR4", + "adv_interface_types": "CR4,CR2", + "autoneg": "on" }, "PORT_TABLE:Ethernet32": { "index": "8", @@ -46,7 +50,10 @@ "pfc_asym": "off", "mtu": "9100", "fec": "rs", - "admin_status": "up" + "admin_status": "up", + "autoneg": "off", + "adv_speeds": "all", + "adv_interface_types": "all" }, "PORT_TABLE:Ethernet112": { "index": "28", diff --git a/tests/mock_tables/state_db.json b/tests/mock_tables/state_db.json index 45057b5cf4..b13c31c812 100644 --- a/tests/mock_tables/state_db.json +++ b/tests/mock_tables/state_db.json @@ -608,6 +608,9 @@ "ip_address": "192.168.1.2", "access": "False" }, + "PORT_TABLE|Ethernet0": { + "supported_speeds": "10000,25000,40000,100000" + }, "PCIE_DEVICE|00:01.0": { "correctable|BadDLLP": "0", "correctable|BadTLP": "0", From 331c5a5df0a28ddeedc2d6765bf2c0bbee34b3b8 Mon Sep 17 00:00:00 2001 From: Lawrence Lee Date: Mon, 10 May 2021 11:29:29 -0700 Subject: [PATCH 189/342] [config]: Use mod_entry when editing VLAN_INTERFACE (#1602) Replace set_entry with mod_entry when setting the proxy_arp value for a VLAN. Using set_entry will delete any other fields set for the key used, which is not desirable. Signed-off-by: Lawrence Lee --- config/vlan.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/vlan.py b/config/vlan.py index 36ef3da0ac..c3c29eb842 100644 --- a/config/vlan.py +++ b/config/vlan.py @@ -92,7 +92,7 @@ def config_proxy_arp(db, vid, mode): if not clicommon.is_valid_vlan_interface(db.cfgdb, vlan): ctx.fail("Interface {} does not exist".format(vlan)) - db.cfgdb.set_entry('VLAN_INTERFACE', vlan, {"proxy_arp": mode}) + db.cfgdb.mod_entry('VLAN_INTERFACE', vlan, {"proxy_arp": mode}) click.echo('Proxy ARP setting saved to ConfigDB') restart_ndppd() # From fde1d95549468545fe4477a9f21b955848cc72d7 Mon Sep 17 00:00:00 2001 From: shikenghua Date: Tue, 11 May 2021 07:55:26 +0800 Subject: [PATCH 190/342] [config][vxlan] fix 'vxlan evpn_nvo add' command error (#1511) * [config][vxlan]fix 'vxlan evpn_nvo add' command error Remove extra 'CONFIG_DB' argument from db.cfgdb.get_keys() Signed-off-by: shikenghua --- config/vxlan.py | 4 ++-- tests/vxlan_test.py | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/config/vxlan.py b/config/vxlan.py index 382ab72815..bfda1f4eff 100644 --- a/config/vxlan.py +++ b/config/vxlan.py @@ -47,7 +47,7 @@ def del_vxlan(db, vxlan_name): if(vxlan_count > 0): ctx.fail("Please delete the EVPN NVO configuration.") - vxlan_keys = db.cfgdb.get_keys('CONFIG_DB', "VXLAN_TUNNEL_MAP|*") + vxlan_keys = db.cfgdb.get_keys("VXLAN_TUNNEL_MAP|*") if not vxlan_keys: vxlan_count = 0 else: @@ -69,7 +69,7 @@ def vxlan_evpn_nvo(): def add_vxlan_evpn_nvo(db, nvo_name, vxlan_name): """Add NVO""" ctx = click.get_current_context() - vxlan_keys = db.cfgdb.get_keys('CONFIG_DB', "VXLAN_EVPN_NVO|*") + vxlan_keys = db.cfgdb.get_keys("VXLAN_EVPN_NVO|*") if not vxlan_keys: vxlan_count = 0 else: diff --git a/tests/vxlan_test.py b/tests/vxlan_test.py index 74819f9f61..b0997c5ee0 100644 --- a/tests/vxlan_test.py +++ b/tests/vxlan_test.py @@ -215,6 +215,11 @@ def test_config_vxlan_add(self): print(result.output) assert result.exit_code == 0 + result = runner.invoke(config.config.commands["vxlan"].commands["evpn_nvo"].commands["add"], ["nvo1", "vtep1"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + result = runner.invoke(show.cli.commands["vxlan"].commands["interface"], []) print(result.exit_code) print(result.output) From 9fc630c552d5f4cfa89fb9f84f40c975e1de9168 Mon Sep 17 00:00:00 2001 From: Stepan Blyshchak <38952541+stepanblyschak@users.noreply.github.com> Date: Tue, 11 May 2021 18:43:53 +0300 Subject: [PATCH 191/342] [sonic_installer] temporary fix: don't migrate packages on aboot platforms (#1607) What I did Skip sonic package migration on aboot platform. How I did it Added a warning and skip the migration. How to verify it I changed AbootBootloader to OnieInstallerBootloader to test on my Onie device. I don't have Aboot device. --- sonic_installer/main.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/sonic_installer/main.py b/sonic_installer/main.py index 5f89878344..57cd5adda8 100644 --- a/sonic_installer/main.py +++ b/sonic_installer/main.py @@ -12,6 +12,7 @@ from swsscommon.swsscommon import SonicV2Connector from .bootloader import get_bootloader +from .bootloader.aboot import AbootBootloader from .common import ( run_command, run_command_or_raise, IMAGE_PREFIX, @@ -23,7 +24,7 @@ from .exception import SonicRuntimeException SYSLOG_IDENTIFIER = "sonic-installer" -LOG_ERR = logger.Logger.LOG_PRIORITY_ERROR +LOG_ERR = logger.Logger.LOG_PRIORITY_ERROR LOG_NOTICE = logger.Logger.LOG_PRIORITY_NOTICE # Global Config object @@ -140,7 +141,7 @@ def echo_and_log(msg, priority=LOG_NOTICE, fg=None): else: click.secho(msg, fg=fg) log.log(priority, msg, False) - + # Function which validates whether a given URL specifies an existent file # on a reachable remote machine. Will abort the current operation if not @@ -323,7 +324,7 @@ def migrate_sonic_packages(bootloader, binary_image_version): with contextlib.ExitStack() as stack: def get_path(path): - """ Closure to get path by entering + """ Closure to get path by entering a context manager of bootloader.get_path_in_image """ return stack.enter_context(bootloader.get_path_in_image(new_image_dir, path)) @@ -433,6 +434,10 @@ def install(url, force, skip_migration=False, skip_package_migration=False): update_sonic_environment(bootloader, binary_image_version) + if isinstance(bootloader, AbootBootloader) and not skip_package_migration: + echo_and_log("Warning: SONiC package migration is not supported currenty on aboot platform due to https://github.com/Azure/sonic-buildimage/issues/7566.", LOG_ERR, fg="red") + skip_package_migration = True + if not skip_package_migration: migrate_sonic_packages(bootloader, binary_image_version) From 9d5b9702d0651443a1eddf96a170030a9c00e7a3 Mon Sep 17 00:00:00 2001 From: Travis Van Duyn Date: Tue, 11 May 2021 09:25:38 -0700 Subject: [PATCH 192/342] [Command-Reference.md] Document new SNMP show and config commands (#1600) * [show][config] SNMP commands added * fixed quotes for backticks * Fixed run for runningconfiguration and Del for Delete * changed admin@switch1 to admin@sonic and removed trailing prompt * updated Usage statements for SNMP * Updated for optional and required values * updated to remove unneeded example () statements * updated typo's --- doc/Command-Reference.md | 312 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 311 insertions(+), 1 deletion(-) diff --git a/doc/Command-Reference.md b/doc/Command-Reference.md index 6c7a474a5c..c72cc10f35 100644 --- a/doc/Command-Reference.md +++ b/doc/Command-Reference.md @@ -115,6 +115,9 @@ * [sFlow](#sflow) * [sFlow Show commands](#sflow-show-commands) * [sFlow Config commands](#sflow-config-commands) +* [SNMP](#snmp) + * [SNMP Show commands](#snmp-show-commands) + * [SNMP Config commands](#snmp-config-commands) * [Startup & Running Configuration](#startup--running-configuration) * [Startup Configuration](#startup-configuration) * [Running Configuration](#running-configuration) @@ -156,6 +159,7 @@ | Version | Modification Date | Details | | --- | --- | --- | +| v6 | May-06-2021 | Add SNMP show and config commands | | v5 | Nov-05-2020 | Add document for console commands | | v4 | Oct-17-2019 | Unify usage statements and other formatting; Replace tabs with spaces; Modify heading sizes; Fix spelling, grammar and other errors; Fix organization of new commands | | v3 | Jun-26-2019 | Update based on 201904 (build#19) release, "config interface" command changes related to interfacename order, FRR/Quagga show command changes, platform specific changes, ACL show changes and few formatting changes | @@ -3198,7 +3202,7 @@ The "errors" subcommand is used to display the interface errors. The "rates" subcommand is used to disply only the interface rates. -- Exmaple: +- Example: ``` admin@str-s6000-acs-11:/usr/bin$ show int counters rates IFACE STATE RX_OK RX_BPS RX_PPS RX_UTIL TX_OK TX_BPS TX_PPS TX_UTIL @@ -6691,6 +6695,312 @@ This command is used to set the counter polling interval. Default is 20 seconds. Go Back To [Beginning of the document](#) or [Beginning of this section](#sflow) +## SNMP + +### SNMP Show commands + +**show runningconfiguration snmp** + +This command displays the global SNMP configuration that includes the location, contact, community, and user settings. + +- Usage: + ``` + show runningconfiguration snmp + ``` + +- Example: + ``` + admin@sonic:~$ show runningconfiguration snmp + Location + ------------ + Emerald City + + + SNMP_CONTACT SNMP_CONTACT_EMAIL + -------------- -------------------- + joe joe@contoso.com + + + Community String Community Type + ------------------ ---------------- + Jack RW + + + User Permission Type Type Auth Type Auth Password Encryption Type Encryption Password + ------ ----------------- ------ ----------- --------------- ----------------- --------------------- + Travis RO Priv SHA TravisAuthPass AES TravisEncryptPass + ``` + +**show runningconfiguration snmp location** + +This command displays the SNMP location setting. + +- Usage: + ``` + show runningconfiguration snmp location + ``` + +- Example: + ``` + admin@sonic:~$ show runningconfiguration snmp location + Location + ------------ + Emerald City + ``` + +- Usage: + ``` + show runningconfiguration snmp location --json + ``` + +- Example: + ``` + admin@sonic:~$ show runningconfiguration snmp location --json + {'Location': 'Emerald City'} + ``` + +**show runningconfiguration snmp contact** + +This command displays the SNMP contact setting. + +- Usage: + ``` + show runningconfiguration snmp contact + ``` + +- Example: + ``` + admin@sonic:~$ show runningconfiguration snmp contact + Contact Contact Email + --------- --------------- + joe joe@contoso.com + ``` + +- Usage: + ``` + show runningconfiguration snmp contact --json + ``` + +- Example: + ``` + admin@sonic:~$ show runningconfiguration snmp contact --json + {'joe': 'joe@contoso.com'} + ``` + +**show runningconfiguration snmp community** + +This command display the SNMP community settings. + +- Usage: + ``` + show runningconfiguration snmp community + ``` + +- Example: + ``` + admin@sonic:~$ show runningconfiguration snmp community + Community String Community Type + ------------------ ---------------- + Jack RW + ``` + +- Usage: + ``` + show runningconfiguration snmp community --json + ``` + +- Example: + ``` + admin@sonic:~$ show runningconfiguration snmp community --json + {'Jack': {'TYPE': 'RW'}} + ``` + +**show runningconfiguration snmp user** + +This command display the SNMP user settings. + +- Usage: + ``` + show runningconfiguration snmp user + ``` + +- Example: + ``` + admin@sonic:~$ show runningconfiguration snmp user + User Permission Type Type Auth Type Auth Password Encryption Type Encryption Password + ------ ----------------- ------ ----------- --------------- ----------------- --------------------- + Travis RO Priv SHA TravisAuthPass AES TravisEncryptPass + ``` + +- Usage: + ``` + show runningconfiguration snmp user --json + ``` + +- Example: + ``` + admin@sonic:~$ show runningconfiguration snmp user --json + {'Travis': {'SNMP_USER_TYPE': 'Priv', 'SNMP_USER_PERMISSION': 'RO', 'SNMP_USER_AUTH_TYPE': 'SHA', 'SNMP_USER_AUTH_PASSWORD': 'TravisAuthPass', 'SNMP_USER_ENCRYPTION_TYPE': 'AES', 'SNMP_USER_ENCRYPTION_PASSWORD': 'TravisEncryptPass'}} + ``` + + +### SNMP Config commands + +This sub-section explains how to configure SNMP. + +**config snmp location add/del/modify** + +This command is used to add, delete, or modify the SNMP location. + +- Usage: + ``` + config snmp location (add | del | modify) + ``` + +- Example (Add new SNMP location "Emerald City" if it does not already exist): + ``` + admin@sonic:~$ sudo config snmp location add Emerald City + SNMP Location Emerald City has been added to configuration + Restarting SNMP service... + ``` + +- Example (Delete SNMP location "Emerald City" if it already exists): + ``` + admin@sonic:~$ sudo config snmp location del Emerald City + SNMP Location Emerald City removed from configuration + Restarting SNMP service... + ``` + +- Example (Modify SNMP location "Emerald City" to "Redmond"): + ``` + admin@sonic:~$ sudo config snmp location modify Redmond + SNMP location Redmond modified in configuration + Restarting SNMP service... + ``` + +**config snmp contact add/del/modify** + +This command is used to add, delete, or modify the SNMP contact. + +- Usage: + ``` + config snmp contact add + ``` + +- Example: + ``` + admin@sonic:~$ sudo config snmp contact add joe joe@contoso.com + Contact name joe and contact email joe@contoso.com have been added to configuration + Restarting SNMP service... + ``` + +- Usage: + ``` + config snmp contact del + ``` + +- Example: + ``` + admin@sonic:~$ sudo config snmp contact del joe + SNMP contact joe removed from configuration + Restarting SNMP service... + ``` + +- Usage: + ``` + config snmp contact modify + ``` + +- Example: + ``` + admin@sonic:~$ sudo config snmp contact modify test test@contoso.com + SNMP contact test and contact email test@contoso.com updated + Restarting SNMP service... + ``` + +**config snmp community add/del/replace** + +This command is used to add, delete, or replace the SNMP community. + +- Usage: + ``` + config snmp community add (RO | RW) + ``` + +- Example: + ``` + admin@sonic:~$ sudo config snmp community add testcomm ro + SNMP community testcomm added to configuration + Restarting SNMP service... + ``` + +- Usage: + ``` + config snmp community del + ``` + +- Example: + ``` + admin@sonic:~$ sudo config snmp community del testcomm + SNMP community testcomm removed from configuration + Restarting SNMP service... + ``` + +- Usage: + ``` + config snmp community replace + ``` + +- Example: + ``` + admin@sonic:~$ sudo config snmp community replace testcomm newtestcomm + SNMP community newtestcomm added to configuration + SNMP community newtestcomm replace community testcomm + Restarting SNMP service... + ``` + +**config snmp user add/del** + +This command is used to add or delete the SNMP user for SNMPv3. + +- Usage: + ``` + config snmp user add (noAuthNoPriv | AuthNoPriv | Priv) (RO | RW) [[(MD5 | SHA | MMAC-SHA-2) ] [(DES |AES) ]] + ``` + +- Example: + ``` + admin@sonic:~$ sudo config snmp user add testuser1 noauthnopriv ro + SNMP user testuser1 added to configuration + Restarting SNMP service... + ``` + +- Example: + ``` + admin@sonic:~$ sudo config snmp user add testuser2 authnopriv ro sha testuser2_auth_pass + SNMP user testuser2 added to configuration + Restarting SNMP service... + ``` + +- Example: + ``` + admin@sonic:~$ sudo config snmp user add testuser3 priv rw md5 testuser3_auth_pass aes testuser3_encrypt_pass + SNMP user testuser3 added to configuration + Restarting SNMP service... + ``` + +- Usage: + ``` + config snmp user del + ``` + +- Example: + ``` + admin@sonic:~$ sudo config snmp user del testuser1 + SNMP user testuser1 removed from configuration + Restarting SNMP service... + ``` + ## Startup & Running Configuration ### Startup Configuration From 0904b85aee15791032b337bbea61e54000382a74 Mon Sep 17 00:00:00 2001 From: Venkatesan Mahalingam <34145258+venkatmahalingam@users.noreply.github.com> Date: Tue, 11 May 2021 21:45:55 -0700 Subject: [PATCH 193/342] Add 'default' option for sFlow. (#1606) * Add 'default' option for sFlow. Signed-off-by: Venkatesan Mahalingam --- config/main.py | 19 +++++++++++++------ tests/sflow_test.py | 39 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+), 6 deletions(-) diff --git a/config/main.py b/config/main.py index d0c7c4258b..969e58d594 100644 --- a/config/main.py +++ b/config/main.py @@ -5012,7 +5012,7 @@ def polling_int(ctx, interval): config_db.mod_entry('SFLOW', 'global', sflow_tbl['global']) def is_valid_sample_rate(rate): - return rate in range(256, 8388608 + 1) + return rate.isdigit() and int(rate) in range(256, 8388608 + 1) # @@ -5070,24 +5070,31 @@ def disable(ctx, ifname): # @interface.command('sample-rate') @click.argument('ifname', metavar='', required=True, type=str) -@click.argument('rate', metavar='', required=True, type=int) +@click.argument('rate', metavar='', required=True, type=str) @click.pass_context def sample_rate(ctx, ifname, rate): config_db = ctx.obj['db'] if not interface_name_is_valid(config_db, ifname) and ifname != 'all': click.echo('Invalid interface name') return - if not is_valid_sample_rate(rate): - click.echo('Error: Sample rate must be between 256 and 8388608') + if not is_valid_sample_rate(rate) and rate != 'default': + click.echo('Error: Sample rate must be between 256 and 8388608 or default') return sess_dict = config_db.get_table('SFLOW_SESSION') - if sess_dict and ifname in sess_dict: + if sess_dict and ifname in sess_dict.keys(): + if rate == 'default': + if 'sample_rate' not in sess_dict[ifname]: + return + del sess_dict[ifname]['sample_rate'] + config_db.set_entry('SFLOW_SESSION', ifname, sess_dict[ifname]) + return sess_dict[ifname]['sample_rate'] = rate config_db.mod_entry('SFLOW_SESSION', ifname, sess_dict[ifname]) else: - config_db.mod_entry('SFLOW_SESSION', ifname, {'sample_rate': rate}) + if rate != 'default': + config_db.mod_entry('SFLOW_SESSION', ifname, {'sample_rate': rate}) # diff --git a/tests/sflow_test.py b/tests/sflow_test.py index 0e15f1e027..ecb2782534 100644 --- a/tests/sflow_test.py +++ b/tests/sflow_test.py @@ -290,6 +290,45 @@ def test_config_enable_all_intf(self): sflowSession = db.cfgdb.get_table('SFLOW_SESSION') assert sflowSession["all"]["admin_state"] == "up" + def test_config_sflow_intf_sample_rate_default(self): + db = Db() + runner = CliRunner() + obj = {'db':db.cfgdb} + + # mock interface_name_is_valid + config.interface_name_is_valid = mock.MagicMock(return_value = True) + + result_out1 = runner.invoke(show.cli.commands["sflow"].commands["interface"], [], obj=Db()) + print(result_out1.exit_code, result_out1.output) + assert result_out1.exit_code == 0 + + # set sample-rate to 2500 + result = runner.invoke(config.config.commands["sflow"]. + commands["interface"].commands["sample-rate"], + ["Ethernet2", "2500"], obj=obj) + print(result.exit_code, result.output) + assert result.exit_code == 0 + + # we can not use 'show sflow interface', becasue 'show sflow interface' + # gets data from appDB, we need to fetch data from configDB for verification + sflowSession = db.cfgdb.get_table('SFLOW_SESSION') + assert sflowSession["Ethernet2"]["sample_rate"] == "2500" + + # set sample-rate to default + result = runner.invoke(config.config.commands["sflow"]. + commands["interface"].commands["sample-rate"], + ["Ethernet2", "default"], obj=obj) + print(result.exit_code, result.output) + assert result.exit_code == 0 + + result_out2 = runner.invoke(show.cli.commands["sflow"].commands["interface"], [], obj=Db()) + print(result_out2.exit_code, result_out2.output) + assert result_out2.exit_code == 0 + assert result_out1.output == result_out2.output + + return + + @classmethod def teardown_class(cls): print("TEARDOWN") From 4e45d9c03d6eefdfa28edf34e16a5d4d583d775a Mon Sep 17 00:00:00 2001 From: Stepan Blyshchak <38952541+stepanblyschak@users.noreply.github.com> Date: Wed, 12 May 2021 19:55:14 +0300 Subject: [PATCH 194/342] [vlan] remove dhcp-relay as dhcp-relay commands will come as a plugin (#1378) - What I did Remove dhcp relay commands from sonic-utilities. dhcp-relay commands will come as a plugin with dhcp-relay docker installation. See Azure/SONiC#682 - How I did it Remove dhcp-relay commands from vlan. Make "show vlan brief" command table output extendable. - How to verify it Install dhcp-relay docker as app.ext. Verify that "config vlan dhcp-relay" and "show vlan brief" show dhcp data. --- config/vlan.py | 73 ---------- show/vlan.py | 197 +++++++++++++++----------- tests/vlan_test.py | 335 ++++++++++++--------------------------------- 3 files changed, 207 insertions(+), 398 deletions(-) diff --git a/config/vlan.py b/config/vlan.py index c3c29eb842..9cdb0fc348 100644 --- a/config/vlan.py +++ b/config/vlan.py @@ -185,76 +185,3 @@ def del_vlan_member(db, vid, port): db.cfgdb.set_entry('VLAN_MEMBER', (vlan, port), None) -@vlan.group(cls=clicommon.AbbreviationGroup, name='dhcp_relay') -def vlan_dhcp_relay(): - pass - -@vlan_dhcp_relay.command('add') -@click.argument('vid', metavar='', required=True, type=int) -@click.argument('dhcp_relay_destination_ip', metavar='', required=True) -@clicommon.pass_db -def add_vlan_dhcp_relay_destination(db, vid, dhcp_relay_destination_ip): - """ Add a destination IP address to the VLAN's DHCP relay """ - - ctx = click.get_current_context() - - if not clicommon.is_ipaddress(dhcp_relay_destination_ip): - ctx.fail('{} is invalid IP address'.format(dhcp_relay_destination_ip)) - - vlan_name = 'Vlan{}'.format(vid) - vlan = db.cfgdb.get_entry('VLAN', vlan_name) - if len(vlan) == 0: - ctx.fail("{} doesn't exist".format(vlan_name)) - - dhcp_relay_dests = vlan.get('dhcp_servers', []) - if dhcp_relay_destination_ip in dhcp_relay_dests: - click.echo("{} is already a DHCP relay destination for {}".format(dhcp_relay_destination_ip, vlan_name)) - return - - dhcp_relay_dests.append(dhcp_relay_destination_ip) - vlan['dhcp_servers'] = dhcp_relay_dests - db.cfgdb.set_entry('VLAN', vlan_name, vlan) - click.echo("Added DHCP relay destination address {} to {}".format(dhcp_relay_destination_ip, vlan_name)) - try: - click.echo("Restarting DHCP relay service...") - clicommon.run_command("systemctl stop dhcp_relay", display_cmd=False) - clicommon.run_command("systemctl reset-failed dhcp_relay", display_cmd=False) - clicommon.run_command("systemctl start dhcp_relay", display_cmd=False) - except SystemExit as e: - ctx.fail("Restart service dhcp_relay failed with error {}".format(e)) - -@vlan_dhcp_relay.command('del') -@click.argument('vid', metavar='', required=True, type=int) -@click.argument('dhcp_relay_destination_ip', metavar='', required=True) -@clicommon.pass_db -def del_vlan_dhcp_relay_destination(db, vid, dhcp_relay_destination_ip): - """ Remove a destination IP address from the VLAN's DHCP relay """ - - ctx = click.get_current_context() - - if not clicommon.is_ipaddress(dhcp_relay_destination_ip): - ctx.fail('{} is invalid IP address'.format(dhcp_relay_destination_ip)) - - vlan_name = 'Vlan{}'.format(vid) - vlan = db.cfgdb.get_entry('VLAN', vlan_name) - if len(vlan) == 0: - ctx.fail("{} doesn't exist".format(vlan_name)) - - dhcp_relay_dests = vlan.get('dhcp_servers', []) - if not dhcp_relay_destination_ip in dhcp_relay_dests: - ctx.fail("{} is not a DHCP relay destination for {}".format(dhcp_relay_destination_ip, vlan_name)) - - dhcp_relay_dests.remove(dhcp_relay_destination_ip) - if len(dhcp_relay_dests) == 0: - del vlan['dhcp_servers'] - else: - vlan['dhcp_servers'] = dhcp_relay_dests - db.cfgdb.set_entry('VLAN', vlan_name, vlan) - click.echo("Removed DHCP relay destination address {} from {}".format(dhcp_relay_destination_ip, vlan_name)) - try: - click.echo("Restarting DHCP relay service...") - clicommon.run_command("systemctl stop dhcp_relay", display_cmd=False) - clicommon.run_command("systemctl reset-failed dhcp_relay", display_cmd=False) - clicommon.run_command("systemctl start dhcp_relay", display_cmd=False) - except SystemExit as e: - ctx.fail("Restart service dhcp_relay failed with error {}".format(e)) diff --git a/show/vlan.py b/show/vlan.py index df4149fca9..b27f282a49 100644 --- a/show/vlan.py +++ b/show/vlan.py @@ -4,105 +4,141 @@ import utilities_common.cli as clicommon + @click.group(cls=clicommon.AliasedGroup) def vlan(): """Show VLAN information""" pass + +def get_vlan_id(ctx, vlan): + vlan_prefix, vid = vlan.split('Vlan') + return vid + + +def get_vlan_ip_address(ctx, vlan): + cfg, _ = ctx + _, vlan_ip_data, _ = cfg + ip_address = "" + for key in vlan_ip_data: + if not clicommon.is_ip_prefix_in_key(key): + continue + ifname, address = key + if vlan == ifname: + ip_address += "\n{}".format(address) + + return ip_address + + +def get_vlan_ports(ctx, vlan): + cfg, db = ctx + _, _, vlan_ports_data = cfg + vlan_ports = [] + iface_alias_converter = clicommon.InterfaceAliasConverter(db) + # Here natsorting is important in relation to another + # column which prints port tagging mode. + # If we sort both in the same way using same keys + # we will result in right order in both columns. + # This should be fixed by cli code autogeneration tool + # and we won't need this specific approach with + # VlanBrief.COLUMNS anymore. + for key in natsorted(list(vlan_ports_data.keys())): + ports_key, ports_value = key + if vlan != ports_key: + continue + + if clicommon.get_interface_naming_mode() == "alias": + ports_value = iface_alias_converter.name_to_alias(ports_value) + + vlan_ports.append(ports_value) + + return '\n'.join(vlan_ports) + + +def get_vlan_ports_tagging(ctx, vlan): + cfg, db = ctx + _, _, vlan_ports_data = cfg + vlan_ports_tagging = [] + # Here natsorting is important in relation to another + # column which prints vlan ports. + # If we sort both in the same way using same keys + # we will result in right order in both columns. + # This should be fixed by cli code autogeneration tool + # and we won't need this specific approach with + # VlanBrief.COLUMNS anymore. + for key in natsorted(list(vlan_ports_data.keys())): + ports_key, ports_value = key + if vlan != ports_key: + continue + + tagging_value = vlan_ports_data[key]["tagging_mode"] + vlan_ports_tagging.append(tagging_value) + + return '\n'.join(vlan_ports_tagging) + + +def get_proxy_arp(ctx, vlan): + cfg, _ = ctx + _, vlan_ip_data, _ = cfg + proxy_arp = "disabled" + for key in vlan_ip_data: + if clicommon.is_ip_prefix_in_key(key): + continue + if vlan == key: + proxy_arp = vlan_ip_data[key].get("proxy_arp", "disabled") + + return proxy_arp + + +class VlanBrief: + """ This class is used as a namespace to + define columns for "show vlan brief" command. + The usage of this class is for external plugin + (in this case dhcp-relay) to append new columns + to this list. + """ + + COLUMNS = [ + ("VLAN ID", get_vlan_id), + ("IP Address", get_vlan_ip_address), + ("Ports", get_vlan_ports), + ("Port Tagging", get_vlan_ports_tagging), + ("Proxy ARP", get_proxy_arp) + ] + + @classmethod + def register_column(cls, column_name, callback): + """ Adds a new column to "vlan brief" output. + Expected to be used from plugins code to extend + this command with additional VLAN fields. """ + + cls.COLUMNS.append((column_name, callback)) + + @vlan.command() @click.option('--verbose', is_flag=True, help="Enable verbose output") @clicommon.pass_db def brief(db, verbose): """Show all bridge information""" - header = ['VLAN ID', 'IP Address', 'Ports', 'Port Tagging', 'DHCP Helper Address', 'Proxy ARP'] + header = [colname for colname, getter in VlanBrief.COLUMNS] body = [] # Fetching data from config db for VLAN, VLAN_INTERFACE and VLAN_MEMBER - vlan_dhcp_helper_data = db.cfgdb.get_table('VLAN') + vlan_data = db.cfgdb.get_table('VLAN') vlan_ip_data = db.cfgdb.get_table('VLAN_INTERFACE') vlan_ports_data = db.cfgdb.get_table('VLAN_MEMBER') + vlan_cfg = (vlan_data, vlan_ip_data, vlan_ports_data) - # Defining dictionaries for DHCP Helper address, Interface Gateway IP, - # VLAN ports and port tagging - vlan_dhcp_helper_dict = {} - vlan_ip_dict = {} - vlan_ports_dict = {} - vlan_tagging_dict = {} - vlan_proxy_arp_dict = {} - - # Parsing DHCP Helpers info - for key in natsorted(list(vlan_dhcp_helper_data.keys())): - try: - if vlan_dhcp_helper_data[key]['dhcp_servers']: - vlan_dhcp_helper_dict[key.strip('Vlan')] = vlan_dhcp_helper_data[key]['dhcp_servers'] - except KeyError: - vlan_dhcp_helper_dict[key.strip('Vlan')] = " " - - # Parsing VLAN Gateway info - for key in vlan_ip_data: - if clicommon.is_ip_prefix_in_key(key): - interface_key = key[0].strip("Vlan") - interface_value = key[1] - - if interface_key in vlan_ip_dict: - vlan_ip_dict[interface_key].append(interface_value) - else: - vlan_ip_dict[interface_key] = [interface_value] - else: - interface_key = key.strip("Vlan") - if 'proxy_arp' in vlan_ip_data[key]: - proxy_arp_status = vlan_ip_data[key]['proxy_arp'] - else: - proxy_arp_status = "disabled" - - vlan_proxy_arp_dict[interface_key] = proxy_arp_status - - + for vlan in natsorted(vlan_data): + row = [] + for column in VlanBrief.COLUMNS: + column_name, getter = column + row.append(getter((vlan_cfg, db), vlan)) + body.append(row) - iface_alias_converter = clicommon.InterfaceAliasConverter(db) - - # Parsing VLAN Ports info - for key in natsorted(list(vlan_ports_data.keys())): - ports_key = key[0].strip("Vlan") - ports_value = key[1] - ports_tagging = vlan_ports_data[key]['tagging_mode'] - if ports_key in vlan_ports_dict: - if clicommon.get_interface_naming_mode() == "alias": - ports_value = iface_alias_converter.name_to_alias(ports_value) - vlan_ports_dict[ports_key].append(ports_value) - else: - if clicommon.get_interface_naming_mode() == "alias": - ports_value = iface_alias_converter.name_to_alias(ports_value) - vlan_ports_dict[ports_key] = [ports_value] - if ports_key in vlan_tagging_dict: - vlan_tagging_dict[ports_key].append(ports_tagging) - else: - vlan_tagging_dict[ports_key] = [ports_tagging] - - # Printing the following dictionaries in tablular forms: - # vlan_dhcp_helper_dict={}, vlan_ip_dict = {}, vlan_ports_dict = {} - # vlan_tagging_dict = {} - for key in natsorted(list(vlan_dhcp_helper_dict.keys())): - if key not in vlan_ip_dict: - ip_address = "" - else: - ip_address = ','.replace(',', '\n').join(vlan_ip_dict[key]) - if key not in vlan_ports_dict: - vlan_ports = "" - else: - vlan_ports = ','.replace(',', '\n').join((vlan_ports_dict[key])) - if key not in vlan_dhcp_helper_dict: - dhcp_helpers = "" - else: - dhcp_helpers = ','.replace(',', '\n').join(vlan_dhcp_helper_dict[key]) - if key not in vlan_tagging_dict: - vlan_tagging = "" - else: - vlan_tagging = ','.replace(',', '\n').join((vlan_tagging_dict[key])) - vlan_proxy_arp = vlan_proxy_arp_dict.get(key, "disabled") - body.append([key, ip_address, vlan_ports, vlan_tagging, dhcp_helpers, vlan_proxy_arp]) click.echo(tabulate(body, header, tablefmt="grid")) + @vlan.command() @clicommon.pass_db def config(db): @@ -141,3 +177,4 @@ def tablelize(keys, data): header = ['Name', 'VID', 'Member', 'Mode'] click.echo(tabulate(tablelize(keys, data), header)) + diff --git a/tests/vlan_test.py b/tests/vlan_test.py index ad3ff9fbb4..a7f533a824 100644 --- a/tests/vlan_test.py +++ b/tests/vlan_test.py @@ -10,79 +10,71 @@ from importlib import reload show_vlan_brief_output="""\ -+-----------+-----------------+-----------------+----------------+-----------------------+-------------+ -| VLAN ID | IP Address | Ports | Port Tagging | DHCP Helper Address | Proxy ARP | -+===========+=================+=================+================+=======================+=============+ -| 1000 | 192.168.0.1/21 | Ethernet4 | untagged | 192.0.0.1 | disabled | -| | fc02:1000::1/64 | Ethernet8 | untagged | 192.0.0.2 | | -| | | Ethernet12 | untagged | 192.0.0.3 | | -| | | Ethernet16 | untagged | 192.0.0.4 | | -+-----------+-----------------+-----------------+----------------+-----------------------+-------------+ -| 2000 | 192.168.0.10/21 | Ethernet24 | untagged | 192.0.0.1 | enabled | -| | fc02:1011::1/64 | Ethernet28 | untagged | 192.0.0.2 | | -| | | | | 192.0.0.3 | | -| | | | | 192.0.0.4 | | -+-----------+-----------------+-----------------+----------------+-----------------------+-------------+ -| 3000 | | | | | disabled | -+-----------+-----------------+-----------------+----------------+-----------------------+-------------+ -| 4000 | | PortChannel1001 | tagged | | disabled | -+-----------+-----------------+-----------------+----------------+-----------------------+-------------+ ++-----------+-----------------+-----------------+----------------+-------------+ +| VLAN ID | IP Address | Ports | Port Tagging | Proxy ARP | ++===========+=================+=================+================+=============+ +| 1000 | 192.168.0.1/21 | Ethernet4 | untagged | disabled | +| | fc02:1000::1/64 | Ethernet8 | untagged | | +| | | Ethernet12 | untagged | | +| | | Ethernet16 | untagged | | ++-----------+-----------------+-----------------+----------------+-------------+ +| 2000 | 192.168.0.10/21 | Ethernet24 | untagged | enabled | +| | fc02:1011::1/64 | Ethernet28 | untagged | | ++-----------+-----------------+-----------------+----------------+-------------+ +| 3000 | | | | disabled | ++-----------+-----------------+-----------------+----------------+-------------+ +| 4000 | | PortChannel1001 | tagged | disabled | ++-----------+-----------------+-----------------+----------------+-------------+ """ show_vlan_brief_in_alias_mode_output="""\ -+-----------+-----------------+-----------------+----------------+-----------------------+-------------+ -| VLAN ID | IP Address | Ports | Port Tagging | DHCP Helper Address | Proxy ARP | -+===========+=================+=================+================+=======================+=============+ -| 1000 | 192.168.0.1/21 | etp2 | untagged | 192.0.0.1 | disabled | -| | fc02:1000::1/64 | etp3 | untagged | 192.0.0.2 | | -| | | etp4 | untagged | 192.0.0.3 | | -| | | etp5 | untagged | 192.0.0.4 | | -+-----------+-----------------+-----------------+----------------+-----------------------+-------------+ -| 2000 | 192.168.0.10/21 | etp7 | untagged | 192.0.0.1 | enabled | -| | fc02:1011::1/64 | etp8 | untagged | 192.0.0.2 | | -| | | | | 192.0.0.3 | | -| | | | | 192.0.0.4 | | -+-----------+-----------------+-----------------+----------------+-----------------------+-------------+ -| 3000 | | | | | disabled | -+-----------+-----------------+-----------------+----------------+-----------------------+-------------+ -| 4000 | | PortChannel1001 | tagged | | disabled | -+-----------+-----------------+-----------------+----------------+-----------------------+-------------+ ++-----------+-----------------+-----------------+----------------+-------------+ +| VLAN ID | IP Address | Ports | Port Tagging | Proxy ARP | ++===========+=================+=================+================+=============+ +| 1000 | 192.168.0.1/21 | etp2 | untagged | disabled | +| | fc02:1000::1/64 | etp3 | untagged | | +| | | etp4 | untagged | | +| | | etp5 | untagged | | ++-----------+-----------------+-----------------+----------------+-------------+ +| 2000 | 192.168.0.10/21 | etp7 | untagged | enabled | +| | fc02:1011::1/64 | etp8 | untagged | | ++-----------+-----------------+-----------------+----------------+-------------+ +| 3000 | | | | disabled | ++-----------+-----------------+-----------------+----------------+-------------+ +| 4000 | | PortChannel1001 | tagged | disabled | ++-----------+-----------------+-----------------+----------------+-------------+ """ show_vlan_brief_empty_output="""\ -+-----------+-----------------+-----------------+----------------+-----------------------+-------------+ -| VLAN ID | IP Address | Ports | Port Tagging | DHCP Helper Address | Proxy ARP | -+===========+=================+=================+================+=======================+=============+ -| 2000 | 192.168.0.10/21 | Ethernet24 | untagged | 192.0.0.1 | enabled | -| | fc02:1011::1/64 | Ethernet28 | untagged | 192.0.0.2 | | -| | | | | 192.0.0.3 | | -| | | | | 192.0.0.4 | | -+-----------+-----------------+-----------------+----------------+-----------------------+-------------+ -| 3000 | | | | | disabled | -+-----------+-----------------+-----------------+----------------+-----------------------+-------------+ -| 4000 | | PortChannel1001 | tagged | | disabled | -+-----------+-----------------+-----------------+----------------+-----------------------+-------------+ ++-----------+-----------------+-----------------+----------------+-------------+ +| VLAN ID | IP Address | Ports | Port Tagging | Proxy ARP | ++===========+=================+=================+================+=============+ +| 2000 | 192.168.0.10/21 | Ethernet24 | untagged | enabled | +| | fc02:1011::1/64 | Ethernet28 | untagged | | ++-----------+-----------------+-----------------+----------------+-------------+ +| 3000 | | | | disabled | ++-----------+-----------------+-----------------+----------------+-------------+ +| 4000 | | PortChannel1001 | tagged | disabled | ++-----------+-----------------+-----------------+----------------+-------------+ """ show_vlan_brief_with_portchannel_output="""\ -+-----------+-----------------+-----------------+----------------+-----------------------+-------------+ -| VLAN ID | IP Address | Ports | Port Tagging | DHCP Helper Address | Proxy ARP | -+===========+=================+=================+================+=======================+=============+ -| 1000 | 192.168.0.1/21 | Ethernet4 | untagged | 192.0.0.1 | disabled | -| | fc02:1000::1/64 | Ethernet8 | untagged | 192.0.0.2 | | -| | | Ethernet12 | untagged | 192.0.0.3 | | -| | | Ethernet16 | untagged | 192.0.0.4 | | -| | | PortChannel1001 | untagged | | | -+-----------+-----------------+-----------------+----------------+-----------------------+-------------+ -| 2000 | 192.168.0.10/21 | Ethernet24 | untagged | 192.0.0.1 | enabled | -| | fc02:1011::1/64 | Ethernet28 | untagged | 192.0.0.2 | | -| | | | | 192.0.0.3 | | -| | | | | 192.0.0.4 | | -+-----------+-----------------+-----------------+----------------+-----------------------+-------------+ -| 3000 | | | | | disabled | -+-----------+-----------------+-----------------+----------------+-----------------------+-------------+ -| 4000 | | PortChannel1001 | tagged | | disabled | -+-----------+-----------------+-----------------+----------------+-----------------------+-------------+ ++-----------+-----------------+-----------------+----------------+-------------+ +| VLAN ID | IP Address | Ports | Port Tagging | Proxy ARP | ++===========+=================+=================+================+=============+ +| 1000 | 192.168.0.1/21 | Ethernet4 | untagged | disabled | +| | fc02:1000::1/64 | Ethernet8 | untagged | | +| | | Ethernet12 | untagged | | +| | | Ethernet16 | untagged | | +| | | PortChannel1001 | untagged | | ++-----------+-----------------+-----------------+----------------+-------------+ +| 2000 | 192.168.0.10/21 | Ethernet24 | untagged | enabled | +| | fc02:1011::1/64 | Ethernet28 | untagged | | ++-----------+-----------------+-----------------+----------------+-------------+ +| 3000 | | | | disabled | ++-----------+-----------------+-----------------+----------------+-------------+ +| 4000 | | PortChannel1001 | tagged | disabled | ++-----------+-----------------+-----------------+----------------+-------------+ """ show_vlan_config_output="""\ @@ -111,79 +103,44 @@ Vlan4000 4000 PortChannel1001 tagged """ -config_vlan_add_dhcp_relay_output="""\ -Added DHCP relay destination address 192.0.0.100 to Vlan1000 -Restarting DHCP relay service... -""" - -config_vlan_del_dhcp_relay_output="""\ -Removed DHCP relay destination address 192.0.0.100 from Vlan1000 -Restarting DHCP relay service... -""" - -show_vlan_brief_output_with_new_dhcp_relay_address="""\ -+-----------+-----------------+-----------------+----------------+-----------------------+-------------+ -| VLAN ID | IP Address | Ports | Port Tagging | DHCP Helper Address | Proxy ARP | -+===========+=================+=================+================+=======================+=============+ -| 1000 | 192.168.0.1/21 | Ethernet4 | untagged | 192.0.0.1 | disabled | -| | fc02:1000::1/64 | Ethernet8 | untagged | 192.0.0.2 | | -| | | Ethernet12 | untagged | 192.0.0.3 | | -| | | Ethernet16 | untagged | 192.0.0.4 | | -| | | | | 192.0.0.100 | | -+-----------+-----------------+-----------------+----------------+-----------------------+-------------+ -| 2000 | 192.168.0.10/21 | Ethernet24 | untagged | 192.0.0.1 | enabled | -| | fc02:1011::1/64 | Ethernet28 | untagged | 192.0.0.2 | | -| | | | | 192.0.0.3 | | -| | | | | 192.0.0.4 | | -+-----------+-----------------+-----------------+----------------+-----------------------+-------------+ -| 3000 | | | | | disabled | -+-----------+-----------------+-----------------+----------------+-----------------------+-------------+ -| 4000 | | PortChannel1001 | tagged | | disabled | -+-----------+-----------------+-----------------+----------------+-----------------------+-------------+ -""" - config_add_del_vlan_and_vlan_member_output="""\ -+-----------+-----------------+-----------------+----------------+-----------------------+-------------+ -| VLAN ID | IP Address | Ports | Port Tagging | DHCP Helper Address | Proxy ARP | -+===========+=================+=================+================+=======================+=============+ -| 1000 | 192.168.0.1/21 | Ethernet4 | untagged | 192.0.0.1 | disabled | -| | fc02:1000::1/64 | Ethernet8 | untagged | 192.0.0.2 | | -| | | Ethernet12 | untagged | 192.0.0.3 | | -| | | Ethernet16 | untagged | 192.0.0.4 | | -+-----------+-----------------+-----------------+----------------+-----------------------+-------------+ -| 1001 | | Ethernet20 | untagged | | disabled | -+-----------+-----------------+-----------------+----------------+-----------------------+-------------+ -| 2000 | 192.168.0.10/21 | Ethernet24 | untagged | 192.0.0.1 | enabled | -| | fc02:1011::1/64 | Ethernet28 | untagged | 192.0.0.2 | | -| | | | | 192.0.0.3 | | -| | | | | 192.0.0.4 | | -+-----------+-----------------+-----------------+----------------+-----------------------+-------------+ -| 3000 | | | | | disabled | -+-----------+-----------------+-----------------+----------------+-----------------------+-------------+ -| 4000 | | PortChannel1001 | tagged | | disabled | -+-----------+-----------------+-----------------+----------------+-----------------------+-------------+ ++-----------+-----------------+-----------------+----------------+-------------+ +| VLAN ID | IP Address | Ports | Port Tagging | Proxy ARP | ++===========+=================+=================+================+=============+ +| 1000 | 192.168.0.1/21 | Ethernet4 | untagged | disabled | +| | fc02:1000::1/64 | Ethernet8 | untagged | | +| | | Ethernet12 | untagged | | +| | | Ethernet16 | untagged | | ++-----------+-----------------+-----------------+----------------+-------------+ +| 1001 | | Ethernet20 | untagged | disabled | ++-----------+-----------------+-----------------+----------------+-------------+ +| 2000 | 192.168.0.10/21 | Ethernet24 | untagged | enabled | +| | fc02:1011::1/64 | Ethernet28 | untagged | | ++-----------+-----------------+-----------------+----------------+-------------+ +| 3000 | | | | disabled | ++-----------+-----------------+-----------------+----------------+-------------+ +| 4000 | | PortChannel1001 | tagged | disabled | ++-----------+-----------------+-----------------+----------------+-------------+ """ config_add_del_vlan_and_vlan_member_in_alias_mode_output="""\ -+-----------+-----------------+-----------------+----------------+-----------------------+-------------+ -| VLAN ID | IP Address | Ports | Port Tagging | DHCP Helper Address | Proxy ARP | -+===========+=================+=================+================+=======================+=============+ -| 1000 | 192.168.0.1/21 | etp2 | untagged | 192.0.0.1 | disabled | -| | fc02:1000::1/64 | etp3 | untagged | 192.0.0.2 | | -| | | etp4 | untagged | 192.0.0.3 | | -| | | etp5 | untagged | 192.0.0.4 | | -+-----------+-----------------+-----------------+----------------+-----------------------+-------------+ -| 1001 | | etp6 | untagged | | disabled | -+-----------+-----------------+-----------------+----------------+-----------------------+-------------+ -| 2000 | 192.168.0.10/21 | etp7 | untagged | 192.0.0.1 | enabled | -| | fc02:1011::1/64 | etp8 | untagged | 192.0.0.2 | | -| | | | | 192.0.0.3 | | -| | | | | 192.0.0.4 | | -+-----------+-----------------+-----------------+----------------+-----------------------+-------------+ -| 3000 | | | | | disabled | -+-----------+-----------------+-----------------+----------------+-----------------------+-------------+ -| 4000 | | PortChannel1001 | tagged | | disabled | -+-----------+-----------------+-----------------+----------------+-----------------------+-------------+ ++-----------+-----------------+-----------------+----------------+-------------+ +| VLAN ID | IP Address | Ports | Port Tagging | Proxy ARP | ++===========+=================+=================+================+=============+ +| 1000 | 192.168.0.1/21 | etp2 | untagged | disabled | +| | fc02:1000::1/64 | etp3 | untagged | | +| | | etp4 | untagged | | +| | | etp5 | untagged | | ++-----------+-----------------+-----------------+----------------+-------------+ +| 1001 | | etp6 | untagged | disabled | ++-----------+-----------------+-----------------+----------------+-------------+ +| 2000 | 192.168.0.10/21 | etp7 | untagged | enabled | +| | fc02:1011::1/64 | etp8 | untagged | | ++-----------+-----------------+-----------------+----------------+-------------+ +| 3000 | | | | disabled | ++-----------+-----------------+-----------------+----------------+-------------+ +| 4000 | | PortChannel1001 | tagged | disabled | ++-----------+-----------------+-----------------+----------------+-------------+ """ class TestVlan(object): @classmethod @@ -503,118 +460,6 @@ def test_config_add_del_vlan_and_vlan_member_in_alias_mode(self): os.environ['SONIC_CLI_IFACE_MODE'] = "default" - def test_config_vlan_add_dhcp_relay_with_nonexist_vlanid(self): - runner = CliRunner() - - with mock.patch('utilities_common.cli.run_command') as mock_run_command: - result = runner.invoke(config.config.commands["vlan"].commands["dhcp_relay"].commands["add"], - ["1001", "192.0.0.100"]) - print(result.exit_code) - print(result.output) - # traceback.print_tb(result.exc_info[2]) - assert result.exit_code != 0 - assert "Error: Vlan1001 doesn't exist" in result.output - assert mock_run_command.call_count == 0 - - def test_config_vlan_add_dhcp_relay_with_invalid_vlanid(self): - runner = CliRunner() - - with mock.patch('utilities_common.cli.run_command') as mock_run_command: - result = runner.invoke(config.config.commands["vlan"].commands["dhcp_relay"].commands["add"], - ["4096", "192.0.0.100"]) - print(result.exit_code) - print(result.output) - # traceback.print_tb(result.exc_info[2]) - assert result.exit_code != 0 - assert "Error: Vlan4096 doesn't exist" in result.output - assert mock_run_command.call_count == 0 - - def test_config_vlan_add_dhcp_relay_with_invalid_ip(self): - runner = CliRunner() - - with mock.patch('utilities_common.cli.run_command') as mock_run_command: - result = runner.invoke(config.config.commands["vlan"].commands["dhcp_relay"].commands["add"], - ["1000", "192.0.0.1000"]) - print(result.exit_code) - print(result.output) - # traceback.print_tb(result.exc_info[2]) - assert result.exit_code != 0 - assert "Error: 192.0.0.1000 is invalid IP address" in result.output - assert mock_run_command.call_count == 0 - - def test_config_vlan_add_dhcp_relay_with_exist_ip(self): - runner = CliRunner() - - with mock.patch('utilities_common.cli.run_command') as mock_run_command: - result = runner.invoke(config.config.commands["vlan"].commands["dhcp_relay"].commands["add"], - ["1000", "192.0.0.1"]) - print(result.exit_code) - print(result.output) - # traceback.print_tb(result.exc_info[2]) - assert result.exit_code == 0 - assert "192.0.0.1 is already a DHCP relay destination for Vlan1000" in result.output - assert mock_run_command.call_count == 0 - - def test_config_vlan_add_del_dhcp_relay_dest(self): - runner = CliRunner() - db = Db() - - # add new relay dest - with mock.patch("utilities_common.cli.run_command") as mock_run_command: - result = runner.invoke(config.config.commands["vlan"].commands["dhcp_relay"].commands["add"], - ["1000", "192.0.0.100"], obj=db) - print(result.exit_code) - print(result.output) - assert result.exit_code == 0 - assert result.output == config_vlan_add_dhcp_relay_output - assert mock_run_command.call_count == 3 - - # show output - result = runner.invoke(show.cli.commands["vlan"].commands["brief"], [], obj=db) - print(result.output) - assert result.output == show_vlan_brief_output_with_new_dhcp_relay_address - - # del relay dest - with mock.patch("utilities_common.cli.run_command") as mock_run_command: - result = runner.invoke(config.config.commands["vlan"].commands["dhcp_relay"].commands["del"], - ["1000", "192.0.0.100"], obj=db) - print(result.exit_code) - print(result.output) - assert result.exit_code == 0 - assert result.output == config_vlan_del_dhcp_relay_output - assert mock_run_command.call_count == 3 - - # show output - result = runner.invoke(show.cli.commands["vlan"].commands["brief"], [], obj=db) - print(result.output) - assert result.output == show_vlan_brief_output - - def test_config_vlan_remove_nonexist_dhcp_relay_dest(self): - runner = CliRunner() - - with mock.patch('utilities_common.cli.run_command') as mock_run_command: - result = runner.invoke(config.config.commands["vlan"].commands["dhcp_relay"].commands["del"], - ["1000", "192.0.0.100"]) - print(result.exit_code) - print(result.output) - # traceback.print_tb(result.exc_info[2]) - assert result.exit_code != 0 - assert "Error: 192.0.0.100 is not a DHCP relay destination for Vlan1000" in result.output - assert mock_run_command.call_count == 0 - - def test_config_vlan_remove_dhcp_relay_dest_with_nonexist_vlanid(self): - runner = CliRunner() - - with mock.patch('utilities_common.cli.run_command') as mock_run_command: - result = runner.invoke(config.config.commands["vlan"].commands["dhcp_relay"].commands["del"], - ["1001", "192.0.0.1"]) - print(result.exit_code) - print(result.output) - # traceback.print_tb(result.exc_info[2]) - assert result.exit_code != 0 - assert "Error: Vlan1001 doesn't exist" in result.output - assert mock_run_command.call_count == 0 - def test_config_vlan_proxy_arp_with_nonexist_vlan_intf_table(self): modes = ["enabled", "disabled"] runner = CliRunner() From a089e53f8b22f269da529c7de6672097c96812c0 Mon Sep 17 00:00:00 2001 From: Praveen Chaudhary Date: Wed, 12 May 2021 11:30:04 -0700 Subject: [PATCH 195/342] [DPB]: Shut down interface before dynamic port breakout (#1303) Changes: -- Shutdown the interfaces after config validation while Dy Port Breakout. -- Validate del ports before calling breakOutPorts API. Signed-off-by: Praveen Chaudhary pchaudhary@linkedin.com Fixes Azure/sonic-buildimage#6646, Azure/sonic-buildimage#6631, Signed-off-by: Praveen Chaudhary pchaudhary@linkedin.com --- config/config_mgmt.py | 30 +++++++++++++++++++++++++++--- config/main.py | 37 ++++++------------------------------- tests/config_mgmt_test.py | 38 ++++++++++++++++++++++++++++++++++++-- 3 files changed, 69 insertions(+), 36 deletions(-) diff --git a/config/config_mgmt.py b/config/config_mgmt.py index cc64b35d97..9b2021bef0 100644 --- a/config/config_mgmt.py +++ b/config/config_mgmt.py @@ -369,9 +369,12 @@ def breakOutPort(self, delPorts=list(), portJson=dict(), force=False, \ if_name_map, if_oid_map = port_util.get_interface_oid_map(dataBase) self.sysLog(syslog.LOG_DEBUG, 'if_name_map {}'.format(if_name_map)) - # If we are here, then get ready to update the Config DB, Update - # deletion of Config first, then verify in Asic DB for port deletion, - # then update addition of ports in config DB. + # If we are here, then get ready to update the Config DB as below: + # -- shutdown the ports, + # -- Update deletion of ports in Config DB, + # -- verify Asic DB for port deletion, + # -- then update addition of ports in config DB. + self._shutdownIntf(delPorts) self.writeConfigDB(delConfigToLoad) # Verify in Asic DB, self._verifyAsicDB(db=dataBase, ports=delPorts, portMap=if_name_map, \ @@ -507,6 +510,27 @@ def _addPorts(self, portJson=dict(), loadDefConfig=True): return configToLoad, True + def _shutdownIntf(self, ports): + """ + Based on the list of Ports, create a dict to shutdown port, update Config DB. + Shut down all the interfaces before deletion. + + Parameters: + ports(list): list of ports, which are getting deleted due to DPB. + + Returns: + void + """ + shutDownConf = dict(); shutDownConf["PORT"] = dict() + for intf in ports: + shutDownConf["PORT"][intf] = {"admin_status": "down"} + self.sysLog(msg='shutdown Interfaces: {}'.format(shutDownConf)) + + if len(shutDownConf["PORT"]): + self.writeConfigDB(shutDownConf) + + return + def _mergeConfigs(self, D1, D2, uniqueKeys=True): ''' Merge D2 dict in D1 dict, Note both first and second dict will change. diff --git a/config/main.py b/config/main.py index 969e58d594..cdf8b14b6e 100644 --- a/config/main.py +++ b/config/main.py @@ -114,32 +114,6 @@ def _get_breakout_options(ctx, args, incomplete): all_mode_options = [str(c) for c in breakout_mode_options if incomplete in c] return all_mode_options -def shutdown_interfaces(ctx, del_intf_dict): - """ shut down all the interfaces before deletion """ - for intf in del_intf_dict: - config_db = ctx.obj['config_db'] - if clicommon.get_interface_naming_mode() == "alias": - interface_name = interface_alias_to_name(config_db, intf) - if interface_name is None: - click.echo("[ERROR] interface name is None!") - return False - - if interface_name_is_valid(config_db, intf) is False: - click.echo("[ERROR] Interface name is invalid. Please enter a valid interface name!!") - return False - - port_dict = config_db.get_table('PORT') - if not port_dict: - click.echo("port_dict is None!") - return False - - if intf in port_dict: - config_db.mod_entry("PORT", intf, {"admin_status": "down"}) - else: - click.secho("[ERROR] Could not get the correct interface name, exiting", fg='red') - return False - return True - def _validate_interface_mode(ctx, breakout_cfg_file, interface_name, target_brkout_mode, cur_brkout_mode): """ Validate Parent interface and user selected mode before starting deletion or addition process """ breakout_file_input = readJsonFile(breakout_cfg_file)["interfaces"] @@ -3181,12 +3155,7 @@ def breakout(ctx, interface_name, mode, verbose, force_remove_dependencies, load del_intf_dict = {intf: del_ports[intf]["speed"] for intf in del_ports} if del_intf_dict: - """ shut down all the interface before deletion """ - ret = shutdown_interfaces(ctx, del_intf_dict) - if not ret: - raise click.Abort() click.echo("\nPorts to be deleted : \n {}".format(json.dumps(del_intf_dict, indent=4))) - else: click.secho("[ERROR] del_intf_dict is None! No interfaces are there to be deleted", fg='red') raise click.Abort() @@ -3213,6 +3182,12 @@ def breakout(ctx, interface_name, mode, verbose, force_remove_dependencies, load del_intf_dict.pop(item) add_intf_dict.pop(item) + # validate all del_ports before calling breakOutPort + for intf in del_intf_dict.keys(): + if not interface_name_is_valid(config_db, intf): + click.secho("[ERROR] Interface name {} is invalid".format(intf)) + raise click.Abort() + click.secho("\nFinal list of ports to be deleted : \n {} \nFinal list of ports to be added : \n {}".format(json.dumps(del_intf_dict, indent=4), json.dumps(add_intf_dict, indent=4), fg='green', blink=True)) if not add_intf_dict: click.secho("[ERROR] add_intf_dict is None or empty! No interfaces are there to be added", fg='red') diff --git a/tests/config_mgmt_test.py b/tests/config_mgmt_test.py index 39e3870990..a86ab9e1aa 100644 --- a/tests/config_mgmt_test.py +++ b/tests/config_mgmt_test.py @@ -78,6 +78,41 @@ def test_break_out(self): self.dpb_port4_4x25G_2x50G_f_l(curConfig) return + def test_shutdownIntf_call(self): + ''' + Verify that _shutdownIntf() is called with deleted ports while calling + breakOutPort() + ''' + curConfig = deepcopy(configDbJson) + cmdpb = self.config_mgmt_dpb(curConfig) + + # create ARGS + dPorts, pJson = self.generate_args(portIdx=8, laneIdx=73, \ + curMode='1x50G(2)+2x25G(2)', newMode='2x50G') + + # Try to breakout and see if _shutdownIntf is called + deps, ret = cmdpb.breakOutPort(delPorts=dPorts, portJson=pJson, \ + force=True, loadDefConfig=False) + + # verify correct function call to writeConfigDB after _shutdownIntf() + assert cmdpb.writeConfigDB.call_count == 3 + print(cmdpb.writeConfigDB.call_args_list[0]) + (args, kwargs) = cmdpb.writeConfigDB.call_args_list[0] + print(args) + + # in case of tuple also, we should have only one element + if type(args) == tuple: + args = args[0] + assert "PORT" in args + + # {"admin_status": "down"} should be set for all ports in dPorts + assert len(args["PORT"]) == len(dPorts) + # each port should have {"admin_status": "down"} + for port in args["PORT"].keys(): + assert args["PORT"][port]['admin_status'] == 'down' + + return + def tearDown(self): try: os.remove(config_mgmt.CONFIG_DB_JSON_FILE) @@ -229,7 +264,7 @@ def checkResult(self, cmdpb, delConfig, addConfig): void ''' calls = [mock.call(delConfig), mock.call(addConfig)] - assert cmdpb.writeConfigDB.call_count == 2 + assert cmdpb.writeConfigDB.call_count == 3 cmdpb.writeConfigDB.assert_has_calls(calls, any_order=False) return @@ -497,7 +532,6 @@ def dpb_port8_4x25G_2x50G_f_l(self, curConfig): } } } - assert cmdpb.writeConfigDB.call_count == 2 self.checkResult(cmdpb, delConfig, addConfig) self.postUpdateConfig(curConfig, delConfig, addConfig) return From ad801bfb81633812b4aa25f45bdd555a27121845 Mon Sep 17 00:00:00 2001 From: Dmytro Date: Thu, 13 May 2021 04:57:27 +0300 Subject: [PATCH 196/342] [config]Static routes to config_db (#1534) * Write static routes to config_db * Update configuration with "ifname" as "null" Signed-off-by: d-dashkov --- config/main.py | 286 +++++++++++++++++++--------- doc/Command-Reference.md | 78 ++++++++ tests/static_routes_test.py | 365 ++++++++++++++++++++++++++++++++++++ 3 files changed, 641 insertions(+), 88 deletions(-) mode change 100644 => 100755 config/main.py create mode 100644 tests/static_routes_test.py diff --git a/config/main.py b/config/main.py old mode 100644 new mode 100755 index cdf8b14b6e..3daf93c73d --- a/config/main.py +++ b/config/main.py @@ -11,6 +11,7 @@ import subprocess import sys import time +import itertools from generic_config_updater.generic_updater import GenericUpdater, ConfigFormat from socket import AF_INET, AF_INET6 @@ -761,6 +762,66 @@ def validate_mirror_session_config(config_db, session_name, dst_port, src_port, return True +def cli_sroute_to_config(ctx, command_str, strict_nh = True): + if len(command_str) < 2 or len(command_str) > 9: + ctx.fail("argument is not in pattern prefix [vrf ] nexthop <[vrf ] >|>!") + if "prefix" not in command_str: + ctx.fail("argument is incomplete, prefix not found!") + if "nexthop" not in command_str and strict_nh: + ctx.fail("argument is incomplete, nexthop not found!") + + nexthop_str = None + config_entry = {} + vrf_name = "" + + if "nexthop" in command_str: + idx = command_str.index("nexthop") + prefix_str = command_str[:idx] + nexthop_str = command_str[idx:] + else: + prefix_str = command_str[:] + + if prefix_str: + if 'prefix' in prefix_str and 'vrf' in prefix_str: + # prefix_str: ['prefix', 'vrf', Vrf-name, ip] + vrf_name = prefix_str[2] + ip_prefix = prefix_str[3] + elif 'prefix' in prefix_str: + # prefix_str: ['prefix', ip] + ip_prefix = prefix_str[1] + else: + ctx.fail("prefix is not in pattern!") + + if nexthop_str: + if 'nexthop' in nexthop_str and 'vrf' in nexthop_str: + # nexthop_str: ['nexthop', 'vrf', Vrf-name, ip] + config_entry["nexthop"] = nexthop_str[3] + config_entry["nexthop-vrf"] = nexthop_str[2] + elif 'nexthop' in nexthop_str and 'dev' in nexthop_str: + # nexthop_str: ['nexthop', 'dev', ifname] + config_entry["ifname"] = nexthop_str[2] + elif 'nexthop' in nexthop_str: + # nexthop_str: ['nexthop', ip] + config_entry["nexthop"] = nexthop_str[1] + else: + ctx.fail("nexthop is not in pattern!") + + try: + ipaddress.ip_network(ip_prefix) + if 'nexthop' in config_entry: + nh = config_entry['nexthop'].split(',') + for ip in nh: + ipaddress.ip_address(ip) + except ValueError: + ctx.fail("ip address is not valid.") + + if not vrf_name == "": + key = vrf_name + "|" + ip_prefix + else: + key = ip_prefix + + return key, config_entry + def update_sonic_environment(): """Prepare sonic environment variable using SONiC environment template file. """ @@ -3932,111 +3993,160 @@ def del_vrf_vni_map(ctx, vrfname): @click.pass_context def route(ctx): """route-related configuration tasks""" - pass + config_db = ConfigDBConnector() + config_db.connect() + ctx.obj = {} + ctx.obj['config_db'] = config_db @route.command('add', context_settings={"ignore_unknown_options":True}) @click.argument('command_str', metavar='prefix [vrf ] nexthop <[vrf ] >|>', nargs=-1, type=click.Path()) @click.pass_context def add_route(ctx, command_str): """Add route command""" - if len(command_str) < 4 or len(command_str) > 9: - ctx.fail("argument is not in pattern prefix [vrf ] nexthop <[vrf ] >|>!") - if "prefix" not in command_str: - ctx.fail("argument is incomplete, prefix not found!") - if "nexthop" not in command_str: - ctx.fail("argument is incomplete, nexthop not found!") - for i in range(0, len(command_str)): - if "nexthop" == command_str[i]: - prefix_str = command_str[:i] - nexthop_str = command_str[i:] - vrf_name = "" - cmd = 'sudo vtysh -c "configure terminal" -c "ip route' - if prefix_str: - if len(prefix_str) == 2: - prefix_mask = prefix_str[1] - cmd += ' {}'.format(prefix_mask) - elif len(prefix_str) == 4: - vrf_name = prefix_str[2] - prefix_mask = prefix_str[3] - cmd += ' {}'.format(prefix_mask) + config_db = ctx.obj['config_db'] + key, route = cli_sroute_to_config(ctx, command_str) + + # If defined intf name, check if it belongs to interface + if 'ifname' in route: + if (not route['ifname'] in config_db.get_keys('VLAN_INTERFACE') and + not route['ifname'] in config_db.get_keys('INTERFACE') and + not route['ifname'] in config_db.get_keys('PORTCHANNEL_INTERFACE') and + not route['ifname'] == 'null'): + ctx.fail('interface {} doesn`t exist'.format(route['ifname'])) + + entry_counter = 1 + if 'nexthop' in route: + entry_counter = len(route['nexthop'].split(',')) + + # Alignment in case the command contains several nexthop ip + for i in range(entry_counter): + if 'nexthop-vrf' in route: + if i > 0: + vrf = route['nexthop-vrf'].split(',')[0] + route['nexthop-vrf'] += ',' + vrf else: - ctx.fail("prefix is not in pattern!") - if nexthop_str: - if len(nexthop_str) == 2: - ip = nexthop_str[1] - if vrf_name == "": - cmd += ' {}'.format(ip) - else: - cmd += ' {} vrf {}'.format(ip, vrf_name) - elif len(nexthop_str) == 3: - dev_name = nexthop_str[2] - if vrf_name == "": - cmd += ' {}'.format(dev_name) + route['nexthop-vrf'] = '' + + if not 'nexthop' in route: + route['nexthop'] = '' + + if 'ifname' in route: + if i > 0: + route['ifname'] += ',' + else: + route['ifname'] = '' + + # Set default values for distance and blackhole because the command doesn't have such an option + if 'distance' in route: + route['distance'] += ',0' + else: + route['distance'] = '0' + + if 'blackhole' in route: + route['blackhole'] += ',false' + else: + # If the user configure with "ifname" as "null", set 'blackhole' attribute as true. + if 'ifname' in route and route['ifname'] == 'null': + route['blackhole'] = 'true' else: - cmd += ' {} vrf {}'.format(dev_name, vrf_name) - elif len(nexthop_str) == 4: - vrf_name_dst = nexthop_str[2] - ip = nexthop_str[3] - if vrf_name == "": - cmd += ' {} nexthop-vrf {}'.format(ip, vrf_name_dst) + route['blackhole'] = 'false' + + # Check if exist entry with key + keys = config_db.get_keys('STATIC_ROUTE') + if key in keys: + # If exist update current entry + current_entry = config_db.get_entry('STATIC_ROUTE', key) + + for entry in ['nexthop', 'nexthop-vrf', 'ifname', 'distance', 'blackhole']: + if not entry in current_entry: + current_entry[entry] = '' + if entry in route: + current_entry[entry] += ',' + route[entry] else: - cmd += ' {} vrf {} nexthop-vrf {}'.format(ip, vrf_name, vrf_name_dst) - else: - ctx.fail("nexthop is not in pattern!") - cmd += '"' - clicommon.run_command(cmd) + current_entry[entry] += ',' + + config_db.set_entry("STATIC_ROUTE", key, current_entry) + else: + config_db.set_entry("STATIC_ROUTE", key, route) @route.command('del', context_settings={"ignore_unknown_options":True}) @click.argument('command_str', metavar='prefix [vrf ] nexthop <[vrf ] >|>', nargs=-1, type=click.Path()) @click.pass_context def del_route(ctx, command_str): """Del route command""" - if len(command_str) < 4 or len(command_str) > 9: - ctx.fail("argument is not in pattern prefix [vrf ] nexthop <[vrf ] >|>!") - if "prefix" not in command_str: - ctx.fail("argument is incomplete, prefix not found!") - if "nexthop" not in command_str: - ctx.fail("argument is incomplete, nexthop not found!") - for i in range(0, len(command_str)): - if "nexthop" == command_str[i]: - prefix_str = command_str[:i] - nexthop_str = command_str[i:] - vrf_name = "" - cmd = 'sudo vtysh -c "configure terminal" -c "no ip route' - if prefix_str: - if len(prefix_str) == 2: - prefix_mask = prefix_str[1] - cmd += ' {}'.format(prefix_mask) - elif len(prefix_str) == 4: - vrf_name = prefix_str[2] - prefix_mask = prefix_str[3] - cmd += ' {}'.format(prefix_mask) - else: - ctx.fail("prefix is not in pattern!") - if nexthop_str: - if len(nexthop_str) == 2: - ip = nexthop_str[1] - if vrf_name == "": - cmd += ' {}'.format(ip) - else: - cmd += ' {} vrf {}'.format(ip, vrf_name) - elif len(nexthop_str) == 3: - dev_name = nexthop_str[2] - if vrf_name == "": - cmd += ' {}'.format(dev_name) - else: - cmd += ' {} vrf {}'.format(dev_name, vrf_name) - elif len(nexthop_str) == 4: - vrf_name_dst = nexthop_str[2] - ip = nexthop_str[3] - if vrf_name == "": - cmd += ' {} nexthop-vrf {}'.format(ip, vrf_name_dst) + config_db = ctx.obj['config_db'] + key, route = cli_sroute_to_config(ctx, command_str, strict_nh=False) + keys = config_db.get_keys('STATIC_ROUTE') + prefix_tuple = tuple(key.split('|')) + if not key in keys and not prefix_tuple in keys: + ctx.fail('Route {} doesnt exist'.format(key)) + else: + # If not defined nexthop or intf name remove entire route + if not 'nexthop' in route and not 'ifname' in route: + config_db.set_entry("STATIC_ROUTE", key, None) + return + + current_entry = config_db.get_entry('STATIC_ROUTE', key) + + nh = [''] + nh_vrf = [''] + ifname = [''] + distance = [''] + blackhole = [''] + if 'nexthop' in current_entry: + nh = current_entry['nexthop'].split(',') + if 'nexthop-vrf' in current_entry: + nh_vrf = current_entry['nexthop-vrf'].split(',') + if 'ifname' in current_entry: + ifname = current_entry['ifname'].split(',') + if 'distance' in current_entry: + distance = current_entry['distance'].split(',') + if 'blackhole' in current_entry: + blackhole = current_entry['blackhole'].split(',') + + # Zip data from config_db into tuples + # {'nexthop': '10.0.0.2,20.0.0.2', 'vrf-nexthop': ',Vrf-RED', 'ifname': ','} + # [('10.0.0.2', '', ''), ('20.0.0.2', 'Vrf-RED', '')] + nh_zip = list(itertools.zip_longest(nh, nh_vrf, ifname, fillvalue='')) + cli_tuple = () + + # Create tuple from CLI argument + # config route add prefix 1.4.3.4/32 nexthop vrf Vrf-RED 20.0.0.2 + # ('20.0.0.2', 'Vrf-RED', '') + for entry in ['nexthop', 'nexthop-vrf', 'ifname']: + if entry in route: + cli_tuple += (route[entry],) else: - cmd += ' {} vrf {} nexthop-vrf {}'.format(ip, vrf_name, vrf_name_dst) + cli_tuple += ('',) + + if cli_tuple in nh_zip: + # If cli tuple is in config_db find its index and delete from lists + idx = nh_zip.index(cli_tuple) + if len(nh) - 1 >= idx: + del nh[idx] + if len(nh_vrf) - 1 >= idx: + del nh_vrf[idx] + if len(ifname) - 1 >= idx: + del ifname[idx] + if len(distance) - 1 >= idx: + del distance[idx] + if len(blackhole) - 1 >= idx: + del blackhole[idx] else: - ctx.fail("nexthop is not in pattern!") - cmd += '"' - clicommon.run_command(cmd) + ctx.fail('Not found {} in {}'.format(cli_tuple, key)) + + if (len(nh) == 0 or (len(nh) == 1 and nh[0] == '')) and \ + (len(ifname) == 0 or (len(ifname) == 1 and ifname[0] == '')): + # If there are no nexthop and ifname fields in the current record, delete it + config_db.set_entry("STATIC_ROUTE", key, None) + else: + # Otherwise it still has ECMP nexthop or ifname fields, so compose it from the lists into db + current_entry['nexthop'] = ','.join((str(e)) for e in nh) + current_entry['nexthop-vrf'] = ','.join((str(e)) for e in nh_vrf) + current_entry['ifname'] = ','.join((str(e)) for e in ifname) + current_entry['distance'] = ','.join((str(e)) for e in distance) + current_entry['blackhole'] = ','.join((str(e)) for e in blackhole) + config_db.set_entry("STATIC_ROUTE", key, current_entry) # # 'acl' group ('config acl ...') diff --git a/doc/Command-Reference.md b/doc/Command-Reference.md index c72cc10f35..8a247d40e3 100644 --- a/doc/Command-Reference.md +++ b/doc/Command-Reference.md @@ -121,6 +121,7 @@ * [Startup & Running Configuration](#startup--running-configuration) * [Startup Configuration](#startup-configuration) * [Running Configuration](#running-configuration) +* [Static routing](#static-routing) * [Syslog](#syslog) * [Syslog config commands](#syslog-config-commands) * [System State](#system-state) @@ -7184,6 +7185,83 @@ This command displays the running configuration of the snmp module. Go Back To [Beginning of the document](#) or [Beginning of this section](#Startup--Running-Configuration) +## Static routing + +### Static routing Config Commands + +This sub-section explains of commands is used to add or remove the static route. + +**config route add** + +This command is used to add a static route. Note that prefix /nexthop vrf`s and interface name are optional. + +- Usage: + + ``` + config route add prefix [vrf ] nexthop [vrf ] dev + ``` + +- Example: + + ``` + admin@sonic:~$ config route add prefix 2.2.3.4/32 nexthop 30.0.0.9 + ``` + +It also supports ECMP, and adding a new nexthop to the existing prefix will complement it and not overwrite them. + +- Example: + + ``` + admin@sonic:~$ sudo config route add prefix 2.2.3.4/32 nexthop vrf Vrf-RED 30.0.0.9 + admin@sonic:~$ sudo config route add prefix 2.2.3.4/32 nexthop vrf Vrf-BLUE 30.0.0.10 + ``` + +**config route del** + +This command is used to remove a static route. Note that prefix /nexthop vrf`s and interface name are optional. + +- Usage: + + ``` + config route del prefix [vrf ] nexthop [vrf ] dev + ``` + +- Example: + + ``` + admin@sonic:~$ sudo config route del prefix 2.2.3.4/32 nexthop vrf Vrf-RED 30.0.0.9 + admin@sonic:~$ sudo config route del prefix 2.2.3.4/32 nexthop vrf Vrf-BLUE 30.0.0.10 + ``` + +This sub-section explains of command is used to show current routes. + +**show ip route** + +- Usage: + + ``` + show ip route + ``` + +- Example: + + ``` + admin@sonic:~$ show ip route + Codes: K - kernel route, C - connected, S - static, R - RIP, + O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP, + T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP, + F - PBR, f - OpenFabric, + > - selected route, * - FIB route, q - queued, r - rejected, b - backup + + S>* 0.0.0.0/0 [200/0] via 192.168.111.3, eth0, weight 1, 3d03h58m + S> 1.2.3.4/32 [1/0] via 30.0.0.7, weight 1, 00:00:06 + C>* 10.0.0.18/31 is directly connected, Ethernet36, 3d03h57m + C>* 10.0.0.20/31 is directly connected, Ethernet40, 3d03h57m + ``` + +Go Back To [Beginning of the document](#) or [Beginning of this section](#static-routing) + + ## Syslog ### Syslog Config Commands diff --git a/tests/static_routes_test.py b/tests/static_routes_test.py new file mode 100644 index 0000000000..c354cb97c4 --- /dev/null +++ b/tests/static_routes_test.py @@ -0,0 +1,365 @@ +import os +import traceback + +from click.testing import CliRunner + +import config.main as config +import show.main as show +from utilities_common.db import Db + +ERROR_STR = ''' +Error: argument is not in pattern prefix [vrf ] nexthop <[vrf ] >|>! +''' +ERROR_STR_MISS_PREFIX = ''' +Error: argument is incomplete, prefix not found! +''' +ERROR_STR_MISS_NEXTHOP = ''' +Error: argument is incomplete, nexthop not found! +''' +ERROR_DEL_NONEXIST_KEY_STR = ''' +Error: Route {} doesnt exist +''' +ERROR_DEL_NONEXIST_ENTRY_STR = ''' +Error: Not found {} in {} +''' +ERROR_INVALID_IP = ''' +Error: ip address is not valid. +''' + + +class TestStaticRoutes(object): + @classmethod + def setup_class(cls): + os.environ['UTILITIES_UNIT_TESTING'] = "1" + print("SETUP") + + def test_simple_static_route(self): + db = Db() + runner = CliRunner() + obj = {'config_db':db.cfgdb} + + # config route add prefix 1.2.3.4/32 nexthop 30.0.0.5 + result = runner.invoke(config.config.commands["route"].commands["add"], \ + ["prefix", "1.2.3.4/32", "nexthop", "30.0.0.5"], obj=obj) + print(result.exit_code, result.output) + assert ('1.2.3.4/32') in db.cfgdb.get_table('STATIC_ROUTE') + assert db.cfgdb.get_entry('STATIC_ROUTE', '1.2.3.4/32') == {'nexthop': '30.0.0.5', 'blackhole': 'false', 'distance': '0', 'ifname': '', 'nexthop-vrf': ''} + + # config route del prefix 1.2.3.4/32 nexthop 30.0.0.5 + result = runner.invoke(config.config.commands["route"].commands["del"], \ + ["prefix", "1.2.3.4/32", "nexthop", "30.0.0.5"], obj=obj) + print(result.exit_code, result.output) + assert not '1.2.3.4/32' in db.cfgdb.get_table('STATIC_ROUTE') + + def test_static_route_invalid_prefix_ip(self): + db = Db() + runner = CliRunner() + obj = {'config_db':db.cfgdb} + + # config route add prefix 1.2.3/32 nexthop 30.0.0.5 + result = runner.invoke(config.config.commands["route"].commands["add"], \ + ["prefix", "1.2.3/32", "nexthop", "30.0.0.5"], obj=obj) + print(result.exit_code, result.output) + assert ERROR_INVALID_IP in result.output + + def test_static_route_invalid_nexthop_ip(self): + db = Db() + runner = CliRunner() + obj = {'config_db':db.cfgdb} + + # config route add prefix 1.2.3.4/32 nexthop 30.0.5 + result = runner.invoke(config.config.commands["route"].commands["add"], \ + ["prefix", "1.2.3.4/32", "nexthop", "30.0.5"], obj=obj) + print(result.exit_code, result.output) + assert ERROR_INVALID_IP in result.output + + def test_vrf_static_route(self): + db = Db() + runner = CliRunner() + obj = {'config_db':db.cfgdb} + + # config route add prefix vrf Vrf-BLUE 2.2.3.4/32 nexthop 30.0.0.6 + result = runner.invoke(config.config.commands["route"].commands["add"], \ + ["prefix", "vrf", "Vrf-BLUE", "2.2.3.4/32", "nexthop", "30.0.0.6"], obj=obj) + print(result.exit_code, result.output) + assert ('Vrf-BLUE', '2.2.3.4/32') in db.cfgdb.get_table('STATIC_ROUTE') + assert db.cfgdb.get_entry('STATIC_ROUTE', 'Vrf-BLUE|2.2.3.4/32') == {'nexthop': '30.0.0.6', 'blackhole': 'false', 'distance': '0', 'ifname': '', 'nexthop-vrf': ''} + + # config route del prefix vrf Vrf-BLUE 2.2.3.4/32 nexthop 30.0.0.6 + result = runner.invoke(config.config.commands["route"].commands["del"], \ + ["prefix", "vrf", "Vrf-BLUE", "2.2.3.4/32", "nexthop", "30.0.0.6"], obj=obj) + print(result.exit_code, result.output) + assert not ('Vrf-BLUE', '2.2.3.4/32') in db.cfgdb.get_table('STATIC_ROUTE') + + def test_dest_vrf_static_route(self): + db = Db() + runner = CliRunner() + obj = {'config_db':db.cfgdb} + + # config route add prefix 3.2.3.4/32 nexthop vrf Vrf-RED 30.0.0.6 + result = runner.invoke(config.config.commands["route"].commands["add"], \ + ["prefix", "3.2.3.4/32", "nexthop", "vrf", "Vrf-RED", "30.0.0.6"], obj=obj) + print(result.exit_code, result.output) + assert ('3.2.3.4/32') in db.cfgdb.get_table('STATIC_ROUTE') + assert db.cfgdb.get_entry('STATIC_ROUTE', '3.2.3.4/32') == {'nexthop': '30.0.0.6', 'nexthop-vrf': 'Vrf-RED', 'blackhole': 'false', 'distance': '0', 'ifname': ''} + + # config route del prefix 3.2.3.4/32 nexthop vrf Vrf-RED 30.0.0.6 + result = runner.invoke(config.config.commands["route"].commands["del"], \ + ["prefix", "3.2.3.4/32", "nexthop", "vrf", "Vrf-RED", "30.0.0.6"], obj=obj) + print(result.exit_code, result.output) + assert not ('3.2.3.4/32') in db.cfgdb.get_table('STATIC_ROUTE') + + def test_multiple_nexthops_with_vrf_static_route(self): + db = Db() + runner = CliRunner() + obj = {'config_db':db.cfgdb} + + ''' Add ''' + # config route add prefix 6.2.3.4/32 nexthop vrf Vrf-RED "30.0.0.6,30.0.0.7" + result = runner.invoke(config.config.commands["route"].commands["add"], \ + ["prefix", "6.2.3.4/32", "nexthop", "vrf", "Vrf-RED", "30.0.0.6,30.0.0.7"], obj=obj) + print(result.exit_code, result.output) + assert ('6.2.3.4/32') in db.cfgdb.get_table('STATIC_ROUTE') + assert db.cfgdb.get_entry('STATIC_ROUTE', '6.2.3.4/32') == {'nexthop': '30.0.0.6,30.0.0.7', 'blackhole': 'false,false', 'distance': '0,0', 'ifname': ',', 'nexthop-vrf': 'Vrf-RED,Vrf-RED'} + + ''' Del ''' + # config route del prefix 6.2.3.4/32 nexthop vrf Vrf-RED 30.0.0.7 + result = runner.invoke(config.config.commands["route"].commands["del"], \ + ["prefix", "6.2.3.4/32", "nexthop", "vrf", "Vrf-RED", "30.0.0.7"], obj=obj) + print(result.exit_code, result.output) + assert ('6.2.3.4/32') in db.cfgdb.get_table('STATIC_ROUTE') + assert db.cfgdb.get_entry('STATIC_ROUTE', '6.2.3.4/32') == {'nexthop': '30.0.0.6', 'blackhole': 'false', 'distance': '0', 'ifname': '', 'nexthop-vrf': 'Vrf-RED'} + + # config route del prefix 6.2.3.4/32 nexthop vrf Vrf-RED 30.0.0.6 + result = runner.invoke(config.config.commands["route"].commands["del"], \ + ["prefix", "6.2.3.4/32", "nexthop", "vrf", "Vrf-RED", "30.0.0.6"], obj=obj) + print(result.exit_code, result.output) + assert not ('6.2.3.4/32') in db.cfgdb.get_table('STATIC_ROUTE') + + def test_multiple_nexthops_static_route(self): + db = Db() + runner = CliRunner() + obj = {'config_db':db.cfgdb} + + ''' Add ''' + # config route add prefix 6.2.3.4/32 nexthop "30.0.0.6,30.0.0.7" + result = runner.invoke(config.config.commands["route"].commands["add"], \ + ["prefix", "6.2.3.4/32", "nexthop", "30.0.0.6,30.0.0.7"], obj=obj) + print(result.exit_code, result.output) + assert ('6.2.3.4/32') in db.cfgdb.get_table('STATIC_ROUTE') + assert db.cfgdb.get_entry('STATIC_ROUTE', '6.2.3.4/32') == {'nexthop': '30.0.0.6,30.0.0.7', 'blackhole': 'false,false', 'distance': '0,0', 'ifname': ',', 'nexthop-vrf': ','} + + # config route add prefix 6.2.3.4/32 nexthop 30.0.0.8 + result = runner.invoke(config.config.commands["route"].commands["add"], \ + ["prefix", "6.2.3.4/32", "nexthop", "30.0.0.8"], obj=obj) + print(result.exit_code, result.output) + assert ('6.2.3.4/32') in db.cfgdb.get_table('STATIC_ROUTE') + assert db.cfgdb.get_entry('STATIC_ROUTE', '6.2.3.4/32') == {'nexthop': '30.0.0.6,30.0.0.7,30.0.0.8', 'blackhole': 'false,false,false', 'distance': '0,0,0', 'ifname': ',,', 'nexthop-vrf': ',,'} + + ''' Del ''' + # config route del prefix 6.2.3.4/32 nexthop 30.0.0.8 + result = runner.invoke(config.config.commands["route"].commands["del"], \ + ["prefix", "6.2.3.4/32", "nexthop", "30.0.0.8"], obj=obj) + print(result.exit_code, result.output) + assert ('6.2.3.4/32') in db.cfgdb.get_table('STATIC_ROUTE') + assert db.cfgdb.get_entry('STATIC_ROUTE', '6.2.3.4/32') == {"nexthop": '30.0.0.6,30.0.0.7', 'blackhole': 'false,false', 'distance': '0,0', 'ifname': ',', 'nexthop-vrf': ','} + + # config route del prefix 6.2.3.4/32 nexthop 30.0.0.7 + result = runner.invoke(config.config.commands["route"].commands["del"], \ + ["prefix", "6.2.3.4/32", "nexthop", "30.0.0.7"], obj=obj) + print(result.exit_code, result.output) + assert ('6.2.3.4/32') in db.cfgdb.get_table('STATIC_ROUTE') + assert db.cfgdb.get_entry('STATIC_ROUTE', '6.2.3.4/32') == {'nexthop': '30.0.0.6', 'blackhole': 'false', 'distance': '0', 'ifname': '', 'nexthop-vrf': ''} + + # config route del prefix 6.2.3.4/32 nexthop 30.0.0.6 + result = runner.invoke(config.config.commands["route"].commands["del"], \ + ["prefix", "6.2.3.4/32", "nexthop", "30.0.0.6"], obj=obj) + print(result.exit_code, result.output) + assert not ('6.2.3.4/32') in db.cfgdb.get_table('STATIC_ROUTE') + + def test_static_route_miss_prefix(self): + db = Db() + runner = CliRunner() + obj = {'config_db':db.cfgdb} + + # config route add nexthop 30.0.0.6 + result = runner.invoke(config.config.commands["route"].commands["add"], ["nexthop", "30.0.0.6"], obj=obj) + print(result.exit_code, result.output) + assert ERROR_STR_MISS_PREFIX in result.output + + def test_static_route_miss_nexthop(self): + db = Db() + runner = CliRunner() + obj = {'config_db':db.cfgdb} + + # config route add prefix 7.2.3.4/32 + result = runner.invoke(config.config.commands["route"].commands["add"], ["prefix", "7.2.3.4/32"], obj=obj) + print(result.exit_code, result.output) + assert ERROR_STR_MISS_NEXTHOP in result.output + + def test_static_route_ECMP_nexthop(self): + db = Db() + runner = CliRunner() + obj = {'config_db':db.cfgdb} + + ''' Add ''' + # config route add prefix 10.2.3.4/32 nexthop 30.0.0.5 + result = runner.invoke(config.config.commands["route"].commands["add"], \ + ["prefix", "10.2.3.4/32", "nexthop", "30.0.0.5"], obj=obj) + print(result.exit_code, result.output) + assert ('10.2.3.4/32') in db.cfgdb.get_table('STATIC_ROUTE') + assert db.cfgdb.get_entry('STATIC_ROUTE', '10.2.3.4/32') == {'nexthop': '30.0.0.5', 'blackhole': 'false', 'distance': '0', 'ifname': '', 'nexthop-vrf': ''} + + # config route add prefix 10.2.3.4/32 nexthop 30.0.0.6 + result = runner.invoke(config.config.commands["route"].commands["add"], \ + ["prefix", "10.2.3.4/32", "nexthop", "30.0.0.6"], obj=obj) + print(result.exit_code, result.output) + assert ('10.2.3.4/32') in db.cfgdb.get_table('STATIC_ROUTE') + assert db.cfgdb.get_entry('STATIC_ROUTE', '10.2.3.4/32') == {'nexthop': '30.0.0.5,30.0.0.6', 'blackhole': 'false,false', 'distance': '0,0', 'ifname': ',', 'nexthop-vrf': ','} + + ''' Del ''' + # config route del prefix 10.2.3.4/32 nexthop 30.0.0.5 + result = runner.invoke(config.config.commands["route"].commands["del"], \ + ["prefix", "10.2.3.4/32", "nexthop", "30.0.0.5"], obj=obj) + print(result.exit_code, result.output) + assert ('10.2.3.4/32') in db.cfgdb.get_table('STATIC_ROUTE') + assert db.cfgdb.get_entry('STATIC_ROUTE', '10.2.3.4/32') == {'nexthop': '30.0.0.6', 'blackhole': 'false', 'distance': '0', 'ifname': '', 'nexthop-vrf': ''} + + # config route del prefix 1.2.3.4/32 nexthop 30.0.0.6 + result = runner.invoke(config.config.commands["route"].commands["del"], \ + ["prefix", "10.2.3.4/32", "nexthop", "30.0.0.6"], obj=obj) + print(result.exit_code, result.output) + assert not ('10.2.3.4/32') in db.cfgdb.get_table('STATIC_ROUTE') + + def test_static_route_ECMP_nexthop_with_vrf(self): + db = Db() + runner = CliRunner() + obj = {'config_db':db.cfgdb} + + ''' Add ''' + # config route add prefix 11.2.3.4/32 nexthop vrf Vrf-RED 30.0.0.5 + result = runner.invoke(config.config.commands["route"].commands["add"], \ + ["prefix", "11.2.3.4/32", "nexthop", "vrf", "Vrf-RED", "30.0.0.5"], obj=obj) + print(result.exit_code, result.output) + assert ('11.2.3.4/32') in db.cfgdb.get_table('STATIC_ROUTE') + assert db.cfgdb.get_entry('STATIC_ROUTE', '11.2.3.4/32') == {'nexthop': '30.0.0.5', 'nexthop-vrf': 'Vrf-RED', 'blackhole': 'false', 'distance': '0', 'ifname': ''} + + # config route add prefix 11.2.3.4/32 nexthop vrf Vrf-BLUE 30.0.0.6 + result = runner.invoke(config.config.commands["route"].commands["add"], \ + ["prefix", "11.2.3.4/32", "nexthop", "vrf", "Vrf-BLUE", "30.0.0.6"], obj=obj) + print(result.exit_code, result.output) + assert ('11.2.3.4/32') in db.cfgdb.get_table('STATIC_ROUTE') + assert db.cfgdb.get_entry('STATIC_ROUTE', '11.2.3.4/32') == {"nexthop": "30.0.0.5,30.0.0.6", "nexthop-vrf": "Vrf-RED,Vrf-BLUE", 'blackhole': 'false,false', 'distance': '0,0', 'ifname': ','} + + ''' Del ''' + # config route del prefix 11.2.3.4/32 nexthop vrf Vrf-RED 30.0.0.5 + result = runner.invoke(config.config.commands["route"].commands["del"], \ + ["prefix", "11.2.3.4/32", "nexthop", "vrf", "Vrf-RED", "30.0.0.5"], obj=obj) + print(result.exit_code, result.output) + assert ('11.2.3.4/32') in db.cfgdb.get_table('STATIC_ROUTE') + assert db.cfgdb.get_entry('STATIC_ROUTE', '11.2.3.4/32') == {"nexthop": "30.0.0.6", "nexthop-vrf": "Vrf-BLUE", 'blackhole': 'false', 'distance': '0', 'ifname': ''} + + # config route del prefix 11.2.3.4/32 nexthop vrf Vrf-BLUE 30.0.0.6 + result = runner.invoke(config.config.commands["route"].commands["del"], \ + ["prefix", "11.2.3.4/32", "nexthop", "vrf", "Vrf-BLUE", "30.0.0.6"], obj=obj) + print(result.exit_code, result.output) + assert not ('11.2.3.4/32') in db.cfgdb.get_table('STATIC_ROUTE') + + def test_static_route_ECMP_mixed_nextfop(self): + db = Db() + runner = CliRunner() + obj = {'config_db':db.cfgdb} + + ''' Add ''' + # config route add prefix 12.2.3.4/32 nexthop 30.0.0.6 + result = runner.invoke(config.config.commands["route"].commands["add"], \ + ["prefix", "12.2.3.4/32", "nexthop", "30.0.0.6"], obj=obj) + print(result.exit_code, result.output) + assert ('12.2.3.4/32') in db.cfgdb.get_table('STATIC_ROUTE') + assert db.cfgdb.get_entry('STATIC_ROUTE', '12.2.3.4/32') == {'nexthop': '30.0.0.6', 'blackhole': 'false', 'distance': '0', 'ifname': '', 'nexthop-vrf': ''} + + # config route add prefix 12.2.3.4/32 nexthop vrf Vrf-RED 30.0.0.7 + result = runner.invoke(config.config.commands["route"].commands["add"], \ + ["prefix", "12.2.3.4/32", "nexthop", "vrf", "Vrf-RED", "30.0.0.7"], obj=obj) + print(result.exit_code, result.output) + assert ('12.2.3.4/32') in db.cfgdb.get_table('STATIC_ROUTE') + assert db.cfgdb.get_entry('STATIC_ROUTE', '12.2.3.4/32') == {'nexthop': '30.0.0.6,30.0.0.7', 'nexthop-vrf': ',Vrf-RED', 'blackhole': 'false,false', 'distance': '0,0', 'ifname': ','} + + ''' Del ''' + # config route del prefix 12.2.3.4/32 nexthop vrf Vrf-Red 30.0.0.7 + result = runner.invoke(config.config.commands["route"].commands["del"], \ + ["prefix", "12.2.3.4/32", "nexthop", "vrf", "Vrf-RED", "30.0.0.7"], obj=obj) + print(result.exit_code, result.output) + assert ('12.2.3.4/32') in db.cfgdb.get_table('STATIC_ROUTE') + assert db.cfgdb.get_entry('STATIC_ROUTE', '12.2.3.4/32') == {'nexthop': '30.0.0.6', 'nexthop-vrf': '', 'ifname': '', 'blackhole': 'false', 'distance': '0'} + + # config route del prefix 12.2.3.4/32 nexthop 30.0.0.6 + result = runner.invoke(config.config.commands["route"].commands["del"], \ + ["prefix", "12.2.3.4/32", "nexthop", "30.0.0.6"], obj=obj) + print(result.exit_code, result.output) + assert not ('12.2.3.4/32') in db.cfgdb.get_table('STATIC_ROUTE') + + def test_del_nonexist_key_static_route(self): + db = Db() + runner = CliRunner() + obj = {'config_db':db.cfgdb} + + # config route del prefix 10.2.3.4/32 nexthop 30.0.0.6 + result = runner.invoke(config.config.commands["route"].commands["del"], \ + ["prefix", "17.2.3.4/32", "nexthop", "30.0.0.6"], obj=obj) + print(result.exit_code, result.output) + assert ERROR_DEL_NONEXIST_KEY_STR.format("17.2.3.4/32") in result.output + + def test_del_nonexist_entry_static_route(self): + db = Db() + runner = CliRunner() + obj = {'config_db':db.cfgdb} + + # config route add prefix 13.2.3.4/32 nexthop 30.0.0.5 + result = runner.invoke(config.config.commands["route"].commands["add"], \ + ["prefix", "13.2.3.4/32", "nexthop", "30.0.0.5"], obj=obj) + print(result.exit_code, result.output) + assert ('13.2.3.4/32') in db.cfgdb.get_table('STATIC_ROUTE') + assert db.cfgdb.get_entry('STATIC_ROUTE', '13.2.3.4/32') == {'nexthop': '30.0.0.5', 'blackhole': 'false', 'distance': '0', 'ifname': '', 'nexthop-vrf': ''} + + # config route del prefix 13.2.3.4/32 nexthop 30.0.0.6 <- nh ip that doesnt exist + result = runner.invoke(config.config.commands["route"].commands["del"], \ + ["prefix", "13.2.3.4/32", "nexthop", "30.0.0.6"], obj=obj) + print(result.exit_code, result.output) + assert ERROR_DEL_NONEXIST_ENTRY_STR.format(('30.0.0.6', '', ''), "13.2.3.4/32") in result.output + + # config route del prefix 13.2.3.4/32 nexthop 30.0.0.5 + result = runner.invoke(config.config.commands["route"].commands["del"], \ + ["prefix", "13.2.3.4/32", "nexthop", "30.0.0.5"], obj=obj) + print(result.exit_code, result.output) + assert not '13.2.3.4/32' in db.cfgdb.get_table('STATIC_ROUTE') + + def test_del_entire_ECMP_static_route(self): + db = Db() + runner = CliRunner() + obj = {'config_db':db.cfgdb} + + # config route add prefix 14.2.3.4/32 nexthop 30.0.0.5 + result = runner.invoke(config.config.commands["route"].commands["add"], \ + ["prefix", "14.2.3.4/32", "nexthop", "30.0.0.5"], obj=obj) + print(result.exit_code, result.output) + assert ('14.2.3.4/32') in db.cfgdb.get_table('STATIC_ROUTE') + assert db.cfgdb.get_entry('STATIC_ROUTE', '14.2.3.4/32') == {'nexthop': '30.0.0.5', 'blackhole': 'false', 'distance': '0', 'ifname': '', 'nexthop-vrf': ''} + + # config route add prefix 14.2.3.4/32 nexthop 30.0.0.6 + result = runner.invoke(config.config.commands["route"].commands["add"], \ + ["prefix", "14.2.3.4/32", "nexthop", "30.0.0.6"], obj=obj) + print(result.exit_code, result.output) + assert ('14.2.3.4/32') in db.cfgdb.get_table('STATIC_ROUTE') + assert db.cfgdb.get_entry('STATIC_ROUTE', '14.2.3.4/32') == {'nexthop': '30.0.0.5,30.0.0.6', 'nexthop-vrf': ',', 'ifname': ',', 'blackhole': 'false,false', 'distance': '0,0'} + + # config route del prefix 14.2.3.4/32 + result = runner.invoke(config.config.commands["route"].commands["del"], ["prefix", "14.2.3.4/32"], obj=obj) + print(result.exit_code, result.output) + assert not '14.2.3.4/32' in db.cfgdb.get_table('STATIC_ROUTE') + + @classmethod + def teardown_class(cls): + os.environ['UTILITIES_UNIT_TESTING'] = "0" + print("TEARDOWN") + From 00bd0cea4f260ca8cecc382a6bcea05272dfd070 Mon Sep 17 00:00:00 2001 From: Qi Luo Date: Tue, 18 May 2021 19:13:16 -0700 Subject: [PATCH 197/342] Limit pyroute2 version range due to upstream broken (#1622) The latest version of pyroute2 introduce breaking change --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 77a771650f..2ac87e4ad2 100644 --- a/setup.py +++ b/setup.py @@ -179,7 +179,7 @@ 'pexpect>=4.8.0', 'poetry-semver>=0.1.0', 'prettyprinter>=0.18.0', - 'pyroute2>=0.5.14', + 'pyroute2>=0.5.14, <0.6.1', 'requests>=2.25.0', 'sonic-config-engine', 'sonic-platform-common', From feeab2913d56554f15913eed3a428f58f61b8b9f Mon Sep 17 00:00:00 2001 From: Tamer Ahmed Date: Thu, 20 May 2021 09:27:32 -0700 Subject: [PATCH 198/342] [config] Sort Config Db When Saving (#1623) Restored cfggen sort method of json data and used it to sort config db before saving. signed-off-by: Tamer Ahmed --- config/main.py | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/config/main.py b/config/main.py index 3daf93c73d..6f6db602ee 100755 --- a/config/main.py +++ b/config/main.py @@ -13,10 +13,12 @@ import time import itertools +from collections import OrderedDict from generic_config_updater.generic_updater import GenericUpdater, ConfigFormat -from socket import AF_INET, AF_INET6 from minigraph import parse_device_desc_xml +from natsort import natsorted from portconfig import get_child_ports +from socket import AF_INET, AF_INET6 from sonic_py_common import device_info, multi_asic from sonic_py_common.interface import get_interface_table_name, get_port_table_name from utilities_common import util_base @@ -86,11 +88,24 @@ asic_type = None # -# Breakout Mode Helper functions +# Helper functions # +# Sort nested dict +def sort_dict(data): + """ Sort of 1st level and 2nd level dict of data naturally by its key + data: data to be sorted + """ + if type(data) is not dict: + return data + + for table in data: + if type(data[table]) is dict: + data[table] = OrderedDict(natsorted(data[table].items())) + return OrderedDict(natsorted(data.items())) + # Read given JSON file -def readJsonFile(fileName): +def read_json_file(fileName): try: with open(fileName) as f: result = json.load(f) @@ -108,7 +123,7 @@ def _get_breakout_options(ctx, args, incomplete): if not os.path.isfile(breakout_cfg_file) or not breakout_cfg_file.endswith('.json'): return [] else: - breakout_file_input = readJsonFile(breakout_cfg_file) + breakout_file_input = read_json_file(breakout_cfg_file) if interface_name in breakout_file_input[INTF_KEY]: breakout_mode_options = [mode for i, v in breakout_file_input[INTF_KEY].items() if i == interface_name \ for mode in v["breakout_modes"].keys()] @@ -117,7 +132,7 @@ def _get_breakout_options(ctx, args, incomplete): def _validate_interface_mode(ctx, breakout_cfg_file, interface_name, target_brkout_mode, cur_brkout_mode): """ Validate Parent interface and user selected mode before starting deletion or addition process """ - breakout_file_input = readJsonFile(breakout_cfg_file)["interfaces"] + breakout_file_input = read_json_file(breakout_cfg_file)["interfaces"] if interface_name not in breakout_file_input: click.secho("[ERROR] {} is not a Parent port. So, Breakout Mode is not available on this port".format(interface_name), fg='red') @@ -964,6 +979,10 @@ def save(filename): log.log_info("'save' executing...") clicommon.run_command(command, display_cmd=True) + config_db = sort_dict(read_json_file(file)) + with open(file, 'w') as config_db_file: + json.dump(config_db, config_db_file, indent=4) + @config.command() @click.option('-y', '--yes', is_flag=True) @click.argument('filename', required=False) From 5d1ad05b20c3a669e7c7a4c0f699a24c4979b013 Mon Sep 17 00:00:00 2001 From: vdahiya12 <67608553+vdahiya12@users.noreply.github.com> Date: Thu, 20 May 2021 17:22:22 -0700 Subject: [PATCH 199/342] [show] add support for muxcable metrics (#1615) * [show] add support for muxcable metrics What I did Added support for show muxcable metrics. This essentially records what events came to different modules per se for toggling the mux from one state to another. for example admin@sonic$ show muxcable metrics Ethernet0 --json { "linkmgrd_switch_active_start": "2021-May-13 10:00:21.420898", "linkmgrd_switch_standby_end": "2021-May-13 10:01:15.696728", "linkmgrd_switch_unknown_end": "2021-May-13 10:00:26.123319", "xcvrd_switch_standby_end": "2021-May-13 10:01:15.696051", "xcvrd_switch_standby_start": "2021-May-13 10:01:15.690835" } or admin@sonic:$ show muxcable metrics Ethernet0 PORT EVENT TIME --------- ---------------------------- --------------------------- Ethernet0 linkmgrd_switch_active_start 2021-May-13 10:00:21.420898 Ethernet0 linkmgrd_switch_standby_end 2021-May-13 10:01:15.696728 Ethernet0 linkmgrd_switch_unknown_end 2021-May-13 10:00:26.123319 Ethernet0 xcvrd_switch_standby_end 2021-May-13 10:01:15.696051 Ethernet0 xcvrd_switch_standby_start 2021-May-13 10:01:15.690835 How I did it added changes in show/muxcable.py by reading and publishing the state DB contents for the corresponding table Signed-off-by: vaibhav-dahiya --- show/muxcable.py | 60 +++++++++++++++++++++++++++++++++ tests/mock_tables/state_db.json | 6 ++++ tests/muxcable_test.py | 43 +++++++++++++++++++++++ 3 files changed, 109 insertions(+) diff --git a/show/muxcable.py b/show/muxcable.py index 15a846666f..425a4f74c5 100644 --- a/show/muxcable.py +++ b/show/muxcable.py @@ -925,3 +925,63 @@ def version(port): sys.exit(CONFIG_FAIL) else: click.echo("there is not a valid asic table for this asic_index".format(asic_index)) + +@muxcable.command() +@click.argument('port', metavar='', required=True, default=None) +@click.option('--json', 'json_output', required=False, is_flag=True, type=click.BOOL, help="display the output in json format") +def metrics(port, json_output): + """Show muxcable metrics """ + + metrics_table_keys = {} + per_npu_statedb = {} + metrics_dict = {} + + # Getting all front asic namespace and correspding config and state DB connector + + namespaces = multi_asic.get_front_end_namespaces() + for namespace in namespaces: + asic_id = multi_asic.get_asic_index_from_namespace(namespace) + # replace these with correct macros + per_npu_statedb[asic_id] = swsscommon.SonicV2Connector(use_unix_socket_path=True, namespace=namespace) + per_npu_statedb[asic_id].connect(per_npu_statedb[asic_id].STATE_DB) + + metrics_table_keys[asic_id] = per_npu_statedb[asic_id].keys( + per_npu_statedb[asic_id].STATE_DB, 'MUX_METRICS_TABLE|*') + + if port is not None: + + logical_port_list = platform_sfputil_helper.get_logical_list() + + if port not in logical_port_list: + click.echo(("ERR: Not a valid logical port for muxcable firmware {}".format(port))) + sys.exit(CONFIG_FAIL) + + asic_index = None + if platform_sfputil is not None: + asic_index = platform_sfputil_helper.get_asic_id_for_logical_port(port) + if asic_index is None: + # TODO this import is only for unit test purposes, and should be removed once sonic_platform_base + # is fully mocked + import sonic_platform_base.sonic_sfp.sfputilhelper + asic_index = sonic_platform_base.sonic_sfp.sfputilhelper.SfpUtilHelper().get_asic_id_for_logical_port(port) + if asic_index is None: + click.echo("Got invalid asic index for port {}, cant retreive mux status".format(port)) + + + metrics_dict[asic_index] = per_npu_statedb[asic_index].get_all( + per_npu_statedb[asic_index].STATE_DB, 'MUX_METRICS_TABLE|{}'.format(port)) + + if json_output: + click.echo("{}".format(json.dumps(metrics_dict[asic_index], indent=4))) + else: + print_data = [] + for key, val in metrics_dict[asic_index].items(): + print_port_data = [] + print_port_data.append(port) + print_port_data.append(key) + print_port_data.append(val) + print_data.append(print_port_data) + + headers = ['PORT', 'EVENT', 'TIME'] + + click.echo(tabulate(print_data, headers=headers)) diff --git a/tests/mock_tables/state_db.json b/tests/mock_tables/state_db.json index b13c31c812..ead7004b27 100644 --- a/tests/mock_tables/state_db.json +++ b/tests/mock_tables/state_db.json @@ -708,5 +708,11 @@ "non_fatal|Undefined": "0", "non_fatal|UnsupReq": "0", "non_fatal|UnxCmplt": "0" + }, + "MUX_METRICS_TABLE|Ethernet0": { + "linkmgrd_switch_active_start": "2021-May-13 10:00:21.420898", + "linkmgrd_switch_standby_end": "2021-May-13 10:01:15.696728", + "xcvrd_switch_standby_end": "2021-May-13 10:01:15.696051", + "xcvrd_switch_standby_start": "2021-May-13 10:01:15.690835" } } diff --git a/tests/muxcable_test.py b/tests/muxcable_test.py index a28662e21a..811a9a7f96 100644 --- a/tests/muxcable_test.py +++ b/tests/muxcable_test.py @@ -189,6 +189,23 @@ } """ +show_muxcable_metrics_expected_output = """\ +PORT EVENT TIME +--------- ---------------------------- --------------------------- +Ethernet0 linkmgrd_switch_active_start 2021-May-13 10:00:21.420898 +Ethernet0 linkmgrd_switch_standby_end 2021-May-13 10:01:15.696728 +Ethernet0 xcvrd_switch_standby_end 2021-May-13 10:01:15.696051 +Ethernet0 xcvrd_switch_standby_start 2021-May-13 10:01:15.690835 +""" + +show_muxcable_metrics_expected_output_json = """\ +{ + "linkmgrd_switch_active_start": "2021-May-13 10:00:21.420898", + "linkmgrd_switch_standby_end": "2021-May-13 10:01:15.696728", + "xcvrd_switch_standby_end": "2021-May-13 10:01:15.696051", + "xcvrd_switch_standby_start": "2021-May-13 10:01:15.690835" +} +""" class TestMuxcable(object): @classmethod @@ -780,6 +797,32 @@ def test_config_muxcable_rollback_firmware(self): "Ethernet0"], obj=db) assert result.exit_code == 0 + @mock.patch('utilities_common.platform_sfputil_helper.get_logical_list', mock.MagicMock(return_value=["Ethernet0", "Ethernet12"])) + @mock.patch('utilities_common.platform_sfputil_helper.get_asic_id_for_logical_port', mock.MagicMock(return_value=0)) + @mock.patch('show.muxcable.platform_sfputil', mock.MagicMock(return_value={0: ["Ethernet12", "Ethernet0"]})) + @mock.patch('utilities_common.platform_sfputil_helper.logical_port_name_to_physical_port_list', mock.MagicMock(return_value=[0])) + def test_show_muxcable_metrics_port(self): + runner = CliRunner() + db = Db() + + result = runner.invoke(show.cli.commands["muxcable"].commands["metrics"], + ["Ethernet0"], obj=db) + assert result.exit_code == 0 + assert result.output == show_muxcable_metrics_expected_output + + @mock.patch('utilities_common.platform_sfputil_helper.get_logical_list', mock.MagicMock(return_value=["Ethernet0", "Ethernet12"])) + @mock.patch('utilities_common.platform_sfputil_helper.get_asic_id_for_logical_port', mock.MagicMock(return_value=0)) + @mock.patch('show.muxcable.platform_sfputil', mock.MagicMock(return_value={0: ["Ethernet12", "Ethernet0"]})) + @mock.patch('utilities_common.platform_sfputil_helper.logical_port_name_to_physical_port_list', mock.MagicMock(return_value=[0])) + def test_show_muxcable_metrics_port(self): + runner = CliRunner() + db = Db() + + result = runner.invoke(show.cli.commands["muxcable"].commands["metrics"], + ["Ethernet0", "--json"], obj=db) + assert result.exit_code == 0 + assert result.output == show_muxcable_metrics_expected_output_json + @classmethod def teardown_class(cls): os.environ['UTILITIES_UNIT_TESTING'] = "0" From f1726fe217a12397ff1c3a9af087f3180fbf57ad Mon Sep 17 00:00:00 2001 From: Stephen Sun <5379172+stephenxs@users.noreply.github.com> Date: Sun, 23 May 2021 16:45:34 +0800 Subject: [PATCH 200/342] Make advance_version_for_expected_database available for other db migrator test cases as well (#1614) - What I did Originally, the method advance_version_for_expected_database was introduced (in #1566) to handle the case the latest version in CONFIG_DB is greater than the latest version in mellanox_buffer_migrator. Now there are other database migrators whose test cases can also encounter this situation, like port auto-negotiation (#1568) and port-channel for LACP key (#1473). So I would like to make the method public, available for all database migrators. Related database migrator test cases have been updated accordingly. - How to verify it Run the unit test. Signed-off-by: Stephen Sun --- .../non-default-config-expected.json | 2 +- tests/db_migrator_test.py | 29 ++++++++++--------- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/tests/db_migrator_input/config_db/non-default-config-expected.json b/tests/db_migrator_input/config_db/non-default-config-expected.json index 46e75f26f7..a31a50b45e 100644 --- a/tests/db_migrator_input/config_db/non-default-config-expected.json +++ b/tests/db_migrator_input/config_db/non-default-config-expected.json @@ -1115,6 +1115,6 @@ "speed": "50000" }, "VERSIONS|DATABASE": { - "VERSION": "version_2_0_1" + "VERSION": "version_2_0_0" } } diff --git a/tests/db_migrator_test.py b/tests/db_migrator_test.py index 293ee1d09f..56cfb2900f 100644 --- a/tests/db_migrator_test.py +++ b/tests/db_migrator_test.py @@ -24,6 +24,17 @@ def get_sonic_version_info_mlnx(): return {'asic_type': 'mellanox'} +def advance_version_for_expected_database(migrated_db, expected_db, last_interested_version): + # In case there are new db versions greater than the latest one that mellanox buffer migrator is interested, + # we just advance the database version in the expected database to make the test pass + expected_dbversion = expected_db.get_entry('VERSIONS', 'DATABASE') + dbmgtr_dbversion = migrated_db.get_entry('VERSIONS', 'DATABASE') + if expected_dbversion and dbmgtr_dbversion: + if expected_dbversion['VERSION'] == last_interested_version and dbmgtr_dbversion['VERSION'] > expected_dbversion['VERSION']: + expected_dbversion['VERSION'] = dbmgtr_dbversion['VERSION'] + expected_db.set_entry('VERSIONS', 'DATABASE', expected_dbversion) + + class TestMellanoxBufferMigrator(object): @classmethod def setup_class(cls): @@ -76,16 +87,6 @@ def check_appl_db(self, result, expected): for key in keys: assert expected.get_all(expected.APPL_DB, key) == result.get_all(result.APPL_DB, key) - def advance_version_for_expected_database(self, migrated_db, expected_db): - # In case there are new db versions greater than the latest one that mellanox buffer migrator is interested, - # we just advance the database version in the expected database to make the test pass - expected_dbversion = expected_db.get_entry('VERSIONS', 'DATABASE') - dbmgtr_dbversion = migrated_db.get_entry('VERSIONS', 'DATABASE') - if expected_dbversion and dbmgtr_dbversion: - if expected_dbversion['VERSION'] == self.version_list[-1] and dbmgtr_dbversion['VERSION'] > expected_dbversion['VERSION']: - expected_dbversion['VERSION'] = dbmgtr_dbversion['VERSION'] - expected_db.set_entry('VERSIONS', 'DATABASE', expected_dbversion) - @pytest.mark.parametrize('scenario', ['empty-config', 'non-default-config', @@ -103,7 +104,7 @@ def test_mellanox_buffer_migrator_negative_cold_reboot(self, scenario): dbmgtr = db_migrator.DBMigrator(None) dbmgtr.migrate() expected_db = self.mock_dedicated_config_db(db_after_migrate) - self.advance_version_for_expected_database(dbmgtr.configDB, expected_db.cfgdb) + advance_version_for_expected_database(dbmgtr.configDB, expected_db.cfgdb, self.version_list[-1]) self.check_config_db(dbmgtr.configDB, expected_db.cfgdb) assert not dbmgtr.mellanox_buffer_migrator.is_buffer_config_default @@ -142,7 +143,7 @@ def test_mellanox_buffer_migrator_for_cold_reboot(self, sku_version, topo): # Eventually, the config db should be migrated to the latest version expected_db = self.mock_dedicated_config_db(self.make_db_name_by_sku_topo_version(sku, topo, self.version_list[-1])) - self.advance_version_for_expected_database(dbmgtr.configDB, expected_db.cfgdb) + advance_version_for_expected_database(dbmgtr.configDB, expected_db.cfgdb, self.version_list[-1]) self.check_config_db(dbmgtr.configDB, expected_db.cfgdb) assert dbmgtr.mellanox_buffer_migrator.is_buffer_config_default @@ -158,7 +159,7 @@ def mellanox_buffer_migrator_warm_reboot_runner(self, input_config_db, input_app import db_migrator dbmgtr = db_migrator.DBMigrator(None) dbmgtr.migrate() - self.advance_version_for_expected_database(dbmgtr.configDB, expected_config_db.cfgdb) + advance_version_for_expected_database(dbmgtr.configDB, expected_config_db.cfgdb, self.version_list[-1]) assert dbmgtr.mellanox_buffer_migrator.is_buffer_config_default == is_buffer_config_default_expected self.check_config_db(dbmgtr.configDB, expected_config_db.cfgdb) self.check_appl_db(dbmgtr.appDB, expected_appl_db) @@ -210,8 +211,10 @@ def test_port_autoneg_migrator(self): import db_migrator dbmgtr = db_migrator.DBMigrator(None) dbmgtr.migrate() + dbconnector.dedicated_dbs['CONFIG_DB'] = os.path.join(mock_db_path, 'config_db', 'port-an-expected') expected_db = Db() + advance_version_for_expected_database(dbmgtr.configDB, expected_db.cfgdb, 'version_2_0_1') assert dbmgtr.configDB.get_table('PORT') == expected_db.cfgdb.get_table('PORT') assert dbmgtr.configDB.get_table('VERSIONS') == expected_db.cfgdb.get_table('VERSIONS') From e23c5ee3d39963ee73a5a4b33e17611106e71e20 Mon Sep 17 00:00:00 2001 From: Alexander Allen Date: Sun, 23 May 2021 04:53:36 -0400 Subject: [PATCH 201/342] Add psu hardware revision to psushow table (#1601) - What I did Added a field for hardware revision to the psushow output table. - How I did it Defined new psu status field sourced from "revision" field in STATE_DB added in robocoder99/sonic-platform-daemons#1 and adds it to the table output with the header "HW Rev" All relevant unit tests were also updated. - How to verify it Execute show platform psustatus and verify that "HW Rev" column is present and appropriately populated depending on the platform. --- doc/Command-Reference.md | 7 +++---- scripts/psushow | 4 +++- tests/mock_tables/state_db.json | 2 ++ tests/psushow_test.py | 26 ++++++++++++++++---------- 4 files changed, 24 insertions(+), 15 deletions(-) diff --git a/doc/Command-Reference.md b/doc/Command-Reference.md index 8a247d40e3..90dcf00597 100644 --- a/doc/Command-Reference.md +++ b/doc/Command-Reference.md @@ -775,10 +775,9 @@ This command displays the status of the device's power supply units - Example: ``` admin@sonic:~$ show platform psustatus - PSU Status - ----- -------- - PSU 1 OK - PSU 2 OK + PSU Model Serial HW Rev Voltage (V) Current (A) Power (W) Status LED + ----- ------------- ------------ -------- ------------- ------------- ----------- -------- ----- + PSU 1 MTEF-PSF-AC-A MT1621X15246 A3 11.97 4.56 54.56 OK green ``` **show platform fan** diff --git a/scripts/psushow b/scripts/psushow index b0e4dfc32e..60ebb34516 100755 --- a/scripts/psushow +++ b/scripts/psushow @@ -47,6 +47,7 @@ def get_psu_status_list(): psu_status['model'] = db.get(db.STATE_DB, 'PSU_INFO|{}'.format(psu_name), 'model') if presence else 'N/A' psu_status['serial'] = db.get(db.STATE_DB, 'PSU_INFO|{}'.format(psu_name), 'serial') if presence else 'N/A' + psu_status['revision'] = db.get(db.STATE_DB, 'PSU_INFO|{}'.format(psu_name), 'revision') if presence else 'N/A' psu_status['voltage'] = db.get(db.STATE_DB, 'PSU_INFO|{}'.format(psu_name), 'voltage') if presence else 'N/A' psu_status['current'] = db.get(db.STATE_DB, 'PSU_INFO|{}'.format(psu_name), 'current') if presence else 'N/A' psu_status['power'] = db.get(db.STATE_DB, 'PSU_INFO|{}'.format(psu_name), 'power') if presence else 'N/A' @@ -63,7 +64,7 @@ def psu_status_show_table(index): print('Error: Failed to get PSU status') return None - header = ['PSU', 'Model', 'Serial', 'Voltage (V)', 'Current (A)', 'Power (W)', 'Status', 'LED'] + header = ['PSU', 'Model', 'Serial', 'HW Rev', 'Voltage (V)', 'Current (A)', 'Power (W)', 'Status', 'LED'] status_table = [] if index > 0: @@ -78,6 +79,7 @@ def psu_status_show_table(index): status_table.append([psu_status['name'], psu_status['model'], psu_status['serial'], + psu_status['revision'], psu_status['voltage'], psu_status['current'], psu_status['power'], diff --git a/tests/mock_tables/state_db.json b/tests/mock_tables/state_db.json index ead7004b27..4fb858691c 100644 --- a/tests/mock_tables/state_db.json +++ b/tests/mock_tables/state_db.json @@ -141,6 +141,7 @@ "status": "true", "model": "0J6J4K", "serial": "CN-0J6J4K-17972-5AF-0086-A00", + "revision": "1", "temp": "None", "temp_threshold": "None", "voltage": "12.19", @@ -156,6 +157,7 @@ "status": "true", "model": "0J6J4K", "serial": "CN-0J6J4K-17972-5AF-008M-A00", + "revision": "A", "temp": "None", "temp_threshold": "None", "voltage": "12.18", diff --git a/tests/psushow_test.py b/tests/psushow_test.py index fd40a3beb8..efbcde3d75 100644 --- a/tests/psushow_test.py +++ b/tests/psushow_test.py @@ -34,6 +34,7 @@ def test_get_psu_status_list(self): 'led_status': 'green', 'model': '0J6J4K', 'serial': 'CN-0J6J4K-17972-5AF-0086-A00', + 'revision': '1', 'voltage': '12.19', 'current': '8.37', 'power': '102.7' @@ -46,6 +47,7 @@ def test_get_psu_status_list(self): 'led_status': 'green', 'model': '0J6J4K', 'serial': 'CN-0J6J4K-17972-5AF-008M-A00', + 'revision': 'A', 'voltage': '12.18', 'current': '10.07', 'power': '122.0' @@ -57,10 +59,10 @@ def test_get_psu_status_list(self): def test_status_table(self, capsys): expected_output = '''\ -PSU Model Serial Voltage (V) Current (A) Power (W) Status LED ------ ------- ---------------------------- ------------- ------------- ----------- -------- ----- -PSU 1 0J6J4K CN-0J6J4K-17972-5AF-0086-A00 12.19 8.37 102.70 OK green -PSU 2 0J6J4K CN-0J6J4K-17972-5AF-008M-A00 12.18 10.07 122.00 OK green +PSU Model Serial HW Rev Voltage (V) Current (A) Power (W) Status LED +----- ------- ---------------------------- -------- ------------- ------------- ----------- -------- ----- +PSU 1 0J6J4K CN-0J6J4K-17972-5AF-0086-A00 1 12.19 8.37 102.70 OK green +PSU 2 0J6J4K CN-0J6J4K-17972-5AF-008M-A00 A 12.18 10.07 122.00 OK green ''' for arg in ['-s', '--status']: with mock.patch('sys.argv', ['psushow', arg]): @@ -70,9 +72,9 @@ def test_status_table(self, capsys): assert captured.out == expected_output expected_output = '''\ -PSU Model Serial Voltage (V) Current (A) Power (W) Status LED ------ ------- ---------------------------- ------------- ------------- ----------- -------- ----- -PSU 1 0J6J4K CN-0J6J4K-17972-5AF-0086-A00 12.19 8.37 102.70 OK green +PSU Model Serial HW Rev Voltage (V) Current (A) Power (W) Status LED +----- ------- ---------------------------- -------- ------------- ------------- ----------- -------- ----- +PSU 1 0J6J4K CN-0J6J4K-17972-5AF-0086-A00 1 12.19 8.37 102.70 OK green ''' for arg in ['-s', '--status']: with mock.patch('sys.argv', ['psushow', arg, '-i', '1']): @@ -82,9 +84,9 @@ def test_status_table(self, capsys): assert captured.out == expected_output expected_output = '''\ -PSU Model Serial Voltage (V) Current (A) Power (W) Status LED ------ ------- ---------------------------- ------------- ------------- ----------- -------- ----- -PSU 2 0J6J4K CN-0J6J4K-17972-5AF-008M-A00 12.18 10.07 122.00 OK green +PSU Model Serial HW Rev Voltage (V) Current (A) Power (W) Status LED +----- ------- ---------------------------- -------- ------------- ------------- ----------- -------- ----- +PSU 2 0J6J4K CN-0J6J4K-17972-5AF-008M-A00 A 12.18 10.07 122.00 OK green ''' for arg in ['-s', '--status']: with mock.patch('sys.argv', ['psushow', arg, '-i', '2']): @@ -116,6 +118,7 @@ def test_status_json(self, capsys): "led_status": "green", "model": "0J6J4K", "serial": "CN-0J6J4K-17972-5AF-0086-A00", + "revision": "1", "voltage": "12.19", "current": "8.37", "power": "102.7" @@ -128,6 +131,7 @@ def test_status_json(self, capsys): "led_status": "green", "model": "0J6J4K", "serial": "CN-0J6J4K-17972-5AF-008M-A00", + "revision": "A", "voltage": "12.18", "current": "10.07", "power": "122.0" @@ -151,6 +155,7 @@ def test_status_json(self, capsys): "led_status": "green", "model": "0J6J4K", "serial": "CN-0J6J4K-17972-5AF-0086-A00", + "revision": "1", "voltage": "12.19", "current": "8.37", "power": "102.7" @@ -174,6 +179,7 @@ def test_status_json(self, capsys): "led_status": "green", "model": "0J6J4K", "serial": "CN-0J6J4K-17972-5AF-008M-A00", + "revision": "A", "voltage": "12.18", "current": "10.07", "power": "122.0" From 7744c8d0570203846d29fdda31151077918819be Mon Sep 17 00:00:00 2001 From: yangshiping <43633727+yangshp1987@users.noreply.github.com> Date: Tue, 25 May 2021 01:22:01 +0800 Subject: [PATCH 202/342] [fdb]cli: fdb entries are cleared according to vlan or port or vlan&&port (#657) Fdb entries can be deleted with user specifying vlan or port or vlan&&port. --- scripts/fdbclear | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) mode change 100644 => 100755 scripts/fdbclear diff --git a/scripts/fdbclear b/scripts/fdbclear old mode 100644 new mode 100755 index ceb5f22b7e..7b17459bab --- a/scripts/fdbclear +++ b/scripts/fdbclear @@ -42,10 +42,15 @@ def main(): try: fdb = FdbClear() - if args.vlan is not None: - print("command not supported yet.") + if args.vlan is not None and args.port is not None: + fdb.send_notification("PORTVLAN", args.port+'|'+args.vlan) + print("Port {} + Vlan{} FDB entries are cleared.".format(args.port, args.vlan)) + elif args.vlan is not None: + fdb.send_notification("VLAN", args.vlan) + print("Vlan{} FDB entries are cleared.".format(args.vlan)) elif args.port is not None: - print("command not supported yet.") + fdb.send_notification("PORT", args.port) + print("Port {} FDB entries are cleared.".format(args.port)) else: fdb.send_notification("ALL", "ALL") print("FDB entries are cleared.") From 01eb4b1bbddee93414013657a9366bc66cbb9e5a Mon Sep 17 00:00:00 2001 From: vdahiya12 <67608553+vdahiya12@users.noreply.github.com> Date: Tue, 25 May 2021 11:29:37 -0700 Subject: [PATCH 203/342] [show] support for show muxcable firmware version of only active banks (#1629) Signed-off-by: vaibhav-dahiya vdahiya@microsoft.com This PR adds support for an option to display firmware version of muxcable of only active banks. The new output would look like this in case an active flag is passed to the command line admin@STR43-0101-0101-01LT0:~$ show muxcable firmware version Ethernet0 --active { "version_self_active": "0.7MS", "version_peer_active": "0.7MS", "version_nic_active": "0.7MS", } What I did added an option to display active banks only for display muxcable firmware version Signed-off-by: vaibhav-dahiya --- show/muxcable.py | 20 +++++++++++++++++--- tests/muxcable_test.py | 27 +++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 3 deletions(-) diff --git a/show/muxcable.py b/show/muxcable.py index 425a4f74c5..881f0a894b 100644 --- a/show/muxcable.py +++ b/show/muxcable.py @@ -847,7 +847,8 @@ def firmware(): @firmware.command() @click.argument('port', metavar='', required=True, default=None) -def version(port): +@click.option('--active', 'active', required=False, is_flag=True, type=click.BOOL, help="display the firmware version of only active bank within MCU's") +def version(port, active): """Show muxcable firmware version""" port_table_keys = {} @@ -899,6 +900,7 @@ def version(port): sys.exit(CONFIG_FAIL) mux_info_dict = {} + mux_info_active_dict = {} physical_port = physical_port_list[0] if per_npu_statedb[asic_index] is not None: y_cable_asic_table_keys = port_table_keys[asic_index] @@ -910,12 +912,24 @@ def version(port): get_firmware_dict(physical_port, 1, "self", mux_info_dict) get_firmware_dict(physical_port, 2, "peer", mux_info_dict) get_firmware_dict(physical_port, 0, "nic", mux_info_dict) - click.echo("{}".format(json.dumps(mux_info_dict, indent=4))) + if active is True: + for key in mux_info_dict: + if key.endswith("_active"): + mux_info_active_dict[key] = mux_info_dict[key] + click.echo("{}".format(json.dumps(mux_info_active_dict, indent=4))) + else: + click.echo("{}".format(json.dumps(mux_info_dict, indent=4))) elif read_side == 2: get_firmware_dict(physical_port, 2, "self", mux_info_dict) get_firmware_dict(physical_port, 1, "peer", mux_info_dict) get_firmware_dict(physical_port, 0, "nic", mux_info_dict) - click.echo("{}".format(json.dumps(mux_info_dict, indent=4))) + if active is True: + for key in mux_info_dict: + if key.endswith("_active"): + mux_info_active_dict[key] = mux_info_dict[key] + click.echo("{}".format(json.dumps(mux_info_active_dict, indent=4))) + else: + click.echo("{}".format(json.dumps(mux_info_dict, indent=4))) else: click.echo("Did not get a valid read_side for muxcable".format(port)) sys.exit(CONFIG_FAIL) diff --git a/tests/muxcable_test.py b/tests/muxcable_test.py index 811a9a7f96..0385ffeae5 100644 --- a/tests/muxcable_test.py +++ b/tests/muxcable_test.py @@ -189,6 +189,14 @@ } """ +show_muxcable_firmware_version_active_expected_output = """\ +{ + "version_self_active": "0.6MS", + "version_peer_active": "0.6MS", + "version_nic_active": "0.6MS" +} +""" + show_muxcable_metrics_expected_output = """\ PORT EVENT TIME --------- ---------------------------- --------------------------- @@ -823,6 +831,25 @@ def test_show_muxcable_metrics_port(self): assert result.exit_code == 0 assert result.output == show_muxcable_metrics_expected_output_json + @mock.patch('utilities_common.platform_sfputil_helper.get_logical_list', mock.MagicMock(return_value=["Ethernet0", "Ethernet12"])) + @mock.patch('utilities_common.platform_sfputil_helper.get_asic_id_for_logical_port', mock.MagicMock(return_value=0)) + @mock.patch('show.muxcable.platform_sfputil', mock.MagicMock(return_value={0: ["Ethernet12", "Ethernet0"]})) + @mock.patch('utilities_common.platform_sfputil_helper.get_physical_to_logical', mock.MagicMock(return_value={0: ["Ethernet12", "Ethernet0"]})) + @mock.patch('utilities_common.platform_sfputil_helper.logical_port_name_to_physical_port_list', mock.MagicMock(return_value=[0])) + @mock.patch('sonic_y_cable.y_cable.check_read_side', mock.MagicMock(return_value=(1))) + @mock.patch('click.confirm', mock.MagicMock(return_value=("y"))) + @mock.patch('sonic_y_cable.y_cable.get_firmware_version', mock.MagicMock(return_value={"version_active": "0.6MS", + "version_inactive": "0.6MS", + "version_next": "0.6MS"})) + def test_show_muxcable_firmware_active_version(self): + runner = CliRunner() + db = Db() + + result = runner.invoke(show.cli.commands["muxcable"].commands["firmware"].commands["version"], [ + "Ethernet0", "--active"], obj=db) + assert result.exit_code == 0 + assert result.output == show_muxcable_firmware_version_active_expected_output + @classmethod def teardown_class(cls): os.environ['UTILITIES_UNIT_TESTING'] = "0" From b616cd9182d16f86a329e8698968c52c3260f7d4 Mon Sep 17 00:00:00 2001 From: gechiang <62408185+gechiang@users.noreply.github.com> Date: Wed, 26 May 2021 11:10:47 -0700 Subject: [PATCH 204/342] [TPID CONFIG] Added TPID configuration CLI support (#1618) * [TPID CONFIG] Added TPID configuration CLI support Signed-off-by: Gen-Hwa Chiang * Added command-reference update for the new config TPID and show TPID related commands * Fixed Reference-command spacing issue that caused the show interfaces tpid output incorrectly --- config/main.py | 39 +++++++ doc/Command-Reference.md | 60 ++++++++++ scripts/intfutil | 96 +++++++++++++++- scripts/portconfig | 85 +++++++++++++- show/interfaces/__init__.py | 23 ++++ tests/mock_tables/appl_db.json | 12 ++ tests/mock_tables/config_db.json | 37 ++++++ tests/mock_tables/state_db.json | 2 + tests/tpid_test.py | 188 +++++++++++++++++++++++++++++++ 9 files changed, 535 insertions(+), 7 deletions(-) create mode 100644 tests/tpid_test.py diff --git a/config/main.py b/config/main.py index 6f6db602ee..102927d0b8 100755 --- a/config/main.py +++ b/config/main.py @@ -84,6 +84,8 @@ PORT_MTU = "mtu" PORT_SPEED = "speed" +PORT_TPID = "tpid" +DEFAULT_TPID = "0x8100" asic_type = None @@ -1583,6 +1585,15 @@ def add_portchannel_member(ctx, portchannel_name, port_name): ctx.fail("Port MTU of {} is different than the {} MTU size" .format(port_name, portchannel_name)) + # Dont allow a port to be member of port channel if its TPID is not at default 0x8100 + # If TPID is supported at LAG level, when member is added, the LAG's TPID is applied to the + # new member by SAI. + port_entry = db.get_entry('PORT', port_name) + if port_entry and port_entry.get(PORT_TPID) is not None: + port_tpid = port_entry.get(PORT_TPID) + if port_tpid != DEFAULT_TPID: + ctx.fail("Port TPID of {}: {} is not at default 0x8100".format(port_name, port_tpid)) + db.set_entry('PORTCHANNEL_MEMBER', (portchannel_name, port_name), {'NULL': 'NULL'}) @@ -3367,6 +3378,34 @@ def mtu(ctx, interface_name, interface_mtu, verbose): command += " -vv" clicommon.run_command(command, display_cmd=verbose) +# +# 'tpid' subcommand +# + +@interface.command() +@click.pass_context +@click.argument('interface_name', metavar='', required=True) +@click.argument('interface_tpid', metavar='', required=True) +@click.option('-v', '--verbose', is_flag=True, help="Enable verbose output") +def tpid(ctx, interface_name, interface_tpid, verbose): + """Set interface tpid""" + # Get the config_db connector + config_db = ctx.obj['config_db'] + if clicommon.get_interface_naming_mode() == "alias": + interface_name = interface_alias_to_name(config_db, interface_name) + if interface_name is None: + ctx.fail("'interface_name' is None!") + + if ctx.obj['namespace'] is DEFAULT_NAMESPACE: + command = "portconfig -p {} -tp {}".format(interface_name, interface_tpid) + else: + command = "portconfig -p {} -tp {} -n {}".format(interface_name, interface_tpid, ctx.obj['namespace']) + + if verbose: + command += " -vv" + clicommon.run_command(command, display_cmd=verbose) + + @interface.command() @click.pass_context @click.argument('interface_name', metavar='', required=True) diff --git a/doc/Command-Reference.md b/doc/Command-Reference.md index 90dcf00597..fa0afe36aa 100644 --- a/doc/Command-Reference.md +++ b/doc/Command-Reference.md @@ -406,6 +406,7 @@ The same syntax applies to all subgroups of `show` which themselves contain subc neighbor Show neighbor related information portchannel Show PortChannel information status Show Interface status information + tpid Show Interface tpid information transceiver Show SFP Transceiver information ``` @@ -3076,6 +3077,7 @@ Subsequent pages explain each of these commands in detail. neighbor Show neighbor related information portchannel Show PortChannel information status Show Interface status information + tpid Show Interface tpid information transceiver Show SFP Transceiver information ``` @@ -3310,6 +3312,48 @@ This command displays the key fields of the interfaces such as Operational Statu Ethernet4 down up hundredGigE1/2 T0-2:hundredGigE1/30 ``` +**show interfaces tpid** + +This command displays the key fields of the interfaces such as Operational Status, Administrative Status, Alias and TPID. + +- Usage: + ``` + show interfaces tpid [] + ``` + +- Example: + ``` + admin@sonic:~$ show interfaces tpid + Interface Alias Oper Admin TPID + --------------- --------------- ------ ------- ------ + Ethernet0 fortyGigE1/1/1 up up 0x8100 + Ethernet1 fortyGigE1/1/2 up up 0x8100 + Ethernet2 fortyGigE1/1/3 down down 0x8100 + Ethernet3 fortyGigE1/1/4 down down 0x8100 + Ethernet4 fortyGigE1/1/5 up up 0x8100 + Ethernet5 fortyGigE1/1/6 up up 0x8100 + Ethernet6 fortyGigE1/1/7 up up 0x9200 + Ethernet7 fortyGigE1/1/8 up up 0x88A8 + Ethernet8 fortyGigE1/1/9 up up 0x8100 + ... + Ethernet63 fortyGigE1/4/16 down down 0x8100 + PortChannel0001 N/A up up 0x8100 + PortChannel0002 N/A up up 0x8100 + PortChannel0003 N/A up up 0x8100 + PortChannel0004 N/A up up 0x8100 + admin@sonic:~$ + ``` + +- Example (to only display the TPID for interface Ethernet6): + + ``` + admin@sonic:~$ show interfaces tpid Ethernet6 + Interface Alias Oper Admin TPID + ----------- -------------- ------ ------- ------ + Ethernet6 fortyGigE1/1/7 up up 0x9200 + admin@sonic:~$ + ``` + **show interfaces naming_mode** Refer sub-section [Interface-Naming-Mode](#Interface-Naming-Mode) @@ -3715,6 +3759,22 @@ This command is used to configure the mtu for the Physical interface. Use the va admin@sonic:~$ sudo config interface mtu Ethernet64 1500 ``` +**config interface tpid (Versions >= 202106)** + +This command is used to configure the TPID for the Physical/PortChannel interface. default is 0x8100. Other allowed values if supported by HW SKU (0x9100, 0x9200, 0x88A8). + +- Usage: + + *Versions >= 202106* + ``` + config interface tpid + ``` + +- Example (Versions >= 202106): + ``` + admin@sonic:~$ sudo config interface tpid Ethernet64 0x9200 + ``` + **config interface breakout** This command is used to set breakout mode available for user-specified interface. diff --git a/scripts/intfutil b/scripts/intfutil index a409d1a29d..9600b6a8ff 100755 --- a/scripts/intfutil +++ b/scripts/intfutil @@ -45,6 +45,7 @@ PORT_AUTONEG = 'autoneg' PORT_ADV_SPEEDS = 'adv_speeds' PORT_INTERFACE_TYPE = 'interface_type' PORT_ADV_INTERFACE_TYPES = 'adv_interface_types' +PORT_TPID = "tpid" VLAN_SUB_INTERFACE_SEPARATOR = "." VLAN_SUB_INTERFACE_TYPE = "802.1q-encapsulation" @@ -298,6 +299,11 @@ def appl_db_portchannel_status_get(appl_db, config_db, po_name, status_type, por if status_type == "mtu": status = config_db.get(config_db.CONFIG_DB, po_table_id, status_type) return status + if status_type == "tpid": + status = config_db.get(config_db.CONFIG_DB, po_table_id, status_type) + if status is None: + return "0x8100" + return status status = appl_db.get(appl_db.APPL_DB, full_table_id, status_type) #print(status) if status is None: @@ -583,10 +589,95 @@ class IntfAutoNegStatus(object): self.table += self.generate_autoneg_status() +# ========================== interface-tpid logic ========================== + +header_tpid = ['Interface', 'Alias', 'Oper', 'Admin', 'TPID'] + +class IntfTpid(object): + + def __init__(self, intf_name, namespace_option, display_option): + """ + Class constructor method + :param self: + :param intf_name: string of interface + :return: + """ + self.db = None + self.config_db = None + self.intf_name = intf_name + self.table = [] + self.multi_asic = multi_asic_util.MultiAsic( + display_option, namespace_option) + + if intf_name is not None and intf_name == SUB_PORT: + self.intf_name = None + + def display_intf_tpid(self): + self.get_intf_tpid() + + # Sorting and tabulating the result table. + sorted_table = natsorted(self.table) + print(tabulate(sorted_table, header_tpid, tablefmt="simple", stralign='right')) + + def generate_intf_tpid(self): + """ + Generate interface-tpid output + """ + + i = {} + table = [] + key = [] + + intf_fs = parse_interface_in_filter(self.intf_name) + # + # Iterate through all the keys and append port's associated state to + # the result table. + # + for i in self.appl_db_keys: + key = re.split(':', i, maxsplit=1)[-1].strip() + if key in self.front_panel_ports_list: + if self.multi_asic.skip_display(constants.PORT_OBJ, key): + continue + + if self.intf_name is None or key in intf_fs: + table.append((key, + appl_db_port_status_get(self.db, key, PORT_ALIAS), + appl_db_port_status_get(self.db, key, PORT_OPER_STATUS), + appl_db_port_status_get(self.db, key, PORT_ADMIN_STATUS), + appl_db_port_status_get(self.db, key, PORT_TPID))) + + for po, value in self.po_speed_dict.items(): + if po: + if self.multi_asic.skip_display(constants.PORT_CHANNEL_OBJ, po): + continue + if self.intf_name is None or po in intf_fs: + table.append((po, + appl_db_portchannel_status_get(self.db, self.config_db, po, PORT_ALIAS, self.po_speed_dict), + appl_db_portchannel_status_get(self.db, self.config_db, po, PORT_OPER_STATUS, self.po_speed_dict), + appl_db_portchannel_status_get(self.db, self.config_db, po, PORT_ADMIN_STATUS, self.po_speed_dict), + appl_db_portchannel_status_get(self.db, self.config_db, po, PORT_TPID, self.po_speed_dict))) + return table + + @multi_asic_util.run_on_multi_asic + def get_intf_tpid(self): + self.front_panel_ports_list = get_frontpanel_port_list(self.config_db) + self.appl_db_keys = appl_db_keys_get(self.db, self.front_panel_ports_list, None) + self.get_raw_po_int_configdb_info = get_raw_portchannel_info(self.config_db) + self.portchannel_list = get_portchannel_list(self.get_raw_po_int_configdb_info) + self.po_int_tuple_list = create_po_int_tuple_list(self.get_raw_po_int_configdb_info) + self.po_int_dict = create_po_int_dict(self.po_int_tuple_list) + self.int_po_dict = create_int_to_portchannel_dict(self.po_int_tuple_list) + self.po_speed_dict = po_speed_dict(self.po_int_dict, self.db) + self.portchannel_keys = self.po_speed_dict.keys() + + if self.appl_db_keys: + self.table += self.generate_intf_tpid() + + def main(): parser = argparse.ArgumentParser(description='Display Interface information', formatter_class=argparse.RawTextHelpFormatter) - parser.add_argument('-c', '--command', type=str, help='get interface status or description or auto negotiation status', default=None) + parser.add_argument('-c', '--command', type=str, help='get interface status or description or auto negotiation status or tpid', default=None) parser.add_argument('-i', '--interface', type=str, help='interface information for specific port: Ethernet0', default=None) parser = multi_asic_util.multi_asic_args(parser) args = parser.parse_args() @@ -600,6 +691,9 @@ def main(): elif args.command == "autoneg": interface_autoneg_status = IntfAutoNegStatus(args.interface, args.namespace, args.display) interface_autoneg_status.display_autoneg_status() + elif args.command == "tpid": + interface_tpid = IntfTpid(args.interface, args.namespace, args.display) + interface_tpid.display_intf_tpid() sys.exit(0) diff --git a/scripts/portconfig b/scripts/portconfig index a37a86a82f..6293b08198 100755 --- a/scripts/portconfig +++ b/scripts/portconfig @@ -3,7 +3,7 @@ """ portconfig is the utility to show and change ECN configuration -usage: portconfig [-h] [-v] [-s] [-f] [-m] [-p PROFILE] [-gmin GREEN_MIN] +usage: portconfig [-h] [-v] [-s] [-f] [-m] [-tp] [-p PROFILE] [-gmin GREEN_MIN] [-gmax GREEN_MAX] [-ymin YELLOW_MIN] [-ymax YELLOW_MAX] [-rmin RED_MIN] [-rmax RED_MAX] [-vv] [-n namespace] @@ -15,6 +15,7 @@ optional arguments: -s --speed port speed in Mbits -f --fec port fec mode -m --mtu port mtu in bytes + -tp --tpid interface tpid (0x8100, 9100, 9200, 88A8) -n --namesapce Namespace name -an --autoneg port auto negotiation mode -S --adv-speeds port advertised speeds @@ -27,7 +28,7 @@ import argparse # mock the redis for unit test purposes # try: - if os.environ["UTILITIES_UNIT_TESTING"] == "1": + if os.environ["UTILITIES_UNIT_TESTING"] == "1" or os.environ["UTILITIES_UNIT_TESTING"] == "2": modules_path = os.path.join(os.path.dirname(__file__), "..") test_path = os.path.join(modules_path, "tests") sys.path.insert(0, modules_path) @@ -47,6 +48,11 @@ PORT_AUTONEG_CONFIG_FIELD_NAME = "autoneg" PORT_ADV_SPEEDS_CONFIG_FIELD_NAME = "adv_speeds" PORT_INTERFACE_TYPE_CONFIG_FIELD_NAME = "interface_type" PORT_ADV_INTERFACE_TYPES_CONFIG_FIELD_NAME = "adv_interface_types" +PORT_CHANNEL_TABLE_NAME = "PORTCHANNEL" +PORT_CHANNEL_MBR_TABLE_NAME = "PORTCHANNEL_MEMBER" +TPID_CONFIG_FIELD_NAME = "tpid" +SWITCH_CAPABILITY = "SWITCH_CAPABILITY|switch" + # STATE_DB constants PORT_STATE_TABLE_NAME = "PORT_TABLE" @@ -65,17 +71,33 @@ class portconfig(object): def __init__(self, verbose, port, namespace): self.verbose = verbose self.namespace = namespace + self.is_lag = False + self.is_lag_mbr = False + self.parent = port # Set up db connections if namespace is None: self.db = ConfigDBConnector() + self.state_db = SonicV2Connector(host='127.0.0.1') else: self.db = ConfigDBConnector(use_unix_socket_path=True, namespace=namespace) + self.state_db = SonicV2Connector(use_unix_socket_path=True, namespace=front_asic_namespaces) self.db.connect() + self.state_db.connect(self.state_db.STATE_DB, False) # check whether table for this port exists port_tables = self.db.get_table(PORT_TABLE_NAME) - if port not in port_tables: - raise Exception("Invalid port specified") + lag_tables = self.db.get_table(PORT_CHANNEL_TABLE_NAME) + lag_mbr_tables = self.db.get_table(PORT_CHANNEL_MBR_TABLE_NAME) + if port in port_tables: + for key in lag_mbr_tables: + if port == key[1]: + self.parent = key[0] + self.is_lag_mbr = True + break; + elif port in lag_tables: + self.is_lag = True + else: + raise Exception("Invalid port %s" % (port)) def list_params(self, port): # chack whether table for this port exists @@ -157,6 +179,49 @@ class portconfig(object): state_db.connect(state_db.STATE_DB) return state_db.get(state_db.STATE_DB, '{}|{}'.format(PORT_STATE_TABLE_NAME, port), PORT_STATE_SUPPORTED_SPEEDS) + def set_tpid(self, port, tpid): + if self.verbose: + print("Setting tpid %s on port %s" % (tpid, port)) + + tpid_config_ready = False + tpid_port_capable = False + tpid_lag_capable = False + # check TPID Config capability + port_tpid_capable = self.state_db.get(self.state_db.STATE_DB, SWITCH_CAPABILITY, "PORT_TPID_CAPABLE") + lag_tpid_capable = self.state_db.get(self.state_db.STATE_DB, SWITCH_CAPABILITY, "LAG_TPID_CAPABLE") + if port_tpid_capable: + tpid_config_ready = True + if port_tpid_capable == "true": + tpid_port_capable = True + if lag_tpid_capable: + tpid_config_ready = True + if lag_tpid_capable == "true": + tpid_lag_capable = True + + if tpid_config_ready: + # TPID allowed are : 8100, 9100, 9200 and 88A8. Reject all other values. + if tpid == '0x8100' or tpid == '0x9100' or tpid == '0x9200' or tpid == '0x88A8' or tpid == '0x88a8': + if tpid == '0x88a8': + tpid = '0x88A8' + + if self.is_lag: + if tpid_lag_capable: + self.db.mod_entry(PORT_CHANNEL_TABLE_NAME, port, {TPID_CONFIG_FIELD_NAME: tpid}) + else: + raise Exception("HW is not capable to support PortChannel TPID config.") + else: + if self.is_lag_mbr: + raise Exception("%s is already member of %s. Set TPID NOT allowed." % (port, self.parent)) + else: + if tpid_port_capable: + self.db.mod_entry(PORT_TABLE_NAME, port, {TPID_CONFIG_FIELD_NAME: tpid}) + else: + raise Exception("HW is not capable to support Port TPID config.") + else: + raise Exception("TPID %s is not allowed. Allowed: 0x8100, 9100, 9200, or 88A8." % (tpid)) + else: + raise Exception("System not ready to accept TPID config. Please try again later.") + def main(): parser = argparse.ArgumentParser(description='Set SONiC port parameters', @@ -166,6 +231,7 @@ def main(): parser.add_argument('-s', '--speed', type=int, help='port speed value in Mbit', default=None) parser.add_argument('-f', '--fec', type=str, help='port fec mode value in (none, rs, fc)', default=None) parser.add_argument('-m', '--mtu', type=int, help='port mtu value in bytes', default=None) + parser.add_argument('-tp', '--tpid', type=str, help='port TPID value in hex (e.g. 0x8100)', default=None) parser.add_argument('-v', '--version', action='version', version='%(prog)s 1.0') parser.add_argument('-vv', '--verbose', action='store_true', help='Verbose output', default=False) parser.add_argument('-n', '--namespace', metavar='namespace details', type = str, required = False, @@ -189,7 +255,7 @@ def main(): port = portconfig(args.verbose, args.port, args.namespace) if args.list: port.list_params(args.port) - elif args.speed or args.fec or args.mtu or args.autoneg or args.adv_speeds or args.interface_type or args.adv_interface_types: + elif args.speed or args.fec or args.mtu or args.autoneg or args.adv_speeds or args.interface_type or args.adv_interface_types or args.tpid: if args.speed: port.set_speed(args.port, args.speed) if args.fec: @@ -204,12 +270,19 @@ def main(): port.set_interface_type(args.port, args.interface_type) if args.adv_interface_types: port.set_adv_interface_types(args.port, args.adv_interface_types) + if args.tpid: + port.set_tpid(args.port, args.tpid) else: parser.print_help() sys.exit(1) except Exception as e: - print(str(e), file=sys.stderr) + try: + if os.environ["UTILITIES_UNIT_TESTING"] == "1" or os.environ["UTILITIES_UNIT_TESTING"] == "2": + print(str(e), file=sys.stdout) + except KeyError: + print(str(e), file=sys.stderr) + sys.exit(1) if __name__ == "__main__": diff --git a/show/interfaces/__init__.py b/show/interfaces/__init__.py index 6d31890b22..7d95100ecb 100644 --- a/show/interfaces/__init__.py +++ b/show/interfaces/__init__.py @@ -147,6 +147,29 @@ def status(interfacename, namespace, display, verbose): clicommon.run_command(cmd, display_cmd=verbose) +@interfaces.command() +@click.argument('interfacename', required=False) +@multi_asic_util.multi_asic_click_options +@click.option('--verbose', is_flag=True, help="Enable verbose output") +def tpid(interfacename, namespace, display, verbose): + """Show Interface tpid information""" + + ctx = click.get_current_context() + + cmd = "intfutil -c tpid" + + if interfacename is not None: + interfacename = try_convert_interfacename_from_alias(ctx, interfacename) + + cmd += " -i {}".format(interfacename) + else: + cmd += " -d {}".format(display) + + if namespace is not None: + cmd += " -n {}".format(namespace) + + clicommon.run_command(cmd, display_cmd=verbose) + # # 'breakout' group ### # diff --git a/tests/mock_tables/appl_db.json b/tests/mock_tables/appl_db.json index c82562579a..926e05f0ee 100644 --- a/tests/mock_tables/appl_db.json +++ b/tests/mock_tables/appl_db.json @@ -33,6 +33,7 @@ "oper_status": "down", "pfc_asym": "off", "mtu": "9100", + "tpid": "0x9200", "fec": "rs", "admin_status": "up", "adv_speeds": "50000,10000", @@ -49,6 +50,7 @@ "oper_status": "up", "pfc_asym": "off", "mtu": "9100", + "tpid": "0x8100", "fec": "rs", "admin_status": "up", "autoneg": "off", @@ -64,6 +66,7 @@ "oper_status": "up", "pfc_asym": "off", "mtu": "9100", + "tpid": "0x8100", "fec": "rs", "admin_status": "up" }, @@ -76,6 +79,7 @@ "oper_status": "up", "pfc_asym": "off", "mtu": "9100", + "tpid": "0x8100", "fec": "rs", "admin_status": "up" }, @@ -88,6 +92,7 @@ "oper_status": "up", "pfc_asym": "off", "mtu": "9100", + "tpid": "0x8100", "fec": "rs", "admin_status": "up" }, @@ -100,6 +105,7 @@ "oper_status": "up", "pfc_asym": "off", "mtu": "9100", + "tpid": "0x8100", "fec": "rs", "admin_status": "up" }, @@ -112,6 +118,7 @@ "oper_status": "down", "fec": "rs", "mtu": "9100", + "tpid": "0x8100", "pfc_asym": "off", "admin_status": "up" }, @@ -123,6 +130,7 @@ "index": "148", "lanes": "109,0,0,0,0,0,0,0", "mtu": "9100", + "tpid": "0x8100", "oper_status": "up", "role": "Int", "speed": "100000" @@ -169,21 +177,25 @@ "LAG_TABLE:PortChannel0001": { "admin_status": "up", "mtu": "9100", + "tpid": "0x8100", "oper_status": "down" }, "LAG_TABLE:PortChannel0002": { "admin_status": "up", "mtu": "9100", + "tpid": "0x8100", "oper_status": "up" }, "LAG_TABLE:PortChannel0003": { "admin_status": "up", "mtu": "9100", + "tpid": "0x8100", "oper_status": "up" }, "LAG_TABLE:PortChannel0004": { "admin_status": "up", "mtu": "9100", + "tpid": "0x88A8", "oper_status": "up" }, "SWITCH_TABLE:switch": { diff --git a/tests/mock_tables/config_db.json b/tests/mock_tables/config_db.json index 6c554f8f98..e4be4606da 100644 --- a/tests/mock_tables/config_db.json +++ b/tests/mock_tables/config_db.json @@ -28,6 +28,7 @@ "index": "0", "lanes": "25,26,27,28", "mtu": "9100", + "tpid": "0x8100", "pfc_asym": "off", "speed": "40000" }, @@ -38,6 +39,7 @@ "index": "1", "lanes": "29,30,31,32", "mtu": "9100", + "tpid": "0x8100", "pfc_asym": "off", "speed": "40000" }, @@ -48,6 +50,7 @@ "index": "2", "lanes": "33,34,35,36", "mtu": "9100", + "tpid": "0x8100", "pfc_asym": "off", "speed": "40000" }, @@ -58,6 +61,7 @@ "index": "3", "lanes": "37,38,39,40", "mtu": "9100", + "tpid": "0x8100", "pfc_asym": "off", "speed": "40000" }, @@ -68,6 +72,7 @@ "index": "4", "lanes": "45,46,47,48", "mtu": "9100", + "tpid": "0x8100", "pfc_asym": "off", "speed": "40000" }, @@ -78,6 +83,7 @@ "index": "5", "lanes": "41,42,43,44", "mtu": "9100", + "tpid": "0x9200", "pfc_asym": "off", "speed": "40000" }, @@ -88,6 +94,7 @@ "index": "6", "lanes": "1,2,3,4", "mtu": "9100", + "tpid": "0x8100", "pfc_asym": "off", "speed": "40000" }, @@ -98,6 +105,7 @@ "index": "7", "lanes": "5,6,7,8", "mtu": "9100", + "tpid": "0x8100", "pfc_asym": "off", "speed": "40000" }, @@ -108,6 +116,7 @@ "index": "8", "lanes": "13,14,15,16", "mtu": "9100", + "tpid": "0x8100", "pfc_asym": "off", "speed": "40000" }, @@ -118,6 +127,7 @@ "index": "9", "lanes": "9,10,11,12", "mtu": "9100", + "tpid": "0x8100", "pfc_asym": "off", "speed": "40000" }, @@ -128,6 +138,7 @@ "index": "10", "lanes": "17,18,19,20", "mtu": "9100", + "tpid": "0x8100", "pfc_asym": "off", "speed": "40000" }, @@ -138,6 +149,7 @@ "index": "11", "lanes": "21,22,23,24", "mtu": "9100", + "tpid": "0x8100", "pfc_asym": "off", "speed": "40000" }, @@ -148,6 +160,7 @@ "index": "12", "lanes": "53,54,55,56", "mtu": "9100", + "tpid": "0x8100", "pfc_asym": "off", "speed": "40000" }, @@ -158,6 +171,7 @@ "index": "13", "lanes": "49,50,51,52", "mtu": "9100", + "tpid": "0x8100", "pfc_asym": "off", "speed": "40000" }, @@ -168,6 +182,7 @@ "index": "14", "lanes": "57,58,59,60", "mtu": "9100", + "tpid": "0x8100", "pfc_asym": "off", "speed": "40000" }, @@ -178,6 +193,7 @@ "index": "15", "lanes": "61,62,63,64", "mtu": "9100", + "tpid": "0x8100", "pfc_asym": "off", "speed": "40000" }, @@ -188,6 +204,7 @@ "index": "16", "lanes": "69,70,71,72", "mtu": "9100", + "tpid": "0x8100", "pfc_asym": "off", "speed": "40000" }, @@ -198,6 +215,7 @@ "index": "17", "lanes": "65,66,67,68", "mtu": "9100", + "tpid": "0x8100", "pfc_asym": "off", "speed": "40000" }, @@ -208,6 +226,7 @@ "index": "18", "lanes": "73,74,75,76", "mtu": "9100", + "tpid": "0x8100", "pfc_asym": "off", "speed": "40000" }, @@ -218,6 +237,7 @@ "index": "19", "lanes": "77,78,79,80", "mtu": "9100", + "tpid": "0x8100", "pfc_asym": "off", "speed": "40000" }, @@ -228,6 +248,7 @@ "index": "20", "lanes": "109,110,111,112", "mtu": "9100", + "tpid": "0x8100", "pfc_asym": "off", "speed": "40000" }, @@ -238,6 +259,7 @@ "index": "21", "lanes": "105,106,107,108", "mtu": "9100", + "tpid": "0x8100", "pfc_asym": "off", "speed": "40000" }, @@ -248,6 +270,7 @@ "index": "22", "lanes": "113,114,115,116", "mtu": "9100", + "tpid": "0x8100", "pfc_asym": "off", "speed": "40000" }, @@ -258,6 +281,7 @@ "index": "23", "lanes": "117,118,119,120", "mtu": "9100", + "tpid": "0x8100", "pfc_asym": "off", "speed": "40000" }, @@ -268,6 +292,7 @@ "index": "24", "lanes": "125,126,127,128", "mtu": "9100", + "tpid": "0x8100", "pfc_asym": "off", "speed": "40000" }, @@ -277,6 +302,7 @@ "index": "25", "lanes": "121,122,123,124", "mtu": "9100", + "tpid": "0x8100", "pfc_asym": "off", "speed": "40000" }, @@ -286,6 +312,7 @@ "index": "26", "lanes": "81,82,83,84", "mtu": "9100", + "tpid": "0x8100", "pfc_asym": "off", "speed": "40000" }, @@ -295,6 +322,7 @@ "index": "27", "lanes": "85,86,87,88", "mtu": "9100", + "tpid": "0x8100", "pfc_asym": "off", "speed": "40000" }, @@ -305,6 +333,7 @@ "index": "28", "lanes": "93,94,95,96", "mtu": "9100", + "tpid": "0x8100", "pfc_asym": "off", "speed": "40000" }, @@ -315,6 +344,7 @@ "index": "29", "lanes": "89,90,91,92", "mtu": "9100", + "tpid": "0x8100", "pfc_asym": "off", "speed": "40000" }, @@ -325,6 +355,7 @@ "index": "30", "lanes": "101,102,103,104", "mtu": "9100", + "tpid": "0x8100", "pfc_asym": "off", "speed": "40000" }, @@ -335,6 +366,7 @@ "index": "31", "lanes": "97,98,99,100", "mtu": "9100", + "tpid": "0x8100", "pfc_asym": "off", "speed": "40000" }, @@ -495,30 +527,35 @@ "admin_status": "up", "members@": "Ethernet32", "min_links": "1", + "tpid": "0x8100", "mtu": "9100" }, "PORTCHANNEL|PortChannel0001": { "admin_status": "up", "members@": "Ethernet112", "min_links": "1", + "tpid": "0x8100", "mtu": "9100" }, "PORTCHANNEL|PortChannel0002": { "admin_status": "up", "members@": "Ethernet116", "min_links": "1", + "tpid": "0x8100", "mtu": "9100" }, "PORTCHANNEL|PortChannel0003": { "admin_status": "up", "members@": "Ethernet120", "min_links": "1", + "tpid": "0x8100", "mtu": "9100" }, "PORTCHANNEL|PortChannel0004": { "admin_status": "up", "members@": "Ethernet124", "min_links": "1", + "tpid": "0x8100", "mtu": "9100" }, "PORTCHANNEL_MEMBER|PortChannel1001|Ethernet32": { diff --git a/tests/mock_tables/state_db.json b/tests/mock_tables/state_db.json index 4fb858691c..aa33612f22 100644 --- a/tests/mock_tables/state_db.json +++ b/tests/mock_tables/state_db.json @@ -268,6 +268,8 @@ "SWITCH_CAPABILITY|switch": { "MIRROR": "true", "MIRRORV6": "true", + "PORT_TPID_CAPABLE": "true", + "LAG_TPID_CAPABLE": "true", "ACL_ACTIONS|INGRESS": "PACKET_ACTION,REDIRECT_ACTION,MIRROR_INGRESS_ACTION", "ACL_ACTIONS|EGRESS": "PACKET_ACTION,MIRROR_EGRESS_ACTION", "ACL_ACTION|PACKET_ACTION": "FORWARD" diff --git a/tests/tpid_test.py b/tests/tpid_test.py new file mode 100644 index 0000000000..0c3ca4feee --- /dev/null +++ b/tests/tpid_test.py @@ -0,0 +1,188 @@ +import sys +import os +import click +from click.testing import CliRunner +import pytest +import swsssdk +import traceback + +test_path = os.path.dirname(os.path.abspath(__file__)) +modules_path = os.path.dirname(test_path) +scripts_path = os.path.join(modules_path, "scripts") +sys.path.insert(0, test_path) +sys.path.insert(0, modules_path) + +mock_db_path = os.path.join(test_path, "mock_tables") + +import show.main as show +import clear.main as clear +import config.main as config + +import mock_tables.dbconnector + +from unittest import mock +from unittest.mock import patch +from utilities_common.db import Db + + +add_lag_member_with_non_deft_tpid_configured="""\ +Usage: add [OPTIONS] +Try "add --help" for help. + +Error: Port TPID of Ethernet20: 0x9200 is not at default 0x8100 +""" + +bad_tpid_configured="""\ +TPID 0x2000 is not allowed. Allowed: 0x8100, 9100, 9200, or 88A8. +""" + +bad_lag_tpid_configured="""\ +TPID 0x2100 is not allowed. Allowed: 0x8100, 9100, 9200, or 88A8. +""" + +tpid_set_on_lag_mbr_attempted_not_allowed="""\ +Ethernet32 is already member of PortChannel1001. Set TPID NOT allowed. +""" + +show_interface_tpid_output="""\ + Interface Alias Oper Admin TPID +--------------- --------- ------ ------- ------ + Ethernet0 Ethernet0 down up 0x9200 + Ethernet32 etp9 up up 0x8100 + Ethernet112 etp29 up up 0x8100 + Ethernet116 etp30 up up 0x8100 + Ethernet120 etp31 up up 0x8100 + Ethernet124 etp32 up up 0x8100 +PortChannel0001 N/A down up 0x8100 +PortChannel0002 N/A up up 0x8100 +PortChannel0003 N/A up up 0x8100 +PortChannel0004 N/A up up 0x8100 +PortChannel1001 N/A N/A N/A 0x8100 +""" + +show_interface_tpid_ethernet0_output="""\ + Interface Alias Oper Admin TPID +----------- --------- ------ ------- ------ + Ethernet0 Ethernet0 down up 0x9200 +""" + + +class TestTpid(object): + @classmethod + def setup_class(cls): + print("SETUP") + os.environ["PATH"] += os.pathsep + scripts_path + os.environ["UTILITIES_UNIT_TESTING"] = "2" + import mock_tables.dbconnector + + def test_tpid_config_bad_tpid(self): + db = Db() + obj = {'config_db': db.cfgdb, 'namespace': ''} + runner = CliRunner() + result = runner.invoke(config.config.commands["interface"].commands["tpid"], ["Ethernet0", "0x2000"], obj=obj) + print(result.exit_code) + print(result.output) + #traceback.print_tb(result.exc_info[2]) + assert result.exit_code == 1 + assert result.output == bad_tpid_configured + + def test_tpid_config_lag_mbr(self): + db = Db() + obj = {'config_db': db.cfgdb, 'namespace': ''} + runner = CliRunner() + result = runner.invoke(config.config.commands["interface"].commands["tpid"], ["Ethernet32", "0x9100"], obj=obj) + print(result.exit_code) + print(result.output) + assert result.exit_code == 1 + assert result.output == tpid_set_on_lag_mbr_attempted_not_allowed + + def test_tpid_add_lag_mbr_with_non_default_tpid(self): + db = Db() + obj = {'db':db.cfgdb} + runner = CliRunner() + result = runner.invoke(config.config.commands["portchannel"].commands["member"].commands["add"], ["PortChannel0001","Ethernet20"], obj=obj) + print(result.exit_code) + print(result.output) + assert result.exit_code != 0 + assert result.output == add_lag_member_with_non_deft_tpid_configured + + def test_tpid_config_port_interface(self): + db = Db() + obj = {'config_db': db.cfgdb, 'namespace': ''} + runner = CliRunner() + result = runner.invoke(config.config.commands["interface"].commands["tpid"], ["Ethernet0", "0x9200"], obj=obj) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + + result = runner.invoke(config.config.commands["interface"].commands["tpid"], ["Ethernet0", "0x9100"], obj=obj) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + + result = runner.invoke(config.config.commands["interface"].commands["tpid"], ["Ethernet0", "0x88a8"], obj=obj) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + + result = runner.invoke(config.config.commands["interface"].commands["tpid"], ["Ethernet0", "0x8100"], obj=obj) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + + result = runner.invoke(config.config.commands["interface"].commands["tpid"], ["Ethernet0", "0x2000"], obj=obj) + print(result.exit_code) + print(result.output) + assert result.exit_code == 1 + assert result.output == bad_tpid_configured + + def test_tpid_config_portchannel_interface(self): + db = Db() + obj = {'config_db': db.cfgdb, 'namespace': ''} + runner = CliRunner() + result = runner.invoke(config.config.commands["interface"].commands["tpid"], ["PortChannel1001", "0x9200"], obj=obj) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + + result = runner.invoke(config.config.commands["interface"].commands["tpid"], ["PortChannel1001", "0x9100"], obj=obj) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + + result = runner.invoke(config.config.commands["interface"].commands["tpid"], ["PortChannel1001", "0x88A8"], obj=obj) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + + result = runner.invoke(config.config.commands["interface"].commands["tpid"], ["PortChannel1001", "0x8100"], obj=obj) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + + result = runner.invoke(config.config.commands["interface"].commands["tpid"], ["PortChannel1001", "0x2100"], obj=obj) + print(result.exit_code) + print(result.output) + assert result.exit_code == 1 + assert result.output == bad_lag_tpid_configured + + def test_show_tpid(self): + runner = CliRunner() + result = runner.invoke(show.cli.commands["interfaces"].commands["tpid"], []) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == show_interface_tpid_output + + def test_show_tpid_ethernet0(self): + runner = CliRunner() + result = runner.invoke(show.cli.commands["interfaces"].commands["tpid"], ["Ethernet0"]) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == show_interface_tpid_ethernet0_output + + @classmethod + def teardown_class(cls): + print("TEARDOWN") + os.environ["UTILITIES_UNIT_TESTING"] = "0" From 18bed46604bc6a4cf9ef39aa2583b41d573df6e8 Mon Sep 17 00:00:00 2001 From: Blueve <672454911@qq.com> Date: Thu, 27 May 2021 08:24:34 +0800 Subject: [PATCH 205/342] [console][show] Force refresh all lines status during show line (#1641) * [console][show] Force refresh all lines status during show line * Fix UTs Signed-off-by: Jing Kan jika@microsoft.com --- consutil/lib.py | 55 +++++++++++++++++++++++------------ consutil/main.py | 2 +- tests/console_test.py | 67 ++++++++++++++++++++++++++++++++++--------- 3 files changed, 92 insertions(+), 32 deletions(-) diff --git a/consutil/lib.py b/consutil/lib.py index 56f4a63596..e2ebf1da06 100644 --- a/consutil/lib.py +++ b/consutil/lib.py @@ -54,16 +54,17 @@ class ConsolePortProvider(object): The provider can let user to get console ports information. """ - def __init__(self, db, configured_only): + def __init__(self, db, configured_only, refresh=False): self._db = db + self._db_utils = DbUtils(db) self._configured_only = configured_only self._ports = [] - self._init_all() + self._init_all(refresh) def get_all(self): """Gets all console ports information""" for port in self._ports: - yield ConsolePortInfo(self._db, port) + yield ConsolePortInfo(self._db_utils, port) def get(self, target, use_device=False): """Gets information of a ports, the target is the line number by default""" @@ -75,21 +76,30 @@ def get(self, target, use_device=False): # identify the line number by searching configuration for port in self._ports: if search_key in port and port[search_key] == target: - return ConsolePortInfo(self._db, port) + return ConsolePortInfo(self._db_utils, port) raise LineNotFoundError - def _init_all(self): + def _init_all(self, refresh): config_db = self._db.cfgdb state_db = self._db.db # Querying CONFIG_DB to get configured console ports keys = config_db.get_keys(CONSOLE_PORT_TABLE) ports = [] + if refresh: + busy_lines = SysInfoProvider.list_active_console_processes() for k in keys: port = config_db.get_entry(CONSOLE_PORT_TABLE, k) port[LINE_KEY] = k - port[CUR_STATE_KEY] = state_db.get_all(state_db.STATE_DB, "{}|{}".format(CONSOLE_PORT_TABLE, k)) + if refresh: + if k in busy_lines: + pid, date = busy_lines[k] + port[CUR_STATE_KEY] = self._db_utils.update_state(k, BUSY_FLAG, pid, date) + else: + port[CUR_STATE_KEY] = self._db_utils.update_state(k, IDLE_FLAG) + else: + port[CUR_STATE_KEY] = state_db.get_all(state_db.STATE_DB, "{}|{}".format(CONSOLE_PORT_TABLE, k)) ports.append(port) # Querying device directory to get all available console ports @@ -103,8 +113,8 @@ def _init_all(self): self._ports = ports class ConsolePortInfo(object): - def __init__(self, db, info): - self._db = db + def __init__(self, db_utils, info): + self._db_utils = db_utils self._info = info self._session = None @@ -224,16 +234,8 @@ def refresh(self): self._update_state(IDLE_FLAG, "", "") def _update_state(self, state, pid, date, line_num=None): - state_db = self._db.db - line_key = "{}|{}".format(CONSOLE_PORT_TABLE, self.line_num if line_num is None else line_num) - state_db.set(state_db.STATE_DB, line_key, STATE_KEY, state) - state_db.set(state_db.STATE_DB, line_key, PID_KEY, pid) - state_db.set(state_db.STATE_DB, line_key, START_TIME_KEY, date) - self._info[CUR_STATE_KEY] = { - STATE_KEY: state, - PID_KEY: pid, - START_TIME_KEY: date - } + self._info[CUR_STATE_KEY] = self._db_utils.update_state( + self.line_num if line_num is None else line_num, state, pid, date) class ConsoleSession(object): """ @@ -333,6 +335,23 @@ def run_command(cmd, abort=True): sys.exit(ERR_CMD) return output if abort else (output, error) +class DbUtils(object): + def __init__(self, db): + self._db = db + self._config_db = db.cfgdb + self._state_db = db.db + + def update_state(self, line_num, state, pid="", date=""): + key = "{}|{}".format(CONSOLE_PORT_TABLE, line_num) + self._state_db.set(self._state_db.STATE_DB, key, STATE_KEY, state) + self._state_db.set(self._state_db.STATE_DB, key, PID_KEY, pid) + self._state_db.set(self._state_db.STATE_DB, key, START_TIME_KEY, date) + return { + STATE_KEY: state, + PID_KEY: pid, + START_TIME_KEY: date + } + class InvalidConfigurationError(Exception): def __init__(self, config_key, message): self.config_key = config_key diff --git a/consutil/main.py b/consutil/main.py index 9fc41cded5..be6ac8af2d 100644 --- a/consutil/main.py +++ b/consutil/main.py @@ -34,7 +34,7 @@ def consutil(db): @click.option('--brief', '-b', metavar='', required=False, is_flag=True) def show(db, brief): """Show all ports and their info include available ttyUSB devices unless specified brief mode""" - port_provider = ConsolePortProvider(db, brief) + port_provider = ConsolePortProvider(db, brief, refresh=True) ports = list(port_provider.get_all()) # sort ports for table rendering diff --git a/tests/console_test.py b/tests/console_test.py index 3df59adbdf..8161eda7dd 100644 --- a/tests/console_test.py +++ b/tests/console_test.py @@ -303,7 +303,7 @@ def test_console_port_provider_get_line_by_device_not_found(self): def test_console_port_info_refresh_without_session(self): db = Db() - port = ConsolePortInfo(db, { "LINE" : "1" }) + port = ConsolePortInfo(DbUtils(db), { "LINE" : "1" }) port.refresh() assert port.busy assert port.session_pid == "223" @@ -313,7 +313,7 @@ def test_console_port_info_refresh_without_session(self): def test_console_port_info_refresh_without_session_idle(self): db = Db() - port = ConsolePortInfo(db, { "LINE" : "1" }) + port = ConsolePortInfo(DbUtils(db), { "LINE" : "1" }) port.refresh() assert port.busy == False @@ -321,7 +321,7 @@ def test_console_port_info_refresh_without_session_idle(self): def test_console_port_info_refresh_with_session(self): db = Db() - port = ConsolePortInfo(db, { "LINE" : "1" }) + port = ConsolePortInfo(DbUtils(db), { "LINE" : "1" }) port._session = ConsoleSession(port, mock.MagicMock(pid="223")) print(port) @@ -334,7 +334,7 @@ def test_console_port_info_refresh_with_session(self): def test_console_port_info_refresh_with_session_line_mismatch(self): db = Db() - port = ConsolePortInfo(db, { "LINE" : "1" }) + port = ConsolePortInfo(DbUtils(db), { "LINE" : "1" }) port._session = ConsoleSession(port, mock.MagicMock(pid="223")) print(port) @@ -347,7 +347,7 @@ def test_console_port_info_refresh_with_session_line_mismatch(self): def test_console_port_info_refresh_with_session_process_ended(self): db = Db() - port = ConsolePortInfo(db, { "LINE" : "1" }) + port = ConsolePortInfo(DbUtils(db), { "LINE" : "1" }) port._session = ConsoleSession(port, mock.MagicMock(pid="223")) print(port) @@ -356,7 +356,7 @@ def test_console_port_info_refresh_with_session_process_ended(self): def test_console_port_info_connect_state_busy(self): db = Db() - port = ConsolePortInfo(db, { "LINE" : "1", "CUR_STATE" : { "state" : "busy" } }) + port = ConsolePortInfo(DbUtils(db), { "LINE" : "1", "CUR_STATE" : { "state" : "busy" } }) port.refresh = mock.MagicMock(return_value=None) with pytest.raises(LineBusyError): @@ -364,7 +364,7 @@ def test_console_port_info_connect_state_busy(self): def test_console_port_info_connect_invalid_config(self): db = Db() - port = ConsolePortInfo(db, { "LINE" : "1", "CUR_STATE" : { "state" : "idle" } }) + port = ConsolePortInfo(DbUtils(db), { "LINE" : "1", "CUR_STATE" : { "state" : "idle" } }) port.refresh = mock.MagicMock(return_value=None) with pytest.raises(InvalidConfigurationError): @@ -372,7 +372,7 @@ def test_console_port_info_connect_invalid_config(self): def test_console_port_info_connect_device_busy(self): db = Db() - port = ConsolePortInfo(db, { "LINE" : "1", "baud_rate" : "9600", "CUR_STATE" : { "state" : "idle" } }) + port = ConsolePortInfo(DbUtils(db), { "LINE" : "1", "baud_rate" : "9600", "CUR_STATE" : { "state" : "idle" } }) port.refresh = mock.MagicMock(return_value=None) mock_proc = mock.MagicMock(spec=subprocess.Popen) @@ -384,7 +384,7 @@ def test_console_port_info_connect_device_busy(self): def test_console_port_info_connect_connection_fail(self): db = Db() - port = ConsolePortInfo(db, { "LINE" : "1", "baud_rate" : "9600", "CUR_STATE" : { "state" : "idle" } }) + port = ConsolePortInfo(DbUtils(db), { "LINE" : "1", "baud_rate" : "9600", "CUR_STATE" : { "state" : "idle" } }) port.refresh = mock.MagicMock(return_value=None) mock_proc = mock.MagicMock(spec=subprocess.Popen) @@ -396,7 +396,7 @@ def test_console_port_info_connect_connection_fail(self): def test_console_port_info_connect_success(self): db = Db() - port = ConsolePortInfo(db, { "LINE" : "1", "baud_rate" : "9600", "CUR_STATE" : { "state" : "idle" } }) + port = ConsolePortInfo(DbUtils(db), { "LINE" : "1", "baud_rate" : "9600", "CUR_STATE" : { "state" : "idle" } }) port.refresh = mock.MagicMock(return_value=None) mock_proc = mock.MagicMock(spec=subprocess.Popen, pid="223") @@ -409,7 +409,7 @@ def test_console_port_info_connect_success(self): def test_console_port_info_clear_session_line_not_busy(self): db = Db() - port = ConsolePortInfo(db, { "LINE" : "1", "baud_rate" : "9600", "CUR_STATE" : { "state" : "idle" } }) + port = ConsolePortInfo(DbUtils(db), { "LINE" : "1", "baud_rate" : "9600", "CUR_STATE" : { "state" : "idle" } }) port.refresh = mock.MagicMock(return_value=None) assert not port.clear_session() @@ -417,14 +417,14 @@ def test_console_port_info_clear_session_line_not_busy(self): @mock.patch('consutil.lib.SysInfoProvider.run_command', mock.MagicMock(return_value=None)) def test_console_port_info_clear_session_with_state_db(self): db = Db() - port = ConsolePortInfo(db, { "LINE" : "1", "baud_rate" : "9600", "CUR_STATE" : { "state" : "busy", "pid" : "223" } }) + port = ConsolePortInfo(DbUtils(db), { "LINE" : "1", "baud_rate" : "9600", "CUR_STATE" : { "state" : "busy", "pid" : "223" } }) port.refresh = mock.MagicMock(return_value=None) assert port.clear_session() def test_console_port_info_clear_session_with_existing_session(self): db = Db() - port = ConsolePortInfo(db, { "LINE" : "1", "baud_rate" : "9600", "CUR_STATE" : { "state" : "busy" } }) + port = ConsolePortInfo(DbUtils(db), { "LINE" : "1", "baud_rate" : "9600", "CUR_STATE" : { "state" : "busy" } }) port._session = ConsoleSession(port, None) port._session.close = mock.MagicMock(return_value=None) port.refresh = mock.MagicMock(return_value=None) @@ -538,6 +538,7 @@ def setup_class(cls): 3 9600 Enabled - - """ @mock.patch('consutil.lib.SysInfoProvider.init_device_prefix', mock.MagicMock(return_value=None)) + @mock.patch('consutil.lib.SysInfoProvider.list_active_console_processes', mock.MagicMock(return_value={ "2" : ("223", "Wed Mar 6 08:31:35 2019")})) def test_show(self): runner = CliRunner() db = Db() @@ -556,6 +557,46 @@ def test_show(self): assert result.exit_code == 0 assert result.output == TestConsutilShow.expect_show_output + @mock.patch('consutil.lib.SysInfoProvider.init_device_prefix', mock.MagicMock(return_value=None)) + @mock.patch('consutil.lib.SysInfoProvider.list_active_console_processes', mock.MagicMock(return_value={ "2" : ("223", "Wed Mar 6 08:31:35 2019")})) + def test_show_stale_idle_to_busy(self): + runner = CliRunner() + db = Db() + db.cfgdb.set_entry("CONSOLE_PORT", 1, { "remote_device" : "switch1", "baud_rate" : "9600" }) + db.cfgdb.set_entry("CONSOLE_PORT", 2, { "remote_device" : "switch2", "baud_rate" : "9600" }) + db.cfgdb.set_entry("CONSOLE_PORT", 3, { "baud_rate" : "9600", "flow_control" : "1" }) + + # use '--brief' option to avoid access system + result = runner.invoke(consutil.consutil.commands["show"], ['--brief'], obj=db) + print(result.exit_code) + print(sys.stderr, result.output) + assert result.exit_code == 0 + assert result.output == TestConsutilShow.expect_show_output + + @mock.patch('consutil.lib.SysInfoProvider.init_device_prefix', mock.MagicMock(return_value=None)) + @mock.patch('consutil.lib.SysInfoProvider.list_active_console_processes', mock.MagicMock(return_value={ "2" : ("223", "Wed Mar 6 08:31:35 2019")})) + def test_show_stale_busy_to_idle(self): + runner = CliRunner() + db = Db() + db.cfgdb.set_entry("CONSOLE_PORT", 1, { "remote_device" : "switch1", "baud_rate" : "9600" }) + db.cfgdb.set_entry("CONSOLE_PORT", 2, { "remote_device" : "switch2", "baud_rate" : "9600" }) + db.cfgdb.set_entry("CONSOLE_PORT", 3, { "baud_rate" : "9600", "flow_control" : "1" }) + + db.db.set(db.db.STATE_DB, "CONSOLE_PORT|1", "state", "busy") + db.db.set(db.db.STATE_DB, "CONSOLE_PORT|1", "pid", "222") + db.db.set(db.db.STATE_DB, "CONSOLE_PORT|1", "start_time", "Wed Mar 6 08:31:35 2019") + + db.db.set(db.db.STATE_DB, "CONSOLE_PORT|2", "state", "busy") + db.db.set(db.db.STATE_DB, "CONSOLE_PORT|2", "pid", "223") + db.db.set(db.db.STATE_DB, "CONSOLE_PORT|2", "start_time", "Wed Mar 6 08:31:35 2019") + + # use '--brief' option to avoid access system + result = runner.invoke(consutil.consutil.commands["show"], ['--brief'], obj=db) + print(result.exit_code) + print(sys.stderr, result.output) + assert result.exit_code == 0 + assert result.output == TestConsutilShow.expect_show_output + class TestConsutilConnect(object): @classmethod def setup_class(cls): From 51d6bf55f155a982903da44737b0c86d9aacc320 Mon Sep 17 00:00:00 2001 From: Samuel Angebault Date: Fri, 28 May 2021 14:26:01 -0700 Subject: [PATCH 206/342] Fix Aboot breakage in sonic package manager in sonic-installer (#1625) > Failure cause The `get_rootfs_path` contextmanager was repurposed to implement `get_file_in_image` and later used as a function by leveraging some python complexity to bypass the restrictions coming with the contextmanager which were added purposefuly. It was then called multiple times to compute paths though a simple path join using `new_image_dir` could have been performed. The `get_rootfs_path` implementation for Aboot behaved differently when a rootfs was extracted or kept within the SWI image. It also behaved differently on secureboot systems. The updated method was then called on non-existing files for which the method was never meant to process. > Context around the failure Over time, the installation and boot process has slightly diverged from the ONIE one. There are 3 scenarios to consider. 1) Regular boot similar to ONIE This one should just work the same as the filesystem layout is unchanged. 2) docker_inram where dockerfs.tar.gz is extracted in tmpfs at boot In this scenario the boot is similar to the regular one beside that dockerfs.tar.gz is preserved intact on the flash and not extracted. By design this does not fit the sonic-package-manager requierements and the migration should be skipped which is what I did in this review. In the coming month this boot mode will look closer to 3) below. 3) Secureboot on Arista devices In this scenario the SWI image is kept intact and nothing extracted from it. By ensuring the integrity of the SWI we can guarantee that no code/data has been tampered with. This mode also relies on `docker_inram` at the moment. It could be enhanced when sonic-package-manager can guarantee the integrity of code and data that is both installed and migrated. > Solution provided The method `get_file_in_image` was reverted to its original meaning `get_rootfs_path` as there is no point in keeping the new one. It doesn't have the necessary logic to handle more than the rootfs and the logic can be easily be achieved by the following line. `os.path.join(bootloader.get_image_path(binary_image_name), 'something')` A new Bootloader method called `support_package_migration` is introduced to allow the bootloader to skip the package migration based on the image (docker_inram) or its own configuration (secureboot). By default all bootloaders enable the package migration. That change leads to 1) above running package migration while 2) and 3) skip it. --- sonic_installer/bootloader/aboot.py | 60 +++++++++++++++++++----- sonic_installer/bootloader/bootloader.py | 9 +++- sonic_installer/main.py | 37 +++++++-------- 3 files changed, 73 insertions(+), 33 deletions(-) diff --git a/sonic_installer/bootloader/aboot.py b/sonic_installer/bootloader/aboot.py index a2ef2acf4f..47e9c5db5f 100644 --- a/sonic_installer/bootloader/aboot.py +++ b/sonic_installer/bootloader/aboot.py @@ -19,6 +19,7 @@ HOST_PATH, IMAGE_DIR_PREFIX, IMAGE_PREFIX, + ROOTFS_NAME, run_command, run_command_or_raise, ) @@ -26,18 +27,36 @@ _secureboot = None DEFAULT_SWI_IMAGE = 'sonic.swi' +KERNEL_CMDLINE_NAME = 'kernel-cmdline' # For the signature format, see: https://github.com/aristanetworks/swi-tools/tree/master/switools SWI_SIG_FILE_NAME = 'swi-signature' SWIX_SIG_FILE_NAME = 'swix-signature' ISSUERCERT = 'IssuerCert' -def isSecureboot(): +def parse_cmdline(cmdline=None): + if cmdline is None: + with open('/proc/cmdline') as f: + cmdline = f.read() + + data = {} + for entry in cmdline.split(): + idx = entry.find('=') + if idx == -1: + data[entry] = None + else: + data[entry[:idx]] = entry[idx+1:] + return data + +def docker_inram(cmdline=None): + cmdline = parse_cmdline(cmdline) + return cmdline.get('docker_inram') == 'on' + +def is_secureboot(): global _secureboot if _secureboot is None: - with open('/proc/cmdline') as f: - m = re.search(r"secure_boot_enable=[y1]", f.read()) - _secureboot = bool(m) + cmdline = parse_cmdline() + _secureboot = cmdline.get('secure_boot_enable') in ['y', '1'] return _secureboot class AbootBootloader(Bootloader): @@ -70,7 +89,7 @@ def _boot_config_set(self, **kwargs): def _swi_image_path(self, image): image_dir = image.replace(IMAGE_PREFIX, IMAGE_DIR_PREFIX) - if isSecureboot(): + if is_secureboot(): return 'flash:%s/sonic.swi' % image_dir return 'flash:%s/.sonic-boot.swi' % image_dir @@ -118,6 +137,25 @@ def remove_image(self, image): subprocess.call(['rm','-rf', image_path]) click.echo('Image removed') + def _get_image_cmdline(self, image): + image_path = self.get_image_path(image) + with open(os.path.join(image_path, KERNEL_CMDLINE_NAME)) as f: + return f.read() + + def supports_package_migration(self, image): + if is_secureboot(): + # NOTE: unsafe until migration can guarantee migration safety + # packages need to be signed and verified at boot time. + return False + cmdline = self._get_image_cmdline(image) + if docker_inram(cmdline): + # NOTE: the docker_inram feature extracts builtin containers at boot + # time in memory. the use of package manager under these + # circumpstances is not possible without a boot time package + # installation mechanism. + return False + return True + def get_binary_image_version(self, image_path): try: version = subprocess.check_output(['/usr/bin/unzip', '-qop', image_path, '.imagehash'], text=True) @@ -140,7 +178,7 @@ def verify_next_image(self): return self._verify_secureboot_image(image_path) def _verify_secureboot_image(self, image_path): - if isSecureboot(): + if is_secureboot(): cert = self.getCert(image_path) return cert is not None return True @@ -188,14 +226,14 @@ def _get_swi_file_offset(self, swipath, filename): return f._fileobj.tell() # pylint: disable=protected-access @contextmanager - def get_path_in_image(self, image_path, path): - path_in_image = os.path.join(image_path, path) - if os.path.exists(path_in_image) and not isSecureboot(): - yield path_in_image + def get_rootfs_path(self, image_path): + path = os.path.join(image_path, ROOTFS_NAME) + if os.path.exists(path) and not is_secureboot(): + yield path return swipath = os.path.join(image_path, DEFAULT_SWI_IMAGE) - offset = self._get_swi_file_offset(swipath, path) + offset = self._get_swi_file_offset(swipath, ROOTFS_NAME) loopdev = subprocess.check_output(['losetup', '-f']).decode('utf8').rstrip() try: diff --git a/sonic_installer/bootloader/bootloader.py b/sonic_installer/bootloader/bootloader.py index a6694977ae..b953dd2715 100644 --- a/sonic_installer/bootloader/bootloader.py +++ b/sonic_installer/bootloader/bootloader.py @@ -9,6 +9,7 @@ HOST_PATH, IMAGE_DIR_PREFIX, IMAGE_PREFIX, + ROOTFS_NAME, ) class Bootloader(object): @@ -58,6 +59,10 @@ def verify_next_image(self): image_path = self.get_image_path(image) return path.exists(image_path) + def supports_package_migration(self, image): + """tells if the image supports package migration""" + return True + @classmethod def detect(cls): """returns True if the bootloader is in use""" @@ -70,6 +75,6 @@ def get_image_path(cls, image): return image.replace(IMAGE_PREFIX, prefix) @contextmanager - def get_path_in_image(self, image_path, path_in_image): + def get_rootfs_path(self, image_path): """returns the path to the squashfs""" - yield path.join(image_path, path_in_image) + yield path.join(image_path, ROOTFS_NAME) diff --git a/sonic_installer/main.py b/sonic_installer/main.py index 57cd5adda8..bab1166422 100644 --- a/sonic_installer/main.py +++ b/sonic_installer/main.py @@ -1,5 +1,4 @@ import configparser -import contextlib import os import re import subprocess @@ -12,11 +11,9 @@ from swsscommon.swsscommon import SonicV2Connector from .bootloader import get_bootloader -from .bootloader.aboot import AbootBootloader from .common import ( run_command, run_command_or_raise, IMAGE_PREFIX, - ROOTFS_NAME, UPPERDIR_NAME, WORKDIR_NAME, DOCKERDIR_NAME, @@ -279,7 +276,7 @@ def update_sonic_environment(bootloader, binary_image_version): env_dir = os.path.join(new_image_dir, "sonic-config") env_file = os.path.join(env_dir, "sonic-environment") - with bootloader.get_path_in_image(new_image_dir, ROOTFS_NAME) as new_image_squashfs_path: + with bootloader.get_rootfs_path(new_image_dir) as new_image_squashfs_path: try: mount_squash_fs(new_image_squashfs_path, new_image_mount) @@ -321,21 +318,21 @@ def migrate_sonic_packages(bootloader, binary_image_version): packages_path = os.path.join(PACKAGE_MANAGER_DIR, packages_file) sonic_version = re.sub(IMAGE_PREFIX, '', binary_image_version) new_image_dir = bootloader.get_image_path(binary_image_version) + new_image_upper_dir = os.path.join(new_image_dir, UPPERDIR_NAME) + new_image_work_dir = os.path.join(new_image_dir, WORKDIR_NAME) + new_image_docker_dir = os.path.join(new_image_dir, DOCKERDIR_NAME) + new_image_mount = os.path.join("/", tmp_dir, "image-{0}-fs".format(sonic_version)) + new_image_docker_mount = os.path.join(new_image_mount, "var", "lib", "docker") + + if not os.path.isdir(new_image_docker_dir): + # NOTE: This codepath can be reached if the installation process did not + # extract the default dockerfs. This can happen with docker_inram + # though the bootloader class should have disabled the package + # migration which is why this message is a non fatal error message. + echo_and_log("Error: SONiC package migration cannot proceed due to missing docker folder", LOG_ERR, fg="red") + return - with contextlib.ExitStack() as stack: - def get_path(path): - """ Closure to get path by entering - a context manager of bootloader.get_path_in_image """ - - return stack.enter_context(bootloader.get_path_in_image(new_image_dir, path)) - - new_image_squashfs_path = get_path(ROOTFS_NAME) - new_image_upper_dir = get_path(UPPERDIR_NAME) - new_image_work_dir = get_path(WORKDIR_NAME) - new_image_docker_dir = get_path(DOCKERDIR_NAME) - new_image_mount = os.path.join("/", tmp_dir, "image-{0}-fs".format(sonic_version)) - new_image_docker_mount = os.path.join(new_image_mount, "var", "lib", "docker") - + with bootloader.get_rootfs_path(new_image_dir) as new_image_squashfs_path: try: mount_squash_fs(new_image_squashfs_path, new_image_mount) # make sure upper dir and work dir exist @@ -434,8 +431,8 @@ def install(url, force, skip_migration=False, skip_package_migration=False): update_sonic_environment(bootloader, binary_image_version) - if isinstance(bootloader, AbootBootloader) and not skip_package_migration: - echo_and_log("Warning: SONiC package migration is not supported currenty on aboot platform due to https://github.com/Azure/sonic-buildimage/issues/7566.", LOG_ERR, fg="red") + if not bootloader.supports_package_migration(binary_image_version) and not skip_package_migration: + echo_and_log("Warning: SONiC package migration is not supported for this bootloader/image", fg="yellow") skip_package_migration = True if not skip_package_migration: From 5f20365564f4be50297a2aec6e4b14414c56c29b Mon Sep 17 00:00:00 2001 From: xumia <59720581+xumia@users.noreply.github.com> Date: Sat, 29 May 2021 19:07:30 +0800 Subject: [PATCH 207/342] Change to use rvtysh when calling the show commands (#1572) Change to use rvtysh when calling the show commands --- show/bgp_common.py | 4 ++-- show/bgp_quagga_v4.py | 7 ++++--- show/bgp_quagga_v6.py | 7 ++++--- show/main.py | 13 +++++++------ tests/conftest.py | 9 +++++---- utilities_common/bgp_util.py | 12 +++++++----- utilities_common/constants.py | 3 ++- 7 files changed, 31 insertions(+), 24 deletions(-) diff --git a/show/bgp_common.py b/show/bgp_common.py index 50df00dcbb..6bf332859a 100644 --- a/show/bgp_common.py +++ b/show/bgp_common.py @@ -377,9 +377,9 @@ def show_routes(args, namespace, display, verbose, ipver): # If not MultiASIC, skip namespace argument cmd = "show {} route {}".format(ipver, arg_strg) if multi_asic.is_multi_asic(): - output = bgp_util.run_bgp_command(cmd, ns) + output = bgp_util.run_bgp_show_command(cmd, ns) else: - output = bgp_util.run_bgp_command(cmd) + output = bgp_util.run_bgp_show_command(cmd) print("{}".format(output)) return diff --git a/show/bgp_quagga_v4.py b/show/bgp_quagga_v4.py index 3eb3f4bc12..e384cd9d17 100644 --- a/show/bgp_quagga_v4.py +++ b/show/bgp_quagga_v4.py @@ -1,6 +1,7 @@ import click from show.main import AliasedGroup, ip, run_command from utilities_common.bgp_util import get_bgp_summary_extended +import utilities_common.constants as constants ############################################################################### @@ -21,10 +22,10 @@ def bgp(): def summary(): """Show summarized information of IPv4 BGP state""" try: - device_output = run_command('sudo vtysh -c "show ip bgp summary"', return_cmd=True) + device_output = run_command('sudo {} -c "show ip bgp summary"'.format(constants.RVTYSH_COMMAND), return_cmd=True) get_bgp_summary_extended(device_output) except Exception: - run_command('sudo vtysh -c "show ip bgp summary"') + run_command('sudo {} -c "show ip bgp summary"'.format(constants.RVTYSH_COMMAND)) # 'neighbors' subcommand ("show ip bgp neighbors") @@ -34,7 +35,7 @@ def summary(): def neighbors(ipaddress, info_type): """Show IP (IPv4) BGP neighbors""" - command = 'sudo vtysh -c "show ip bgp neighbor' + command = 'sudo {} -c "show ip bgp neighbor'.format(constants.RVTYSH_COMMAND) if ipaddress is not None: command += ' {}'.format(ipaddress) diff --git a/show/bgp_quagga_v6.py b/show/bgp_quagga_v6.py index 9987588aa5..003f4c94cf 100644 --- a/show/bgp_quagga_v6.py +++ b/show/bgp_quagga_v6.py @@ -1,6 +1,7 @@ import click from show.main import AliasedGroup, ipv6, run_command from utilities_common.bgp_util import get_bgp_summary_extended +import utilities_common.constants as constants ############################################################################### @@ -21,10 +22,10 @@ def bgp(): def summary(): """Show summarized information of IPv6 BGP state""" try: - device_output = run_command('sudo vtysh -c "show ipv6 bgp summary"', return_cmd=True) + device_output = run_command('sudo {} -c "show ipv6 bgp summary"'.format(constants.RVTYSH_COMMAND), return_cmd=True) get_bgp_summary_extended(device_output) except Exception: - run_command('sudo vtysh -c "show ipv6 bgp summary"') + run_command('sudo {} -c "show ipv6 bgp summary"'.format(constants.RVTYSH_COMMAND)) # 'neighbors' subcommand ("show ipv6 bgp neighbors") @@ -33,5 +34,5 @@ def summary(): @click.argument('info_type', type=click.Choice(['routes', 'advertised-routes', 'received-routes']), required=True) def neighbors(ipaddress, info_type): """Show IPv6 BGP neighbors""" - command = 'sudo vtysh -c "show ipv6 bgp neighbor {} {}"'.format(ipaddress, info_type) + command = 'sudo {} -c "show ipv6 bgp neighbor {} {}"'.format(constants.RVTYSH_COMMAND, ipaddress, info_type) run_command(command) diff --git a/show/main.py b/show/main.py index 1cea9e6534..3afca1c93a 100755 --- a/show/main.py +++ b/show/main.py @@ -13,6 +13,7 @@ from tabulate import tabulate from utilities_common import util_base from utilities_common.db import Db +import utilities_common.constants as constants from . import acl from . import bgp_common @@ -725,7 +726,7 @@ def mac(vlan, port, verbose): @click.option('--verbose', is_flag=True, help="Enable verbose output") def route_map(route_map_name, verbose): """show route-map""" - cmd = 'sudo vtysh -c "show route-map' + cmd = 'sudo {} -c "show route-map'.format(constants.RVTYSH_COMMAND) if route_map_name is not None: cmd += ' {}'.format(route_map_name) cmd += '"' @@ -782,7 +783,7 @@ def route(args, namespace, display, verbose): @click.option('--verbose', is_flag=True, help="Enable verbose output") def prefix_list(prefix_list_name, verbose): """show ip prefix-list""" - cmd = 'sudo vtysh -c "show ip prefix-list' + cmd = 'sudo {} -c "show ip prefix-list'.format(constants.RVTYSH_COMMAND) if prefix_list_name is not None: cmd += ' {}'.format(prefix_list_name) cmd += '"' @@ -794,7 +795,7 @@ def prefix_list(prefix_list_name, verbose): @click.option('--verbose', is_flag=True, help="Enable verbose output") def protocol(verbose): """Show IPv4 protocol information""" - cmd = 'sudo vtysh -c "show ip protocol"' + cmd = 'sudo {} -c "show ip protocol"'.format(constants.RVTYSH_COMMAND) run_command(cmd, display_cmd=verbose) @@ -817,7 +818,7 @@ def ipv6(): @click.option('--verbose', is_flag=True, help="Enable verbose output") def prefix_list(prefix_list_name, verbose): """show ip prefix-list""" - cmd = 'sudo vtysh -c "show ipv6 prefix-list' + cmd = 'sudo {} -c "show ipv6 prefix-list'.format(constants.RVTYSH_COMMAND) if prefix_list_name is not None: cmd += ' {}'.format(prefix_list_name) cmd += '"' @@ -865,7 +866,7 @@ def route(args, namespace, display, verbose): @click.option('--verbose', is_flag=True, help="Enable verbose output") def protocol(verbose): """Show IPv6 protocol information""" - cmd = 'sudo vtysh -c "show ipv6 protocol"' + cmd = 'sudo {} -c "show ipv6 protocol"'.format(constants.RVTYSH_COMMAND) run_command(cmd, display_cmd=verbose) # @@ -1092,7 +1093,7 @@ def ports(portname, verbose): @click.option('--verbose', is_flag=True, help="Enable verbose output") def bgp(verbose): """Show BGP running configuration""" - cmd = 'sudo vtysh -c "show running-config"' + cmd = 'sudo {} -c "show running-config"'.format(constants.RVTYSH_COMMAND) run_command(cmd, display_cmd=verbose) diff --git a/tests/conftest.py b/tests/conftest.py index 6ad352b224..c2e85fb900 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -20,6 +20,7 @@ mock_show_bgp_network_multi_asic ) from . import config_int_ip_common +import utilities_common.constants as constants test_path = os.path.dirname(os.path.abspath(__file__)) modules_path = os.path.dirname(test_path) @@ -128,14 +129,14 @@ def setup_single_bgp_instance(request): bgp_mocked_json = os.path.join( test_path, 'mock_tables', 'dummy.json') - def mock_show_bgp_summary(vtysh_cmd, bgp_namespace): + def mock_show_bgp_summary(vtysh_cmd, bgp_namespace, vtysh_shell_cmd=constants.RVTYSH_COMMAND): if os.path.isfile(bgp_mocked_json): with open(bgp_mocked_json) as json_data: mock_frr_data = json_data.read() return mock_frr_data return "" - def mock_run_bgp_command_for_static(vtysh_cmd, bgp_namespace=""): + def mock_run_bgp_command_for_static(vtysh_cmd, bgp_namespace="", vtysh_shell_cmd=constants.RVTYSH_COMMAND): if vtysh_cmd == "show ip route vrf all static": return config_int_ip_common.show_ip_route_with_static_expected_output elif vtysh_cmd == "show ipv6 route vrf all static": @@ -217,7 +218,7 @@ def setup_multi_asic_bgp_instance(request): m_asic_json_file = os.path.join( test_path, 'mock_tables', 'dummy.json') - def mock_run_bgp_command_for_static(vtysh_cmd, bgp_namespace=""): + def mock_run_bgp_command_for_static(vtysh_cmd, bgp_namespace="", vtysh_shell_cmd=constants.RVTYSH_COMMAND): if bgp_namespace != 'test_ns': return "" if vtysh_cmd == "show ip route vrf all static": @@ -227,7 +228,7 @@ def mock_run_bgp_command_for_static(vtysh_cmd, bgp_namespace=""): else: return "" - def mock_run_bgp_command(vtysh_cmd, bgp_namespace): + def mock_run_bgp_command(vtysh_cmd, bgp_namespace, vtysh_shell_cmd=constants.RVTYSH_COMMAND): if m_asic_json_file.startswith('bgp_v4_network') or \ m_asic_json_file.startswith('bgp_v6_network'): return mock_show_bgp_network_multi_asic(m_asic_json_file) diff --git a/utilities_common/bgp_util.py b/utilities_common/bgp_util.py index 1d46ec5686..c0262b3aeb 100644 --- a/utilities_common/bgp_util.py +++ b/utilities_common/bgp_util.py @@ -173,16 +173,15 @@ def get_neighbor_dict_from_table(db, table_name): return neighbor_dict -def run_bgp_command(vtysh_cmd, - bgp_namespace=multi_asic.DEFAULT_NAMESPACE): +def run_bgp_command(vtysh_cmd, bgp_namespace=multi_asic.DEFAULT_NAMESPACE, vtysh_shell_cmd=constants.VTYSH_COMMAND): bgp_instance_id = ' ' output = None if bgp_namespace is not multi_asic.DEFAULT_NAMESPACE: bgp_instance_id = " -n {} ".format( multi_asic.get_asic_id_from_name(bgp_namespace)) - cmd = 'sudo vtysh {} -c "{}"'.format( - bgp_instance_id, vtysh_cmd) + cmd = 'sudo {} {} -c "{}"'.format( + vtysh_shell_cmd, bgp_instance_id, vtysh_cmd) try: output = clicommon.run_command(cmd, return_cmd=True) except Exception: @@ -191,6 +190,9 @@ def run_bgp_command(vtysh_cmd, return output +def run_bgp_show_command(vtysh_cmd, bgp_namespace=multi_asic.DEFAULT_NAMESPACE): + return run_bgp_command(vtysh_cmd, bgp_namespace, constants.RVTYSH_COMMAND) + def get_bgp_summary_from_all_bgp_instances(af, namespace, display): device = multi_asic_util.MultiAsic(display, namespace) @@ -205,7 +207,7 @@ def get_bgp_summary_from_all_bgp_instances(af, namespace, display): bgp_summary = {} cmd_output_json = {} for ns in device.get_ns_list_based_on_options(): - cmd_output = run_bgp_command(vtysh_cmd, ns) + cmd_output = run_bgp_show_command(vtysh_cmd, ns) try: cmd_output_json = json.loads(cmd_output) except ValueError: diff --git a/utilities_common/constants.py b/utilities_common/constants.py index ee2a23c98d..536965d009 100644 --- a/utilities_common/constants.py +++ b/utilities_common/constants.py @@ -8,4 +8,5 @@ PORT_OBJ = 'PORT' IPV4 = 'v4' IPV6 = 'v6' - +VTYSH_COMMAND = 'vtysh' +RVTYSH_COMMAND = 'rvtysh' From cd6947372ca74192f93eced0ce301cc6b5ab25e5 Mon Sep 17 00:00:00 2001 From: Qi Luo Date: Sat, 29 May 2021 15:42:36 -0700 Subject: [PATCH 208/342] Replace swsssdk.ConfigDBConnector and SonicDBConfig with swsscommon implementation (#1620) swsssdk will be deprecated. Use swsscommon instead. --- scripts/ipintutil | 6 +++--- show/interfaces/__init__.py | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/ipintutil b/scripts/ipintutil index 1762ddbac1..872cfb35ef 100755 --- a/scripts/ipintutil +++ b/scripts/ipintutil @@ -10,7 +10,7 @@ from natsort import natsorted from tabulate import tabulate from sonic_py_common import multi_asic -from swsssdk import ConfigDBConnector, SonicDBConfig +from swsscommon import swsscommon from utilities_common import constants from utilities_common import multi_asic as multi_asic_util @@ -41,7 +41,7 @@ def get_bgp_peer(): } """ bgp_peer = {} - config_db = ConfigDBConnector() + config_db = swsscommon.ConfigDBConnector() config_db.connect() data = config_db.get_table('BGP_NEIGHBOR') @@ -262,7 +262,7 @@ def main(): else: sys.exit("Invalid argument -a {}".format(args.address_family)) - SonicDBConfig.load_sonic_global_db_config() + swsscommon.SonicDBConfig.load_sonic_global_db_config() ip_intfs = get_ip_intfs(af, namespace, display) display_ip_intfs(ip_intfs) diff --git a/show/interfaces/__init__.py b/show/interfaces/__init__.py index 7d95100ecb..51c2126a89 100644 --- a/show/interfaces/__init__.py +++ b/show/interfaces/__init__.py @@ -8,7 +8,7 @@ from tabulate import tabulate from sonic_py_common import multi_asic from sonic_py_common import device_info -from swsssdk import ConfigDBConnector +from swsscommon.swsscommon import ConfigDBConnector from portconfig import get_child_ports from . import portchannel From c2b760f461c5b34d7401861526096dd754726d64 Mon Sep 17 00:00:00 2001 From: Stepan Blyshchak <38952541+stepanblyschak@users.noreply.github.com> Date: Sun, 30 May 2021 22:11:50 +0300 Subject: [PATCH 209/342] [sonic_package_manager] flush once finished saving docker image into temporary file (#1638) Since installation happens inside context manager "with tempfile.NamedTemporaryFile()" it may be that depending on file size/number of writes the docker image isn't fully written to the disk. In practice a small test docker image was succesfully migrated but when trying with larger onces it started to file. This change fixes the issue by adding a flush. Signed-off-by: Stepan Blyschak --- sonic_package_manager/manager.py | 1 + 1 file changed, 1 insertion(+) diff --git a/sonic_package_manager/manager.py b/sonic_package_manager/manager.py index ba437534ed..6aeb5efd71 100644 --- a/sonic_package_manager/manager.py +++ b/sonic_package_manager/manager.py @@ -638,6 +638,7 @@ def migrate_package(old_package_entry, with tempfile.NamedTemporaryFile('wb') as file: for chunk in image.save(named=True): file.write(chunk) + file.flush() self.install(tarball=file.name) else: From 1da879c4b20e1f0a8bcd13240c3f90285cf04867 Mon Sep 17 00:00:00 2001 From: Stephen Sun <5379172+stephenxs@users.noreply.github.com> Date: Wed, 2 Jun 2021 00:37:56 +0800 Subject: [PATCH 210/342] [db_migrator][Mellanox] Update Mellanox buffer migrator with 2km-cable supported (#1564) What I did Update mellanox buffer migrator with 2km-cable supported Signed-off-by: Stephen Sun stephens@nvidia.com How I did it - Introduce database version 1.0.6 which is based on 201911. This version represents the buffer configuration with 2kb-cable supported. - As 1.0.6 is the latest version in 201911, change the "from" version of warm-reboot to 1.0.6. All mock APPL_DB files are renamed (from xxx_version_1_0_5.json to xxx_version_1_0_6.json) correspondingly. - Add mock files for CONFIG_DB for version 1.0.6. How to verify it Run manually test and unit test. --- scripts/db_migrator.py | 21 +- scripts/mellanox_buffer_migrator.py | 70 +- ...json => acs-msn2700-t0-version_1_0_6.json} | 0 ...json => acs-msn2700-t1-version_1_0_6.json} | 0 ...json => acs-msn3700-t0-version_1_0_6.json} | 0 ...json => acs-msn3700-t1-version_1_0_6.json} | 0 ...json => acs-msn3800-t0-version_1_0_6.json} | 0 ...json => acs-msn3800-t1-version_1_0_6.json} | 0 ...json => acs-msn4700-t0-version_1_0_6.json} | 0 ...json => acs-msn4700-t1-version_1_0_6.json} | 0 ...0-c28d8-single-pool-t0-version_1_0_6.json} | 0 ...0-c28d8-single-pool-t1-version_1_0_6.json} | 0 ...llanox-sn2700-c28d8-t0-version_1_0_6.json} | 0 ...llanox-sn2700-c28d8-t1-version_1_0_6.json} | 0 ...anox-sn2700-d40c8s8-t0-version_1_0_6.json} | 0 ...lanox-sn2700-d40c8s8-t0-version_2_0_0.json | 67 +- ...anox-sn2700-d40c8s8-t1-version_1_0_6.json} | 0 ...lanox-sn2700-d40c8s8-t1-version_2_0_0.json | 75 +- ...0-d48c8-single-pool-t0-version_1_0_6.json} | 0 ...0-d48c8-single-pool-t1-version_1_0_6.json} | 0 ...llanox-sn2700-d48c8-t0-version_1_0_6.json} | 0 ...llanox-sn2700-d48c8-t1-version_1_0_6.json} | 0 ...-sn2700-single-pool-t0-version_1_0_6.json} | 0 ...-sn2700-single-pool-t1-version_1_0_6.json} | 0 ...x-sn2700-single-pool-t1-version_2_0_0.json | 6 +- ... => mellanox-sn2700-t0-version_1_0_6.json} | 0 ... => mellanox-sn2700-t1-version_1_0_6.json} | 0 .../mellanox-sn2700-t1-version_2_0_0.json | 8 +- ...mellanox-sn3800-c64-t0-version_1_0_6.json} | 0 ...mellanox-sn3800-c64-t1-version_1_0_6.json} | 0 .../mellanox-sn3800-c64-t1-version_2_0_0.json | 6 +- ...lanox-sn3800-d112c8-t0-version_1_0_6.json} | 0 ...lanox-sn3800-d112c8-t1-version_1_0_6.json} | 0 ...lanox-sn3800-d24c52-t0-version_1_0_6.json} | 0 ...lanox-sn3800-d24c52-t1-version_1_0_6.json} | 0 ...lanox-sn3800-d28c50-t0-version_1_0_6.json} | 0 ...lanox-sn3800-d28c50-t1-version_1_0_6.json} | 0 .../acs-msn2700-t0-version_1_0_6.json | 1059 +++++++++ .../acs-msn2700-t1-version_1_0_6.json | 1156 +++++++++ .../acs-msn3700-t0-version_1_0_6.json | 1907 +++++++++++++++ .../acs-msn3700-t1-version_1_0_6.json | 1983 ++++++++++++++++ .../acs-msn3800-t0-version_1_0_6.json | 1984 ++++++++++++++++ .../acs-msn3800-t1-version_1_0_6.json | 2102 ++++++++++++++++ .../acs-msn4700-t0-version_1_0_6.json | 2005 ++++++++++++++++ .../acs-msn4700-t1-version_1_0_6.json | 2109 +++++++++++++++++ ...00-c28d8-single-pool-t0-version_1_0_6.json | 1055 +++++++++ ...00-c28d8-single-pool-t1-version_1_0_6.json | 1152 +++++++++ ...ellanox-sn2700-c28d8-t0-version_1_0_6.json | 1060 +++++++++ ...ellanox-sn2700-c28d8-t1-version_1_0_6.json | 1157 +++++++++ ...lanox-sn2700-d40c8s8-t0-version_1_0_5.json | 67 +- ...lanox-sn2700-d40c8s8-t0-version_1_0_6.json | 1055 +++++++++ ...lanox-sn2700-d40c8s8-t0-version_2_0_0.json | 67 +- ...lanox-sn2700-d40c8s8-t1-version_1_0_5.json | 75 +- ...lanox-sn2700-d40c8s8-t1-version_1_0_6.json | 1152 +++++++++ ...lanox-sn2700-d40c8s8-t1-version_2_0_0.json | 75 +- ...00-d48c8-single-pool-t0-version_1_0_6.json | 1055 +++++++++ ...00-d48c8-single-pool-t1-version_1_0_6.json | 1152 +++++++++ ...ellanox-sn2700-d48c8-t0-version_1_0_6.json | 1060 +++++++++ ...ellanox-sn2700-d48c8-t1-version_1_0_6.json | 1157 +++++++++ ...x-sn2700-single-pool-t0-version_1_0_6.json | 1055 +++++++++ ...x-sn2700-single-pool-t1-version_1_0_6.json | 1152 +++++++++ ...x-sn2700-single-pool-t1-version_2_0_0.json | 6 +- .../mellanox-sn2700-t0-version_1_0_6.json | 1060 +++++++++ .../mellanox-sn2700-t1-version_1_0_6.json | 1157 +++++++++ .../mellanox-sn2700-t1-version_2_0_0.json | 8 +- .../mellanox-sn3800-c64-t0-version_1_0_6.json | 1700 +++++++++++++ .../mellanox-sn3800-c64-t1-version_1_0_6.json | 1826 ++++++++++++++ .../mellanox-sn3800-c64-t1-version_2_0_0.json | 6 +- ...llanox-sn3800-d112c8-t0-version_1_0_6.json | 1980 ++++++++++++++++ ...llanox-sn3800-d112c8-t1-version_1_0_6.json | 2098 ++++++++++++++++ ...llanox-sn3800-d24c52-t0-version_1_0_6.json | 1700 +++++++++++++ ...llanox-sn3800-d24c52-t1-version_1_0_6.json | 1826 ++++++++++++++ ...llanox-sn3800-d28c50-t0-version_1_0_6.json | 1700 +++++++++++++ ...llanox-sn3800-d28c50-t1-version_1_0_6.json | 1826 ++++++++++++++ tests/db_migrator_test.py | 4 +- 75 files changed, 44735 insertions(+), 266 deletions(-) rename tests/db_migrator_input/appl_db/{acs-msn2700-t0-version_1_0_5.json => acs-msn2700-t0-version_1_0_6.json} (100%) rename tests/db_migrator_input/appl_db/{acs-msn2700-t1-version_1_0_5.json => acs-msn2700-t1-version_1_0_6.json} (100%) rename tests/db_migrator_input/appl_db/{acs-msn3700-t0-version_1_0_5.json => acs-msn3700-t0-version_1_0_6.json} (100%) rename tests/db_migrator_input/appl_db/{acs-msn3700-t1-version_1_0_5.json => acs-msn3700-t1-version_1_0_6.json} (100%) rename tests/db_migrator_input/appl_db/{acs-msn3800-t0-version_1_0_5.json => acs-msn3800-t0-version_1_0_6.json} (100%) rename tests/db_migrator_input/appl_db/{acs-msn3800-t1-version_1_0_5.json => acs-msn3800-t1-version_1_0_6.json} (100%) rename tests/db_migrator_input/appl_db/{acs-msn4700-t0-version_1_0_5.json => acs-msn4700-t0-version_1_0_6.json} (100%) rename tests/db_migrator_input/appl_db/{acs-msn4700-t1-version_1_0_5.json => acs-msn4700-t1-version_1_0_6.json} (100%) rename tests/db_migrator_input/appl_db/{mellanox-sn2700-c28d8-single-pool-t0-version_1_0_5.json => mellanox-sn2700-c28d8-single-pool-t0-version_1_0_6.json} (100%) rename tests/db_migrator_input/appl_db/{mellanox-sn2700-c28d8-single-pool-t1-version_1_0_5.json => mellanox-sn2700-c28d8-single-pool-t1-version_1_0_6.json} (100%) rename tests/db_migrator_input/appl_db/{mellanox-sn2700-c28d8-t0-version_1_0_5.json => mellanox-sn2700-c28d8-t0-version_1_0_6.json} (100%) rename tests/db_migrator_input/appl_db/{mellanox-sn2700-c28d8-t1-version_1_0_5.json => mellanox-sn2700-c28d8-t1-version_1_0_6.json} (100%) rename tests/db_migrator_input/appl_db/{mellanox-sn2700-d40c8s8-t0-version_1_0_5.json => mellanox-sn2700-d40c8s8-t0-version_1_0_6.json} (100%) rename tests/db_migrator_input/appl_db/{mellanox-sn2700-d40c8s8-t1-version_1_0_5.json => mellanox-sn2700-d40c8s8-t1-version_1_0_6.json} (100%) rename tests/db_migrator_input/appl_db/{mellanox-sn2700-d48c8-single-pool-t0-version_1_0_5.json => mellanox-sn2700-d48c8-single-pool-t0-version_1_0_6.json} (100%) rename tests/db_migrator_input/appl_db/{mellanox-sn2700-d48c8-single-pool-t1-version_1_0_5.json => mellanox-sn2700-d48c8-single-pool-t1-version_1_0_6.json} (100%) rename tests/db_migrator_input/appl_db/{mellanox-sn2700-d48c8-t0-version_1_0_5.json => mellanox-sn2700-d48c8-t0-version_1_0_6.json} (100%) rename tests/db_migrator_input/appl_db/{mellanox-sn2700-d48c8-t1-version_1_0_5.json => mellanox-sn2700-d48c8-t1-version_1_0_6.json} (100%) rename tests/db_migrator_input/appl_db/{mellanox-sn2700-single-pool-t0-version_1_0_5.json => mellanox-sn2700-single-pool-t0-version_1_0_6.json} (100%) rename tests/db_migrator_input/appl_db/{mellanox-sn2700-single-pool-t1-version_1_0_5.json => mellanox-sn2700-single-pool-t1-version_1_0_6.json} (100%) rename tests/db_migrator_input/appl_db/{mellanox-sn2700-t0-version_1_0_5.json => mellanox-sn2700-t0-version_1_0_6.json} (100%) rename tests/db_migrator_input/appl_db/{mellanox-sn2700-t1-version_1_0_5.json => mellanox-sn2700-t1-version_1_0_6.json} (100%) rename tests/db_migrator_input/appl_db/{mellanox-sn3800-c64-t0-version_1_0_5.json => mellanox-sn3800-c64-t0-version_1_0_6.json} (100%) rename tests/db_migrator_input/appl_db/{mellanox-sn3800-c64-t1-version_1_0_5.json => mellanox-sn3800-c64-t1-version_1_0_6.json} (100%) rename tests/db_migrator_input/appl_db/{mellanox-sn3800-d112c8-t0-version_1_0_5.json => mellanox-sn3800-d112c8-t0-version_1_0_6.json} (100%) rename tests/db_migrator_input/appl_db/{mellanox-sn3800-d112c8-t1-version_1_0_5.json => mellanox-sn3800-d112c8-t1-version_1_0_6.json} (100%) rename tests/db_migrator_input/appl_db/{mellanox-sn3800-d24c52-t0-version_1_0_5.json => mellanox-sn3800-d24c52-t0-version_1_0_6.json} (100%) rename tests/db_migrator_input/appl_db/{mellanox-sn3800-d24c52-t1-version_1_0_5.json => mellanox-sn3800-d24c52-t1-version_1_0_6.json} (100%) rename tests/db_migrator_input/appl_db/{mellanox-sn3800-d28c50-t0-version_1_0_5.json => mellanox-sn3800-d28c50-t0-version_1_0_6.json} (100%) rename tests/db_migrator_input/appl_db/{mellanox-sn3800-d28c50-t1-version_1_0_5.json => mellanox-sn3800-d28c50-t1-version_1_0_6.json} (100%) create mode 100644 tests/db_migrator_input/config_db/acs-msn2700-t0-version_1_0_6.json create mode 100644 tests/db_migrator_input/config_db/acs-msn2700-t1-version_1_0_6.json create mode 100644 tests/db_migrator_input/config_db/acs-msn3700-t0-version_1_0_6.json create mode 100644 tests/db_migrator_input/config_db/acs-msn3700-t1-version_1_0_6.json create mode 100644 tests/db_migrator_input/config_db/acs-msn3800-t0-version_1_0_6.json create mode 100644 tests/db_migrator_input/config_db/acs-msn3800-t1-version_1_0_6.json create mode 100644 tests/db_migrator_input/config_db/acs-msn4700-t0-version_1_0_6.json create mode 100644 tests/db_migrator_input/config_db/acs-msn4700-t1-version_1_0_6.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-single-pool-t0-version_1_0_6.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-single-pool-t1-version_1_0_6.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t0-version_1_0_6.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t1-version_1_0_6.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-d40c8s8-t0-version_1_0_6.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-d40c8s8-t1-version_1_0_6.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-single-pool-t0-version_1_0_6.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-single-pool-t1-version_1_0_6.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t0-version_1_0_6.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t1-version_1_0_6.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-single-pool-t0-version_1_0_6.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-single-pool-t1-version_1_0_6.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-t0-version_1_0_6.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-t1-version_1_0_6.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn3800-c64-t0-version_1_0_6.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn3800-c64-t1-version_1_0_6.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn3800-d112c8-t0-version_1_0_6.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn3800-d112c8-t1-version_1_0_6.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn3800-d24c52-t0-version_1_0_6.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn3800-d24c52-t1-version_1_0_6.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn3800-d28c50-t0-version_1_0_6.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn3800-d28c50-t1-version_1_0_6.json diff --git a/scripts/db_migrator.py b/scripts/db_migrator.py index 4d4312e5e4..4475457dcc 100755 --- a/scripts/db_migrator.py +++ b/scripts/db_migrator.py @@ -452,6 +452,23 @@ def version_1_0_5(self): Version 1_0_5. """ log.log_info('Handling version_1_0_5') + + # Check ASIC type, if Mellanox platform then need DB migration + if self.asic_type == "mellanox": + if self.mellanox_buffer_migrator.mlnx_migrate_buffer_pool_size('version_1_0_5', 'version_1_0_6') \ + and self.mellanox_buffer_migrator.mlnx_migrate_buffer_profile('version_1_0_5', 'version_1_0_6') \ + and self.mellanox_buffer_migrator.mlnx_flush_new_buffer_configuration(): + self.set_version('version_1_0_6') + else: + self.set_version('version_1_0_6') + + return 'version_1_0_6' + + def version_1_0_6(self): + """ + Version 1_0_6. + """ + log.log_info('Handling version_1_0_6') if self.asic_type == "mellanox": speed_list = self.mellanox_buffer_migrator.default_speed_list cable_len_list = self.mellanox_buffer_migrator.default_cable_len_list @@ -461,8 +478,8 @@ def version_1_0_5(self): abandon_method = self.mellanox_buffer_migrator.mlnx_abandon_pending_buffer_configuration append_method = self.mellanox_buffer_migrator.mlnx_append_item_on_pending_configuration_list - if self.mellanox_buffer_migrator.mlnx_migrate_buffer_pool_size('version_1_0_5', 'version_2_0_0') \ - and self.mellanox_buffer_migrator.mlnx_migrate_buffer_profile('version_1_0_5', 'version_2_0_0') \ + if self.mellanox_buffer_migrator.mlnx_migrate_buffer_pool_size('version_1_0_6', 'version_2_0_0') \ + and self.mellanox_buffer_migrator.mlnx_migrate_buffer_profile('version_1_0_6', 'version_2_0_0') \ and (not self.mellanox_buffer_migrator.mlnx_is_buffer_model_dynamic() or \ self.migrate_config_db_buffer_tables_for_dynamic_calculation(speed_list, cable_len_list, '0', abandon_method, append_method)) \ and self.mellanox_buffer_migrator.mlnx_flush_new_buffer_configuration() \ diff --git a/scripts/mellanox_buffer_migrator.py b/scripts/mellanox_buffer_migrator.py index 2d32d1359e..7411196c33 100755 --- a/scripts/mellanox_buffer_migrator.py +++ b/scripts/mellanox_buffer_migrator.py @@ -6,6 +6,7 @@ Current version: 2.0.0 for shared headroom pool and dynamic buffer calculation support. Historical version: - 201911: + - 1.0.6 for 2km cable support - 1.0.5 for shared headroom pool support - 1.0.4 for optimized headroom calculation: - For Microsoft SKUs, calculate headroom with small packet percentage as 50% @@ -119,7 +120,7 @@ def __init__(self, configDB): # This is the buffer configuration from the very beginning # Buffer pool configuration info "buffer_pool_list" : ['ingress_lossless_pool', 'egress_lossless_pool', 'ingress_lossy_pool', 'egress_lossy_pool'], - # default buffer pools + # Default buffer pools "buffer_pools": { "spc1_t0_pool": {"ingress_lossless_pool": { "size": "4194304", "type": "ingress", "mode": "dynamic" }, "ingress_lossy_pool": { "size": "7340032", "type": "ingress", "mode": "dynamic" }, @@ -209,7 +210,7 @@ def __init__(self, configDB): } }, "version_1_0_4": { - # version 1.0.4 is introduced for updating the buffer settings + # Version 1.0.4 is introduced for updating the buffer settings # Buffer pool info for normal mode "buffer_pool_list" : ['ingress_lossless_pool', 'ingress_lossy_pool', 'egress_lossless_pool', 'egress_lossy_pool'], "buffer_pools": { @@ -247,7 +248,7 @@ def __init__(self, configDB): "pg_lossless_40000_300m_profile": {"size": "78848", "xon":"19456"}, "pg_lossless_50000_300m_profile": {"size": "86016", "xon":"19456"}, "pg_lossless_100000_300m_profile": {"size": "123904", "xon":"19456"}}, - # lossless headroom info for MSFT SKUs. + # Lossless headroom info for MSFT SKUs. "msft": {"pg_lossless_10000_5m_profile": {"size": "41984", "xon":"19456"}, "pg_lossless_25000_5m_profile": {"size": "41984", "xon":"19456"}, "pg_lossless_40000_5m_profile": {"size": "41984", "xon":"19456"}, @@ -324,15 +325,15 @@ def __init__(self, configDB): } }, "version_1_0_5": { - # version 1.0.5 is introduced for shared headroom pools + # Version 1.0.5 is introduced for shared headroom pools "pool_convert_map": { "spc1_t0_pool_sku_map": {"Mellanox-SN2700-C28D8": "spc1_2700-d48c8_t0_pool_shp", "Mellanox-SN2700-D48C8": "spc1_2700-d48c8_t0_pool_shp", - "Mellanox-SN2700-D40C8S8": "spc1_2700-d48c8_t0_pool_shp", + "Mellanox-SN2700-D40C8S8": "spc1_2700-d48c8_t0_single_pool_shp", "Mellanox-SN2700": "spc1_2700_t0_pool_shp"}, "spc1_t1_pool_sku_map": {"Mellanox-SN2700-C28D8": "spc1_2700-d48c8_t1_pool_shp", "Mellanox-SN2700-D48C8": "spc1_2700-d48c8_t1_pool_shp", - "Mellanox-SN2700-D40C8S8": "spc1_2700-d48c8_t1_pool_shp", + "Mellanox-SN2700-D40C8S8": "spc1_2700-d48c8_t1_single_pool_shp", "Mellanox-SN2700": "spc1_2700_t1_pool_shp"} }, "pool_mapped_from_old_version": { @@ -441,8 +442,43 @@ def __init__(self, configDB): } } }, + "version_1_0_6": { + # Version 1.0.6 is introduced for 2km cable support + # + # pool_mapped_from_old_version is not required because no pool flavor mapping changed + + # Buffer pool info for normal mode + "buffer_pool_list" : ['ingress_lossless_pool', 'ingress_lossy_pool', 'egress_lossless_pool', 'egress_lossy_pool'], + + "buffer_pools": { + "spc1_2700_t1_pool_shp": {"doublepool": { "size": "4439552", "xoff": "2146304" }, "egress_lossless_pool": { "size": "13945824"}}, + + # Buffer pool for single pool + "spc1_2700_t1_single_pool_shp": {"singlepool": { "size": "8719360", "xoff": "2146304" }, "egress_lossless_pool": { "size": "13945824"}}, + + # The following pools are used for upgrading from 1.0.5 to the newer version + "spc2_3800-c64_t1_pool_shp": {"singlepool": {"size": "24219648", "xoff": "4169728"}, "egress_lossless_pool": {"size": "34287552"}} + }, + "buffer_pools_inherited": { + "version_1_0_4": ["spc1_t0_pool", "spc1_t1_pool", "spc2_t0_pool", "spc2_t1_pool", "spc3_t0_pool", "spc3_t1_pool"], + "version_1_0_5": [# Generic SKUs for 3800 + "spc2_3800_t0_pool", + "spc2_3800_t1_pool", + # Non generic SKUs + "spc1_2700_t0_pool_shp", + "spc1_2700_t0_single_pool_shp", + "spc1_2700-d48c8_t0_pool_shp", + "spc1_2700-d48c8_t0_single_pool_shp", + "spc2_3800-c64_t0_pool_shp", "spc2_3800-d112c8_t0_pool_shp", + "spc2_3800-d24c52_t0_pool_shp", "spc2_3800-d28c50_t0_pool_shp", + "spc1_2700-d48c8_t1_pool_shp", + "spc1_2700-d48c8_t1_single_pool_shp", + "spc2_3800-d112c8_t1_pool_shp", + "spc2_3800-d24c52_t1_pool_shp", "spc2_3800-d28c50_t1_pool_shp"], + } + }, "version_2_0_0": { - # version 2.0.0 is introduced for dynamic buffer calculation + # Version 2.0.0 is introduced for dynamic buffer calculation # "pool_mapped_from_old_version": { "spc1_t0_pool": "spc1_pool", @@ -463,13 +499,19 @@ def __init__(self, configDB): "spc3_pool": {"doublepool": {"size": "dynamic"}, "egress_lossless_pool": { "size": "60817392" }} }, "buffer_pools_inherited": { - "version_1_0_5": ["spc1_2700_t0_pool", "spc1_2700_t1_pool", - "spc1_2700_t0_pool_shp", "spc1_2700_t1_pool_shp", - "spc1_2700_t0_single_pool_shp", "spc1_2700_t1_single_pool_shp", - "spc1_2700-d48c8_t0_pool_shp", "spc1_2700-d48c8_t1_pool_shp", - "spc1_2700-d48c8_t0_single_pool_shp", "spc1_2700-d48c8_t1_single_pool_shp", - "spc2_3800-c64_t0_pool_shp", "spc2_3800-c64_t1_pool_shp", "spc2_3800-d112c8_t0_pool_shp", "spc2_3800-d112c8_t1_pool_shp", - "spc2_3800-d24c52_t0_pool_shp", "spc2_3800-d24c52_t1_pool_shp", "spc2_3800-d28c50_t0_pool_shp", "spc2_3800-d28c50_t1_pool_shp"] + "version_1_0_5": ["spc1_2700_t0_pool_shp", + "spc1_2700_t0_single_pool_shp", + "spc1_2700-d48c8_t0_pool_shp", + "spc1_2700-d48c8_t0_single_pool_shp", + "spc2_3800-c64_t0_pool_shp", "spc2_3800-d112c8_t0_pool_shp", + "spc2_3800-d24c52_t0_pool_shp", "spc2_3800-d28c50_t0_pool_shp", + "spc1_2700-d48c8_t1_pool_shp", + "spc1_2700-d48c8_t1_single_pool_shp", + "spc2_3800-d112c8_t1_pool_shp", + "spc2_3800-d24c52_t1_pool_shp", "spc2_3800-d28c50_t1_pool_shp"], + "version_1_0_6": ["spc1_2700_t1_pool_shp", + "spc1_2700_t1_single_pool_shp", + "spc2_3800-c64_t1_pool_shp"] } } } diff --git a/tests/db_migrator_input/appl_db/acs-msn2700-t0-version_1_0_5.json b/tests/db_migrator_input/appl_db/acs-msn2700-t0-version_1_0_6.json similarity index 100% rename from tests/db_migrator_input/appl_db/acs-msn2700-t0-version_1_0_5.json rename to tests/db_migrator_input/appl_db/acs-msn2700-t0-version_1_0_6.json diff --git a/tests/db_migrator_input/appl_db/acs-msn2700-t1-version_1_0_5.json b/tests/db_migrator_input/appl_db/acs-msn2700-t1-version_1_0_6.json similarity index 100% rename from tests/db_migrator_input/appl_db/acs-msn2700-t1-version_1_0_5.json rename to tests/db_migrator_input/appl_db/acs-msn2700-t1-version_1_0_6.json diff --git a/tests/db_migrator_input/appl_db/acs-msn3700-t0-version_1_0_5.json b/tests/db_migrator_input/appl_db/acs-msn3700-t0-version_1_0_6.json similarity index 100% rename from tests/db_migrator_input/appl_db/acs-msn3700-t0-version_1_0_5.json rename to tests/db_migrator_input/appl_db/acs-msn3700-t0-version_1_0_6.json diff --git a/tests/db_migrator_input/appl_db/acs-msn3700-t1-version_1_0_5.json b/tests/db_migrator_input/appl_db/acs-msn3700-t1-version_1_0_6.json similarity index 100% rename from tests/db_migrator_input/appl_db/acs-msn3700-t1-version_1_0_5.json rename to tests/db_migrator_input/appl_db/acs-msn3700-t1-version_1_0_6.json diff --git a/tests/db_migrator_input/appl_db/acs-msn3800-t0-version_1_0_5.json b/tests/db_migrator_input/appl_db/acs-msn3800-t0-version_1_0_6.json similarity index 100% rename from tests/db_migrator_input/appl_db/acs-msn3800-t0-version_1_0_5.json rename to tests/db_migrator_input/appl_db/acs-msn3800-t0-version_1_0_6.json diff --git a/tests/db_migrator_input/appl_db/acs-msn3800-t1-version_1_0_5.json b/tests/db_migrator_input/appl_db/acs-msn3800-t1-version_1_0_6.json similarity index 100% rename from tests/db_migrator_input/appl_db/acs-msn3800-t1-version_1_0_5.json rename to tests/db_migrator_input/appl_db/acs-msn3800-t1-version_1_0_6.json diff --git a/tests/db_migrator_input/appl_db/acs-msn4700-t0-version_1_0_5.json b/tests/db_migrator_input/appl_db/acs-msn4700-t0-version_1_0_6.json similarity index 100% rename from tests/db_migrator_input/appl_db/acs-msn4700-t0-version_1_0_5.json rename to tests/db_migrator_input/appl_db/acs-msn4700-t0-version_1_0_6.json diff --git a/tests/db_migrator_input/appl_db/acs-msn4700-t1-version_1_0_5.json b/tests/db_migrator_input/appl_db/acs-msn4700-t1-version_1_0_6.json similarity index 100% rename from tests/db_migrator_input/appl_db/acs-msn4700-t1-version_1_0_5.json rename to tests/db_migrator_input/appl_db/acs-msn4700-t1-version_1_0_6.json diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-single-pool-t0-version_1_0_5.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-single-pool-t0-version_1_0_6.json similarity index 100% rename from tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-single-pool-t0-version_1_0_5.json rename to tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-single-pool-t0-version_1_0_6.json diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-single-pool-t1-version_1_0_5.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-single-pool-t1-version_1_0_6.json similarity index 100% rename from tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-single-pool-t1-version_1_0_5.json rename to tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-single-pool-t1-version_1_0_6.json diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-t0-version_1_0_5.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-t0-version_1_0_6.json similarity index 100% rename from tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-t0-version_1_0_5.json rename to tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-t0-version_1_0_6.json diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-t1-version_1_0_5.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-t1-version_1_0_6.json similarity index 100% rename from tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-t1-version_1_0_5.json rename to tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-t1-version_1_0_6.json diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-d40c8s8-t0-version_1_0_5.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-d40c8s8-t0-version_1_0_6.json similarity index 100% rename from tests/db_migrator_input/appl_db/mellanox-sn2700-d40c8s8-t0-version_1_0_5.json rename to tests/db_migrator_input/appl_db/mellanox-sn2700-d40c8s8-t0-version_1_0_6.json diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-d40c8s8-t0-version_2_0_0.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-d40c8s8-t0-version_2_0_0.json index aca494618d..763eb2cf31 100644 --- a/tests/db_migrator_input/appl_db/mellanox-sn2700-d40c8s8-t0-version_2_0_0.json +++ b/tests/db_migrator_input/appl_db/mellanox-sn2700-d40c8s8-t0-version_2_0_0.json @@ -187,18 +187,13 @@ "BUFFER_POOL_TABLE:egress_lossy_pool": { "type": "egress", "mode": "dynamic", - "size": "3859968" + "size": "7719936" }, "BUFFER_POOL_TABLE:ingress_lossless_pool": { "xoff": "1032192", "type": "ingress", "mode": "dynamic", - "size": "3859968" - }, - "BUFFER_POOL_TABLE:ingress_lossy_pool": { - "type": "ingress", - "mode": "dynamic", - "size": "3859968" + "size": "7719936" }, "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" @@ -285,88 +280,88 @@ "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PROFILE_TABLE:egress_lossless_profile": { "dynamic_th": "7", @@ -385,7 +380,7 @@ }, "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { "dynamic_th": "3", - "pool": "[BUFFER_POOL_TABLE:ingress_lossy_pool]", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", "size": "0" }, "BUFFER_PROFILE_TABLE:pg_lossless_10000_5m_profile": { diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-d40c8s8-t1-version_1_0_5.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-d40c8s8-t1-version_1_0_6.json similarity index 100% rename from tests/db_migrator_input/appl_db/mellanox-sn2700-d40c8s8-t1-version_1_0_5.json rename to tests/db_migrator_input/appl_db/mellanox-sn2700-d40c8s8-t1-version_1_0_6.json diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-d40c8s8-t1-version_2_0_0.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-d40c8s8-t1-version_2_0_0.json index 4d7e38e97e..d29d94bc84 100644 --- a/tests/db_migrator_input/appl_db/mellanox-sn2700-d40c8s8-t1-version_2_0_0.json +++ b/tests/db_migrator_input/appl_db/mellanox-sn2700-d40c8s8-t1-version_2_0_0.json @@ -199,18 +199,13 @@ "BUFFER_POOL_TABLE:egress_lossy_pool": { "type": "egress", "mode": "dynamic", - "size": "4843008" + "size": "9686016" }, "BUFFER_POOL_TABLE:ingress_lossless_pool": { "xoff": "1179648", "type": "ingress", "mode": "dynamic", - "size": "4843008" - }, - "BUFFER_POOL_TABLE:ingress_lossy_pool": { - "type": "ingress", - "mode": "dynamic", - "size": "4843008" + "size": "9686016" }, "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet0": { "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" @@ -309,100 +304,100 @@ "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet0": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet100": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet104": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet108": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile]" }, "BUFFER_PROFILE_TABLE:egress_lossless_profile": { "dynamic_th": "7", @@ -421,7 +416,7 @@ }, "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { "dynamic_th": "3", - "pool": "[BUFFER_POOL_TABLE:ingress_lossy_pool]", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", "size": "0" }, "BUFFER_PROFILE_TABLE:pg_lossless_10000_40m_profile": { diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-single-pool-t0-version_1_0_5.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-single-pool-t0-version_1_0_6.json similarity index 100% rename from tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-single-pool-t0-version_1_0_5.json rename to tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-single-pool-t0-version_1_0_6.json diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-single-pool-t1-version_1_0_5.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-single-pool-t1-version_1_0_6.json similarity index 100% rename from tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-single-pool-t1-version_1_0_5.json rename to tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-single-pool-t1-version_1_0_6.json diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-t0-version_1_0_5.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-t0-version_1_0_6.json similarity index 100% rename from tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-t0-version_1_0_5.json rename to tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-t0-version_1_0_6.json diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-t1-version_1_0_5.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-t1-version_1_0_6.json similarity index 100% rename from tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-t1-version_1_0_5.json rename to tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-t1-version_1_0_6.json diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-single-pool-t0-version_1_0_5.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-single-pool-t0-version_1_0_6.json similarity index 100% rename from tests/db_migrator_input/appl_db/mellanox-sn2700-single-pool-t0-version_1_0_5.json rename to tests/db_migrator_input/appl_db/mellanox-sn2700-single-pool-t0-version_1_0_6.json diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-single-pool-t1-version_1_0_5.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-single-pool-t1-version_1_0_6.json similarity index 100% rename from tests/db_migrator_input/appl_db/mellanox-sn2700-single-pool-t1-version_1_0_5.json rename to tests/db_migrator_input/appl_db/mellanox-sn2700-single-pool-t1-version_1_0_6.json diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-single-pool-t1-version_2_0_0.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-single-pool-t1-version_2_0_0.json index aa5e57fced..4d004dba6b 100644 --- a/tests/db_migrator_input/appl_db/mellanox-sn2700-single-pool-t1-version_2_0_0.json +++ b/tests/db_migrator_input/appl_db/mellanox-sn2700-single-pool-t1-version_2_0_0.json @@ -199,13 +199,13 @@ "BUFFER_POOL_TABLE:egress_lossy_pool": { "type": "egress", "mode": "dynamic", - "size": "9292800" + "size": "8719360" }, "BUFFER_POOL_TABLE:ingress_lossless_pool": { - "xoff": "1572864", + "xoff": "2146304", "type": "ingress", "mode": "dynamic", - "size": "9292800" + "size": "8719360" }, "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet0": { "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-t0-version_1_0_5.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-t0-version_1_0_6.json similarity index 100% rename from tests/db_migrator_input/appl_db/mellanox-sn2700-t0-version_1_0_5.json rename to tests/db_migrator_input/appl_db/mellanox-sn2700-t0-version_1_0_6.json diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-t1-version_1_0_5.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-t1-version_1_0_6.json similarity index 100% rename from tests/db_migrator_input/appl_db/mellanox-sn2700-t1-version_1_0_5.json rename to tests/db_migrator_input/appl_db/mellanox-sn2700-t1-version_1_0_6.json diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-t1-version_2_0_0.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-t1-version_2_0_0.json index 96613c3490..edcbcd6c76 100644 --- a/tests/db_migrator_input/appl_db/mellanox-sn2700-t1-version_2_0_0.json +++ b/tests/db_migrator_input/appl_db/mellanox-sn2700-t1-version_2_0_0.json @@ -199,18 +199,18 @@ "BUFFER_POOL_TABLE:egress_lossy_pool": { "type": "egress", "mode": "dynamic", - "size": "4646400" + "size": "4439552" }, "BUFFER_POOL_TABLE:ingress_lossless_pool": { - "xoff": "1572864", + "xoff": "2146304", "type": "ingress", "mode": "dynamic", - "size": "4646400" + "size": "4439552" }, "BUFFER_POOL_TABLE:ingress_lossy_pool": { "type": "ingress", "mode": "dynamic", - "size": "4646400" + "size": "4439552" }, "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet0": { "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" diff --git a/tests/db_migrator_input/appl_db/mellanox-sn3800-c64-t0-version_1_0_5.json b/tests/db_migrator_input/appl_db/mellanox-sn3800-c64-t0-version_1_0_6.json similarity index 100% rename from tests/db_migrator_input/appl_db/mellanox-sn3800-c64-t0-version_1_0_5.json rename to tests/db_migrator_input/appl_db/mellanox-sn3800-c64-t0-version_1_0_6.json diff --git a/tests/db_migrator_input/appl_db/mellanox-sn3800-c64-t1-version_1_0_5.json b/tests/db_migrator_input/appl_db/mellanox-sn3800-c64-t1-version_1_0_6.json similarity index 100% rename from tests/db_migrator_input/appl_db/mellanox-sn3800-c64-t1-version_1_0_5.json rename to tests/db_migrator_input/appl_db/mellanox-sn3800-c64-t1-version_1_0_6.json diff --git a/tests/db_migrator_input/appl_db/mellanox-sn3800-c64-t1-version_2_0_0.json b/tests/db_migrator_input/appl_db/mellanox-sn3800-c64-t1-version_2_0_0.json index 09fb2cbdaf..a6f5969754 100644 --- a/tests/db_migrator_input/appl_db/mellanox-sn3800-c64-t1-version_2_0_0.json +++ b/tests/db_migrator_input/appl_db/mellanox-sn3800-c64-t1-version_2_0_0.json @@ -133,13 +133,13 @@ "BUFFER_POOL_TABLE:egress_lossy_pool": { "type": "egress", "mode": "dynamic", - "size": "23900160" + "size": "24219648" }, "BUFFER_POOL_TABLE:ingress_lossless_pool": { - "xoff": "4489216", + "xoff": "4169728", "type": "ingress", "mode": "dynamic", - "size": "23900160" + "size": "24219648" }, "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet0": { "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" diff --git a/tests/db_migrator_input/appl_db/mellanox-sn3800-d112c8-t0-version_1_0_5.json b/tests/db_migrator_input/appl_db/mellanox-sn3800-d112c8-t0-version_1_0_6.json similarity index 100% rename from tests/db_migrator_input/appl_db/mellanox-sn3800-d112c8-t0-version_1_0_5.json rename to tests/db_migrator_input/appl_db/mellanox-sn3800-d112c8-t0-version_1_0_6.json diff --git a/tests/db_migrator_input/appl_db/mellanox-sn3800-d112c8-t1-version_1_0_5.json b/tests/db_migrator_input/appl_db/mellanox-sn3800-d112c8-t1-version_1_0_6.json similarity index 100% rename from tests/db_migrator_input/appl_db/mellanox-sn3800-d112c8-t1-version_1_0_5.json rename to tests/db_migrator_input/appl_db/mellanox-sn3800-d112c8-t1-version_1_0_6.json diff --git a/tests/db_migrator_input/appl_db/mellanox-sn3800-d24c52-t0-version_1_0_5.json b/tests/db_migrator_input/appl_db/mellanox-sn3800-d24c52-t0-version_1_0_6.json similarity index 100% rename from tests/db_migrator_input/appl_db/mellanox-sn3800-d24c52-t0-version_1_0_5.json rename to tests/db_migrator_input/appl_db/mellanox-sn3800-d24c52-t0-version_1_0_6.json diff --git a/tests/db_migrator_input/appl_db/mellanox-sn3800-d24c52-t1-version_1_0_5.json b/tests/db_migrator_input/appl_db/mellanox-sn3800-d24c52-t1-version_1_0_6.json similarity index 100% rename from tests/db_migrator_input/appl_db/mellanox-sn3800-d24c52-t1-version_1_0_5.json rename to tests/db_migrator_input/appl_db/mellanox-sn3800-d24c52-t1-version_1_0_6.json diff --git a/tests/db_migrator_input/appl_db/mellanox-sn3800-d28c50-t0-version_1_0_5.json b/tests/db_migrator_input/appl_db/mellanox-sn3800-d28c50-t0-version_1_0_6.json similarity index 100% rename from tests/db_migrator_input/appl_db/mellanox-sn3800-d28c50-t0-version_1_0_5.json rename to tests/db_migrator_input/appl_db/mellanox-sn3800-d28c50-t0-version_1_0_6.json diff --git a/tests/db_migrator_input/appl_db/mellanox-sn3800-d28c50-t1-version_1_0_5.json b/tests/db_migrator_input/appl_db/mellanox-sn3800-d28c50-t1-version_1_0_6.json similarity index 100% rename from tests/db_migrator_input/appl_db/mellanox-sn3800-d28c50-t1-version_1_0_5.json rename to tests/db_migrator_input/appl_db/mellanox-sn3800-d28c50-t1-version_1_0_6.json diff --git a/tests/db_migrator_input/config_db/acs-msn2700-t0-version_1_0_6.json b/tests/db_migrator_input/config_db/acs-msn2700-t0-version_1_0_6.json new file mode 100644 index 0000000000..f884f1cead --- /dev/null +++ b/tests/db_migrator_input/config_db/acs-msn2700-t0-version_1_0_6.json @@ -0,0 +1,1059 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "4580864" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "4580864" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "4580864" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "30720", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "50176" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "38912", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "58368" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet76": "5m", + "Ethernet72": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet28": "5m", + "Ethernet88": "5m", + "Ethernet24": "5m", + "Ethernet116": "40m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet84": "5m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet64": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet68": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN2700", + "default_bgp_status": "up", + "docker_routing_config_mode": "unified", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "type": "ToRRouter" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "10000", + "description": "etp1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "Servers0:eth0" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "Servers1:eth0" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "Servers2:eth0" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "Servers3:eth0" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "Servers4:eth0" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "Servers5:eth0" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "Servers6:eth0" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "Servers7:eth0" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "Servers8:eth0" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "Servers9:eth0" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "Servers10:eth0" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "Servers11:eth0" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "Servers12:eth0" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "Servers13:eth0" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "Servers14:eth0" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "100000", + "description": "Servers15:eth0" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "100000", + "description": "Servers16:eth0" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "100000", + "description": "Servers17:eth0" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "100000", + "description": "Servers18:eth0" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "Servers19:eth0" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "Servers20:eth0" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "Servers21:eth0" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "Servers22:eth0" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "Servers23:eth0" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "description": "etp26" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "description": "etp27" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "description": "etp28" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA01T1:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA02T1:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_6" + } +} diff --git a/tests/db_migrator_input/config_db/acs-msn2700-t1-version_1_0_6.json b/tests/db_migrator_input/config_db/acs-msn2700-t1-version_1_0_6.json new file mode 100644 index 0000000000..3b1b095d9e --- /dev/null +++ b/tests/db_migrator_input/config_db/acs-msn2700-t1-version_1_0_6.json @@ -0,0 +1,1156 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "3302912" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "3302912" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "3302912" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "49152" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "36864", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "56320" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "31744", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "51200" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "48128", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "67584" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "32768", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "52224" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "59392", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "78848" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "66560", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "86016" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "38912", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "58368" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "104448", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "123904" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet76": "40m", + "Ethernet72": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet28": "300m", + "Ethernet88": "40m", + "Ethernet24": "300m", + "Ethernet116": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet84": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet64": "40m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet68": "40m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN2700", + "default_bgp_status": "up", + "type": "LeafRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T2:Ethernet1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA01T2:Ethernet2" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T2:Ethernet1" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA03T2:Ethernet2" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet1" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet2" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet1" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet2" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet1" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet2" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet1" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet2" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet1" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet2" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet1" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet2" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T0:Ethernet1" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA02T0:Ethernet1" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T0:Ethernet1" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA04T0:Ethernet1" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T0:Ethernet1" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA06T0:Ethernet1" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T0:Ethernet1" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA08T0:Ethernet1" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T0:Ethernet1" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp26", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA10T0:Ethernet1" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp27", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T0:Ethernet1" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp28", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA12T0:Ethernet1" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T0:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA14T0:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_6" + } +} diff --git a/tests/db_migrator_input/config_db/acs-msn3700-t0-version_1_0_6.json b/tests/db_migrator_input/config_db/acs-msn3700-t0-version_1_0_6.json new file mode 100644 index 0000000000..8c57d5e241 --- /dev/null +++ b/tests/db_migrator_input/config_db/acs-msn3700-t0-version_1_0_6.json @@ -0,0 +1,1907 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_200000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet65|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet65|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet67|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet67|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet82|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet82|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "14542848" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "14542848" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "14542848" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "32768", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "52224" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "32768", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "52224" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "38912", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "58368" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "44032", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "63488" + }, + "BUFFER_PROFILE|pg_lossless_200000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "35840", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "55296" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet65|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet65|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet65|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet67|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet67|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet67|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet82|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet82|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet82|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet64": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet88": "5m", + "Ethernet116": "40m", + "Ethernet82": "5m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet65": "5m", + "Ethernet28": "5m", + "Ethernet67": "5m", + "Ethernet66": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN3700", + "default_bgp_status": "up", + "type": "ToRRouter", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "separated", + "cloudtype": "None" + }, + "PORT|Ethernet0": { + "index": "1", + "lanes": "0,1,2,3", + "description": "etp1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "10000", + "fec": "rs" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "ARISTA01T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1b", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "2", + "lanes": "4,5,6,7", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2", + "pfc_asym": "off", + "speed": "25000", + "fec": "rs" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "ARISTA03T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2b", + "admin_status": "up", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "3", + "lanes": "8,9,10,11", + "description": "Servers1:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3", + "pfc_asym": "off", + "speed": "50000", + "fec": "rs" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "ARISTA05T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "4", + "lanes": "12,13,14,15", + "description": "Servers2:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet16": { + "index": "5", + "lanes": "16,17,18,19", + "description": "Servers3:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "ARISTA09T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "6", + "lanes": "20,21,22,23", + "description": "Servers4:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6", + "pfc_asym": "off", + "speed": "200000", + "fec": "rs" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "ARISTA11T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "7", + "lanes": "24,25,26,27", + "description": "Servers5:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "ARISTA13T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "8", + "lanes": "28,29,30,31", + "description": "Servers6:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet32": { + "index": "9", + "lanes": "32,33,34,35", + "description": "Servers7:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "ARISTA15T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "10", + "lanes": "36,37,38,39", + "description": "Servers8:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "ARISTA02T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10b", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "11", + "lanes": "40,41,42,43", + "description": "Servers9:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "ARISTA04T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "12", + "lanes": "44,45,46,47", + "description": "Servers10:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet48": { + "index": "13", + "lanes": "48,49,50,51", + "description": "Servers11:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "ARISTA07T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "14", + "lanes": "52,53,54,55", + "description": "Servers12:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "ARISTA09T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "15", + "lanes": "56,57,58,59", + "description": "Servers13:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "16", + "lanes": "60,61,62,63", + "description": "Servers14:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet64": { + "index": "17", + "lanes": "64", + "description": "Servers15:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet65": { + "index": "17", + "lanes": "65", + "description": "Servers16:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet66": { + "index": "17", + "lanes": "66", + "description": "Servers17:eth0", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17c", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet67": { + "index": "17", + "lanes": "67", + "description": "Servers18:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17d", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "18", + "lanes": "72,73", + "description": "etp19a", + "admin_status": "up", + "mtu": "9100", + "alias": "etp19a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "admin_status": "up", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "21", + "lanes": "80,81", + "description": "Servers19:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "21", + "lanes": "82,83", + "description": "Servers20:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "admin_status": "up", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "23", + "lanes": "88,89,90,91", + "description": "Servers21:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp23", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "24", + "lanes": "92,93,94,95", + "description": "Servers22:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet96": { + "index": "25", + "lanes": "96,97,98,99", + "description": "Servers23:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "26", + "lanes": "100,101,102,103", + "description": "etp26", + "admin_status": "up", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "27", + "lanes": "104,105,106,107", + "description": "etp27", + "admin_status": "up", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "28", + "lanes": "108,109,110,111", + "description": "etp28", + "admin_status": "up", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet112": { + "index": "29", + "lanes": "112,113,114,115", + "description": "ARISTA01T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "30", + "lanes": "116,117,118,119", + "description": "ARISTA02T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "31", + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp31", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "32", + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "32", + "lanes": "128,129,130,131", + "description": "etp33", + "mtu": "9100", + "alias": "etp33", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "34", + "lanes": "136,137", + "description": "etp35a", + "mtu": "9100", + "alias": "etp35a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "36", + "lanes": "144,145,146,147", + "description": "etp37", + "mtu": "9100", + "alias": "etp37", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "38", + "lanes": "152,153", + "description": "etp39a", + "mtu": "9100", + "alias": "etp39a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "40", + "lanes": "160,161", + "description": "etp41a", + "mtu": "9100", + "alias": "etp41a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "42", + "lanes": "168,169", + "description": "etp43a", + "mtu": "9100", + "alias": "etp43a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "44", + "lanes": "176,177", + "description": "etp45a", + "mtu": "9100", + "alias": "etp45a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "46", + "lanes": "184,185", + "description": "etp47a", + "mtu": "9100", + "alias": "etp47a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "48", + "lanes": "192,193", + "description": "etp49a", + "mtu": "9100", + "alias": "etp49a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "50", + "lanes": "200,201", + "description": "etp51a", + "mtu": "9100", + "alias": "etp51a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "52", + "lanes": "208,209", + "description": "etp53a", + "mtu": "9100", + "alias": "etp53a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "54", + "lanes": "216,217", + "description": "etp55a", + "mtu": "9100", + "alias": "etp55a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "56", + "lanes": "224,225", + "description": "etp57a", + "mtu": "9100", + "alias": "etp57a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "58", + "lanes": "232,233", + "description": "etp59a", + "mtu": "9100", + "alias": "etp59a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "60", + "lanes": "240,241", + "description": "etp61a", + "mtu": "9100", + "alias": "etp61a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "62", + "lanes": "248,249", + "description": "etp63a", + "mtu": "9100", + "alias": "etp63a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_6" + } +} diff --git a/tests/db_migrator_input/config_db/acs-msn3700-t1-version_1_0_6.json b/tests/db_migrator_input/config_db/acs-msn3700-t1-version_1_0_6.json new file mode 100644 index 0000000000..9454f94c97 --- /dev/null +++ b/tests/db_migrator_input/config_db/acs-msn3700-t1-version_1_0_6.json @@ -0,0 +1,1983 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_200000_300m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet65|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet65|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet67|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet67|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet82|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet82|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_200000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "11622400" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "11622400" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "11622400" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "40960", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "60416" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "35840", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "55296" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "54272", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "73728" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "37888", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "57344" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "66560", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "86016" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "38912", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "58368" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "75776", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "95232" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "44032", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "63488" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "117760", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "137216" + }, + "BUFFER_PROFILE|pg_lossless_200000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "55296", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "74752" + }, + "BUFFER_PROFILE|pg_lossless_200000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "203776", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "223232" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet65|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet65|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet65|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet67|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet67|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet67|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet82|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet82|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet82|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet64": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet88": "40m", + "Ethernet116": "40m", + "Ethernet82": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet65": "40m", + "Ethernet28": "300m", + "Ethernet67": "40m", + "Ethernet66": "40m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet24": "300m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN3700", + "default_bgp_status": "up", + "type": "LeafRouter", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "separated", + "cloudtype": "None" + }, + "PORT|Ethernet0": { + "index": "1", + "lanes": "0,1,2,3", + "description": "ARISTA01T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "10000", + "fec": "rs" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "ARISTA01T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1b", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "2", + "lanes": "4,5,6,7", + "description": "ARISTA01T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2", + "pfc_asym": "off", + "speed": "25000", + "fec": "rs" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "ARISTA03T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2b", + "admin_status": "up", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "3", + "lanes": "8,9,10,11", + "description": "ARISTA03T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3", + "pfc_asym": "off", + "speed": "50000", + "fec": "rs" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "ARISTA05T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "4", + "lanes": "12,13,14,15", + "description": "ARISTA03T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet16": { + "index": "5", + "lanes": "16,17,18,19", + "description": "ARISTA05T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "ARISTA09T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "6", + "lanes": "20,21,22,23", + "description": "ARISTA05T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6", + "pfc_asym": "off", + "speed": "200000", + "fec": "rs" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "ARISTA11T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "7", + "lanes": "24,25,26,27", + "description": "ARISTA07T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "ARISTA13T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "8", + "lanes": "28,29,30,31", + "description": "ARISTA07T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet32": { + "index": "9", + "lanes": "32,33,34,35", + "description": "ARISTA09T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "ARISTA15T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "10", + "lanes": "36,37,38,39", + "description": "ARISTA09T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "ARISTA02T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10b", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "11", + "lanes": "40,41,42,43", + "description": "ARISTA11T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "ARISTA04T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "12", + "lanes": "44,45,46,47", + "description": "ARISTA11T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet48": { + "index": "13", + "lanes": "48,49,50,51", + "description": "ARISTA13T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "ARISTA07T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "14", + "lanes": "52,53,54,55", + "description": "ARISTA13T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "ARISTA09T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "15", + "lanes": "56,57,58,59", + "description": "ARISTA15T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "16", + "lanes": "60,61,62,63", + "description": "ARISTA15T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet64": { + "index": "17", + "lanes": "64", + "description": "ARISTA01T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet65": { + "index": "17", + "lanes": "65", + "description": "ARISTA02T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet66": { + "index": "17", + "lanes": "66", + "description": "ARISTA03T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17c", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet67": { + "index": "17", + "lanes": "67", + "description": "ARISTA04T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17d", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "18", + "lanes": "72,73", + "description": "etp19a", + "admin_status": "up", + "mtu": "9100", + "alias": "etp19a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "admin_status": "up", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "21", + "lanes": "80,81", + "description": "ARISTA05T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "21", + "lanes": "82,83", + "description": "ARISTA06T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "admin_status": "up", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "23", + "lanes": "88,89,90,91", + "description": "ARISTA07T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp23", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "24", + "lanes": "92,93,94,95", + "description": "ARISTA08T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet96": { + "index": "25", + "lanes": "96,97,98,99", + "description": "ARISTA09T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "26", + "lanes": "100,101,102,103", + "description": "ARISTA10T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "10000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "27", + "lanes": "104,105,106,107", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "25000", + "fec": "rs" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "28", + "lanes": "108,109,110,111", + "description": "ARISTA12T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet112": { + "index": "29", + "lanes": "112,113,114,115", + "description": "ARISTA13T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "50000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "30", + "lanes": "116,117,118,119", + "description": "ARISTA14T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "31", + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp31", + "pfc_asym": "off", + "speed": "200000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "32", + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "32", + "lanes": "128,129,130,131", + "description": "etp33", + "mtu": "9100", + "alias": "etp33", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "34", + "lanes": "136,137", + "description": "etp35a", + "mtu": "9100", + "alias": "etp35a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "36", + "lanes": "144,145,146,147", + "description": "etp37", + "mtu": "9100", + "alias": "etp37", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "38", + "lanes": "152,153", + "description": "etp39a", + "mtu": "9100", + "alias": "etp39a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "40", + "lanes": "160,161", + "description": "etp41a", + "mtu": "9100", + "alias": "etp41a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "42", + "lanes": "168,169", + "description": "etp43a", + "mtu": "9100", + "alias": "etp43a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "44", + "lanes": "176,177", + "description": "etp45a", + "mtu": "9100", + "alias": "etp45a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "46", + "lanes": "184,185", + "description": "etp47a", + "mtu": "9100", + "alias": "etp47a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "48", + "lanes": "192,193", + "description": "etp49a", + "mtu": "9100", + "alias": "etp49a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "50", + "lanes": "200,201", + "description": "etp51a", + "mtu": "9100", + "alias": "etp51a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "52", + "lanes": "208,209", + "description": "etp53a", + "mtu": "9100", + "alias": "etp53a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "54", + "lanes": "216,217", + "description": "etp55a", + "mtu": "9100", + "alias": "etp55a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "56", + "lanes": "224,225", + "description": "etp57a", + "mtu": "9100", + "alias": "etp57a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "58", + "lanes": "232,233", + "description": "etp59a", + "mtu": "9100", + "alias": "etp59a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "60", + "lanes": "240,241", + "description": "etp61a", + "mtu": "9100", + "alias": "etp61a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "62", + "lanes": "248,249", + "description": "etp63a", + "mtu": "9100", + "alias": "etp63a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_6" + } +} diff --git a/tests/db_migrator_input/config_db/acs-msn3800-t0-version_1_0_6.json b/tests/db_migrator_input/config_db/acs-msn3800-t0-version_1_0_6.json new file mode 100644 index 0000000000..4568f39d37 --- /dev/null +++ b/tests/db_migrator_input/config_db/acs-msn3800-t0-version_1_0_6.json @@ -0,0 +1,1984 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet2|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet6|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet10|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet10|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet18|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet18|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet22|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet22|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet26|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet26|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet34|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet34|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet38|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet38|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet42|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet42|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet50|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet50|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet54|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet54|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet58|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet70|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet70|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet74|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet82|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet86|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet90|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet106|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet122|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet128|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet132|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet136|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet138|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet140|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet144|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet148|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet152|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet154|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet156|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet160|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet162|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet164|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet166|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet168|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet170|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet172|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet176|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet178|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet180|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet182|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet184|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet186|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet188|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet192|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet196|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet198|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet200|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet204|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet208|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet212|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet214|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet216|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet220|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet224|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet228|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet230|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet232|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet236|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet240|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet244|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet246|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet248|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet252|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13924352" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "13924352" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "13924352" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "34816", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "54272" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "38912", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "58368" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "41984", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "61440" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "45056", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "64512" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "50176", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "69632" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "56320", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "75776" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet2|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet2|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet6|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet10|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet18|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet22|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet26|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet34|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet38|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet42|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet50|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet54|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet70|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet54": "5m", + "Ethernet248": "5m", + "Ethernet246": "5m", + "Ethernet244": "5m", + "Ethernet240": "5m", + "Ethernet124": "5m", + "Ethernet122": "5m", + "Ethernet120": "5m", + "Ethernet128": "5m", + "Ethernet76": "5m", + "Ethernet74": "5m", + "Ethernet72": "5m", + "Ethernet70": "40m", + "Ethernet136": "5m", + "Ethernet132": "5m", + "Ethernet232": "5m", + "Ethernet230": "5m", + "Ethernet138": "5m", + "Ethernet236": "5m", + "Ethernet64": "40m", + "Ethernet66": "40m", + "Ethernet60": "5m", + "Ethernet68": "40m", + "Ethernet180": "5m", + "Ethernet182": "5m", + "Ethernet184": "5m", + "Ethernet186": "5m", + "Ethernet188": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet106": "5m", + "Ethernet58": "5m", + "Ethernet50": "5m", + "Ethernet52": "5m", + "Ethernet224": "5m", + "Ethernet56": "5m", + "Ethernet196": "5m", + "Ethernet192": "5m", + "Ethernet198": "5m", + "Ethernet116": "5m", + "Ethernet112": "5m", + "Ethernet48": "5m", + "Ethernet214": "5m", + "Ethernet216": "5m", + "Ethernet42": "5m", + "Ethernet40": "5m", + "Ethernet8": "5m", + "Ethernet2": "5m", + "Ethernet0": "5m", + "Ethernet6": "5m", + "Ethernet4": "5m", + "Ethernet200": "5m", + "Ethernet168": "5m", + "Ethernet204": "5m", + "Ethernet162": "5m", + "Ethernet208": "5m", + "Ethernet160": "5m", + "Ethernet166": "5m", + "Ethernet164": "5m", + "Ethernet38": "5m", + "Ethernet32": "5m", + "Ethernet36": "5m", + "Ethernet34": "5m", + "Ethernet178": "5m", + "Ethernet170": "5m", + "Ethernet172": "5m", + "Ethernet176": "5m", + "Ethernet28": "5m", + "Ethernet20": "5m", + "Ethernet22": "5m", + "Ethernet24": "5m", + "Ethernet26": "5m", + "Ethernet44": "5m", + "Ethernet212": "5m", + "Ethernet96": "5m", + "Ethernet90": "5m", + "Ethernet148": "5m", + "Ethernet92": "5m", + "Ethernet144": "5m", + "Ethernet140": "5m", + "Ethernet18": "5m", + "Ethernet16": "5m", + "Ethernet10": "5m", + "Ethernet12": "5m", + "Ethernet228": "5m", + "Ethernet88": "5m", + "Ethernet82": "5m", + "Ethernet80": "5m", + "Ethernet86": "5m", + "Ethernet84": "5m", + "Ethernet152": "5m", + "Ethernet156": "5m", + "Ethernet154": "5m", + "Ethernet220": "5m", + "Ethernet252": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN3800", + "default_bgp_status": "up", + "docker_routing_config_mode": "separated", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3800-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "cloudtype": "None", + "type": "ToRRouter", + "deployment_id": "1" + }, + "PORT|Ethernet0": { + "index": "0", + "lanes": "0,1", + "description": "etp1a", + "mtu": "9100", + "alias": "etp1a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "1", + "lanes": "4,5", + "description": "Servers1:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "Servers2:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2b", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9", + "description": "Servers3:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "Servers4:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "3", + "lanes": "12,13,14,15", + "description": "Servers5:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet16": { + "index": "4", + "lanes": "16,17", + "description": "Servers6:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "Servers7:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "5", + "lanes": "20,21", + "description": "Servers8:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "Servers9:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "6", + "lanes": "24,25", + "description": "Servers10:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "Servers11:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "7", + "lanes": "28,29,30,31", + "description": "Servers12:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet32": { + "index": "8", + "lanes": "32,33", + "description": "Servers13:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "Servers14:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "9", + "lanes": "36,37", + "description": "Servers15:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "Servers16:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "10", + "lanes": "40,41", + "description": "Servers17:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "Servers18:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "11", + "lanes": "44,45,46,47", + "description": "Servers19:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet48": { + "index": "12", + "lanes": "48,49", + "description": "Servers20:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "Servers21:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "13", + "lanes": "52,53", + "description": "Servers22:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "Servers23:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "14", + "lanes": "56,57", + "description": "etp15a", + "mtu": "9100", + "alias": "etp15a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "etp15b", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "15", + "lanes": "60,61,62,63", + "description": "etp16", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet64": { + "index": "16", + "lanes": "64,65", + "description": "ARISTA01T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet66": { + "index": "16", + "lanes": "66,67", + "description": "ARISTA02T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA03T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA04T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "18", + "lanes": "72,73", + "description": "etp19a", + "mtu": "9100", + "alias": "etp19a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "20", + "lanes": "80,81", + "description": "etp21a", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "20", + "lanes": "82,83", + "description": "etp21b", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "22", + "lanes": "88,89", + "description": "etp23a", + "mtu": "9100", + "alias": "etp23a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "23", + "lanes": "92,93,94,95", + "description": "etp24", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet96": { + "index": "24", + "lanes": "96,97,98,99", + "description": "etp25", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "25", + "lanes": "100,101,102,103", + "description": "etp26", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "26", + "lanes": "104,105", + "description": "etp27a", + "mtu": "9100", + "alias": "etp27a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "27", + "lanes": "108,109,110,111", + "description": "etp28", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet112": { + "index": "28", + "lanes": "112,113,114,115", + "description": "etp29", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "29", + "lanes": "116,117,118,119", + "description": "etp30", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "30", + "lanes": "120,121", + "description": "etp31a", + "mtu": "9100", + "alias": "etp31a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "31", + "lanes": "124,125,126,127", + "description": "etp32", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "32", + "lanes": "128,129,130,131", + "description": "etp33", + "mtu": "9100", + "alias": "etp33", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "34", + "lanes": "136,137", + "description": "etp35a", + "mtu": "9100", + "alias": "etp35a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "36", + "lanes": "144,145,146,147", + "description": "etp37", + "mtu": "9100", + "alias": "etp37", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "38", + "lanes": "152,153", + "description": "etp39a", + "mtu": "9100", + "alias": "etp39a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "40", + "lanes": "160,161", + "description": "etp41a", + "mtu": "9100", + "alias": "etp41a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "42", + "lanes": "168,169", + "description": "etp43a", + "mtu": "9100", + "alias": "etp43a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "44", + "lanes": "176,177", + "description": "etp45a", + "mtu": "9100", + "alias": "etp45a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "46", + "lanes": "184,185", + "description": "etp47a", + "mtu": "9100", + "alias": "etp47a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "48", + "lanes": "192,193", + "description": "etp49a", + "mtu": "9100", + "alias": "etp49a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "50", + "lanes": "200,201", + "description": "etp51a", + "mtu": "9100", + "alias": "etp51a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "52", + "lanes": "208,209", + "description": "etp53a", + "mtu": "9100", + "alias": "etp53a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "54", + "lanes": "216,217", + "description": "etp55a", + "mtu": "9100", + "alias": "etp55a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "56", + "lanes": "224,225", + "description": "etp57a", + "mtu": "9100", + "alias": "etp57a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "58", + "lanes": "232,233", + "description": "etp59a", + "mtu": "9100", + "alias": "etp59a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "60", + "lanes": "240,241", + "description": "etp61a", + "mtu": "9100", + "alias": "etp61a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "62", + "lanes": "248,249", + "description": "etp63a", + "mtu": "9100", + "alias": "etp63a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_6" + } +} diff --git a/tests/db_migrator_input/config_db/acs-msn3800-t1-version_1_0_6.json b/tests/db_migrator_input/config_db/acs-msn3800-t1-version_1_0_6.json new file mode 100644 index 0000000000..db9564a121 --- /dev/null +++ b/tests/db_migrator_input/config_db/acs-msn3800-t1-version_1_0_6.json @@ -0,0 +1,2102 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet2|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet6|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet10|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet10|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet18|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet18|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet22|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet22|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet26|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet26|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet34|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet34|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet38|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet38|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet42|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet42|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet50|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet50|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet54|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet54|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet58|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet58|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet70|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet70|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet74|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet82|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet86|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet90|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet106|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet122|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet128|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet132|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet136|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet138|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet140|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet144|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet148|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet152|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet154|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet156|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet160|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet162|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet164|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet166|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet168|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet170|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet172|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet176|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet178|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet180|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet182|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet184|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet186|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet188|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet192|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet196|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet198|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet200|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet204|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet208|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet212|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet214|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet216|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet220|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet224|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet228|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet230|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet232|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet236|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet240|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet244|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet246|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet248|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet252|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "12457984" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "12457984" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "12457984" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "35840", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "55296" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "44032", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "63488" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "40960", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "60416" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "59392", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "78848" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "46080", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "65536" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "75776", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "95232" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "45056", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "64512" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "50176", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "69632" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "87040", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "106496" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "56320", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "75776" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "66560", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "86016" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "140288", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "159744" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet2|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet2|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet6|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet10|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet18|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet22|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet26|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet34|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet38|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet42|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet50|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet54|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet58|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet58|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet58|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet70|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet54": "40m", + "Ethernet248": "5m", + "Ethernet246": "5m", + "Ethernet244": "5m", + "Ethernet240": "5m", + "Ethernet124": "5m", + "Ethernet122": "5m", + "Ethernet120": "5m", + "Ethernet128": "5m", + "Ethernet76": "5m", + "Ethernet74": "5m", + "Ethernet72": "5m", + "Ethernet70": "40m", + "Ethernet136": "5m", + "Ethernet132": "5m", + "Ethernet232": "5m", + "Ethernet230": "5m", + "Ethernet138": "5m", + "Ethernet236": "5m", + "Ethernet64": "40m", + "Ethernet66": "40m", + "Ethernet60": "40m", + "Ethernet68": "40m", + "Ethernet180": "5m", + "Ethernet182": "5m", + "Ethernet184": "5m", + "Ethernet186": "5m", + "Ethernet188": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet106": "5m", + "Ethernet58": "40m", + "Ethernet50": "40m", + "Ethernet52": "40m", + "Ethernet224": "5m", + "Ethernet56": "40m", + "Ethernet196": "5m", + "Ethernet192": "5m", + "Ethernet198": "5m", + "Ethernet116": "5m", + "Ethernet112": "5m", + "Ethernet48": "40m", + "Ethernet214": "5m", + "Ethernet216": "5m", + "Ethernet42": "40m", + "Ethernet40": "40m", + "Ethernet8": "300m", + "Ethernet2": "300m", + "Ethernet0": "300m", + "Ethernet6": "300m", + "Ethernet4": "300m", + "Ethernet200": "5m", + "Ethernet168": "5m", + "Ethernet204": "5m", + "Ethernet162": "5m", + "Ethernet208": "5m", + "Ethernet160": "5m", + "Ethernet166": "5m", + "Ethernet164": "5m", + "Ethernet38": "40m", + "Ethernet32": "300m", + "Ethernet36": "40m", + "Ethernet34": "300m", + "Ethernet178": "5m", + "Ethernet170": "5m", + "Ethernet172": "5m", + "Ethernet176": "5m", + "Ethernet28": "300m", + "Ethernet20": "300m", + "Ethernet22": "300m", + "Ethernet24": "300m", + "Ethernet26": "300m", + "Ethernet44": "40m", + "Ethernet212": "5m", + "Ethernet96": "5m", + "Ethernet90": "5m", + "Ethernet148": "5m", + "Ethernet92": "5m", + "Ethernet144": "5m", + "Ethernet140": "5m", + "Ethernet18": "300m", + "Ethernet16": "300m", + "Ethernet10": "300m", + "Ethernet12": "300m", + "Ethernet228": "5m", + "Ethernet88": "5m", + "Ethernet82": "5m", + "Ethernet80": "5m", + "Ethernet86": "5m", + "Ethernet84": "5m", + "Ethernet152": "5m", + "Ethernet156": "5m", + "Ethernet154": "5m", + "Ethernet220": "5m", + "Ethernet252": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN3800", + "default_bgp_status": "up", + "docker_routing_config_mode": "separated", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3800-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "cloudtype": "None", + "type": "LeafRouter", + "deployment_id": "1" + }, + "PORT|Ethernet0": { + "index": "0", + "lanes": "0,1", + "description": "ARISTA01T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "ARISTA01T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "1", + "lanes": "4,5", + "description": "ARISTA03T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "ARISTA03T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2b", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9", + "description": "ARISTA05T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "ARISTA05T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "3", + "lanes": "12,13,14,15", + "description": "ARISTA07T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet16": { + "index": "4", + "lanes": "16,17", + "description": "ARISTA07T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "ARISTA09T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "5", + "lanes": "20,21", + "description": "ARISTA09T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "ARISTA11T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "6", + "lanes": "24,25", + "description": "ARISTA11T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "ARISTA13T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "7", + "lanes": "28,29,30,31", + "description": "ARISTA13T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet32": { + "index": "8", + "lanes": "32,33", + "description": "ARISTA15T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "ARISTA15T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "9", + "lanes": "36,37", + "description": "ARISTA01T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "ARISTA02T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "10", + "lanes": "40,41", + "description": "ARISTA03T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11a", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "ARISTA04T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "11", + "lanes": "44,45,46,47", + "description": "ARISTA05T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet48": { + "index": "12", + "lanes": "48,49", + "description": "ARISTA06T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "ARISTA07T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "13", + "lanes": "52,53", + "description": "ARISTA08T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "ARISTA09T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "14", + "lanes": "56,57", + "description": "ARISTA10T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "15", + "lanes": "60,61,62,63", + "description": "ARISTA12T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet64": { + "index": "16", + "lanes": "64,65", + "description": "ARISTA13T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet66": { + "index": "16", + "lanes": "66,67", + "description": "ARISTA14T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA16T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "18", + "lanes": "72,73", + "description": "etp19a", + "mtu": "9100", + "alias": "etp19a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "20", + "lanes": "80,81", + "description": "etp21a", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "20", + "lanes": "82,83", + "description": "etp21b", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "22", + "lanes": "88,89", + "description": "etp23a", + "mtu": "9100", + "alias": "etp23a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "23", + "lanes": "92,93,94,95", + "description": "etp24", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet96": { + "index": "24", + "lanes": "96,97,98,99", + "description": "etp25", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "25", + "lanes": "100,101,102,103", + "description": "etp26", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "26", + "lanes": "104,105", + "description": "etp27a", + "mtu": "9100", + "alias": "etp27a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "27", + "lanes": "108,109,110,111", + "description": "etp28", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet112": { + "index": "28", + "lanes": "112,113,114,115", + "description": "etp29", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "29", + "lanes": "116,117,118,119", + "description": "etp30", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "30", + "lanes": "120,121", + "description": "etp31a", + "mtu": "9100", + "alias": "etp31a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "31", + "lanes": "124,125,126,127", + "description": "etp32", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "32", + "lanes": "128,129,130,131", + "description": "etp33", + "mtu": "9100", + "alias": "etp33", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "34", + "lanes": "136,137", + "description": "etp35a", + "mtu": "9100", + "alias": "etp35a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "36", + "lanes": "144,145,146,147", + "description": "etp37", + "mtu": "9100", + "alias": "etp37", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "38", + "lanes": "152,153", + "description": "etp39a", + "mtu": "9100", + "alias": "etp39a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "40", + "lanes": "160,161", + "description": "etp41a", + "mtu": "9100", + "alias": "etp41a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "42", + "lanes": "168,169", + "description": "etp43a", + "mtu": "9100", + "alias": "etp43a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "44", + "lanes": "176,177", + "description": "etp45a", + "mtu": "9100", + "alias": "etp45a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "46", + "lanes": "184,185", + "description": "etp47a", + "mtu": "9100", + "alias": "etp47a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "48", + "lanes": "192,193", + "description": "etp49a", + "mtu": "9100", + "alias": "etp49a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "50", + "lanes": "200,201", + "description": "etp51a", + "mtu": "9100", + "alias": "etp51a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "52", + "lanes": "208,209", + "description": "etp53a", + "mtu": "9100", + "alias": "etp53a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "54", + "lanes": "216,217", + "description": "etp55a", + "mtu": "9100", + "alias": "etp55a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "56", + "lanes": "224,225", + "description": "etp57a", + "mtu": "9100", + "alias": "etp57a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "58", + "lanes": "232,233", + "description": "etp59a", + "mtu": "9100", + "alias": "etp59a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "60", + "lanes": "240,241", + "description": "etp61a", + "mtu": "9100", + "alias": "etp61a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "62", + "lanes": "248,249", + "description": "etp63a", + "mtu": "9100", + "alias": "etp63a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_6" + } +} diff --git a/tests/db_migrator_input/config_db/acs-msn4700-t0-version_1_0_6.json b/tests/db_migrator_input/config_db/acs-msn4700-t0-version_1_0_6.json new file mode 100644 index 0000000000..b1064e9af2 --- /dev/null +++ b/tests/db_migrator_input/config_db/acs-msn4700-t0-version_1_0_6.json @@ -0,0 +1,2005 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_200000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet128|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet128|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet136|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet136|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet144|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet144|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet152|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet152|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet160|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet160|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet168|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet168|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet176|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet176|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet184|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet184|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet192|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet192|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet200|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet208|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet216|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + }, + "BUFFER_PG|Ethernet224|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet224|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_40m_profile]" + }, + "BUFFER_PG|Ethernet232|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet232|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_40m_profile]" + }, + "BUFFER_PG|Ethernet240|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet240|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet248|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet248|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "60817392" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "26451968" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "26451968" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "26451968" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet128": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet136": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet144": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet152": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet160": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet168": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet176": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet184": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet192": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet224": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet232": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet240": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet248": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet128": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet136": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet144": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet152": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet160": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet168": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet176": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet184": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet192": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet224": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet232": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet240": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet248": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "32768", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "52224" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "32768", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "52224" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "44032", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "63488" + }, + "BUFFER_PROFILE|pg_lossless_200000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "35840", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "55296" + }, + "BUFFER_PROFILE|pg_lossless_400000_5m_profile": { + "xon": "37888", + "dynamic_th": "0", + "xoff": "38912", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "86016" + }, + "BUFFER_PROFILE|pg_lossless_400000_40m_profile": { + "xon": "37888", + "dynamic_th": "0", + "xoff": "77824", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "124928" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet128|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet128|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet128|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet136|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet136|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet136|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet144|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet144|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet144|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet152|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet152|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet152|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet160|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet160|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet160|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet168|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet168|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet168|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet176|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet176|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet176|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet184|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet184|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet184|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet192|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet192|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet192|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet224|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet224|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet224|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet232|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet232|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet232|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet240|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet240|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet240|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet248|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet248|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet248|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet184": "5m", + "Ethernet0": "5m", + "Ethernet248": "40m", + "Ethernet104": "5m", + "Ethernet240": "40m", + "Ethernet200": "5m", + "Ethernet168": "5m", + "Ethernet120": "5m", + "Ethernet144": "5m", + "Ethernet208": "5m", + "Ethernet160": "5m", + "Ethernet224": "40m", + "Ethernet56": "5m", + "Ethernet128": "5m", + "Ethernet72": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet192": "5m", + "Ethernet96": "5m", + "Ethernet88": "5m", + "Ethernet80": "5m", + "Ethernet112": "5m", + "Ethernet152": "5m", + "Ethernet136": "5m", + "Ethernet48": "5m", + "Ethernet232": "40m", + "Ethernet216": "5m", + "Ethernet176": "5m", + "Ethernet40": "5m", + "Ethernet64": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN4700", + "default_bgp_status": "up", + "type": "ToRRouter", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn4700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "separated", + "cloudtype": "None" + }, + "PORT|Ethernet0": { + "index": "1", + "lanes": "0,1,2,3,4,5,6,7", + "description": "etp1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "10000", + "fec": "rs" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "ARISTA01T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1b", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "2", + "lanes": "4,5,6,7", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2", + "pfc_asym": "off", + "speed": "25000", + "fec": "rs" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "ARISTA03T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2b", + "admin_status": "up", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9,10,11,12,13,14,15", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2", + "pfc_asym": "off", + "speed": "25000", + "fec": "rs" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "ARISTA05T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "4", + "lanes": "12,13,14,15", + "description": "Servers2:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet16": { + "index": "3", + "lanes": "16,17,18,19,20,21,22,23", + "description": "Servers1:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3", + "pfc_asym": "off", + "speed": "50000", + "fec": "rs" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "ARISTA09T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "6", + "lanes": "20,21,22,23", + "description": "Servers4:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6", + "pfc_asym": "off", + "speed": "200000", + "fec": "rs" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "ARISTA11T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "4", + "lanes": "24,25,26,27,28,29,30,31", + "description": "Servers2:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "ARISTA13T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "8", + "lanes": "28,29,30,31", + "description": "Servers6:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet32": { + "index": "5", + "lanes": "32,33,34,35,36,37,38,39", + "description": "Servers3:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "ARISTA15T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "10", + "lanes": "36,37,38,39", + "description": "Servers8:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "ARISTA02T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10b", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "6", + "lanes": "40,41,42,43,44,45,46,47", + "description": "Servers4:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6", + "pfc_asym": "off", + "speed": "200000", + "fec": "rs" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "ARISTA04T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "12", + "lanes": "44,45,46,47", + "description": "Servers10:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet48": { + "index": "7", + "lanes": "48,49,50,51,52,53,54,55", + "description": "Servers5:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "ARISTA07T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "14", + "lanes": "52,53,54,55", + "description": "Servers12:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "ARISTA09T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "8", + "lanes": "56,57,58,59,60,61,62,63", + "description": "Servers6:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "16", + "lanes": "60,61,62,63", + "description": "Servers14:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet64": { + "index": "9", + "lanes": "64,65,66,67,68,69,70,71", + "description": "Servers7:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet65": { + "index": "17", + "lanes": "65", + "description": "Servers16:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet66": { + "index": "17", + "lanes": "66", + "description": "Servers17:eth0", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17c", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet67": { + "index": "17", + "lanes": "67", + "description": "Servers18:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17d", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "10", + "lanes": "72,73,74,75,76,77,78,79", + "description": "Servers8:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "admin_status": "up", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "11", + "lanes": "80,81,82,83,84,85,86,87", + "description": "Servers9:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "21", + "lanes": "82,83", + "description": "Servers20:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "admin_status": "up", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "12", + "lanes": "88,89,90,91,92,93,94,95", + "description": "Servers10:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "24", + "lanes": "92,93,94,95", + "description": "Servers22:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet96": { + "index": "13", + "lanes": "96,97,98,99,100,101,102,103", + "description": "Servers11:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "26", + "lanes": "100,101,102,103", + "description": "etp26", + "admin_status": "up", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "14", + "lanes": "104,105,106,107,108,109,110,111", + "description": "Servers12:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "28", + "lanes": "108,109,110,111", + "description": "etp28", + "admin_status": "up", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet112": { + "index": "15", + "lanes": "112,113,114,115,116,117,118,119", + "description": "Servers13:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "30", + "lanes": "116,117,118,119", + "description": "ARISTA02T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "16", + "lanes": "120,121,122,123,124,125,126,127", + "description": "Servers14:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "32", + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "17", + "lanes": "128,129,130,131,132,133,134,135", + "description": "Servers15:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "18", + "lanes": "136,137,138,139,140,141,142,143", + "description": "Servers16:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "19", + "lanes": "144,145,146,147,148,149,150,151", + "description": "Servers17:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp19", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "20", + "lanes": "152,153,154,155,156,157,158,159", + "description": "Servers18:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "21", + "lanes": "160,161,162,163,164,165,166,167", + "description": "Servers19:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "22", + "lanes": "168,169,170,171,172,173,174,175", + "description": "Servers20:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp22", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "23", + "lanes": "176,177,178,179,180,181,182,183", + "description": "Servers21:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp23", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "24", + "lanes": "184,185,186,187,188,189,190,191", + "description": "Servers22:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "25", + "lanes": "192,193,194,195,196,197,198,199", + "description": "Servers23:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "26", + "lanes": "200,201,202,203,204,205,206,207", + "description": "etp26", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "27", + "lanes": "208,209,210,211,212,213,214,215", + "description": "etp27", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "28", + "lanes": "216,217,218,219,220,221,222,223", + "description": "etp28", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "29", + "lanes": "224,225,226,227,228,229,230,231", + "description": "ARISTA01T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "30", + "lanes": "232,233,234,235,236,237,238,239", + "description": "ARISTA02T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "31", + "lanes": "240,241,242,243,244,245,246,247", + "description": "ARISTA03T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp31", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "32", + "lanes": "248,249,250,251,252,253,254,255", + "description": "ARISTA04T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_6" + } +} diff --git a/tests/db_migrator_input/config_db/acs-msn4700-t1-version_1_0_6.json b/tests/db_migrator_input/config_db/acs-msn4700-t1-version_1_0_6.json new file mode 100644 index 0000000000..3e83808391 --- /dev/null +++ b/tests/db_migrator_input/config_db/acs-msn4700-t1-version_1_0_6.json @@ -0,0 +1,2109 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_200000_300m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet128|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet128|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet136|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet136|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet144|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet144|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet152|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet152|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet160|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet160|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet168|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet168|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_200000_40m_profile]" + }, + "BUFFER_PG|Ethernet176|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet176|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_40m_profile]" + }, + "BUFFER_PG|Ethernet184|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet184|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_40m_profile]" + }, + "BUFFER_PG|Ethernet192|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet192|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_40m_profile]" + }, + "BUFFER_PG|Ethernet200|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet200|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_40m_profile]" + }, + "BUFFER_PG|Ethernet208|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet208|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_40m_profile]" + }, + "BUFFER_PG|Ethernet216|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet216|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_40m_profile]" + }, + "BUFFER_PG|Ethernet224|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet224|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_40m_profile]" + }, + "BUFFER_PG|Ethernet232|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet232|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_400000_40m_profile]" + }, + "BUFFER_PG|Ethernet240|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet240|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet248|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet248|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "60817392" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "20627456" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "20627456" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "20627456" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet128": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet136": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet144": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet152": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet160": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet168": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet176": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet184": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet192": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet200": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet208": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet216": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet224": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet232": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet240": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet248": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet128": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet136": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet144": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet152": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet160": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet168": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet176": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet184": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet192": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet200": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet208": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet216": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet224": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet232": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet240": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet248": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "53248" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "40960", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "60416" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "35840", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "55296" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "54272", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "73728" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "37888", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "57344" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "66560", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "86016" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "38912", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "58368" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "75776", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "95232" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "44032", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "63488" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "117760", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "137216" + }, + "BUFFER_PROFILE|pg_lossless_200000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "55296", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "74752" + }, + "BUFFER_PROFILE|pg_lossless_200000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "203776", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "223232" + }, + "BUFFER_PROFILE|pg_lossless_400000_40m_profile": { + "xon": "37888", + "dynamic_th": "0", + "xoff": "77824", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "124928" + }, + "BUFFER_PROFILE|pg_lossless_400000_300m_profile": { + "xon": "37888", + "dynamic_th": "0", + "xoff": "373760", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "420864" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet128|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet128|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet128|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet136|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet136|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet136|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet144|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet144|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet144|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet152|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet152|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet152|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet160|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet160|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet160|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet168|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet168|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet168|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet176|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet176|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet176|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet184|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet184|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet184|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet192|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet192|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet192|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet200|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet200|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet200|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet208|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet208|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet208|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet216|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet216|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet216|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet224|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet224|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet224|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet232|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet232|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet232|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet240|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet240|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet240|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet248|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet248|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet248|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet184": "40m", + "Ethernet0": "300m", + "Ethernet248": "40m", + "Ethernet104": "300m", + "Ethernet240": "40m", + "Ethernet200": "40m", + "Ethernet168": "40m", + "Ethernet120": "300m", + "Ethernet144": "40m", + "Ethernet208": "40m", + "Ethernet160": "40m", + "Ethernet224": "40m", + "Ethernet56": "300m", + "Ethernet128": "40m", + "Ethernet72": "300m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet192": "40m", + "Ethernet96": "300m", + "Ethernet88": "300m", + "Ethernet80": "300m", + "Ethernet112": "300m", + "Ethernet152": "40m", + "Ethernet136": "40m", + "Ethernet48": "300m", + "Ethernet232": "40m", + "Ethernet216": "40m", + "Ethernet176": "40m", + "Ethernet40": "300m", + "Ethernet64": "300m", + "Ethernet24": "300m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN4700", + "default_bgp_status": "up", + "type": "LeafRouter", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn4700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "separated", + "cloudtype": "None" + }, + "PORT|Ethernet0": { + "index": "1", + "lanes": "0,1,2,3,4,5,6,7", + "description": "ARISTA01T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "10000", + "fec": "rs" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "ARISTA01T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1b", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "2", + "lanes": "4,5,6,7", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2", + "pfc_asym": "off", + "speed": "25000", + "fec": "rs" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "ARISTA03T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2b", + "admin_status": "up", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9,10,11,12,13,14,15", + "description": "ARISTA01T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2", + "pfc_asym": "off", + "speed": "25000", + "fec": "rs" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "ARISTA05T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "4", + "lanes": "12,13,14,15", + "description": "Servers2:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet16": { + "index": "3", + "lanes": "16,17,18,19,20,21,22,23", + "description": "ARISTA03T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3", + "pfc_asym": "off", + "speed": "50000", + "fec": "rs" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "ARISTA09T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "6", + "lanes": "20,21,22,23", + "description": "Servers4:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6", + "pfc_asym": "off", + "speed": "200000", + "fec": "rs" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "ARISTA11T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "4", + "lanes": "24,25,26,27,28,29,30,31", + "description": "ARISTA03T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "ARISTA13T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "8", + "lanes": "28,29,30,31", + "description": "Servers6:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet32": { + "index": "5", + "lanes": "32,33,34,35,36,37,38,39", + "description": "ARISTA05T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "ARISTA15T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "10", + "lanes": "36,37,38,39", + "description": "Servers8:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "ARISTA02T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10b", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "6", + "lanes": "40,41,42,43,44,45,46,47", + "description": "ARISTA05T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6", + "pfc_asym": "off", + "speed": "200000", + "fec": "rs" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "ARISTA04T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "12", + "lanes": "44,45,46,47", + "description": "Servers10:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet48": { + "index": "7", + "lanes": "48,49,50,51,52,53,54,55", + "description": "ARISTA07T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "ARISTA07T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "14", + "lanes": "52,53,54,55", + "description": "Servers12:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "ARISTA09T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "8", + "lanes": "56,57,58,59,60,61,62,63", + "description": "ARISTA07T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "16", + "lanes": "60,61,62,63", + "description": "Servers14:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet64": { + "index": "9", + "lanes": "64,65,66,67,68,69,70,71", + "description": "ARISTA09T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet65": { + "index": "17", + "lanes": "65", + "description": "Servers16:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet66": { + "index": "17", + "lanes": "66", + "description": "Servers17:eth0", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17c", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet67": { + "index": "17", + "lanes": "67", + "description": "Servers18:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17d", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "10", + "lanes": "72,73,74,75,76,77,78,79", + "description": "ARISTA09T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "admin_status": "up", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "11", + "lanes": "80,81,82,83,84,85,86,87", + "description": "ARISTA11T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "21", + "lanes": "82,83", + "description": "Servers20:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "admin_status": "up", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "12", + "lanes": "88,89,90,91,92,93,94,95", + "description": "ARISTA11T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "24", + "lanes": "92,93,94,95", + "description": "Servers22:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet96": { + "index": "13", + "lanes": "96,97,98,99,100,101,102,103", + "description": "ARISTA13T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "26", + "lanes": "100,101,102,103", + "description": "etp26", + "admin_status": "up", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "14", + "lanes": "104,105,106,107,108,109,110,111", + "description": "ARISTA13T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "28", + "lanes": "108,109,110,111", + "description": "etp28", + "admin_status": "up", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet112": { + "index": "15", + "lanes": "112,113,114,115,116,117,118,119", + "description": "ARISTA15T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "30", + "lanes": "116,117,118,119", + "description": "ARISTA02T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "16", + "lanes": "120,121,122,123,124,125,126,127", + "description": "ARISTA15T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "32", + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "17", + "lanes": "128,129,130,131,132,133,134,135", + "description": "ARISTA01T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17", + "pfc_asym": "off", + "speed": "10000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "18", + "lanes": "136,137,138,139,140,141,142,143", + "description": "ARISTA02T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "19", + "lanes": "144,145,146,147,148,149,150,151", + "description": "ARISTA03T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp19", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "20", + "lanes": "152,153,154,155,156,157,158,159", + "description": "ARISTA04T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "21", + "lanes": "160,161,162,163,164,165,166,167", + "description": "ARISTA05T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "22", + "lanes": "168,169,170,171,172,173,174,175", + "description": "ARISTA06T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp22", + "pfc_asym": "off", + "speed": "200000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "23", + "lanes": "176,177,178,179,180,181,182,183", + "description": "ARISTA07T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp23", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "24", + "lanes": "184,185,186,187,188,189,190,191", + "description": "ARISTA08T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "25", + "lanes": "192,193,194,195,196,197,198,199", + "description": "ARISTA09T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "26", + "lanes": "200,201,202,203,204,205,206,207", + "description": "ARISTA10T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "27", + "lanes": "208,209,210,211,212,213,214,215", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "28", + "lanes": "216,217,218,219,220,221,222,223", + "description": "ARISTA12T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "29", + "lanes": "224,225,226,227,228,229,230,231", + "description": "ARISTA13T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "30", + "lanes": "232,233,234,235,236,237,238,239", + "description": "ARISTA14T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "31", + "lanes": "240,241,242,243,244,245,246,247", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp31", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "32", + "lanes": "248,249,250,251,252,253,254,255", + "description": "ARISTA16T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_6" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-single-pool-t0-version_1_0_6.json b/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-single-pool-t0-version_1_0_6.json new file mode 100644 index 0000000000..6f5c2a0278 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-single-pool-t0-version_1_0_6.json @@ -0,0 +1,1055 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "7719936" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "1032192", + "type": "ingress", + "mode": "dynamic", + "size": "7719936" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet68": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet76": "5m", + "Ethernet72": "5m", + "Ethernet64": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet88": "5m", + "Ethernet116": "40m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet84": "5m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet28": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-C28D8", + "default_bgp_status": "up", + "type": "ToRRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "100000", + "description": "etp1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "10000", + "description": "Servers0:eth0" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "25000", + "description": "Servers1:eth0" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "40000", + "description": "Servers2:eth0" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "50000", + "description": "Servers3:eth0" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "Servers4:eth0" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "Servers5:eth0" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "Servers6:eth0" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "Servers7:eth0" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "Servers8:eth0" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "Servers9:eth0" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "Servers10:eth0" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "Servers11:eth0" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "Servers12:eth0" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "Servers13:eth0" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "Servers14:eth0" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "100000", + "description": "Servers15:eth0" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "100000", + "description": "Servers16:eth0" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "100000", + "description": "Servers17:eth0" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "100000", + "description": "Servers18:eth0" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "Servers19:eth0" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "Servers20:eth0" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "Servers21:eth0" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "Servers22:eth0" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "Servers23:eth0" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "description": "etp26" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "description": "etp27" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "description": "etp28" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA01T1:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA02T1:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_6" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-single-pool-t1-version_1_0_6.json b/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-single-pool-t1-version_1_0_6.json new file mode 100644 index 0000000000..69ea7c2115 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-single-pool-t1-version_1_0_6.json @@ -0,0 +1,1152 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "9686016" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "1179648", + "type": "ingress", + "mode": "dynamic", + "size": "9686016" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "27648", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "24576", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "36864", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "45056", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "50176", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "78848", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet68": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet76": "40m", + "Ethernet72": "40m", + "Ethernet64": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet88": "40m", + "Ethernet116": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet84": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet28": "300m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet24": "300m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-C28D8", + "default_bgp_status": "up", + "type": "LeafRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T2:Ethernet1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA01T2:Ethernet2" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T2:Ethernet1" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA03T2:Ethernet2" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet1" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet2" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet1" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet2" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet1" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet2" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet1" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet2" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet1" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet2" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet1" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet2" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T0:Ethernet1" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA02T0:Ethernet1" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T0:Ethernet1" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA04T0:Ethernet1" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T0:Ethernet1" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA06T0:Ethernet1" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T0:Ethernet1" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA08T0:Ethernet1" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T0:Ethernet1" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp26", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA10T0:Ethernet1" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp27", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T0:Ethernet1" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp28", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA12T0:Ethernet1" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T0:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA14T0:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_6" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t0-version_1_0_6.json b/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t0-version_1_0_6.json new file mode 100644 index 0000000000..3a0845ab21 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t0-version_1_0_6.json @@ -0,0 +1,1060 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "3859968" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "1032192", + "type": "ingress", + "mode": "dynamic", + "size": "3859968" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "3859968" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet68": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet76": "5m", + "Ethernet72": "5m", + "Ethernet64": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet88": "5m", + "Ethernet116": "40m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet84": "5m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet28": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-C28D8", + "default_bgp_status": "up", + "type": "ToRRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "100000", + "description": "etp1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "10000", + "description": "Servers0:eth0" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "25000", + "description": "Servers1:eth0" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "40000", + "description": "Servers2:eth0" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "50000", + "description": "Servers3:eth0" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "Servers4:eth0" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "Servers5:eth0" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "Servers6:eth0" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "Servers7:eth0" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "Servers8:eth0" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "Servers9:eth0" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "Servers10:eth0" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "Servers11:eth0" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "Servers12:eth0" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "Servers13:eth0" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "Servers14:eth0" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "100000", + "description": "Servers15:eth0" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "100000", + "description": "Servers16:eth0" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "100000", + "description": "Servers17:eth0" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "100000", + "description": "Servers18:eth0" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "Servers19:eth0" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "Servers20:eth0" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "Servers21:eth0" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "Servers22:eth0" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "Servers23:eth0" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "description": "etp26" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "description": "etp27" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "description": "etp28" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA01T1:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA02T1:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_6" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t1-version_1_0_6.json b/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t1-version_1_0_6.json new file mode 100644 index 0000000000..da4055224f --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t1-version_1_0_6.json @@ -0,0 +1,1157 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "4843008" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "1179648", + "type": "ingress", + "mode": "dynamic", + "size": "4843008" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "4843008" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "27648", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "24576", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "36864", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "45056", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "50176", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "78848", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet68": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet76": "40m", + "Ethernet72": "40m", + "Ethernet64": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet88": "40m", + "Ethernet116": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet84": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet28": "300m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet24": "300m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-C28D8", + "default_bgp_status": "up", + "type": "LeafRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T2:Ethernet1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA01T2:Ethernet2" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T2:Ethernet1" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA03T2:Ethernet2" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet1" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet2" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet1" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet2" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet1" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet2" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet1" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet2" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet1" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet2" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet1" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet2" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T0:Ethernet1" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA02T0:Ethernet1" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T0:Ethernet1" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA04T0:Ethernet1" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T0:Ethernet1" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA06T0:Ethernet1" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T0:Ethernet1" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA08T0:Ethernet1" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T0:Ethernet1" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp26", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA10T0:Ethernet1" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp27", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T0:Ethernet1" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp28", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA12T0:Ethernet1" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T0:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA14T0:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_6" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-d40c8s8-t0-version_1_0_5.json b/tests/db_migrator_input/config_db/mellanox-sn2700-d40c8s8-t0-version_1_0_5.json index 5c37717595..0fb8c9bb02 100644 --- a/tests/db_migrator_input/config_db/mellanox-sn2700-d40c8s8-t0-version_1_0_5.json +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-d40c8s8-t0-version_1_0_5.json @@ -187,18 +187,13 @@ "BUFFER_POOL|egress_lossy_pool": { "type": "egress", "mode": "dynamic", - "size": "3859968" + "size": "7719936" }, "BUFFER_POOL|ingress_lossless_pool": { "xoff": "1032192", "type": "ingress", "mode": "dynamic", - "size": "3859968" - }, - "BUFFER_POOL|ingress_lossy_pool": { - "type": "ingress", - "mode": "dynamic", - "size": "3859968" + "size": "7719936" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" @@ -285,88 +280,88 @@ "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PROFILE|egress_lossless_profile": { "dynamic_th": "7", @@ -385,7 +380,7 @@ }, "BUFFER_PROFILE|ingress_lossy_profile": { "dynamic_th": "3", - "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", "size": "0" }, "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-d40c8s8-t0-version_1_0_6.json b/tests/db_migrator_input/config_db/mellanox-sn2700-d40c8s8-t0-version_1_0_6.json new file mode 100644 index 0000000000..bbb81ed3f7 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-d40c8s8-t0-version_1_0_6.json @@ -0,0 +1,1055 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "7719936" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "1032192", + "type": "ingress", + "mode": "dynamic", + "size": "7719936" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet68": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet76": "5m", + "Ethernet72": "5m", + "Ethernet64": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet88": "5m", + "Ethernet116": "40m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet84": "5m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet28": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-D40C8S8", + "default_bgp_status": "up", + "type": "ToRRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "100000", + "description": "etp1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "10000", + "description": "Servers0:eth0" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "25000", + "description": "Servers1:eth0" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "40000", + "description": "Servers2:eth0" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "50000", + "description": "Servers3:eth0" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "Servers4:eth0" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "Servers5:eth0" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "Servers6:eth0" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "Servers7:eth0" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "Servers8:eth0" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "Servers9:eth0" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "Servers10:eth0" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "Servers11:eth0" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "Servers12:eth0" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "Servers13:eth0" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "Servers14:eth0" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "100000", + "description": "Servers15:eth0" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "100000", + "description": "Servers16:eth0" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "100000", + "description": "Servers17:eth0" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "100000", + "description": "Servers18:eth0" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "Servers19:eth0" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "Servers20:eth0" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "Servers21:eth0" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "Servers22:eth0" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "Servers23:eth0" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "description": "etp26" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "description": "etp27" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "description": "etp28" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA01T1:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA02T1:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_6" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-d40c8s8-t0-version_2_0_0.json b/tests/db_migrator_input/config_db/mellanox-sn2700-d40c8s8-t0-version_2_0_0.json index b374de1c84..196107774f 100644 --- a/tests/db_migrator_input/config_db/mellanox-sn2700-d40c8s8-t0-version_2_0_0.json +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-d40c8s8-t0-version_2_0_0.json @@ -187,18 +187,13 @@ "BUFFER_POOL|egress_lossy_pool": { "type": "egress", "mode": "dynamic", - "size": "3859968" + "size": "7719936" }, "BUFFER_POOL|ingress_lossless_pool": { "xoff": "1032192", "type": "ingress", "mode": "dynamic", - "size": "3859968" - }, - "BUFFER_POOL|ingress_lossy_pool": { - "type": "ingress", - "mode": "dynamic", - "size": "3859968" + "size": "7719936" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" @@ -285,88 +280,88 @@ "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PROFILE|egress_lossless_profile": { "dynamic_th": "7", @@ -385,7 +380,7 @@ }, "BUFFER_PROFILE|ingress_lossy_profile": { "dynamic_th": "3", - "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", "size": "0" }, "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-d40c8s8-t1-version_1_0_5.json b/tests/db_migrator_input/config_db/mellanox-sn2700-d40c8s8-t1-version_1_0_5.json index d38706fdf5..62dca27b19 100644 --- a/tests/db_migrator_input/config_db/mellanox-sn2700-d40c8s8-t1-version_1_0_5.json +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-d40c8s8-t1-version_1_0_5.json @@ -199,18 +199,13 @@ "BUFFER_POOL|egress_lossy_pool": { "type": "egress", "mode": "dynamic", - "size": "4843008" + "size": "9686016" }, "BUFFER_POOL|ingress_lossless_pool": { "xoff": "1179648", "type": "ingress", "mode": "dynamic", - "size": "4843008" - }, - "BUFFER_POOL|ingress_lossy_pool": { - "type": "ingress", - "mode": "dynamic", - "size": "4843008" + "size": "9686016" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" @@ -309,100 +304,100 @@ "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PROFILE|egress_lossless_profile": { "dynamic_th": "7", @@ -421,7 +416,7 @@ }, "BUFFER_PROFILE|ingress_lossy_profile": { "dynamic_th": "3", - "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", "size": "0" }, "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-d40c8s8-t1-version_1_0_6.json b/tests/db_migrator_input/config_db/mellanox-sn2700-d40c8s8-t1-version_1_0_6.json new file mode 100644 index 0000000000..7ded706c5a --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-d40c8s8-t1-version_1_0_6.json @@ -0,0 +1,1152 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "9686016" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "1179648", + "type": "ingress", + "mode": "dynamic", + "size": "9686016" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "27648", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "24576", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "36864", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "45056", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "50176", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "78848", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet68": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet76": "40m", + "Ethernet72": "40m", + "Ethernet64": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet88": "40m", + "Ethernet116": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet84": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet28": "300m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet24": "300m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-D40C8S8", + "default_bgp_status": "up", + "type": "LeafRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T2:Ethernet1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA01T2:Ethernet2" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T2:Ethernet1" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA03T2:Ethernet2" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet1" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet2" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet1" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet2" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet1" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet2" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet1" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet2" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet1" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet2" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet1" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet2" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T0:Ethernet1" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA02T0:Ethernet1" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T0:Ethernet1" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA04T0:Ethernet1" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T0:Ethernet1" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA06T0:Ethernet1" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T0:Ethernet1" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA08T0:Ethernet1" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T0:Ethernet1" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp26", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA10T0:Ethernet1" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp27", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T0:Ethernet1" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp28", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA12T0:Ethernet1" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T0:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA14T0:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_6" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-d40c8s8-t1-version_2_0_0.json b/tests/db_migrator_input/config_db/mellanox-sn2700-d40c8s8-t1-version_2_0_0.json index bbc5ebc3da..c0cd7bbd61 100644 --- a/tests/db_migrator_input/config_db/mellanox-sn2700-d40c8s8-t1-version_2_0_0.json +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-d40c8s8-t1-version_2_0_0.json @@ -199,18 +199,13 @@ "BUFFER_POOL|egress_lossy_pool": { "type": "egress", "mode": "dynamic", - "size": "4843008" + "size": "9686016" }, "BUFFER_POOL|ingress_lossless_pool": { "xoff": "1179648", "type": "ingress", "mode": "dynamic", - "size": "4843008" - }, - "BUFFER_POOL|ingress_lossy_pool": { - "type": "ingress", - "mode": "dynamic", - "size": "4843008" + "size": "9686016" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" @@ -309,100 +304,100 @@ "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" }, "BUFFER_PROFILE|egress_lossless_profile": { "dynamic_th": "7", @@ -421,7 +416,7 @@ }, "BUFFER_PROFILE|ingress_lossy_profile": { "dynamic_th": "3", - "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", "size": "0" }, "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-single-pool-t0-version_1_0_6.json b/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-single-pool-t0-version_1_0_6.json new file mode 100644 index 0000000000..efb84c87b0 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-single-pool-t0-version_1_0_6.json @@ -0,0 +1,1055 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "7719936" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "1032192", + "type": "ingress", + "mode": "dynamic", + "size": "7719936" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet68": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet76": "5m", + "Ethernet72": "5m", + "Ethernet64": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet88": "5m", + "Ethernet116": "40m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet84": "5m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet28": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-D48C8", + "default_bgp_status": "up", + "type": "ToRRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "100000", + "description": "etp1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "10000", + "description": "Servers0:eth0" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "25000", + "description": "Servers1:eth0" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "40000", + "description": "Servers2:eth0" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "50000", + "description": "Servers3:eth0" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "Servers4:eth0" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "Servers5:eth0" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "Servers6:eth0" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "Servers7:eth0" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "Servers8:eth0" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "Servers9:eth0" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "Servers10:eth0" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "Servers11:eth0" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "Servers12:eth0" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "Servers13:eth0" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "Servers14:eth0" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "100000", + "description": "Servers15:eth0" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "100000", + "description": "Servers16:eth0" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "100000", + "description": "Servers17:eth0" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "100000", + "description": "Servers18:eth0" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "Servers19:eth0" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "Servers20:eth0" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "Servers21:eth0" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "Servers22:eth0" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "Servers23:eth0" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "description": "etp26" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "description": "etp27" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "description": "etp28" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA01T1:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA02T1:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_6" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-single-pool-t1-version_1_0_6.json b/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-single-pool-t1-version_1_0_6.json new file mode 100644 index 0000000000..0167a74cea --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-single-pool-t1-version_1_0_6.json @@ -0,0 +1,1152 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "9686016" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "1179648", + "type": "ingress", + "mode": "dynamic", + "size": "9686016" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "27648", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "24576", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "36864", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "45056", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "50176", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "78848", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet68": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet76": "40m", + "Ethernet72": "40m", + "Ethernet64": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet88": "40m", + "Ethernet116": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet84": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet28": "300m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet24": "300m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-D48C8", + "default_bgp_status": "up", + "type": "LeafRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T2:Ethernet1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA01T2:Ethernet2" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T2:Ethernet1" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA03T2:Ethernet2" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet1" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet2" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet1" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet2" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet1" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet2" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet1" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet2" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet1" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet2" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet1" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet2" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T0:Ethernet1" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA02T0:Ethernet1" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T0:Ethernet1" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA04T0:Ethernet1" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T0:Ethernet1" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA06T0:Ethernet1" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T0:Ethernet1" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA08T0:Ethernet1" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T0:Ethernet1" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp26", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA10T0:Ethernet1" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp27", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T0:Ethernet1" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp28", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA12T0:Ethernet1" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T0:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA14T0:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_6" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t0-version_1_0_6.json b/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t0-version_1_0_6.json new file mode 100644 index 0000000000..8627cb1098 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t0-version_1_0_6.json @@ -0,0 +1,1060 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "3859968" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "1032192", + "type": "ingress", + "mode": "dynamic", + "size": "3859968" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "3859968" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet68": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet76": "5m", + "Ethernet72": "5m", + "Ethernet64": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet88": "5m", + "Ethernet116": "40m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet84": "5m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet28": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-D48C8", + "default_bgp_status": "up", + "type": "ToRRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "100000", + "description": "etp1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "10000", + "description": "Servers0:eth0" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "25000", + "description": "Servers1:eth0" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "40000", + "description": "Servers2:eth0" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "50000", + "description": "Servers3:eth0" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "Servers4:eth0" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "Servers5:eth0" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "Servers6:eth0" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "Servers7:eth0" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "Servers8:eth0" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "Servers9:eth0" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "Servers10:eth0" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "Servers11:eth0" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "Servers12:eth0" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "Servers13:eth0" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "Servers14:eth0" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "100000", + "description": "Servers15:eth0" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "100000", + "description": "Servers16:eth0" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "100000", + "description": "Servers17:eth0" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "100000", + "description": "Servers18:eth0" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "Servers19:eth0" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "Servers20:eth0" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "Servers21:eth0" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "Servers22:eth0" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "Servers23:eth0" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "description": "etp26" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "description": "etp27" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "description": "etp28" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA01T1:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA02T1:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_6" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t1-version_1_0_6.json b/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t1-version_1_0_6.json new file mode 100644 index 0000000000..d0217ee009 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t1-version_1_0_6.json @@ -0,0 +1,1157 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "4843008" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "1179648", + "type": "ingress", + "mode": "dynamic", + "size": "4843008" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "4843008" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "27648", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "24576", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "36864", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "45056", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "50176", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "78848", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet68": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet76": "40m", + "Ethernet72": "40m", + "Ethernet64": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet88": "40m", + "Ethernet116": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet84": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet28": "300m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet24": "300m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-D48C8", + "default_bgp_status": "up", + "type": "LeafRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T2:Ethernet1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA01T2:Ethernet2" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T2:Ethernet1" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA03T2:Ethernet2" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet1" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet2" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet1" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet2" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet1" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet2" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet1" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet2" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet1" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet2" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet1" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet2" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T0:Ethernet1" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA02T0:Ethernet1" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T0:Ethernet1" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA04T0:Ethernet1" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T0:Ethernet1" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA06T0:Ethernet1" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T0:Ethernet1" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA08T0:Ethernet1" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T0:Ethernet1" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp26", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA10T0:Ethernet1" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp27", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T0:Ethernet1" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp28", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA12T0:Ethernet1" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T0:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA14T0:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_6" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-single-pool-t0-version_1_0_6.json b/tests/db_migrator_input/config_db/mellanox-sn2700-single-pool-t0-version_1_0_6.json new file mode 100644 index 0000000000..0994cbf43a --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-single-pool-t0-version_1_0_6.json @@ -0,0 +1,1055 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "10177536" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "688128", + "type": "ingress", + "mode": "dynamic", + "size": "10177536" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet76": "5m", + "Ethernet72": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet28": "5m", + "Ethernet88": "5m", + "Ethernet24": "5m", + "Ethernet116": "40m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet84": "5m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet64": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet68": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700", + "default_bgp_status": "up", + "docker_routing_config_mode": "unified", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "type": "ToRRouter" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "10000", + "description": "etp1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "Servers0:eth0" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "Servers1:eth0" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "Servers2:eth0" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "Servers3:eth0" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "Servers4:eth0" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "Servers5:eth0" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "Servers6:eth0" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "Servers7:eth0" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "Servers8:eth0" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "Servers9:eth0" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "Servers10:eth0" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "Servers11:eth0" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "Servers12:eth0" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "Servers13:eth0" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "Servers14:eth0" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "100000", + "description": "Servers15:eth0" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "100000", + "description": "Servers16:eth0" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "100000", + "description": "Servers17:eth0" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "100000", + "description": "Servers18:eth0" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "Servers19:eth0" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "Servers20:eth0" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "Servers21:eth0" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "Servers22:eth0" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "Servers23:eth0" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "description": "etp26" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "description": "etp27" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "description": "etp28" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA01T1:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA02T1:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_6" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-single-pool-t1-version_1_0_6.json b/tests/db_migrator_input/config_db/mellanox-sn2700-single-pool-t1-version_1_0_6.json new file mode 100644 index 0000000000..44e58babe0 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-single-pool-t1-version_1_0_6.json @@ -0,0 +1,1152 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "8719360" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "2146304", + "type": "ingress", + "mode": "dynamic", + "size": "8719360" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "27648", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "24576", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "36864", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "45056", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "50176", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "78848", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet68": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet76": "40m", + "Ethernet72": "40m", + "Ethernet64": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet88": "40m", + "Ethernet116": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet84": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet28": "300m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet24": "300m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700", + "default_bgp_status": "up", + "type": "LeafRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T2:Ethernet1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA01T2:Ethernet2" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T2:Ethernet1" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA03T2:Ethernet2" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet1" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet2" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet1" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet2" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet1" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet2" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet1" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet2" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet1" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet2" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet1" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet2" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T0:Ethernet1" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA02T0:Ethernet1" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T0:Ethernet1" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA04T0:Ethernet1" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T0:Ethernet1" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA06T0:Ethernet1" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T0:Ethernet1" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA08T0:Ethernet1" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T0:Ethernet1" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp26", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA10T0:Ethernet1" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp27", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T0:Ethernet1" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp28", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA12T0:Ethernet1" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T0:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA14T0:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_6" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-single-pool-t1-version_2_0_0.json b/tests/db_migrator_input/config_db/mellanox-sn2700-single-pool-t1-version_2_0_0.json index cff776368e..8f2490b45f 100644 --- a/tests/db_migrator_input/config_db/mellanox-sn2700-single-pool-t1-version_2_0_0.json +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-single-pool-t1-version_2_0_0.json @@ -199,13 +199,13 @@ "BUFFER_POOL|egress_lossy_pool": { "type": "egress", "mode": "dynamic", - "size": "9292800" + "size": "8719360" }, "BUFFER_POOL|ingress_lossless_pool": { - "xoff": "1572864", + "xoff": "2146304", "type": "ingress", "mode": "dynamic", - "size": "9292800" + "size": "8719360" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-t0-version_1_0_6.json b/tests/db_migrator_input/config_db/mellanox-sn2700-t0-version_1_0_6.json new file mode 100644 index 0000000000..b5294b7252 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-t0-version_1_0_6.json @@ -0,0 +1,1060 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "5088768" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "688128", + "type": "ingress", + "mode": "dynamic", + "size": "5088768" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "5088768" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "23552", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet68": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet76": "5m", + "Ethernet72": "5m", + "Ethernet64": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet88": "5m", + "Ethernet116": "40m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet84": "5m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet28": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700", + "default_bgp_status": "up", + "type": "ToRRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "100000", + "description": "etp1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "10000", + "description": "Servers0:eth0" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "25000", + "description": "Servers1:eth0" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "40000", + "description": "Servers2:eth0" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "50000", + "description": "Servers3:eth0" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "Servers4:eth0" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "Servers5:eth0" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "Servers6:eth0" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "Servers7:eth0" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "Servers8:eth0" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "Servers9:eth0" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "Servers10:eth0" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "Servers11:eth0" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "Servers12:eth0" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "Servers13:eth0" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "Servers14:eth0" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "100000", + "description": "Servers15:eth0" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "100000", + "description": "Servers16:eth0" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "100000", + "description": "Servers17:eth0" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "100000", + "description": "Servers18:eth0" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "Servers19:eth0" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "Servers20:eth0" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "Servers21:eth0" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "Servers22:eth0" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "Servers23:eth0" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "description": "etp26" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "description": "etp27" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "description": "etp28" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA01T1:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA02T1:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_6" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-t1-version_1_0_6.json b/tests/db_migrator_input/config_db/mellanox-sn2700-t1-version_1_0_6.json new file mode 100644 index 0000000000..d1e5815b4c --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-t1-version_1_0_6.json @@ -0,0 +1,1157 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "4439552" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "2146304", + "type": "ingress", + "mode": "dynamic", + "size": "4439552" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "4439552" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "27648", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "24576", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "36864", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "45056", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "50176", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "78848", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet68": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet76": "40m", + "Ethernet72": "40m", + "Ethernet64": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet88": "40m", + "Ethernet116": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet84": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet28": "300m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet24": "300m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700", + "default_bgp_status": "up", + "type": "LeafRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T2:Ethernet1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA01T2:Ethernet2" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T2:Ethernet1" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA03T2:Ethernet2" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet1" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet2" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet1" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet2" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet1" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet2" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet1" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet2" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet1" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet2" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet1" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet2" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T0:Ethernet1" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA02T0:Ethernet1" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T0:Ethernet1" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA04T0:Ethernet1" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T0:Ethernet1" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA06T0:Ethernet1" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T0:Ethernet1" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA08T0:Ethernet1" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T0:Ethernet1" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp26", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA10T0:Ethernet1" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp27", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T0:Ethernet1" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp28", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA12T0:Ethernet1" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T0:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA14T0:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_6" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-t1-version_2_0_0.json b/tests/db_migrator_input/config_db/mellanox-sn2700-t1-version_2_0_0.json index 9125977994..49b3be63d2 100644 --- a/tests/db_migrator_input/config_db/mellanox-sn2700-t1-version_2_0_0.json +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-t1-version_2_0_0.json @@ -199,18 +199,18 @@ "BUFFER_POOL|egress_lossy_pool": { "type": "egress", "mode": "dynamic", - "size": "4646400" + "size": "4439552" }, "BUFFER_POOL|ingress_lossless_pool": { - "xoff": "1572864", + "xoff": "2146304", "type": "ingress", "mode": "dynamic", - "size": "4646400" + "size": "4439552" }, "BUFFER_POOL|ingress_lossy_pool": { "type": "ingress", "mode": "dynamic", - "size": "4646400" + "size": "4439552" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" diff --git a/tests/db_migrator_input/config_db/mellanox-sn3800-c64-t0-version_1_0_6.json b/tests/db_migrator_input/config_db/mellanox-sn3800-c64-t0-version_1_0_6.json new file mode 100644 index 0000000000..d230e6cfa8 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn3800-c64-t0-version_1_0_6.json @@ -0,0 +1,1700 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet2|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet6|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet10|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet18|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet22|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet26|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet34|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet38|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet42|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet50|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet54|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet70|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "25866240" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "2523136", + "type": "ingress", + "mode": "dynamic", + "size": "25866240" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "28672", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "30720", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "32768", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "40960", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet2|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet2|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet6|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet10|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet18|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet22|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet26|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet34|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet38|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet42|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet50|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet54|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet70|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet54": "5m", + "Ethernet248": "5m", + "Ethernet246": "5m", + "Ethernet244": "5m", + "Ethernet240": "5m", + "Ethernet124": "5m", + "Ethernet122": "5m", + "Ethernet120": "5m", + "Ethernet128": "5m", + "Ethernet76": "5m", + "Ethernet74": "5m", + "Ethernet72": "5m", + "Ethernet70": "40m", + "Ethernet136": "5m", + "Ethernet132": "5m", + "Ethernet232": "5m", + "Ethernet230": "5m", + "Ethernet138": "5m", + "Ethernet236": "5m", + "Ethernet64": "40m", + "Ethernet66": "40m", + "Ethernet60": "5m", + "Ethernet68": "40m", + "Ethernet180": "5m", + "Ethernet182": "5m", + "Ethernet184": "5m", + "Ethernet186": "5m", + "Ethernet188": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet106": "5m", + "Ethernet58": "5m", + "Ethernet50": "5m", + "Ethernet52": "5m", + "Ethernet224": "5m", + "Ethernet56": "5m", + "Ethernet196": "5m", + "Ethernet192": "5m", + "Ethernet198": "5m", + "Ethernet116": "5m", + "Ethernet112": "5m", + "Ethernet48": "5m", + "Ethernet214": "5m", + "Ethernet216": "5m", + "Ethernet42": "5m", + "Ethernet40": "5m", + "Ethernet8": "5m", + "Ethernet2": "5m", + "Ethernet0": "5m", + "Ethernet6": "5m", + "Ethernet4": "5m", + "Ethernet200": "5m", + "Ethernet168": "5m", + "Ethernet204": "5m", + "Ethernet162": "5m", + "Ethernet208": "5m", + "Ethernet160": "5m", + "Ethernet166": "5m", + "Ethernet164": "5m", + "Ethernet38": "5m", + "Ethernet32": "5m", + "Ethernet36": "5m", + "Ethernet34": "5m", + "Ethernet178": "5m", + "Ethernet170": "5m", + "Ethernet172": "5m", + "Ethernet176": "5m", + "Ethernet28": "5m", + "Ethernet20": "5m", + "Ethernet22": "5m", + "Ethernet24": "5m", + "Ethernet26": "5m", + "Ethernet44": "5m", + "Ethernet212": "5m", + "Ethernet96": "5m", + "Ethernet90": "5m", + "Ethernet148": "5m", + "Ethernet92": "5m", + "Ethernet144": "5m", + "Ethernet140": "5m", + "Ethernet18": "5m", + "Ethernet16": "5m", + "Ethernet10": "5m", + "Ethernet12": "5m", + "Ethernet228": "5m", + "Ethernet88": "5m", + "Ethernet82": "5m", + "Ethernet80": "5m", + "Ethernet86": "5m", + "Ethernet84": "5m", + "Ethernet152": "5m", + "Ethernet156": "5m", + "Ethernet154": "5m", + "Ethernet220": "5m", + "Ethernet252": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN3800-C64", + "default_bgp_status": "up", + "docker_routing_config_mode": "separated", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3800-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "cloudtype": "None", + "type": "ToRRouter", + "deployment_id": "1" + }, + "PORT|Ethernet0": { + "index": "0", + "lanes": "0,1", + "description": "etp1a", + "mtu": "9100", + "alias": "etp1a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "1", + "lanes": "4,5", + "description": "Servers1:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "Servers2:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2b", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9", + "description": "Servers3:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "Servers4:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "3", + "lanes": "12,13,14,15", + "description": "Servers5:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet16": { + "index": "4", + "lanes": "16,17", + "description": "Servers6:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "Servers7:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "5", + "lanes": "20,21", + "description": "Servers8:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "Servers9:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "6", + "lanes": "24,25", + "description": "Servers10:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "Servers11:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "7", + "lanes": "28,29,30,31", + "description": "Servers12:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet32": { + "index": "8", + "lanes": "32,33", + "description": "Servers13:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "Servers14:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "9", + "lanes": "36,37", + "description": "Servers15:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "Servers16:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "10", + "lanes": "40,41", + "description": "Servers17:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "Servers18:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "11", + "lanes": "44,45,46,47", + "description": "Servers19:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet48": { + "index": "12", + "lanes": "48,49", + "description": "Servers20:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "Servers21:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "13", + "lanes": "52,53", + "description": "Servers22:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "Servers23:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "14", + "lanes": "56,57", + "description": "etp15a", + "mtu": "9100", + "alias": "etp15a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "etp15b", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "15", + "lanes": "60,61,62,63", + "description": "etp16", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet64": { + "index": "16", + "lanes": "64,65", + "description": "ARISTA01T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet66": { + "index": "16", + "lanes": "66,67", + "description": "ARISTA02T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA03T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA04T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "18", + "lanes": "72,73", + "description": "etp19a", + "mtu": "9100", + "alias": "etp19a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "20", + "lanes": "80,81", + "description": "etp21a", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "20", + "lanes": "82,83", + "description": "etp21b", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "22", + "lanes": "88,89", + "description": "etp23a", + "mtu": "9100", + "alias": "etp23a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "23", + "lanes": "92,93,94,95", + "description": "etp24", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet96": { + "index": "24", + "lanes": "96,97,98,99", + "description": "etp25", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "25", + "lanes": "100,101,102,103", + "description": "etp26", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "26", + "lanes": "104,105", + "description": "etp27a", + "mtu": "9100", + "alias": "etp27a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "27", + "lanes": "108,109,110,111", + "description": "etp28", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet112": { + "index": "28", + "lanes": "112,113,114,115", + "description": "etp29", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "29", + "lanes": "116,117,118,119", + "description": "etp30", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "30", + "lanes": "120,121", + "description": "etp31a", + "mtu": "9100", + "alias": "etp31a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "31", + "lanes": "124,125,126,127", + "description": "etp32", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "32", + "lanes": "128,129,130,131", + "description": "etp33", + "mtu": "9100", + "alias": "etp33", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "34", + "lanes": "136,137", + "description": "etp35a", + "mtu": "9100", + "alias": "etp35a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "36", + "lanes": "144,145,146,147", + "description": "etp37", + "mtu": "9100", + "alias": "etp37", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "38", + "lanes": "152,153", + "description": "etp39a", + "mtu": "9100", + "alias": "etp39a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "40", + "lanes": "160,161", + "description": "etp41a", + "mtu": "9100", + "alias": "etp41a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "42", + "lanes": "168,169", + "description": "etp43a", + "mtu": "9100", + "alias": "etp43a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "44", + "lanes": "176,177", + "description": "etp45a", + "mtu": "9100", + "alias": "etp45a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "46", + "lanes": "184,185", + "description": "etp47a", + "mtu": "9100", + "alias": "etp47a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "48", + "lanes": "192,193", + "description": "etp49a", + "mtu": "9100", + "alias": "etp49a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "50", + "lanes": "200,201", + "description": "etp51a", + "mtu": "9100", + "alias": "etp51a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "52", + "lanes": "208,209", + "description": "etp53a", + "mtu": "9100", + "alias": "etp53a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "54", + "lanes": "216,217", + "description": "etp55a", + "mtu": "9100", + "alias": "etp55a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "56", + "lanes": "224,225", + "description": "etp57a", + "mtu": "9100", + "alias": "etp57a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "58", + "lanes": "232,233", + "description": "etp59a", + "mtu": "9100", + "alias": "etp59a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "60", + "lanes": "240,241", + "description": "etp61a", + "mtu": "9100", + "alias": "etp61a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "62", + "lanes": "248,249", + "description": "etp63a", + "mtu": "9100", + "alias": "etp63a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_6" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn3800-c64-t1-version_1_0_6.json b/tests/db_migrator_input/config_db/mellanox-sn3800-c64-t1-version_1_0_6.json new file mode 100644 index 0000000000..81ee54cd0d --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn3800-c64-t1-version_1_0_6.json @@ -0,0 +1,1826 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet2|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet6|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet10|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet18|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet22|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet26|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet34|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet38|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet38|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet42|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet42|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet50|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet54|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet58|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet70|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "24219648" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "4169728", + "type": "ingress", + "mode": "dynamic", + "size": "24219648" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "26624", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "31744", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "30720", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "44032", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "55296", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "36864", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "63488", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "48128", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "102400", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet2|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet2|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet6|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet10|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet18|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet22|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet26|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet34|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet38|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet42|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet50|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet54|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet58|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet58|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet58|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet70|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet54": "40m", + "Ethernet248": "5m", + "Ethernet246": "5m", + "Ethernet244": "5m", + "Ethernet240": "5m", + "Ethernet124": "5m", + "Ethernet122": "5m", + "Ethernet120": "5m", + "Ethernet128": "5m", + "Ethernet76": "5m", + "Ethernet74": "5m", + "Ethernet72": "5m", + "Ethernet70": "40m", + "Ethernet136": "5m", + "Ethernet132": "5m", + "Ethernet232": "5m", + "Ethernet230": "5m", + "Ethernet138": "5m", + "Ethernet236": "5m", + "Ethernet64": "40m", + "Ethernet66": "40m", + "Ethernet60": "40m", + "Ethernet68": "40m", + "Ethernet180": "5m", + "Ethernet182": "5m", + "Ethernet184": "5m", + "Ethernet186": "5m", + "Ethernet188": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet106": "5m", + "Ethernet58": "40m", + "Ethernet50": "40m", + "Ethernet52": "40m", + "Ethernet224": "5m", + "Ethernet56": "40m", + "Ethernet196": "5m", + "Ethernet192": "5m", + "Ethernet198": "5m", + "Ethernet116": "5m", + "Ethernet112": "5m", + "Ethernet48": "40m", + "Ethernet214": "5m", + "Ethernet216": "5m", + "Ethernet42": "40m", + "Ethernet40": "40m", + "Ethernet8": "300m", + "Ethernet2": "300m", + "Ethernet0": "300m", + "Ethernet6": "300m", + "Ethernet4": "300m", + "Ethernet200": "5m", + "Ethernet168": "5m", + "Ethernet204": "5m", + "Ethernet162": "5m", + "Ethernet208": "5m", + "Ethernet160": "5m", + "Ethernet166": "5m", + "Ethernet164": "5m", + "Ethernet38": "40m", + "Ethernet32": "300m", + "Ethernet36": "40m", + "Ethernet34": "300m", + "Ethernet178": "5m", + "Ethernet170": "5m", + "Ethernet172": "5m", + "Ethernet176": "5m", + "Ethernet28": "300m", + "Ethernet20": "300m", + "Ethernet22": "300m", + "Ethernet24": "300m", + "Ethernet26": "300m", + "Ethernet44": "40m", + "Ethernet212": "5m", + "Ethernet96": "5m", + "Ethernet90": "5m", + "Ethernet148": "5m", + "Ethernet92": "5m", + "Ethernet144": "5m", + "Ethernet140": "5m", + "Ethernet18": "300m", + "Ethernet16": "300m", + "Ethernet10": "300m", + "Ethernet12": "300m", + "Ethernet228": "5m", + "Ethernet88": "5m", + "Ethernet82": "5m", + "Ethernet80": "5m", + "Ethernet86": "5m", + "Ethernet84": "5m", + "Ethernet152": "5m", + "Ethernet156": "5m", + "Ethernet154": "5m", + "Ethernet220": "5m", + "Ethernet252": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN3800-C64", + "default_bgp_status": "up", + "docker_routing_config_mode": "separated", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3800-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "cloudtype": "None", + "type": "LeafRouter", + "deployment_id": "1" + }, + "PORT|Ethernet0": { + "index": "0", + "lanes": "0,1", + "description": "ARISTA01T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "ARISTA01T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "1", + "lanes": "4,5", + "description": "ARISTA03T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "ARISTA03T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2b", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9", + "description": "ARISTA05T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "ARISTA05T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "3", + "lanes": "12,13,14,15", + "description": "ARISTA07T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet16": { + "index": "4", + "lanes": "16,17", + "description": "ARISTA07T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "ARISTA09T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "5", + "lanes": "20,21", + "description": "ARISTA09T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "ARISTA11T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "6", + "lanes": "24,25", + "description": "ARISTA11T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "ARISTA13T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "7", + "lanes": "28,29,30,31", + "description": "ARISTA13T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet32": { + "index": "8", + "lanes": "32,33", + "description": "ARISTA15T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "ARISTA15T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "9", + "lanes": "36,37", + "description": "ARISTA01T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "ARISTA02T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "10", + "lanes": "40,41", + "description": "ARISTA03T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11a", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "ARISTA04T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "11", + "lanes": "44,45,46,47", + "description": "ARISTA05T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet48": { + "index": "12", + "lanes": "48,49", + "description": "ARISTA06T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "ARISTA07T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "13", + "lanes": "52,53", + "description": "ARISTA08T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "ARISTA09T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "14", + "lanes": "56,57", + "description": "ARISTA10T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "15", + "lanes": "60,61,62,63", + "description": "ARISTA12T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet64": { + "index": "16", + "lanes": "64,65", + "description": "ARISTA13T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet66": { + "index": "16", + "lanes": "66,67", + "description": "ARISTA14T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA16T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "18", + "lanes": "72,73", + "description": "etp19a", + "mtu": "9100", + "alias": "etp19a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "20", + "lanes": "80,81", + "description": "etp21a", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "20", + "lanes": "82,83", + "description": "etp21b", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "22", + "lanes": "88,89", + "description": "etp23a", + "mtu": "9100", + "alias": "etp23a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "23", + "lanes": "92,93,94,95", + "description": "etp24", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet96": { + "index": "24", + "lanes": "96,97,98,99", + "description": "etp25", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "25", + "lanes": "100,101,102,103", + "description": "etp26", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "26", + "lanes": "104,105", + "description": "etp27a", + "mtu": "9100", + "alias": "etp27a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "27", + "lanes": "108,109,110,111", + "description": "etp28", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet112": { + "index": "28", + "lanes": "112,113,114,115", + "description": "etp29", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "29", + "lanes": "116,117,118,119", + "description": "etp30", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "30", + "lanes": "120,121", + "description": "etp31a", + "mtu": "9100", + "alias": "etp31a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "31", + "lanes": "124,125,126,127", + "description": "etp32", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "32", + "lanes": "128,129,130,131", + "description": "etp33", + "mtu": "9100", + "alias": "etp33", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "34", + "lanes": "136,137", + "description": "etp35a", + "mtu": "9100", + "alias": "etp35a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "36", + "lanes": "144,145,146,147", + "description": "etp37", + "mtu": "9100", + "alias": "etp37", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "38", + "lanes": "152,153", + "description": "etp39a", + "mtu": "9100", + "alias": "etp39a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "40", + "lanes": "160,161", + "description": "etp41a", + "mtu": "9100", + "alias": "etp41a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "42", + "lanes": "168,169", + "description": "etp43a", + "mtu": "9100", + "alias": "etp43a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "44", + "lanes": "176,177", + "description": "etp45a", + "mtu": "9100", + "alias": "etp45a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "46", + "lanes": "184,185", + "description": "etp47a", + "mtu": "9100", + "alias": "etp47a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "48", + "lanes": "192,193", + "description": "etp49a", + "mtu": "9100", + "alias": "etp49a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "50", + "lanes": "200,201", + "description": "etp51a", + "mtu": "9100", + "alias": "etp51a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "52", + "lanes": "208,209", + "description": "etp53a", + "mtu": "9100", + "alias": "etp53a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "54", + "lanes": "216,217", + "description": "etp55a", + "mtu": "9100", + "alias": "etp55a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "56", + "lanes": "224,225", + "description": "etp57a", + "mtu": "9100", + "alias": "etp57a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "58", + "lanes": "232,233", + "description": "etp59a", + "mtu": "9100", + "alias": "etp59a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "60", + "lanes": "240,241", + "description": "etp61a", + "mtu": "9100", + "alias": "etp61a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "62", + "lanes": "248,249", + "description": "etp63a", + "mtu": "9100", + "alias": "etp63a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_6" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn3800-c64-t1-version_2_0_0.json b/tests/db_migrator_input/config_db/mellanox-sn3800-c64-t1-version_2_0_0.json index 6866f5e7ad..a2d63be2f0 100644 --- a/tests/db_migrator_input/config_db/mellanox-sn3800-c64-t1-version_2_0_0.json +++ b/tests/db_migrator_input/config_db/mellanox-sn3800-c64-t1-version_2_0_0.json @@ -133,13 +133,13 @@ "BUFFER_POOL|egress_lossy_pool": { "type": "egress", "mode": "dynamic", - "size": "23900160" + "size": "24219648" }, "BUFFER_POOL|ingress_lossless_pool": { - "xoff": "4489216", + "xoff": "4169728", "type": "ingress", "mode": "dynamic", - "size": "23900160" + "size": "24219648" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" diff --git a/tests/db_migrator_input/config_db/mellanox-sn3800-d112c8-t0-version_1_0_6.json b/tests/db_migrator_input/config_db/mellanox-sn3800-d112c8-t0-version_1_0_6.json new file mode 100644 index 0000000000..ed8a0de493 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn3800-d112c8-t0-version_1_0_6.json @@ -0,0 +1,1980 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet2|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet6|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet10|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet10|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet18|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet18|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet22|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet22|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet26|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet26|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet34|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet34|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet38|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet38|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet42|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet42|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet50|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet50|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet54|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet54|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet58|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet70|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet70|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet74|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet82|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet86|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet90|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet106|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet122|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet128|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet132|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet136|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet138|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet140|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet144|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet148|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet152|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet154|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet156|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet160|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet162|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet164|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet166|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet168|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet170|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet172|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet176|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet178|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet180|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet182|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet184|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet186|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet188|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet192|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet196|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet198|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet200|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet204|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet208|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet212|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet214|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet216|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet220|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet224|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet228|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet230|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet232|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet236|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet240|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet244|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet246|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet248|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet252|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "20017152" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "3440640", + "type": "ingress", + "mode": "dynamic", + "size": "20017152" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "28672", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "30720", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "32768", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "36864", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "40960", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet2|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet2|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet6|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet10|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet18|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet22|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet26|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet34|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet38|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet42|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet50|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet54|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet70|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet54": "5m", + "Ethernet248": "5m", + "Ethernet246": "5m", + "Ethernet244": "5m", + "Ethernet240": "5m", + "Ethernet124": "5m", + "Ethernet122": "5m", + "Ethernet120": "5m", + "Ethernet128": "5m", + "Ethernet76": "5m", + "Ethernet74": "5m", + "Ethernet72": "5m", + "Ethernet70": "40m", + "Ethernet136": "5m", + "Ethernet132": "5m", + "Ethernet232": "5m", + "Ethernet230": "5m", + "Ethernet138": "5m", + "Ethernet236": "5m", + "Ethernet64": "40m", + "Ethernet66": "40m", + "Ethernet60": "5m", + "Ethernet68": "40m", + "Ethernet180": "5m", + "Ethernet182": "5m", + "Ethernet184": "5m", + "Ethernet186": "5m", + "Ethernet188": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet106": "5m", + "Ethernet58": "5m", + "Ethernet50": "5m", + "Ethernet52": "5m", + "Ethernet224": "5m", + "Ethernet56": "5m", + "Ethernet196": "5m", + "Ethernet192": "5m", + "Ethernet198": "5m", + "Ethernet116": "5m", + "Ethernet112": "5m", + "Ethernet48": "5m", + "Ethernet214": "5m", + "Ethernet216": "5m", + "Ethernet42": "5m", + "Ethernet40": "5m", + "Ethernet8": "5m", + "Ethernet2": "5m", + "Ethernet0": "5m", + "Ethernet6": "5m", + "Ethernet4": "5m", + "Ethernet200": "5m", + "Ethernet168": "5m", + "Ethernet204": "5m", + "Ethernet162": "5m", + "Ethernet208": "5m", + "Ethernet160": "5m", + "Ethernet166": "5m", + "Ethernet164": "5m", + "Ethernet38": "5m", + "Ethernet32": "5m", + "Ethernet36": "5m", + "Ethernet34": "5m", + "Ethernet178": "5m", + "Ethernet170": "5m", + "Ethernet172": "5m", + "Ethernet176": "5m", + "Ethernet28": "5m", + "Ethernet20": "5m", + "Ethernet22": "5m", + "Ethernet24": "5m", + "Ethernet26": "5m", + "Ethernet44": "5m", + "Ethernet212": "5m", + "Ethernet96": "5m", + "Ethernet90": "5m", + "Ethernet148": "5m", + "Ethernet92": "5m", + "Ethernet144": "5m", + "Ethernet140": "5m", + "Ethernet18": "5m", + "Ethernet16": "5m", + "Ethernet10": "5m", + "Ethernet12": "5m", + "Ethernet228": "5m", + "Ethernet88": "5m", + "Ethernet82": "5m", + "Ethernet80": "5m", + "Ethernet86": "5m", + "Ethernet84": "5m", + "Ethernet152": "5m", + "Ethernet156": "5m", + "Ethernet154": "5m", + "Ethernet220": "5m", + "Ethernet252": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN3800-D112C8", + "default_bgp_status": "up", + "docker_routing_config_mode": "separated", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3800-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "cloudtype": "None", + "type": "ToRRouter", + "deployment_id": "1" + }, + "PORT|Ethernet0": { + "index": "0", + "lanes": "0,1", + "description": "etp1a", + "mtu": "9100", + "alias": "etp1a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "1", + "lanes": "4,5", + "description": "Servers1:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "Servers2:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2b", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9", + "description": "Servers3:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "Servers4:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "3", + "lanes": "12,13,14,15", + "description": "Servers5:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet16": { + "index": "4", + "lanes": "16,17", + "description": "Servers6:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "Servers7:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "5", + "lanes": "20,21", + "description": "Servers8:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "Servers9:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "6", + "lanes": "24,25", + "description": "Servers10:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "Servers11:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "7", + "lanes": "28,29,30,31", + "description": "Servers12:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet32": { + "index": "8", + "lanes": "32,33", + "description": "Servers13:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "Servers14:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "9", + "lanes": "36,37", + "description": "Servers15:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "Servers16:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "10", + "lanes": "40,41", + "description": "Servers17:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "Servers18:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "11", + "lanes": "44,45,46,47", + "description": "Servers19:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet48": { + "index": "12", + "lanes": "48,49", + "description": "Servers20:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "Servers21:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "13", + "lanes": "52,53", + "description": "Servers22:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "Servers23:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "14", + "lanes": "56,57", + "description": "etp15a", + "mtu": "9100", + "alias": "etp15a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "etp15b", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "15", + "lanes": "60,61,62,63", + "description": "etp16", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet64": { + "index": "16", + "lanes": "64,65", + "description": "ARISTA01T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet66": { + "index": "16", + "lanes": "66,67", + "description": "ARISTA02T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA03T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA04T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "18", + "lanes": "72,73", + "description": "etp19a", + "mtu": "9100", + "alias": "etp19a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "20", + "lanes": "80,81", + "description": "etp21a", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "20", + "lanes": "82,83", + "description": "etp21b", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "22", + "lanes": "88,89", + "description": "etp23a", + "mtu": "9100", + "alias": "etp23a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "23", + "lanes": "92,93,94,95", + "description": "etp24", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet96": { + "index": "24", + "lanes": "96,97,98,99", + "description": "etp25", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "25", + "lanes": "100,101,102,103", + "description": "etp26", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "26", + "lanes": "104,105", + "description": "etp27a", + "mtu": "9100", + "alias": "etp27a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "27", + "lanes": "108,109,110,111", + "description": "etp28", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet112": { + "index": "28", + "lanes": "112,113,114,115", + "description": "etp29", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "29", + "lanes": "116,117,118,119", + "description": "etp30", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "30", + "lanes": "120,121", + "description": "etp31a", + "mtu": "9100", + "alias": "etp31a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "31", + "lanes": "124,125,126,127", + "description": "etp32", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "32", + "lanes": "128,129,130,131", + "description": "etp33", + "mtu": "9100", + "alias": "etp33", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "34", + "lanes": "136,137", + "description": "etp35a", + "mtu": "9100", + "alias": "etp35a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "36", + "lanes": "144,145,146,147", + "description": "etp37", + "mtu": "9100", + "alias": "etp37", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "38", + "lanes": "152,153", + "description": "etp39a", + "mtu": "9100", + "alias": "etp39a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "40", + "lanes": "160,161", + "description": "etp41a", + "mtu": "9100", + "alias": "etp41a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "42", + "lanes": "168,169", + "description": "etp43a", + "mtu": "9100", + "alias": "etp43a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "44", + "lanes": "176,177", + "description": "etp45a", + "mtu": "9100", + "alias": "etp45a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "46", + "lanes": "184,185", + "description": "etp47a", + "mtu": "9100", + "alias": "etp47a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "48", + "lanes": "192,193", + "description": "etp49a", + "mtu": "9100", + "alias": "etp49a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "50", + "lanes": "200,201", + "description": "etp51a", + "mtu": "9100", + "alias": "etp51a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "52", + "lanes": "208,209", + "description": "etp53a", + "mtu": "9100", + "alias": "etp53a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "54", + "lanes": "216,217", + "description": "etp55a", + "mtu": "9100", + "alias": "etp55a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "56", + "lanes": "224,225", + "description": "etp57a", + "mtu": "9100", + "alias": "etp57a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "58", + "lanes": "232,233", + "description": "etp59a", + "mtu": "9100", + "alias": "etp59a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "60", + "lanes": "240,241", + "description": "etp61a", + "mtu": "9100", + "alias": "etp61a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "62", + "lanes": "248,249", + "description": "etp63a", + "mtu": "9100", + "alias": "etp63a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_6" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn3800-d112c8-t1-version_1_0_6.json b/tests/db_migrator_input/config_db/mellanox-sn3800-d112c8-t1-version_1_0_6.json new file mode 100644 index 0000000000..cf401cf18b --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn3800-d112c8-t1-version_1_0_6.json @@ -0,0 +1,2098 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet2|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet6|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet10|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet10|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet18|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet18|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet22|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet22|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet26|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet26|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet34|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet34|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet38|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet38|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet42|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet42|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet50|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet50|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet54|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet54|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet58|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet58|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet70|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet70|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet74|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet82|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet86|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet90|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet106|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet122|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet128|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet132|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet136|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet138|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet140|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet144|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet148|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet152|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet154|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet156|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet160|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet162|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet164|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet166|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet168|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet170|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet172|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet176|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet178|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet180|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet182|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet184|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet186|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet188|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet192|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet196|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet198|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet200|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet204|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet208|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet212|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet214|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet216|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet220|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet224|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet228|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet230|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet232|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet236|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet240|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet244|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet246|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet248|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet252|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "19124224" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "4333568", + "type": "ingress", + "mode": "dynamic", + "size": "19124224" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "26624", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "31744", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "30720", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "44032", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "55296", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "32768", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "36864", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "63488", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "40960", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "48128", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "102400", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet2|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet2|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet6|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet10|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet18|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet22|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet26|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet34|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet38|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet42|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet50|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet54|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet58|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet58|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet58|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet70|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet54": "40m", + "Ethernet248": "5m", + "Ethernet246": "5m", + "Ethernet244": "5m", + "Ethernet240": "5m", + "Ethernet124": "5m", + "Ethernet122": "5m", + "Ethernet120": "5m", + "Ethernet128": "5m", + "Ethernet76": "5m", + "Ethernet74": "5m", + "Ethernet72": "5m", + "Ethernet70": "40m", + "Ethernet136": "5m", + "Ethernet132": "5m", + "Ethernet232": "5m", + "Ethernet230": "5m", + "Ethernet138": "5m", + "Ethernet236": "5m", + "Ethernet64": "40m", + "Ethernet66": "40m", + "Ethernet60": "40m", + "Ethernet68": "40m", + "Ethernet180": "5m", + "Ethernet182": "5m", + "Ethernet184": "5m", + "Ethernet186": "5m", + "Ethernet188": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet106": "5m", + "Ethernet58": "40m", + "Ethernet50": "40m", + "Ethernet52": "40m", + "Ethernet224": "5m", + "Ethernet56": "40m", + "Ethernet196": "5m", + "Ethernet192": "5m", + "Ethernet198": "5m", + "Ethernet116": "5m", + "Ethernet112": "5m", + "Ethernet48": "40m", + "Ethernet214": "5m", + "Ethernet216": "5m", + "Ethernet42": "40m", + "Ethernet40": "40m", + "Ethernet8": "300m", + "Ethernet2": "300m", + "Ethernet0": "300m", + "Ethernet6": "300m", + "Ethernet4": "300m", + "Ethernet200": "5m", + "Ethernet168": "5m", + "Ethernet204": "5m", + "Ethernet162": "5m", + "Ethernet208": "5m", + "Ethernet160": "5m", + "Ethernet166": "5m", + "Ethernet164": "5m", + "Ethernet38": "40m", + "Ethernet32": "300m", + "Ethernet36": "40m", + "Ethernet34": "300m", + "Ethernet178": "5m", + "Ethernet170": "5m", + "Ethernet172": "5m", + "Ethernet176": "5m", + "Ethernet28": "300m", + "Ethernet20": "300m", + "Ethernet22": "300m", + "Ethernet24": "300m", + "Ethernet26": "300m", + "Ethernet44": "40m", + "Ethernet212": "5m", + "Ethernet96": "5m", + "Ethernet90": "5m", + "Ethernet148": "5m", + "Ethernet92": "5m", + "Ethernet144": "5m", + "Ethernet140": "5m", + "Ethernet18": "300m", + "Ethernet16": "300m", + "Ethernet10": "300m", + "Ethernet12": "300m", + "Ethernet228": "5m", + "Ethernet88": "5m", + "Ethernet82": "5m", + "Ethernet80": "5m", + "Ethernet86": "5m", + "Ethernet84": "5m", + "Ethernet152": "5m", + "Ethernet156": "5m", + "Ethernet154": "5m", + "Ethernet220": "5m", + "Ethernet252": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN3800-D112C8", + "default_bgp_status": "up", + "docker_routing_config_mode": "separated", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3800-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "cloudtype": "None", + "type": "LeafRouter", + "deployment_id": "1" + }, + "PORT|Ethernet0": { + "index": "0", + "lanes": "0,1", + "description": "ARISTA01T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "ARISTA01T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "1", + "lanes": "4,5", + "description": "ARISTA03T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "ARISTA03T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2b", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9", + "description": "ARISTA05T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "ARISTA05T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "3", + "lanes": "12,13,14,15", + "description": "ARISTA07T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet16": { + "index": "4", + "lanes": "16,17", + "description": "ARISTA07T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "ARISTA09T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "5", + "lanes": "20,21", + "description": "ARISTA09T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "ARISTA11T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "6", + "lanes": "24,25", + "description": "ARISTA11T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "ARISTA13T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "7", + "lanes": "28,29,30,31", + "description": "ARISTA13T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet32": { + "index": "8", + "lanes": "32,33", + "description": "ARISTA15T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "ARISTA15T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "9", + "lanes": "36,37", + "description": "ARISTA01T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "ARISTA02T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "10", + "lanes": "40,41", + "description": "ARISTA03T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11a", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "ARISTA04T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "11", + "lanes": "44,45,46,47", + "description": "ARISTA05T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet48": { + "index": "12", + "lanes": "48,49", + "description": "ARISTA06T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "ARISTA07T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "13", + "lanes": "52,53", + "description": "ARISTA08T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "ARISTA09T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "14", + "lanes": "56,57", + "description": "ARISTA10T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "15", + "lanes": "60,61,62,63", + "description": "ARISTA12T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet64": { + "index": "16", + "lanes": "64,65", + "description": "ARISTA13T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet66": { + "index": "16", + "lanes": "66,67", + "description": "ARISTA14T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA16T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "18", + "lanes": "72,73", + "description": "etp19a", + "mtu": "9100", + "alias": "etp19a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "20", + "lanes": "80,81", + "description": "etp21a", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "20", + "lanes": "82,83", + "description": "etp21b", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "22", + "lanes": "88,89", + "description": "etp23a", + "mtu": "9100", + "alias": "etp23a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "23", + "lanes": "92,93,94,95", + "description": "etp24", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet96": { + "index": "24", + "lanes": "96,97,98,99", + "description": "etp25", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "25", + "lanes": "100,101,102,103", + "description": "etp26", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "26", + "lanes": "104,105", + "description": "etp27a", + "mtu": "9100", + "alias": "etp27a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "27", + "lanes": "108,109,110,111", + "description": "etp28", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet112": { + "index": "28", + "lanes": "112,113,114,115", + "description": "etp29", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "29", + "lanes": "116,117,118,119", + "description": "etp30", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "30", + "lanes": "120,121", + "description": "etp31a", + "mtu": "9100", + "alias": "etp31a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "31", + "lanes": "124,125,126,127", + "description": "etp32", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "32", + "lanes": "128,129,130,131", + "description": "etp33", + "mtu": "9100", + "alias": "etp33", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "34", + "lanes": "136,137", + "description": "etp35a", + "mtu": "9100", + "alias": "etp35a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "36", + "lanes": "144,145,146,147", + "description": "etp37", + "mtu": "9100", + "alias": "etp37", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "38", + "lanes": "152,153", + "description": "etp39a", + "mtu": "9100", + "alias": "etp39a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "40", + "lanes": "160,161", + "description": "etp41a", + "mtu": "9100", + "alias": "etp41a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "42", + "lanes": "168,169", + "description": "etp43a", + "mtu": "9100", + "alias": "etp43a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "44", + "lanes": "176,177", + "description": "etp45a", + "mtu": "9100", + "alias": "etp45a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "46", + "lanes": "184,185", + "description": "etp47a", + "mtu": "9100", + "alias": "etp47a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "48", + "lanes": "192,193", + "description": "etp49a", + "mtu": "9100", + "alias": "etp49a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "50", + "lanes": "200,201", + "description": "etp51a", + "mtu": "9100", + "alias": "etp51a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "52", + "lanes": "208,209", + "description": "etp53a", + "mtu": "9100", + "alias": "etp53a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "54", + "lanes": "216,217", + "description": "etp55a", + "mtu": "9100", + "alias": "etp55a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "56", + "lanes": "224,225", + "description": "etp57a", + "mtu": "9100", + "alias": "etp57a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "58", + "lanes": "232,233", + "description": "etp59a", + "mtu": "9100", + "alias": "etp59a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "60", + "lanes": "240,241", + "description": "etp61a", + "mtu": "9100", + "alias": "etp61a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "62", + "lanes": "248,249", + "description": "etp63a", + "mtu": "9100", + "alias": "etp63a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_6" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn3800-d24c52-t0-version_1_0_6.json b/tests/db_migrator_input/config_db/mellanox-sn3800-d24c52-t0-version_1_0_6.json new file mode 100644 index 0000000000..4330671cfe --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn3800-d24c52-t0-version_1_0_6.json @@ -0,0 +1,1700 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet2|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet6|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet10|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet18|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet22|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet26|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet34|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet38|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet42|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet50|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet54|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet70|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "24576000" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "2756608", + "type": "ingress", + "mode": "dynamic", + "size": "24576000" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "28672", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "30720", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "32768", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "40960", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet2|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet2|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet6|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet10|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet18|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet22|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet26|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet34|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet38|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet42|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet50|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet54|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet70|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet54": "5m", + "Ethernet248": "5m", + "Ethernet246": "5m", + "Ethernet244": "5m", + "Ethernet240": "5m", + "Ethernet124": "5m", + "Ethernet122": "5m", + "Ethernet120": "5m", + "Ethernet128": "5m", + "Ethernet76": "5m", + "Ethernet74": "5m", + "Ethernet72": "5m", + "Ethernet70": "40m", + "Ethernet136": "5m", + "Ethernet132": "5m", + "Ethernet232": "5m", + "Ethernet230": "5m", + "Ethernet138": "5m", + "Ethernet236": "5m", + "Ethernet64": "40m", + "Ethernet66": "40m", + "Ethernet60": "5m", + "Ethernet68": "40m", + "Ethernet180": "5m", + "Ethernet182": "5m", + "Ethernet184": "5m", + "Ethernet186": "5m", + "Ethernet188": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet106": "5m", + "Ethernet58": "5m", + "Ethernet50": "5m", + "Ethernet52": "5m", + "Ethernet224": "5m", + "Ethernet56": "5m", + "Ethernet196": "5m", + "Ethernet192": "5m", + "Ethernet198": "5m", + "Ethernet116": "5m", + "Ethernet112": "5m", + "Ethernet48": "5m", + "Ethernet214": "5m", + "Ethernet216": "5m", + "Ethernet42": "5m", + "Ethernet40": "5m", + "Ethernet8": "5m", + "Ethernet2": "5m", + "Ethernet0": "5m", + "Ethernet6": "5m", + "Ethernet4": "5m", + "Ethernet200": "5m", + "Ethernet168": "5m", + "Ethernet204": "5m", + "Ethernet162": "5m", + "Ethernet208": "5m", + "Ethernet160": "5m", + "Ethernet166": "5m", + "Ethernet164": "5m", + "Ethernet38": "5m", + "Ethernet32": "5m", + "Ethernet36": "5m", + "Ethernet34": "5m", + "Ethernet178": "5m", + "Ethernet170": "5m", + "Ethernet172": "5m", + "Ethernet176": "5m", + "Ethernet28": "5m", + "Ethernet20": "5m", + "Ethernet22": "5m", + "Ethernet24": "5m", + "Ethernet26": "5m", + "Ethernet44": "5m", + "Ethernet212": "5m", + "Ethernet96": "5m", + "Ethernet90": "5m", + "Ethernet148": "5m", + "Ethernet92": "5m", + "Ethernet144": "5m", + "Ethernet140": "5m", + "Ethernet18": "5m", + "Ethernet16": "5m", + "Ethernet10": "5m", + "Ethernet12": "5m", + "Ethernet228": "5m", + "Ethernet88": "5m", + "Ethernet82": "5m", + "Ethernet80": "5m", + "Ethernet86": "5m", + "Ethernet84": "5m", + "Ethernet152": "5m", + "Ethernet156": "5m", + "Ethernet154": "5m", + "Ethernet220": "5m", + "Ethernet252": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN3800-D24C52", + "default_bgp_status": "up", + "docker_routing_config_mode": "separated", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3800-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "cloudtype": "None", + "type": "ToRRouter", + "deployment_id": "1" + }, + "PORT|Ethernet0": { + "index": "0", + "lanes": "0,1", + "description": "etp1a", + "mtu": "9100", + "alias": "etp1a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "1", + "lanes": "4,5", + "description": "Servers1:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "Servers2:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2b", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9", + "description": "Servers3:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "Servers4:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "3", + "lanes": "12,13,14,15", + "description": "Servers5:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet16": { + "index": "4", + "lanes": "16,17", + "description": "Servers6:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "Servers7:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "5", + "lanes": "20,21", + "description": "Servers8:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "Servers9:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "6", + "lanes": "24,25", + "description": "Servers10:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "Servers11:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "7", + "lanes": "28,29,30,31", + "description": "Servers12:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet32": { + "index": "8", + "lanes": "32,33", + "description": "Servers13:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "Servers14:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "9", + "lanes": "36,37", + "description": "Servers15:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "Servers16:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "10", + "lanes": "40,41", + "description": "Servers17:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "Servers18:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "11", + "lanes": "44,45,46,47", + "description": "Servers19:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet48": { + "index": "12", + "lanes": "48,49", + "description": "Servers20:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "Servers21:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "13", + "lanes": "52,53", + "description": "Servers22:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "Servers23:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "14", + "lanes": "56,57", + "description": "etp15a", + "mtu": "9100", + "alias": "etp15a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "etp15b", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "15", + "lanes": "60,61,62,63", + "description": "etp16", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet64": { + "index": "16", + "lanes": "64,65", + "description": "ARISTA01T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet66": { + "index": "16", + "lanes": "66,67", + "description": "ARISTA02T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA03T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA04T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "18", + "lanes": "72,73", + "description": "etp19a", + "mtu": "9100", + "alias": "etp19a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "20", + "lanes": "80,81", + "description": "etp21a", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "20", + "lanes": "82,83", + "description": "etp21b", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "22", + "lanes": "88,89", + "description": "etp23a", + "mtu": "9100", + "alias": "etp23a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "23", + "lanes": "92,93,94,95", + "description": "etp24", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet96": { + "index": "24", + "lanes": "96,97,98,99", + "description": "etp25", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "25", + "lanes": "100,101,102,103", + "description": "etp26", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "26", + "lanes": "104,105", + "description": "etp27a", + "mtu": "9100", + "alias": "etp27a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "27", + "lanes": "108,109,110,111", + "description": "etp28", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet112": { + "index": "28", + "lanes": "112,113,114,115", + "description": "etp29", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "29", + "lanes": "116,117,118,119", + "description": "etp30", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "30", + "lanes": "120,121", + "description": "etp31a", + "mtu": "9100", + "alias": "etp31a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "31", + "lanes": "124,125,126,127", + "description": "etp32", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "32", + "lanes": "128,129,130,131", + "description": "etp33", + "mtu": "9100", + "alias": "etp33", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "34", + "lanes": "136,137", + "description": "etp35a", + "mtu": "9100", + "alias": "etp35a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "36", + "lanes": "144,145,146,147", + "description": "etp37", + "mtu": "9100", + "alias": "etp37", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "38", + "lanes": "152,153", + "description": "etp39a", + "mtu": "9100", + "alias": "etp39a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "40", + "lanes": "160,161", + "description": "etp41a", + "mtu": "9100", + "alias": "etp41a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "42", + "lanes": "168,169", + "description": "etp43a", + "mtu": "9100", + "alias": "etp43a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "44", + "lanes": "176,177", + "description": "etp45a", + "mtu": "9100", + "alias": "etp45a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "46", + "lanes": "184,185", + "description": "etp47a", + "mtu": "9100", + "alias": "etp47a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "48", + "lanes": "192,193", + "description": "etp49a", + "mtu": "9100", + "alias": "etp49a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "50", + "lanes": "200,201", + "description": "etp51a", + "mtu": "9100", + "alias": "etp51a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "52", + "lanes": "208,209", + "description": "etp53a", + "mtu": "9100", + "alias": "etp53a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "54", + "lanes": "216,217", + "description": "etp55a", + "mtu": "9100", + "alias": "etp55a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "56", + "lanes": "224,225", + "description": "etp57a", + "mtu": "9100", + "alias": "etp57a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "58", + "lanes": "232,233", + "description": "etp59a", + "mtu": "9100", + "alias": "etp59a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "60", + "lanes": "240,241", + "description": "etp61a", + "mtu": "9100", + "alias": "etp61a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "62", + "lanes": "248,249", + "description": "etp63a", + "mtu": "9100", + "alias": "etp63a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_6" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn3800-d24c52-t1-version_1_0_6.json b/tests/db_migrator_input/config_db/mellanox-sn3800-d24c52-t1-version_1_0_6.json new file mode 100644 index 0000000000..883e13fc26 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn3800-d24c52-t1-version_1_0_6.json @@ -0,0 +1,1826 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet2|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet6|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet10|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet18|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet22|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet26|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet34|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet38|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet38|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet42|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet42|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet50|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet54|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet58|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet70|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "22597632" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "4734976", + "type": "ingress", + "mode": "dynamic", + "size": "22597632" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "26624", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "31744", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "30720", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "44032", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "55296", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "36864", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "63488", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "48128", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "102400", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet2|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet2|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet6|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet10|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet18|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet22|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet26|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet34|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet38|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet42|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet50|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet54|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet58|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet58|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet58|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet70|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet54": "40m", + "Ethernet248": "5m", + "Ethernet246": "5m", + "Ethernet244": "5m", + "Ethernet240": "5m", + "Ethernet124": "5m", + "Ethernet122": "5m", + "Ethernet120": "5m", + "Ethernet128": "5m", + "Ethernet76": "5m", + "Ethernet74": "5m", + "Ethernet72": "5m", + "Ethernet70": "40m", + "Ethernet136": "5m", + "Ethernet132": "5m", + "Ethernet232": "5m", + "Ethernet230": "5m", + "Ethernet138": "5m", + "Ethernet236": "5m", + "Ethernet64": "40m", + "Ethernet66": "40m", + "Ethernet60": "40m", + "Ethernet68": "40m", + "Ethernet180": "5m", + "Ethernet182": "5m", + "Ethernet184": "5m", + "Ethernet186": "5m", + "Ethernet188": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet106": "5m", + "Ethernet58": "40m", + "Ethernet50": "40m", + "Ethernet52": "40m", + "Ethernet224": "5m", + "Ethernet56": "40m", + "Ethernet196": "5m", + "Ethernet192": "5m", + "Ethernet198": "5m", + "Ethernet116": "5m", + "Ethernet112": "5m", + "Ethernet48": "40m", + "Ethernet214": "5m", + "Ethernet216": "5m", + "Ethernet42": "40m", + "Ethernet40": "40m", + "Ethernet8": "300m", + "Ethernet2": "300m", + "Ethernet0": "300m", + "Ethernet6": "300m", + "Ethernet4": "300m", + "Ethernet200": "5m", + "Ethernet168": "5m", + "Ethernet204": "5m", + "Ethernet162": "5m", + "Ethernet208": "5m", + "Ethernet160": "5m", + "Ethernet166": "5m", + "Ethernet164": "5m", + "Ethernet38": "40m", + "Ethernet32": "300m", + "Ethernet36": "40m", + "Ethernet34": "300m", + "Ethernet178": "5m", + "Ethernet170": "5m", + "Ethernet172": "5m", + "Ethernet176": "5m", + "Ethernet28": "300m", + "Ethernet20": "300m", + "Ethernet22": "300m", + "Ethernet24": "300m", + "Ethernet26": "300m", + "Ethernet44": "40m", + "Ethernet212": "5m", + "Ethernet96": "5m", + "Ethernet90": "5m", + "Ethernet148": "5m", + "Ethernet92": "5m", + "Ethernet144": "5m", + "Ethernet140": "5m", + "Ethernet18": "300m", + "Ethernet16": "300m", + "Ethernet10": "300m", + "Ethernet12": "300m", + "Ethernet228": "5m", + "Ethernet88": "5m", + "Ethernet82": "5m", + "Ethernet80": "5m", + "Ethernet86": "5m", + "Ethernet84": "5m", + "Ethernet152": "5m", + "Ethernet156": "5m", + "Ethernet154": "5m", + "Ethernet220": "5m", + "Ethernet252": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN3800-D24C52", + "default_bgp_status": "up", + "docker_routing_config_mode": "separated", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3800-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "cloudtype": "None", + "type": "LeafRouter", + "deployment_id": "1" + }, + "PORT|Ethernet0": { + "index": "0", + "lanes": "0,1", + "description": "ARISTA01T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "ARISTA01T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "1", + "lanes": "4,5", + "description": "ARISTA03T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "ARISTA03T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2b", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9", + "description": "ARISTA05T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "ARISTA05T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "3", + "lanes": "12,13,14,15", + "description": "ARISTA07T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet16": { + "index": "4", + "lanes": "16,17", + "description": "ARISTA07T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "ARISTA09T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "5", + "lanes": "20,21", + "description": "ARISTA09T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "ARISTA11T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "6", + "lanes": "24,25", + "description": "ARISTA11T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "ARISTA13T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "7", + "lanes": "28,29,30,31", + "description": "ARISTA13T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet32": { + "index": "8", + "lanes": "32,33", + "description": "ARISTA15T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "ARISTA15T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "9", + "lanes": "36,37", + "description": "ARISTA01T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "ARISTA02T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "10", + "lanes": "40,41", + "description": "ARISTA03T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11a", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "ARISTA04T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "11", + "lanes": "44,45,46,47", + "description": "ARISTA05T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet48": { + "index": "12", + "lanes": "48,49", + "description": "ARISTA06T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "ARISTA07T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "13", + "lanes": "52,53", + "description": "ARISTA08T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "ARISTA09T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "14", + "lanes": "56,57", + "description": "ARISTA10T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "15", + "lanes": "60,61,62,63", + "description": "ARISTA12T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet64": { + "index": "16", + "lanes": "64,65", + "description": "ARISTA13T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet66": { + "index": "16", + "lanes": "66,67", + "description": "ARISTA14T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA16T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "18", + "lanes": "72,73", + "description": "etp19a", + "mtu": "9100", + "alias": "etp19a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "20", + "lanes": "80,81", + "description": "etp21a", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "20", + "lanes": "82,83", + "description": "etp21b", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "22", + "lanes": "88,89", + "description": "etp23a", + "mtu": "9100", + "alias": "etp23a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "23", + "lanes": "92,93,94,95", + "description": "etp24", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet96": { + "index": "24", + "lanes": "96,97,98,99", + "description": "etp25", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "25", + "lanes": "100,101,102,103", + "description": "etp26", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "26", + "lanes": "104,105", + "description": "etp27a", + "mtu": "9100", + "alias": "etp27a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "27", + "lanes": "108,109,110,111", + "description": "etp28", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet112": { + "index": "28", + "lanes": "112,113,114,115", + "description": "etp29", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "29", + "lanes": "116,117,118,119", + "description": "etp30", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "30", + "lanes": "120,121", + "description": "etp31a", + "mtu": "9100", + "alias": "etp31a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "31", + "lanes": "124,125,126,127", + "description": "etp32", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "32", + "lanes": "128,129,130,131", + "description": "etp33", + "mtu": "9100", + "alias": "etp33", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "34", + "lanes": "136,137", + "description": "etp35a", + "mtu": "9100", + "alias": "etp35a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "36", + "lanes": "144,145,146,147", + "description": "etp37", + "mtu": "9100", + "alias": "etp37", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "38", + "lanes": "152,153", + "description": "etp39a", + "mtu": "9100", + "alias": "etp39a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "40", + "lanes": "160,161", + "description": "etp41a", + "mtu": "9100", + "alias": "etp41a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "42", + "lanes": "168,169", + "description": "etp43a", + "mtu": "9100", + "alias": "etp43a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "44", + "lanes": "176,177", + "description": "etp45a", + "mtu": "9100", + "alias": "etp45a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "46", + "lanes": "184,185", + "description": "etp47a", + "mtu": "9100", + "alias": "etp47a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "48", + "lanes": "192,193", + "description": "etp49a", + "mtu": "9100", + "alias": "etp49a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "50", + "lanes": "200,201", + "description": "etp51a", + "mtu": "9100", + "alias": "etp51a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "52", + "lanes": "208,209", + "description": "etp53a", + "mtu": "9100", + "alias": "etp53a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "54", + "lanes": "216,217", + "description": "etp55a", + "mtu": "9100", + "alias": "etp55a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "56", + "lanes": "224,225", + "description": "etp57a", + "mtu": "9100", + "alias": "etp57a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "58", + "lanes": "232,233", + "description": "etp59a", + "mtu": "9100", + "alias": "etp59a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "60", + "lanes": "240,241", + "description": "etp61a", + "mtu": "9100", + "alias": "etp61a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "62", + "lanes": "248,249", + "description": "etp63a", + "mtu": "9100", + "alias": "etp63a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_5" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn3800-d28c50-t0-version_1_0_6.json b/tests/db_migrator_input/config_db/mellanox-sn3800-d28c50-t0-version_1_0_6.json new file mode 100644 index 0000000000..b130de11f1 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn3800-d28c50-t0-version_1_0_6.json @@ -0,0 +1,1700 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + }, + "BUFFER_PG|Ethernet2|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + }, + "BUFFER_PG|Ethernet6|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet10|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet18|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet22|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet26|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet34|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet38|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet42|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet50|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet54|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet70|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "24360960" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "2795520", + "type": "ingress", + "mode": "dynamic", + "size": "24360960" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "25600", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "28672", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "30720", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "32768", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "40960", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet2|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet2|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet6|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet10|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet18|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet22|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet26|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet34|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet38|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet42|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet50|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet54|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet70|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet54": "5m", + "Ethernet248": "5m", + "Ethernet246": "5m", + "Ethernet244": "5m", + "Ethernet240": "5m", + "Ethernet124": "5m", + "Ethernet122": "5m", + "Ethernet120": "5m", + "Ethernet128": "5m", + "Ethernet76": "5m", + "Ethernet74": "5m", + "Ethernet72": "5m", + "Ethernet70": "40m", + "Ethernet136": "5m", + "Ethernet132": "5m", + "Ethernet232": "5m", + "Ethernet230": "5m", + "Ethernet138": "5m", + "Ethernet236": "5m", + "Ethernet64": "40m", + "Ethernet66": "40m", + "Ethernet60": "5m", + "Ethernet68": "40m", + "Ethernet180": "5m", + "Ethernet182": "5m", + "Ethernet184": "5m", + "Ethernet186": "5m", + "Ethernet188": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet106": "5m", + "Ethernet58": "5m", + "Ethernet50": "5m", + "Ethernet52": "5m", + "Ethernet224": "5m", + "Ethernet56": "5m", + "Ethernet196": "5m", + "Ethernet192": "5m", + "Ethernet198": "5m", + "Ethernet116": "5m", + "Ethernet112": "5m", + "Ethernet48": "5m", + "Ethernet214": "5m", + "Ethernet216": "5m", + "Ethernet42": "5m", + "Ethernet40": "5m", + "Ethernet8": "5m", + "Ethernet2": "5m", + "Ethernet0": "5m", + "Ethernet6": "5m", + "Ethernet4": "5m", + "Ethernet200": "5m", + "Ethernet168": "5m", + "Ethernet204": "5m", + "Ethernet162": "5m", + "Ethernet208": "5m", + "Ethernet160": "5m", + "Ethernet166": "5m", + "Ethernet164": "5m", + "Ethernet38": "5m", + "Ethernet32": "5m", + "Ethernet36": "5m", + "Ethernet34": "5m", + "Ethernet178": "5m", + "Ethernet170": "5m", + "Ethernet172": "5m", + "Ethernet176": "5m", + "Ethernet28": "5m", + "Ethernet20": "5m", + "Ethernet22": "5m", + "Ethernet24": "5m", + "Ethernet26": "5m", + "Ethernet44": "5m", + "Ethernet212": "5m", + "Ethernet96": "5m", + "Ethernet90": "5m", + "Ethernet148": "5m", + "Ethernet92": "5m", + "Ethernet144": "5m", + "Ethernet140": "5m", + "Ethernet18": "5m", + "Ethernet16": "5m", + "Ethernet10": "5m", + "Ethernet12": "5m", + "Ethernet228": "5m", + "Ethernet88": "5m", + "Ethernet82": "5m", + "Ethernet80": "5m", + "Ethernet86": "5m", + "Ethernet84": "5m", + "Ethernet152": "5m", + "Ethernet156": "5m", + "Ethernet154": "5m", + "Ethernet220": "5m", + "Ethernet252": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN3800-D28C50", + "default_bgp_status": "up", + "docker_routing_config_mode": "separated", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3800-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "cloudtype": "None", + "type": "ToRRouter", + "deployment_id": "1" + }, + "PORT|Ethernet0": { + "index": "0", + "lanes": "0,1", + "description": "etp1a", + "mtu": "9100", + "alias": "etp1a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "1", + "lanes": "4,5", + "description": "Servers1:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "Servers2:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2b", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9", + "description": "Servers3:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "Servers4:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "3", + "lanes": "12,13,14,15", + "description": "Servers5:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet16": { + "index": "4", + "lanes": "16,17", + "description": "Servers6:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "Servers7:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "5", + "lanes": "20,21", + "description": "Servers8:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "Servers9:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "6", + "lanes": "24,25", + "description": "Servers10:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "Servers11:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "7", + "lanes": "28,29,30,31", + "description": "Servers12:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet32": { + "index": "8", + "lanes": "32,33", + "description": "Servers13:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "Servers14:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "9", + "lanes": "36,37", + "description": "Servers15:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "Servers16:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "10", + "lanes": "40,41", + "description": "Servers17:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "Servers18:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "11", + "lanes": "44,45,46,47", + "description": "Servers19:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet48": { + "index": "12", + "lanes": "48,49", + "description": "Servers20:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "Servers21:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "13", + "lanes": "52,53", + "description": "Servers22:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "Servers23:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "14", + "lanes": "56,57", + "description": "etp15a", + "mtu": "9100", + "alias": "etp15a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "etp15b", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "15", + "lanes": "60,61,62,63", + "description": "etp16", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet64": { + "index": "16", + "lanes": "64,65", + "description": "ARISTA01T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet66": { + "index": "16", + "lanes": "66,67", + "description": "ARISTA02T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA03T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA04T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "18", + "lanes": "72,73", + "description": "etp19a", + "mtu": "9100", + "alias": "etp19a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "20", + "lanes": "80,81", + "description": "etp21a", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "20", + "lanes": "82,83", + "description": "etp21b", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "22", + "lanes": "88,89", + "description": "etp23a", + "mtu": "9100", + "alias": "etp23a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "23", + "lanes": "92,93,94,95", + "description": "etp24", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet96": { + "index": "24", + "lanes": "96,97,98,99", + "description": "etp25", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "25", + "lanes": "100,101,102,103", + "description": "etp26", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "26", + "lanes": "104,105", + "description": "etp27a", + "mtu": "9100", + "alias": "etp27a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "27", + "lanes": "108,109,110,111", + "description": "etp28", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet112": { + "index": "28", + "lanes": "112,113,114,115", + "description": "etp29", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "29", + "lanes": "116,117,118,119", + "description": "etp30", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "30", + "lanes": "120,121", + "description": "etp31a", + "mtu": "9100", + "alias": "etp31a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "31", + "lanes": "124,125,126,127", + "description": "etp32", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "32", + "lanes": "128,129,130,131", + "description": "etp33", + "mtu": "9100", + "alias": "etp33", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "34", + "lanes": "136,137", + "description": "etp35a", + "mtu": "9100", + "alias": "etp35a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "36", + "lanes": "144,145,146,147", + "description": "etp37", + "mtu": "9100", + "alias": "etp37", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "38", + "lanes": "152,153", + "description": "etp39a", + "mtu": "9100", + "alias": "etp39a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "40", + "lanes": "160,161", + "description": "etp41a", + "mtu": "9100", + "alias": "etp41a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "42", + "lanes": "168,169", + "description": "etp43a", + "mtu": "9100", + "alias": "etp43a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "44", + "lanes": "176,177", + "description": "etp45a", + "mtu": "9100", + "alias": "etp45a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "46", + "lanes": "184,185", + "description": "etp47a", + "mtu": "9100", + "alias": "etp47a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "48", + "lanes": "192,193", + "description": "etp49a", + "mtu": "9100", + "alias": "etp49a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "50", + "lanes": "200,201", + "description": "etp51a", + "mtu": "9100", + "alias": "etp51a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "52", + "lanes": "208,209", + "description": "etp53a", + "mtu": "9100", + "alias": "etp53a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "54", + "lanes": "216,217", + "description": "etp55a", + "mtu": "9100", + "alias": "etp55a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "56", + "lanes": "224,225", + "description": "etp57a", + "mtu": "9100", + "alias": "etp57a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "58", + "lanes": "232,233", + "description": "etp59a", + "mtu": "9100", + "alias": "etp59a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "60", + "lanes": "240,241", + "description": "etp61a", + "mtu": "9100", + "alias": "etp61a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "62", + "lanes": "248,249", + "description": "etp63a", + "mtu": "9100", + "alias": "etp63a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_6" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn3800-d28c50-t1-version_1_0_6.json b/tests/db_migrator_input/config_db/mellanox-sn3800-d28c50-t1-version_1_0_6.json new file mode 100644 index 0000000000..7a8ae9c716 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn3800-d28c50-t1-version_1_0_6.json @@ -0,0 +1,1826 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_300m_profile]" + }, + "BUFFER_PG|Ethernet2|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_300m_profile]" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_300m_profile]" + }, + "BUFFER_PG|Ethernet6|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet10|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_300m_profile]" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet18|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet22|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet26|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet34|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG|Ethernet38|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet38|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_25000_40m_profile]" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + }, + "BUFFER_PG|Ethernet42|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet42|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet50|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet54|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet58|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_PG|Ethernet70|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "22380544" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "4775936", + "type": "ingress", + "mode": "dynamic", + "size": "22380544" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "26624", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "31744", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "30720", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "44032", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "33792", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "55296", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "36864", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "63488", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "48128", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "102400", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|egress_lossy_pool]", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet2|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet2|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet2|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet6|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet6|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet10|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet10|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet18|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet18|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet22|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet22|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet26|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet26|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet34|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet34|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet38|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet38|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet42|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet42|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet50|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet50|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet54|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet54|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet58|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet58|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet58|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|0-2": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "BUFFER_QUEUE|Ethernet70|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "BUFFER_QUEUE|Ethernet70|5-6": { + "profile": "[BUFFER_PROFILE|q_lossy_profile]" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet54": "40m", + "Ethernet248": "5m", + "Ethernet246": "5m", + "Ethernet244": "5m", + "Ethernet240": "5m", + "Ethernet124": "5m", + "Ethernet122": "5m", + "Ethernet120": "5m", + "Ethernet128": "5m", + "Ethernet76": "5m", + "Ethernet74": "5m", + "Ethernet72": "5m", + "Ethernet70": "40m", + "Ethernet136": "5m", + "Ethernet132": "5m", + "Ethernet232": "5m", + "Ethernet230": "5m", + "Ethernet138": "5m", + "Ethernet236": "5m", + "Ethernet64": "40m", + "Ethernet66": "40m", + "Ethernet60": "40m", + "Ethernet68": "40m", + "Ethernet180": "5m", + "Ethernet182": "5m", + "Ethernet184": "5m", + "Ethernet186": "5m", + "Ethernet188": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet106": "5m", + "Ethernet58": "40m", + "Ethernet50": "40m", + "Ethernet52": "40m", + "Ethernet224": "5m", + "Ethernet56": "40m", + "Ethernet196": "5m", + "Ethernet192": "5m", + "Ethernet198": "5m", + "Ethernet116": "5m", + "Ethernet112": "5m", + "Ethernet48": "40m", + "Ethernet214": "5m", + "Ethernet216": "5m", + "Ethernet42": "40m", + "Ethernet40": "40m", + "Ethernet8": "300m", + "Ethernet2": "300m", + "Ethernet0": "300m", + "Ethernet6": "300m", + "Ethernet4": "300m", + "Ethernet200": "5m", + "Ethernet168": "5m", + "Ethernet204": "5m", + "Ethernet162": "5m", + "Ethernet208": "5m", + "Ethernet160": "5m", + "Ethernet166": "5m", + "Ethernet164": "5m", + "Ethernet38": "40m", + "Ethernet32": "300m", + "Ethernet36": "40m", + "Ethernet34": "300m", + "Ethernet178": "5m", + "Ethernet170": "5m", + "Ethernet172": "5m", + "Ethernet176": "5m", + "Ethernet28": "300m", + "Ethernet20": "300m", + "Ethernet22": "300m", + "Ethernet24": "300m", + "Ethernet26": "300m", + "Ethernet44": "40m", + "Ethernet212": "5m", + "Ethernet96": "5m", + "Ethernet90": "5m", + "Ethernet148": "5m", + "Ethernet92": "5m", + "Ethernet144": "5m", + "Ethernet140": "5m", + "Ethernet18": "300m", + "Ethernet16": "300m", + "Ethernet10": "300m", + "Ethernet12": "300m", + "Ethernet228": "5m", + "Ethernet88": "5m", + "Ethernet82": "5m", + "Ethernet80": "5m", + "Ethernet86": "5m", + "Ethernet84": "5m", + "Ethernet152": "5m", + "Ethernet156": "5m", + "Ethernet154": "5m", + "Ethernet220": "5m", + "Ethernet252": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN3800-D28C50", + "default_bgp_status": "up", + "docker_routing_config_mode": "separated", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3800-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "cloudtype": "None", + "type": "LeafRouter", + "deployment_id": "1" + }, + "PORT|Ethernet0": { + "index": "0", + "lanes": "0,1", + "description": "ARISTA01T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "ARISTA01T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "1", + "lanes": "4,5", + "description": "ARISTA03T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "ARISTA03T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2b", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9", + "description": "ARISTA05T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "ARISTA05T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "3", + "lanes": "12,13,14,15", + "description": "ARISTA07T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet16": { + "index": "4", + "lanes": "16,17", + "description": "ARISTA07T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "ARISTA09T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "5", + "lanes": "20,21", + "description": "ARISTA09T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "ARISTA11T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "6", + "lanes": "24,25", + "description": "ARISTA11T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "ARISTA13T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "7", + "lanes": "28,29,30,31", + "description": "ARISTA13T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet32": { + "index": "8", + "lanes": "32,33", + "description": "ARISTA15T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "ARISTA15T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "9", + "lanes": "36,37", + "description": "ARISTA01T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "ARISTA02T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "10", + "lanes": "40,41", + "description": "ARISTA03T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11a", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "ARISTA04T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "11", + "lanes": "44,45,46,47", + "description": "ARISTA05T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet48": { + "index": "12", + "lanes": "48,49", + "description": "ARISTA06T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "ARISTA07T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "13", + "lanes": "52,53", + "description": "ARISTA08T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "ARISTA09T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "14", + "lanes": "56,57", + "description": "ARISTA10T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "15", + "lanes": "60,61,62,63", + "description": "ARISTA12T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet64": { + "index": "16", + "lanes": "64,65", + "description": "ARISTA13T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet66": { + "index": "16", + "lanes": "66,67", + "description": "ARISTA14T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA16T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "18", + "lanes": "72,73", + "description": "etp19a", + "mtu": "9100", + "alias": "etp19a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "20", + "lanes": "80,81", + "description": "etp21a", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "20", + "lanes": "82,83", + "description": "etp21b", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "22", + "lanes": "88,89", + "description": "etp23a", + "mtu": "9100", + "alias": "etp23a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "23", + "lanes": "92,93,94,95", + "description": "etp24", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet96": { + "index": "24", + "lanes": "96,97,98,99", + "description": "etp25", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "25", + "lanes": "100,101,102,103", + "description": "etp26", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "26", + "lanes": "104,105", + "description": "etp27a", + "mtu": "9100", + "alias": "etp27a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "27", + "lanes": "108,109,110,111", + "description": "etp28", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet112": { + "index": "28", + "lanes": "112,113,114,115", + "description": "etp29", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "29", + "lanes": "116,117,118,119", + "description": "etp30", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "30", + "lanes": "120,121", + "description": "etp31a", + "mtu": "9100", + "alias": "etp31a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "31", + "lanes": "124,125,126,127", + "description": "etp32", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "32", + "lanes": "128,129,130,131", + "description": "etp33", + "mtu": "9100", + "alias": "etp33", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "34", + "lanes": "136,137", + "description": "etp35a", + "mtu": "9100", + "alias": "etp35a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "36", + "lanes": "144,145,146,147", + "description": "etp37", + "mtu": "9100", + "alias": "etp37", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "38", + "lanes": "152,153", + "description": "etp39a", + "mtu": "9100", + "alias": "etp39a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "40", + "lanes": "160,161", + "description": "etp41a", + "mtu": "9100", + "alias": "etp41a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "42", + "lanes": "168,169", + "description": "etp43a", + "mtu": "9100", + "alias": "etp43a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "44", + "lanes": "176,177", + "description": "etp45a", + "mtu": "9100", + "alias": "etp45a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "46", + "lanes": "184,185", + "description": "etp47a", + "mtu": "9100", + "alias": "etp47a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "48", + "lanes": "192,193", + "description": "etp49a", + "mtu": "9100", + "alias": "etp49a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "50", + "lanes": "200,201", + "description": "etp51a", + "mtu": "9100", + "alias": "etp51a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "52", + "lanes": "208,209", + "description": "etp53a", + "mtu": "9100", + "alias": "etp53a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "54", + "lanes": "216,217", + "description": "etp55a", + "mtu": "9100", + "alias": "etp55a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "56", + "lanes": "224,225", + "description": "etp57a", + "mtu": "9100", + "alias": "etp57a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "58", + "lanes": "232,233", + "description": "etp59a", + "mtu": "9100", + "alias": "etp59a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "60", + "lanes": "240,241", + "description": "etp61a", + "mtu": "9100", + "alias": "etp61a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "62", + "lanes": "248,249", + "description": "etp63a", + "mtu": "9100", + "alias": "etp63a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_1_0_5" + } +} diff --git a/tests/db_migrator_test.py b/tests/db_migrator_test.py index 56cfb2900f..61ffa674a4 100644 --- a/tests/db_migrator_test.py +++ b/tests/db_migrator_test.py @@ -40,10 +40,10 @@ class TestMellanoxBufferMigrator(object): def setup_class(cls): cls.config_db_tables_to_verify = ['BUFFER_POOL', 'BUFFER_PROFILE', 'BUFFER_PG', 'DEFAULT_LOSSLESS_BUFFER_PARAMETER', 'LOSSLESS_TRAFFIC_PATTERN', 'VERSIONS', 'DEVICE_METADATA'] cls.appl_db_tables_to_verify = ['BUFFER_POOL_TABLE:*', 'BUFFER_PROFILE_TABLE:*', 'BUFFER_PG_TABLE:*', 'BUFFER_QUEUE:*', 'BUFFER_PORT_INGRESS_PROFILE_LIST:*', 'BUFFER_PORT_EGRESS_PROFILE_LIST:*'] - cls.warm_reboot_from_version = 'version_1_0_5' + cls.warm_reboot_from_version = 'version_1_0_6' cls.warm_reboot_to_version = 'version_2_0_0' - cls.version_list = ['version_1_0_1', 'version_1_0_2', 'version_1_0_3', 'version_1_0_4', 'version_1_0_5', 'version_2_0_0'] + cls.version_list = ['version_1_0_1', 'version_1_0_2', 'version_1_0_3', 'version_1_0_4', 'version_1_0_5', 'version_1_0_6', 'version_2_0_0'] os.environ['UTILITIES_UNIT_TESTING'] = "2" From 56db1623407bd2ebc198b6df88fc3ada624c793e Mon Sep 17 00:00:00 2001 From: Dmytro Date: Wed, 2 Jun 2021 04:38:22 +0300 Subject: [PATCH 211/342] [config] Fix config int add incorrect ip (#1414) * Added ip and mask check to config int Signed-off-by: d-dashkov --- config/main.py | 28 ++++++- tests/ip_config_test.py | 157 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 183 insertions(+), 2 deletions(-) mode change 100755 => 100644 config/main.py create mode 100644 tests/ip_config_test.py diff --git a/config/main.py b/config/main.py old mode 100755 new mode 100644 index 102927d0b8..828c447e5f --- a/config/main.py +++ b/config/main.py @@ -779,6 +779,22 @@ def validate_mirror_session_config(config_db, session_name, dst_port, src_port, return True +def validate_ip_mask(ctx, ip_addr): + split_ip_mask = ip_addr.split("/") + # Check if the IP address is correct or if there are leading zeros. + ip_obj = ipaddress.ip_address(split_ip_mask[0]) + + # Check if the mask is correct + mask_range = 33 if isinstance(ip_obj, ipaddress.IPv4Address) else 129 + # If mask is not specified + if len(split_ip_mask) < 2: + return 0 + + if not int(split_ip_mask[1]) in range(1, mask_range): + return 0 + + return str(ip_obj) + '/' + str(int(split_ip_mask[1])) + def cli_sroute_to_config(ctx, command_str, strict_nh = True): if len(command_str) < 2 or len(command_str) > 9: ctx.fail("argument is not in pattern prefix [vrf ] nexthop <[vrf ] >|>!") @@ -3473,6 +3489,10 @@ def add(ctx, interface_name, ip_addr, gw): if '/' not in ip_addr: ip_addr = str(net) + ip_addr = validate_ip_mask(ctx, ip_addr) + if not ip_addr: + raise ValueError('') + if interface_name == 'eth0': # Configuring more than 1 IPv4 or more than 1 IPv6 address fails. @@ -3509,7 +3529,7 @@ def add(ctx, interface_name, ip_addr, gw): config_db.set_entry(table_name, interface_name, {"NULL": "NULL"}) config_db.set_entry(table_name, (interface_name, ip_addr), {"NULL": "NULL"}) except ValueError: - ctx.fail("'ip_addr' is not valid.") + ctx.fail("ip address or mask is not valid.") # # 'del' subcommand @@ -3533,6 +3553,10 @@ def remove(ctx, interface_name, ip_addr): net = ipaddress.ip_network(ip_addr, strict=False) if '/' not in ip_addr: ip_addr = str(net) + + ip_addr = validate_ip_mask(ctx, ip_addr) + if not ip_addr: + raise ValueError('') if interface_name == 'eth0': config_db.set_entry("MGMT_INTERFACE", (interface_name, ip_addr), None) @@ -3572,7 +3596,7 @@ def remove(ctx, interface_name, ip_addr): command = "ip neigh flush dev {} {}".format(interface_name, ip_addr) clicommon.run_command(command) except ValueError: - ctx.fail("'ip_addr' is not valid.") + ctx.fail("ip address or mask is not valid.") # diff --git a/tests/ip_config_test.py b/tests/ip_config_test.py new file mode 100644 index 0000000000..d08a03ca8f --- /dev/null +++ b/tests/ip_config_test.py @@ -0,0 +1,157 @@ +import os +import traceback +from unittest import mock + +from click.testing import CliRunner + +import config.main as config +import show.main as show +from utilities_common.db import Db + +ERROR_MSG = ''' +Error: ip address or mask is not valid. +''' + +class TestConfigIP(object): + @classmethod + def setup_class(cls): + os.environ['UTILITIES_UNIT_TESTING'] = "1" + print("SETUP") + + ''' Tests for IPv4 ''' + + def test_add_del_interface_valid_ipv4(self): + db = Db() + runner = CliRunner() + obj = {'config_db':db.cfgdb} + + # config int ip add Ethernet64 10.10.10.1/24 + result = runner.invoke(config.config.commands["interface"].commands["ip"].commands["add"], ["Ethernet64", "10.10.10.1/24"], obj=obj) + print(result.exit_code, result.output) + assert result.exit_code == 0 + assert ('Ethernet64', '10.10.10.1/24') in db.cfgdb.get_table('INTERFACE') + + # config int ip remove Ethernet64 10.10.10.1/24 + result = runner.invoke(config.config.commands["interface"].commands["ip"].commands["remove"], ["Ethernet64", "10.10.10.1/24"], obj=obj) + print(result.exit_code, result.output) + assert result.exit_code != 0 + assert ('Ethernet64', '10.10.10.1/24') not in db.cfgdb.get_table('INTERFACE') + + def test_add_interface_invalid_ipv4(self): + db = Db() + runner = CliRunner() + obj = {'config_db':db.cfgdb} + + # config int ip add Ethernet64 10000.10.10.1/24 + result = runner.invoke(config.config.commands["interface"].commands["ip"].commands["add"], ["Ethernet64", "10000.10.10.1/24"], obj=obj) + print(result.exit_code, result.output) + assert result.exit_code != 0 + assert ERROR_MSG in result.output + + def test_add_interface_ipv4_invalid_mask(self): + db = Db() + runner = CliRunner() + obj = {'config_db':db.cfgdb} + + # config int ip add Ethernet64 10.10.10.1/37 + result = runner.invoke(config.config.commands["interface"].commands["ip"].commands["add"], ["Ethernet64", "10.10.10.1/37"], obj=obj) + print(result.exit_code, result.output) + assert result.exit_code != 0 + assert ERROR_MSG in result.output + + def test_add_del_interface_ipv4_with_leading_zeros(self): + db = Db() + runner = CliRunner() + obj = {'config_db':db.cfgdb} + + # config int ip add Ethernet68 10.10.10.002/24 + result = runner.invoke(config.config.commands["interface"].commands["ip"].commands["add"], ["Ethernet68", "10.10.10.002/24"], obj=obj) + print(result.exit_code, result.output) + assert result.exit_code == 0 + assert ('Ethernet68', '10.10.10.2/24') in db.cfgdb.get_table('INTERFACE') + + # config int ip remove Ethernet68 10.10.10.002/24 + result = runner.invoke(config.config.commands["interface"].commands["ip"].commands["remove"], ["Ethernet68", "10.10.10.002/24"], obj=obj) + print(result.exit_code, result.output) + assert result.exit_code != 0 + assert ('Ethernet68', '10.10.10.2/24') not in db.cfgdb.get_table('INTERFACE') + + ''' Tests for IPv6 ''' + + def test_add_del_interface_valid_ipv6(self): + db = Db() + runner = CliRunner() + obj = {'config_db':db.cfgdb} + + # config int ip add Ethernet72 2001:1db8:11a3:19d7:1f34:8a2e:17a0:765d/34 + result = runner.invoke(config.config.commands["interface"].commands["ip"].commands["add"], ["Ethernet72", "2001:1db8:11a3:19d7:1f34:8a2e:17a0:765d/34"], obj=obj) + print(result.exit_code, result.output) + assert result.exit_code == 0 + assert ('Ethernet72', '2001:1db8:11a3:19d7:1f34:8a2e:17a0:765d/34') in db.cfgdb.get_table('INTERFACE') + + # config int ip remove Ethernet72 2001:1db8:11a3:19d7:1f34:8a2e:17a0:765d/34 + result = runner.invoke(config.config.commands["interface"].commands["ip"].commands["remove"], ["Ethernet72", "2001:1db8:11a3:19d7:1f34:8a2e:17a0:765d/34"], obj=obj) + print(result.exit_code, result.output) + assert result.exit_code != 0 + assert ('Ethernet72', '2001:1db8:11a3:19d7:1f34:8a2e:17a0:765d/34') not in db.cfgdb.get_table('INTERFACE') + + def test_add_interface_invalid_ipv6(self): + db = Db() + runner = CliRunner() + obj = {'config_db':db.cfgdb} + + # config int ip add Ethernet72 20001:0db8:11a3:09d7:1f34:8a2e:07a0:765d/34 + result = runner.invoke(config.config.commands["interface"].commands["ip"].commands["add"], ["Ethernet72", "20001:0db8:11a3:19d7:1f34:8a2e:17a0:765d/34"], obj=obj) + print(result.exit_code, result.output) + assert result.exit_code != 0 + assert ERROR_MSG in result.output + + def test_add_interface_ipv6_invalid_mask(self): + db = Db() + runner = CliRunner() + obj = {'config_db':db.cfgdb} + + # config int ip add Ethernet72 2001:0db8:11a3:09d7:1f34:8a2e:07a0:765d/200 + result = runner.invoke(config.config.commands["interface"].commands["ip"].commands["add"], ["Ethernet72", "2001:0db8:11a3:09d7:1f34:8a2e:07a0:765d/200"], obj=obj) + print(result.exit_code, result.output) + assert result.exit_code != 0 + assert ERROR_MSG in result.output + + def test_add_del_interface_ipv6_with_leading_zeros(self): + db = Db() + runner = CliRunner() + obj = {'config_db':db.cfgdb} + + # config int ip del Ethernet68 2001:0db8:11a3:09d7:1f34:8a2e:07a0:765d/34 + result = runner.invoke(config.config.commands["interface"].commands["ip"].commands["add"], ["Ethernet68", "2001:0db8:11a3:09d7:1f34:8a2e:07a0:765d/34"], obj=obj) + print(result.exit_code, result.output) + assert result.exit_code == 0 + assert ('Ethernet68', '2001:db8:11a3:9d7:1f34:8a2e:7a0:765d/34') in db.cfgdb.get_table('INTERFACE') + + # config int ip remove Ethernet68 2001:0db8:11a3:09d7:1f34:8a2e:07a0:765d/34 + result = runner.invoke(config.config.commands["interface"].commands["ip"].commands["remove"], ["Ethernet68", "2001:0db8:11a3:09d7:1f34:8a2e:07a0:765d/34"], obj=obj) + print(result.exit_code, result.output) + assert result.exit_code != 0 + assert ('Ethernet68', '2001:db8:11a3:9d7:1f34:8a2e:7a0:765d/34') not in db.cfgdb.get_table('INTERFACE') + + def test_add_del_interface_shortened_ipv6_with_leading_zeros(self): + db = Db() + runner = CliRunner() + obj = {'config_db':db.cfgdb} + + # config int ip del Ethernet68 3000::001/64 + result = runner.invoke(config.config.commands["interface"].commands["ip"].commands["add"], ["Ethernet68", "3000::001/64"], obj=obj) + print(result.exit_code, result.output) + assert result.exit_code == 0 + assert ('Ethernet68', '3000::1/64') in db.cfgdb.get_table('INTERFACE') + + # config int ip remove Ethernet68 3000::001/64 + result = runner.invoke(config.config.commands["interface"].commands["ip"].commands["remove"], ["Ethernet68", "3000::001/64"], obj=obj) + print(result.exit_code, result.output) + assert result.exit_code != 0 + assert ('Ethernet68', '3000::1/64') not in db.cfgdb.get_table('INTERFACE') + + @classmethod + def teardown_class(cls): + os.environ['UTILITIES_UNIT_TESTING'] = "0" + print("TEARDOWN") From f5f2a00d170c61724ae772701d6d2801ea1afbe4 Mon Sep 17 00:00:00 2001 From: Stepan Blyshchak <38952541+stepanblyschak@users.noreply.github.com> Date: Thu, 3 Jun 2021 19:23:03 +0300 Subject: [PATCH 212/342] [db_migrator] fix old 1911 feature config migration to a new one. (#1635) * [db_migrator] fix old 1911 feature config migration to a new one. This change is in addition to https://github.com/Azure/sonic-utilities/pull/1522. The init_cfg.json may have important fields added to configuration, while in previous fix these entries will not be added when table already exists. This change fixes this behaviour. Also, in order to preserve users auto_restart configuration a special logic for migrating CONTAINER_FEATURE table has been implemented. A test to cover this scenario is added. Signed-off-by: Stepan Blyschak --- scripts/db_migrator.py | 35 ++++++++++++++----- .../config_db/feature-expected.json | 18 ++++++++++ .../config_db/feature-input.json | 13 +++++++ tests/db_migrator_input/init_cfg.json | 18 ++++++++++ tests/db_migrator_test.py | 29 +++++++++++++++ 5 files changed, 104 insertions(+), 9 deletions(-) create mode 100644 tests/db_migrator_input/config_db/feature-expected.json create mode 100644 tests/db_migrator_input/config_db/feature-input.json diff --git a/scripts/db_migrator.py b/scripts/db_migrator.py index 4475457dcc..41ef8ee516 100755 --- a/scripts/db_migrator.py +++ b/scripts/db_migrator.py @@ -174,6 +174,21 @@ def migrate_copp_table(self): for copp_key in keys: self.appDB.delete(self.appDB.APPL_DB, copp_key) + def migrate_feature_table(self): + ''' + Combine CONTAINER_FEATURE and FEATURE tables into FEATURE table. + ''' + feature_table = self.configDB.get_table('FEATURE') + for feature, config in feature_table.items(): + state = config.pop('status', 'disabled') + config['state'] = state + self.configDB.set_entry('FEATURE', feature, config) + + container_feature_table = self.configDB.get_table('CONTAINER_FEATURE') + for feature, config in container_feature_table.items(): + self.configDB.mod_entry('FEATURE', feature, config) + self.configDB.set_entry('CONTAINER_FEATURE', feature, None) + def migrate_config_db_buffer_tables_for_dynamic_calculation(self, speed_list, cable_len_list, default_dynamic_th, abandon_method, append_item_method): ''' Migrate buffer tables to dynamic calculation mode @@ -419,6 +434,8 @@ def version_1_0_3(self): """ log.log_info('Handling version_1_0_3') + self.migrate_feature_table() + # Check ASIC type, if Mellanox platform then need DB migration if self.asic_type == "mellanox": if self.mellanox_buffer_migrator.mlnx_migrate_buffer_pool_size('version_1_0_3', 'version_1_0_4') \ @@ -520,7 +537,6 @@ def get_version(self): return 'version_unknown' - def set_version(self, version=None): if not version: version = self.CURRENT_VERSION @@ -528,7 +544,6 @@ def set_version(self, version=None): entry = { self.TABLE_FIELD : version } self.configDB.set_entry(self.TABLE_NAME, self.TABLE_KEY, entry) - def common_migration_ops(self): try: with open(INIT_CFG_FILE) as f: @@ -537,14 +552,16 @@ def common_migration_ops(self): raise Exception(str(e)) for init_cfg_table, table_val in init_db.items(): - data = self.configDB.get_table(init_cfg_table) - if data: - # Ignore overriding the values that pre-exist in configDB - continue log.log_info("Migrating table {} from INIT_CFG to config_db".format(init_cfg_table)) - # Update all tables that do not exist in configDB but are present in INIT_CFG - for init_table_key, init_table_val in table_val.items(): - self.configDB.set_entry(init_cfg_table, init_table_key, init_table_val) + for key in table_val: + curr_cfg = self.configDB.get_entry(init_cfg_table, key) + init_cfg = table_val[key] + + # Override init config with current config. + # This will leave new fields from init_config + # in new_config, but not override existing configuration. + new_cfg = {**init_cfg, **curr_cfg} + self.configDB.set_entry(init_cfg_table, key, new_cfg) self.migrate_copp_table() diff --git a/tests/db_migrator_input/config_db/feature-expected.json b/tests/db_migrator_input/config_db/feature-expected.json new file mode 100644 index 0000000000..301cb915c2 --- /dev/null +++ b/tests/db_migrator_input/config_db/feature-expected.json @@ -0,0 +1,18 @@ +{ + "FEATURE|swss": { + "auto_restart": "disabled", + "has_global_scope": "False", + "has_per_asic_scope": "True", + "has_timer": "False", + "high_mem_alert": "disabled", + "state": "enabled" + }, + "FEATURE|telemetry": { + "auto_restart": "enabled", + "has_global_scope": "False", + "has_per_asic_scope": "True", + "has_timer": "False", + "high_mem_alert": "disabled", + "state": "enabled" + } +} diff --git a/tests/db_migrator_input/config_db/feature-input.json b/tests/db_migrator_input/config_db/feature-input.json new file mode 100644 index 0000000000..31bb7895e8 --- /dev/null +++ b/tests/db_migrator_input/config_db/feature-input.json @@ -0,0 +1,13 @@ +{ + "CONTAINER_FEATURE|swss": { + "auto_restart": "disabled", + "high_mem_alert": "disabled" + }, + "CONTAINER_FEATURE|telemetry": { + "auto_restart": "enabled", + "high_mem_alert": "disabled" + }, + "FEATURE|telemetry": { + "status": "enabled" + } +} diff --git a/tests/db_migrator_input/init_cfg.json b/tests/db_migrator_input/init_cfg.json index 2c63c08510..0b8f5a213c 100644 --- a/tests/db_migrator_input/init_cfg.json +++ b/tests/db_migrator_input/init_cfg.json @@ -1,2 +1,20 @@ { + "FEATURE": { + "swss": { + "auto_restart": "enabled", + "has_global_scope": "False", + "has_per_asic_scope": "True", + "has_timer": "False", + "high_mem_alert": "disabled", + "state": "enabled" + }, + "telemetry": { + "auto_restart": "disabled", + "has_global_scope": "False", + "has_per_asic_scope": "True", + "has_timer": "False", + "high_mem_alert": "disabled", + "state": "disabled" + } + } } diff --git a/tests/db_migrator_test.py b/tests/db_migrator_test.py index 61ffa674a4..b5f12e4f5e 100644 --- a/tests/db_migrator_test.py +++ b/tests/db_migrator_test.py @@ -2,6 +2,8 @@ import pytest import sys +from deepdiff import DeepDiff + from swsssdk import SonicV2Connector from sonic_py_common import device_info @@ -218,3 +220,30 @@ def test_port_autoneg_migrator(self): assert dbmgtr.configDB.get_table('PORT') == expected_db.cfgdb.get_table('PORT') assert dbmgtr.configDB.get_table('VERSIONS') == expected_db.cfgdb.get_table('VERSIONS') + + +class TestInitConfigMigrator(object): + @classmethod + def setup_class(cls): + os.environ['UTILITIES_UNIT_TESTING'] = "2" + + @classmethod + def teardown_class(cls): + os.environ['UTILITIES_UNIT_TESTING'] = "0" + dbconnector.dedicated_dbs['CONFIG_DB'] = None + + def test_init_config_feature_migration(self): + dbconnector.dedicated_dbs['CONFIG_DB'] = os.path.join(mock_db_path, 'config_db', 'feature-input') + import db_migrator + dbmgtr = db_migrator.DBMigrator(None) + dbmgtr.migrate() + dbconnector.dedicated_dbs['CONFIG_DB'] = os.path.join(mock_db_path, 'config_db', 'feature-expected') + expected_db = Db() + + resulting_table = dbmgtr.configDB.get_table('FEATURE') + expected_table = expected_db.cfgdb.get_table('FEATURE') + + diff = DeepDiff(resulting_table, expected_table, ignore_order=True) + assert not diff + + assert not expected_db.cfgdb.get_table('CONTAINER_FEATURE') From 25e17def399f65b280755f0a3a783678865a411b Mon Sep 17 00:00:00 2001 From: Alexander Allen Date: Fri, 4 Jun 2021 12:34:08 -0400 Subject: [PATCH 213/342] [show platform summary] Add chassis hardware info to platform summary and version (#1624) #### What I did I added chassis model number, serial number, and hardware revision to the commands `show platform summary` and `show version` #### How I did it I refactored and modified the existing `get_hw_info_dict()` function to make calls to STATE_DB and get the chassis information populated by https://github.com/Azure/sonic-platform-daemons/pull/183 script. The new refactored versions of `get_hw_info_dict()` are added here https://github.com/Azure/sonic-buildimage/pull/7652 --- doc/Command-Reference.md | 19 +++++++++++--- show/main.py | 33 +++++++++---------------- show/platform.py | 49 +++++++++++++++++++++++-------------- tests/show_platform_test.py | 22 ++++++++++++----- 4 files changed, 73 insertions(+), 50 deletions(-) diff --git a/doc/Command-Reference.md b/doc/Command-Reference.md index fa0afe36aa..1d099631a9 100644 --- a/doc/Command-Reference.md +++ b/doc/Command-Reference.md @@ -441,6 +441,15 @@ This command displays relevant information as the SONiC and Linux kernel version Build date: Fri Mar 22 01:55:48 UTC 2019 Built by: johnar@jenkins-worker-4 + Platform: x86_64-mlnx_msn2700-r0 + HwSKU: Mellanox-SN2700 + ASIC: mellanox + ASIC Count: 1 + Serial Number: MT1822K07815 + Model Number: MSN2700-CS2FO + Hardware Rev: A1 + Uptime: 14:40:15 up 3 min, 1 user, load average: 1.26, 1.45, 0.66 + Docker images: REPOSITORY TAG IMAGE ID SIZE docker-syncd-brcm HEAD.32-21ea29a 434240daff6e 362MB @@ -686,9 +695,13 @@ This command displays a summary of the device's hardware platform - Example: ``` admin@sonic:~$ show platform summary - Platform: x86_64-dell_s6000_s1220-r0 - HwSKU: Force10-S6000 - ASIC: broadcom + Platform: x86_64-mlnx_msn2700-r0 + HwSKU: Mellanox-SN2700 + ASIC: mellanox + ASIC Count: 1 + Serial Number: MT1822K07815 + Model Number: MSN2700-CS2FO + Hardware Rev: A1 ``` **show platform syseeprom** diff --git a/show/main.py b/show/main.py index 3afca1c93a..ac2cb51ac9 100755 --- a/show/main.py +++ b/show/main.py @@ -8,7 +8,7 @@ import utilities_common.cli as clicommon import utilities_common.multi_asic as multi_asic_util from natsort import natsorted -from sonic_py_common import device_info, multi_asic +from sonic_py_common import device_info from swsscommon.swsscommon import SonicV2Connector, ConfigDBConnector from tabulate import tabulate from utilities_common import util_base @@ -956,22 +956,9 @@ def logging(process, lines, follow, verbose): def version(verbose): """Show version information""" version_info = device_info.get_sonic_version_info() - - platform = device_info.get_platform() - hwsku = device_info.get_hwsku() - asic_type = version_info['asic_type'] - asic_count = multi_asic.get_num_asics() - - serial_number = None - db = SonicV2Connector() - db.connect(db.STATE_DB) - eeprom_table = db.get_all(db.STATE_DB, 'EEPROM_INFO|0x23') - if "Name" in eeprom_table and eeprom_table["Name"] == "Serial Number" and "Value" in eeprom_table: - serial_number = eeprom_table["Value"] - else: - serial_number_cmd = "sudo decode-syseeprom -s" - serial_number = subprocess.Popen(serial_number_cmd, shell=True, text=True, stdout=subprocess.PIPE).stdout.read() - + platform_info = device_info.get_platform_info() + chassis_info = platform.get_chassis_info() + sys_uptime_cmd = "uptime" sys_uptime = subprocess.Popen(sys_uptime_cmd, shell=True, text=True, stdout=subprocess.PIPE) @@ -981,11 +968,13 @@ def version(verbose): click.echo("Build commit: {}".format(version_info['commit_id'])) click.echo("Build date: {}".format(version_info['build_date'])) click.echo("Built by: {}".format(version_info['built_by'])) - click.echo("\nPlatform: {}".format(platform)) - click.echo("HwSKU: {}".format(hwsku)) - click.echo("ASIC: {}".format(asic_type)) - click.echo("ASIC Count: {}".format(asic_count)) - click.echo("Serial Number: {}".format(serial_number.strip())) + click.echo("\nPlatform: {}".format(platform_info['platform'])) + click.echo("HwSKU: {}".format(platform_info['hwsku'])) + click.echo("ASIC: {}".format(platform_info['asic_type'])) + click.echo("ASIC Count: {}".format(platform_info['asic_count'])) + click.echo("Serial Number: {}".format(chassis_info['serial'])) + click.echo("Model Number: {}".format(chassis_info['model'])) + click.echo("Hardware Revision: {}".format(chassis_info['revision'])) click.echo("Uptime: {}".format(sys_uptime.stdout.read().strip())) click.echo("\nDocker images:") cmd = 'sudo docker images --format "table {{.Repository}}\\t{{.Tag}}\\t{{.ID}}\\t{{.Size}}"' diff --git a/show/platform.py b/show/platform.py index 7e8f8f444c..739ef5f476 100644 --- a/show/platform.py +++ b/show/platform.py @@ -4,24 +4,33 @@ import click import utilities_common.cli as clicommon -from sonic_py_common import device_info, multi_asic +from sonic_py_common import device_info +# +# Helper functions +# -def get_hw_info_dict(): +def get_chassis_info(): """ - This function is used to get the HW info helper function + Attempts to get the chassis info via STATE_DB and falls back to direct Platform API calls. """ - hw_info_dict = {} - version_info = device_info.get_sonic_version_info() + chassis_info = device_info.get_chassis_info() + required_keys = ['serial', 'model', 'revision'] + failed_vals = ['', 'N/A'] + platform_chassis = None - hw_info_dict['platform'] = device_info.get_platform() - hw_info_dict['hwsku'] = device_info.get_hwsku() - hw_info_dict['asic_type'] = version_info['asic_type'] - hw_info_dict['asic_count'] = multi_asic.get_num_asics() - - return hw_info_dict + for k in required_keys: + if chassis_info.get(k, '') in failed_vals: + if platform_chassis is None: + import platform + platform_chassis = sonic_platform.platform.Platform().get_chassis() + try: + chassis_info[k] = getattr(platform_chassis, "get_".format(k))() + except AttributeError: + chassis_info[k] = 'N/A' + return chassis_info # # 'platform' group ("show platform ...") @@ -38,17 +47,19 @@ def platform(): @click.option('--json', is_flag=True, help="Output in JSON format") def summary(json): """Show hardware platform information""" - - hw_info_dict = {} - hw_info_dict = get_hw_info_dict() + platform_info = device_info.get_platform_info() + chassis_info = get_chassis_info() if json: - click.echo(clicommon.json_dump(hw_info_dict)) + click.echo(clicommon.json_dump({**platform_info, **chassis_info})) else: - click.echo("Platform: {}".format(hw_info_dict['platform'])) - click.echo("HwSKU: {}".format(hw_info_dict['hwsku'])) - click.echo("ASIC: {}".format(hw_info_dict['asic_type'])) - click.echo("ASIC Count: {}".format(hw_info_dict['asic_count'])) + click.echo("Platform: {}".format(platform_info['platform'])) + click.echo("HwSKU: {}".format(platform_info['hwsku'])) + click.echo("ASIC: {}".format(platform_info['asic_type'])) + click.echo("ASIC Count: {}".format(platform_info['asic_count'])) + click.echo("Serial Number: {}".format(chassis_info['serial'])) + click.echo("Model Number: {}".format(chassis_info['model'])) + click.echo("Hardware Revision: {}".format(chassis_info['revision'])) # 'syseeprom' subcommand ("show platform syseeprom") diff --git a/tests/show_platform_test.py b/tests/show_platform_test.py index 937059dcde..4dcf73a978 100644 --- a/tests/show_platform_test.py +++ b/tests/show_platform_test.py @@ -26,6 +26,10 @@ class TestShowPlatform(object): TEST_PLATFORM = "x86_64-mlnx_msn2700-r0" TEST_HWSKU = "Mellanox-SN2700" TEST_ASIC_TYPE = "mellanox" + TEST_ASIC_COUNT = 1 + TEST_SERIAL = "MT1822K07815" + TEST_MODEL = "MSN2700-CS2FO" + TEST_REV = "A1" # Test 'show platform summary' def test_summary(self): @@ -33,12 +37,18 @@ def test_summary(self): Platform: {} HwSKU: {} ASIC: {} - """.format(self.TEST_PLATFORM, self.TEST_HWSKU, self.TEST_ASIC_TYPE) - - with mock.patch("show.platform.get_hw_info_dict", - return_value={"platform": self.TEST_PLATFORM, "hwsku": self.TEST_HWSKU, "asic_type": self.TEST_ASIC_TYPE}): - result = CliRunner().invoke(show.cli.commands["platform"].commands["summary"], []) - assert result.output == textwrap.dedent(expected_output) + ASIC Count: {} + Serial Number: {} + Model Number: {} + Hardware Revision: {} + """.format(self.TEST_PLATFORM, self.TEST_HWSKU, self.TEST_ASIC_TYPE, self.TEST_ASIC_COUNT, self.TEST_SERIAL, self.TEST_MODEL, self.TEST_REV) + + with mock.patch("sonic_py_common.device_info.get_platform_info", + return_value={"platform": self.TEST_PLATFORM, "hwsku": self.TEST_HWSKU, "asic_type": self.TEST_ASIC_TYPE, "asic_count": self.TEST_ASIC_COUNT}): + with mock.patch("show.platform.get_chassis_info", + return_value={"serial": self.TEST_SERIAL, "model": self.TEST_MODEL, "revision": self.TEST_REV}): + result = CliRunner().invoke(show.cli.commands["platform"].commands["summary"], []) + assert result.output == textwrap.dedent(expected_output) class TestShowPlatformPsu(object): From a425ca26a89ec0821cd41d827a904da7678ba801 Mon Sep 17 00:00:00 2001 From: vdahiya12 <67608553+vdahiya12@users.noreply.github.com> Date: Thu, 10 Jun 2021 11:12:18 -0700 Subject: [PATCH 214/342] [config] support for configuring muxcable to manual mode of operation (#1642) What I did This PR adds support for an option to configure muxcable mode to a manual mode. The manual mode is in addition to auto/active mode. The new output would look like this in case an active flag is passed to the command line admin@sonic:~$ sudo config muxcable mode manual Ethernet0 admin@sonic:~$ sudo config muxcable mode manual all added an option to set muxcable mode to manual mode, in addition to existing auto/active modes. How I did it added the changes in config/muxcable.py and added testcases How to verify it Ran the unit tests Signed-off-by: vaibhav-dahiya --- config/muxcable.py | 36 ++++++++------------------------ tests/mock_tables/config_db.json | 5 +++++ tests/muxcable_test.py | 20 ++++++++++++++++-- 3 files changed, 32 insertions(+), 29 deletions(-) diff --git a/config/muxcable.py b/config/muxcable.py index 965bceb6de..6bd139b992 100644 --- a/config/muxcable.py +++ b/config/muxcable.py @@ -73,43 +73,25 @@ def lookup_statedb_and_update_configdb(per_npu_statedb, config_db, port, state_c ipv6_value = get_value_for_key_in_config_tbl(config_db, port, "server_ipv6", "MUX_CABLE") state = get_value_for_key_in_dict(muxcable_statedb_dict, port, "state", "MUX_CABLE_TABLE") - if (state == "active" and configdb_state == "active") or (state == "standby" and configdb_state == "active") or (state == "unknown" and configdb_state == "active"): - if state_cfg_val == "active": - # status is already active, so right back error - port_status_dict[port] = 'OK' - if state_cfg_val == "auto": - # display ok and write to cfgdb auto - port_status_dict[port] = 'OK' - config_db.set_entry("MUX_CABLE", port, {"state": "auto", - "server_ipv4": ipv4_value, "server_ipv6": ipv6_value}) - elif state == "active" and configdb_state == "auto": - if state_cfg_val == "active": - # make the state active and write back OK - config_db.set_entry("MUX_CABLE", port, {"state": "active", - "server_ipv4": ipv4_value, "server_ipv6": ipv6_value}) - port_status_dict[port] = 'OK' - if state_cfg_val == "auto": - # dont write anything to db, write OK to user - port_status_dict[port] = 'OK' - elif (state == "standby" and configdb_state == "auto") or (state == "unknown" and configdb_state == "auto"): - if state_cfg_val == "active": - # make the state active - config_db.set_entry("MUX_CABLE", port, {"state": "active", - "server_ipv4": ipv4_value, "server_ipv6": ipv6_value}) + if str(state_cfg_val) == str(configdb_state): + port_status_dict[port] = 'OK' + else: + config_db.set_entry("MUX_CABLE", port, {"state": state_cfg_val, + "server_ipv4": ipv4_value, "server_ipv6": ipv6_value}) + if str(state_cfg_val) == 'active' and str(state) != 'active': port_status_dict[port] = 'INPROGRESS' - if state_cfg_val == "auto": - # dont write anything to db + else: port_status_dict[port] = 'OK' # 'muxcable' command ("config muxcable mode active|auto") @muxcable.command() -@click.argument('state', metavar='', required=True, type=click.Choice(["active", "auto"])) +@click.argument('state', metavar='', required=True, type=click.Choice(["active", "auto", "manual"])) @click.argument('port', metavar='', required=True, default=None) @click.option('--json', 'json_output', required=False, is_flag=True, type=click.BOOL) def mode(state, port, json_output): - """Show muxcable summary information""" + """Config muxcable mode""" port_table_keys = {} y_cable_asic_table_keys = {} diff --git a/tests/mock_tables/config_db.json b/tests/mock_tables/config_db.json index e4be4606da..24bab1f8b9 100644 --- a/tests/mock_tables/config_db.json +++ b/tests/mock_tables/config_db.json @@ -1577,6 +1577,11 @@ "server_ipv4": "10.1.1.1", "server_ipv6": "fc00::75" }, + "MUX_CABLE|Ethernet28": { + "state": "manual", + "server_ipv4": "10.1.1.1", + "server_ipv6": "fc00::75" + }, "MUX_CABLE|Ethernet0": { "state": "active", "server_ipv4": "10.2.1.1", diff --git a/tests/muxcable_test.py b/tests/muxcable_test.py index 0385ffeae5..2d63a5d482 100644 --- a/tests/muxcable_test.py +++ b/tests/muxcable_test.py @@ -72,6 +72,7 @@ Ethernet4 auto 10.3.1.1 e801::46 Ethernet8 active 10.4.1.1 e802::46 Ethernet12 active 10.4.1.1 e802::46 +Ethernet28 manual 10.1.1.1 fc00::75 Ethernet32 auto 10.1.1.1 fc00::75 """ @@ -108,6 +109,13 @@ "IPv6": "e802::46" } }, + "Ethernet28": { + "STATE": "manual", + "SERVER": { + "IPv4": "10.1.1.1", + "IPv6": "fc00::75" + } + }, "Ethernet32": { "STATE": "auto", "SERVER": { @@ -363,6 +371,16 @@ def test_config_muxcable_tabular_port_Ethernet8_auto(self): assert result.exit_code == 0 + def test_config_muxcable_tabular_port_Ethernet8_manual(self): + runner = CliRunner() + db = Db() + + with mock.patch('sonic_platform_base.sonic_sfp.sfputilhelper') as patched_util: + patched_util.SfpUtilHelper.return_value.get_asic_id_for_logical_port.return_value = 0 + result = runner.invoke(config.config.commands["muxcable"].commands["mode"], ["manual", "Ethernet8"], obj=db) + + assert result.exit_code == 0 + def test_config_muxcable_mode_auto_json(self): runner = CliRunner() db = Db() @@ -377,8 +395,6 @@ def test_config_muxcable_mode_active_json(self): db = Db() result = runner.invoke(config.config.commands["muxcable"].commands["mode"], ["active", "all", "--json"], obj=db) - f = open("newfile1", "w") - f.write(result.output) assert result.exit_code == 0 assert result.output == json_data_config_output_active_expected From 3ff68c4e5287ab2f5d23c23176ebd75a4f629bf0 Mon Sep 17 00:00:00 2001 From: Sumukha Tumkur Vani Date: Fri, 11 Jun 2021 15:05:47 -0700 Subject: [PATCH 215/342] [neighbor-advertiser] delete the tunnel maps appropriately (#1663) --- scripts/neighbor_advertiser | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/scripts/neighbor_advertiser b/scripts/neighbor_advertiser index 5cc09d32c9..131c172165 100644 --- a/scripts/neighbor_advertiser +++ b/scripts/neighbor_advertiser @@ -546,8 +546,12 @@ def remove_vxlan_tunnel(): def remove_vxlan_tunnel_map(): + vxlan_tunnel_name = VXLAN_TUNNEL_NAME + vxlan_tunnel = config_db.get_table('VXLAN_TUNNEL') + if len(vxlan_tunnel): + vxlan_tunnel_name = list(vxlan_tunnel.keys())[0] for (index, _) in enumerate(get_vlan_interfaces(), 1): - config_db.set_entry('VXLAN_TUNNEL_MAP', (VXLAN_TUNNEL_NAME, VXLAN_TUNNEL_MAP_PREFIX + str(index)), None) + config_db.set_entry('VXLAN_TUNNEL_MAP', (vxlan_tunnel_name, VXLAN_TUNNEL_MAP_PREFIX + str(index)), None) def reset_vxlan_tunnel(): From 25669c31dd30f6970915d645930ef37f58e064d7 Mon Sep 17 00:00:00 2001 From: Joe LeVeque Date: Wed, 16 Jun 2021 09:49:24 -0700 Subject: [PATCH 216/342] [CI] sonic-config-engine now depends on SONiC YANG packages (#1675) sonic-config-engine now depends on sonic-yang-mgmt and sonic-yang-models, so we now need to install them before we install sonic-config-engine as part of continuous integration to get the CI working again --- azure-pipelines.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 28151cbbc2..9ec88b56a9 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -70,10 +70,10 @@ stages: set -xe sudo pip3 install swsssdk-2.0.1-py3-none-any.whl sudo pip3 install sonic_py_common-1.0-py3-none-any.whl - sudo pip3 install sonic_config_engine-1.0-py3-none-any.whl - sudo pip3 install sonic_platform_common-1.0-py3-none-any.whl sudo pip3 install sonic_yang_mgmt-1.0-py3-none-any.whl sudo pip3 install sonic_yang_models-1.0-py3-none-any.whl + sudo pip3 install sonic_config_engine-1.0-py3-none-any.whl + sudo pip3 install sonic_platform_common-1.0-py3-none-any.whl workingDirectory: $(Pipeline.Workspace)/target/python-wheels/ displayName: 'Install Python dependencies' From d1c1c61ebc758576409c45d13d7fe63d88efe26d Mon Sep 17 00:00:00 2001 From: lguohan Date: Wed, 16 Jun 2021 15:50:39 -0700 Subject: [PATCH 217/342] [tests]: skip some dynamic port breakout unit tests (#1677) re-enable after fix those tests Signed-off-by: Guohan Lu --- tests/config_dpb_test.py | 1 + tests/config_mgmt_test.py | 3 +++ 2 files changed, 4 insertions(+) diff --git a/tests/config_dpb_test.py b/tests/config_dpb_test.py index 1d58e90c67..1251f1e02f 100644 --- a/tests/config_dpb_test.py +++ b/tests/config_dpb_test.py @@ -467,6 +467,7 @@ def test_config_breakout_negative_cases(self, sonic_db): return @pytest.mark.usefixtures('mock_func') + @pytest.mark.skip(reason="not stable") def test_config_breakout_various_modes(self, sonic_db): ''' Test different combination of breakout port. diff --git a/tests/config_mgmt_test.py b/tests/config_mgmt_test.py index a86ab9e1aa..41b7f5883d 100644 --- a/tests/config_mgmt_test.py +++ b/tests/config_mgmt_test.py @@ -4,6 +4,7 @@ from copy import deepcopy from unittest import mock, TestCase +import pytest from utilities_common.general import load_module_from_source # Import file under test i.e., config_mgmt.py @@ -56,6 +57,7 @@ def test_search_keys(self): len(out['ACL_TABLE'][k]) == 1 return + @pytest.mark.skip(reason="not stable") def test_break_out(self): # prepare default config self.writeJson(portBreakOutConfigDbJson, @@ -78,6 +80,7 @@ def test_break_out(self): self.dpb_port4_4x25G_2x50G_f_l(curConfig) return + @pytest.mark.skip(reason="not stable") def test_shutdownIntf_call(self): ''' Verify that _shutdownIntf() is called with deleted ports while calling From 19615e3c0c45bba1c8c8b19c02276732b70da9bc Mon Sep 17 00:00:00 2001 From: Sudharsan Dhamal Gopalarathnam Date: Thu, 17 Jun 2021 04:42:00 -0700 Subject: [PATCH 218/342] Fixing db_migrator for Feature table (#1674) #### What I did Fixing db_migrator.py for FEATURE table. In case of version_unknown, all versions' migrator APIs would be invoked which will also invoke the feature_table migration. Without the field check for 'status' the current logic will set it 'disabled' and will set 'state' field too to be 'disabled' which will in turn disable all the features bringing down the system. #### How I did it Added check to migrate only if 'status' field is present. #### How to verify it Install the image through onie and confirm if services are up --- scripts/db_migrator.py | 8 +++++--- tests/db_migrator_input/config_db/feature-expected.json | 8 ++++++++ tests/db_migrator_input/config_db/feature-input.json | 3 +++ tests/db_migrator_input/init_cfg.json | 8 ++++++++ 4 files changed, 24 insertions(+), 3 deletions(-) diff --git a/scripts/db_migrator.py b/scripts/db_migrator.py index 41ef8ee516..7a20982b79 100755 --- a/scripts/db_migrator.py +++ b/scripts/db_migrator.py @@ -180,9 +180,11 @@ def migrate_feature_table(self): ''' feature_table = self.configDB.get_table('FEATURE') for feature, config in feature_table.items(): - state = config.pop('status', 'disabled') - config['state'] = state - self.configDB.set_entry('FEATURE', feature, config) + state = config.get('status') + if state is not None: + config['state'] = state + config.pop('status') + self.configDB.set_entry('FEATURE', feature, config) container_feature_table = self.configDB.get_table('CONTAINER_FEATURE') for feature, config in container_feature_table.items(): diff --git a/tests/db_migrator_input/config_db/feature-expected.json b/tests/db_migrator_input/config_db/feature-expected.json index 301cb915c2..92653771fc 100644 --- a/tests/db_migrator_input/config_db/feature-expected.json +++ b/tests/db_migrator_input/config_db/feature-expected.json @@ -7,6 +7,14 @@ "high_mem_alert": "disabled", "state": "enabled" }, + "FEATURE|syncd": { + "auto_restart": "enabled", + "has_global_scope": "False", + "has_per_asic_scope": "True", + "has_timer": "False", + "high_mem_alert": "disabled", + "state": "enabled" + }, "FEATURE|telemetry": { "auto_restart": "enabled", "has_global_scope": "False", diff --git a/tests/db_migrator_input/config_db/feature-input.json b/tests/db_migrator_input/config_db/feature-input.json index 31bb7895e8..c6d512dad1 100644 --- a/tests/db_migrator_input/config_db/feature-input.json +++ b/tests/db_migrator_input/config_db/feature-input.json @@ -9,5 +9,8 @@ }, "FEATURE|telemetry": { "status": "enabled" + }, + "FEATURE|syncd": { + "state": "enabled" } } diff --git a/tests/db_migrator_input/init_cfg.json b/tests/db_migrator_input/init_cfg.json index 0b8f5a213c..634477a4f9 100644 --- a/tests/db_migrator_input/init_cfg.json +++ b/tests/db_migrator_input/init_cfg.json @@ -8,6 +8,14 @@ "high_mem_alert": "disabled", "state": "enabled" }, + "syncd": { + "auto_restart": "enabled", + "has_global_scope": "False", + "has_per_asic_scope": "True", + "has_timer": "False", + "high_mem_alert": "disabled", + "state": "enabled" + }, "telemetry": { "auto_restart": "disabled", "has_global_scope": "False", From 285960d96f139e67025a3994fb78ce5cff7730d5 Mon Sep 17 00:00:00 2001 From: Lawrence Lee Date: Thu, 17 Jun 2021 11:28:45 -0700 Subject: [PATCH 219/342] [config]: Update environment file during config reload (#1673) Signed-off-by: Lawrence Lee --- config/main.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/main.py b/config/main.py index 828c447e5f..bf9d9685af 100644 --- a/config/main.py +++ b/config/main.py @@ -1310,6 +1310,9 @@ def reload(db, filename, yes, load_sysinfo, no_service_restart, disable_arp_cach command = "{} -o migrate -n {}".format(db_migrator, namespace) clicommon.run_command(command, display_cmd=True) + # Re-generate the environment variable in case config_db.json was edited + update_sonic_environment() + # We first run "systemctl reset-failed" to remove the "failed" # status from all services before we attempt to restart them if not no_service_restart: From 3f0ecd56ce929050df1e2fbd76ca74f8f0618495 Mon Sep 17 00:00:00 2001 From: Alexander Allen Date: Fri, 18 Jun 2021 13:04:16 -0400 Subject: [PATCH 220/342] [config] Remove "reset failed" print lines from config reload (#1654) #### What I did I removed the following line from the `config reload` flow.... ``` click.echo("Resetting failed status on {}".format(service)) ``` This is called in the `_reset_failed_services()` function which is used to reset the systemd restart timers on services so that it doesn't prevent them from starting from the config reload. The above line results in the following lines being printed to the terminal when `config reload` is run ``` Resetting failed status on .service ``` This gives the impression that the listed services failed at some point in their lifetime which is untrue and misleading to print to the terminal (in addition many rich-text terminals mark keywords such as "failed" red which further increases the implied severity of these log lines). I do not believe this operation needs any verbosity as it is a very simple operation that makes no user-visible changes thus the user should not need to be notified of it. --- config/main.py | 1 - 1 file changed, 1 deletion(-) diff --git a/config/main.py b/config/main.py index bf9d9685af..43c5ff4ee5 100644 --- a/config/main.py +++ b/config/main.py @@ -683,7 +683,6 @@ def _get_sonic_services(): def _reset_failed_services(): for service in _get_sonic_services(): - click.echo("Resetting failed status on {}".format(service)) clicommon.run_command("systemctl reset-failed {}".format(service)) From a1c8751cbd07bfa25c72ab0bc193f28a872922ec Mon Sep 17 00:00:00 2001 From: Sujin Kang Date: Fri, 18 Jun 2021 15:36:35 -0700 Subject: [PATCH 221/342] Make the soft-reboot available in the SONiC image on master (#1681) Make the soft-reboot available in the SONiC image on master What I did Add soft-reboot to build package How I did it Add "soft-reboot" to the package list of sonic-utility/setup.py How to verify it Build a SONiC image, load the image to DUT and check if soft-reboot is available. --- setup.py | 1 + 1 file changed, 1 insertion(+) diff --git a/setup.py b/setup.py index 2ac87e4ad2..de5a3cbdac 100644 --- a/setup.py +++ b/setup.py @@ -120,6 +120,7 @@ 'scripts/route_check_test.sh', 'scripts/vnet_route_check.py', 'scripts/sfpshow', + 'scripts/soft-reboot', 'scripts/storyteller', 'scripts/syseeprom-to-json', 'scripts/tempershow', From 45e7b71e83728fa57db9db5c8222a267e9ec6e92 Mon Sep 17 00:00:00 2001 From: DavidZagury <32644413+DavidZagury@users.noreply.github.com> Date: Sun, 20 Jun 2021 17:14:24 +0300 Subject: [PATCH 222/342] [Mellanox] Add all results from saisdkdump to the techsupport on Mellanox switches (#1660) - What I did Enhance the way techsupport collects dumps provided by SAI and do not keep them in the filesystem once the techsupport is created. - How I did it Create a temporary directory once techsupport script is executed, gather all files SAI dumps created, add them to the tech support and remove the temporary directory and files. Remove direct call to FW trace collection as it is done now by SAI dump - How to verify it Run techsupport, verify newly created files are part of it including mlxtrace which is no longer called directly by the techsupport script. --- scripts/generate_dump | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/scripts/generate_dump b/scripts/generate_dump index 21d4a4e0c8..e38b0834f8 100755 --- a/scripts/generate_dump +++ b/scripts/generate_dump @@ -758,10 +758,20 @@ enable_logrotate() { # None ############################################################################### collect_mellanox() { - local sai_dump_filename="/tmp/sai_sdk_dump_$(date +"%m_%d_%Y_%I_%M_%p")" + local sai_dump_folder="/tmp/saisdkdump" + local sai_dump_filename="${sai_dump_folder}/sai_sdk_dump_$(date +"%m_%d_%Y_%I_%M_%p")" + + ${CMD_PREFIX}docker exec -it syncd mkdir -p $sai_dump_folder ${CMD_PREFIX}docker exec -it syncd saisdkdump -f $sai_dump_filename - ${CMD_PREFIX}docker exec syncd tar Ccf $(dirname $sai_dump_filename) - $(basename $sai_dump_filename) | tar Cxf /tmp/ - - save_file $sai_dump_filename sai_sdk_dump true + + copy_from_docker syncd $sai_dump_folder $sai_dump_folder + echo "$sai_dump_folder" + for file in `ls $sai_dump_folder`; do + save_file ${sai_dump_folder}/${file} sai_sdk_dump true + done + + ${CMD_PREFIX}rm -rf $sai_dump_folder + ${CMD_PREFIX}docker exec -it syncd rm -rf $sai_dump_folder local mst_dump_filename="/tmp/mstdump" local max_dump_count="3" From a75a2e8574a1e15caa068c3fbd95f5d12bfff20a Mon Sep 17 00:00:00 2001 From: Kebo Liu Date: Mon, 21 Jun 2021 00:26:28 +0800 Subject: [PATCH 223/342] create sniffer folder if not exist (#1659) - What I did following the change in PR Azure/sonic-buildimage#7830, the folder needs to be created when the first time enables the sniffer function. - How I did it check whether the path to store the sniffer file is existing or not, if not, create it. - How to verify it run command "config platform mlnx sniffer sdk enable", can see sniffer function can be enabled successfully. --- config/plugins/mlnx.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config/plugins/mlnx.py b/config/plugins/mlnx.py index 0883aa5799..a579e6d164 100644 --- a/config/plugins/mlnx.py +++ b/config/plugins/mlnx.py @@ -43,6 +43,8 @@ # generate sniffer target file name include a time stamp. def sniffer_filename_generate(path, filename_prefix, filename_ext): + if not os.path.exists(path): + os.makedirs(path) time_stamp = time.strftime("%Y%m%d%H%M%S") filename = path + filename_prefix + time_stamp + filename_ext return filename From 54fee0f7c81378a1ff956993fb3f058b9120bb83 Mon Sep 17 00:00:00 2001 From: Raphael Tryster <75927947+raphaelt-nvidia@users.noreply.github.com> Date: Mon, 21 Jun 2021 18:54:24 +0300 Subject: [PATCH 224/342] Add range check on portchannel min-links (#1630) Restrict the min-links parameter in "config portchannel" to the range 0-1024. Signed-off-by: Raphael Tryster --- config/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/main.py b/config/main.py index 43c5ff4ee5..f05084846c 100644 --- a/config/main.py +++ b/config/main.py @@ -1487,7 +1487,7 @@ def portchannel(ctx, namespace): @portchannel.command('add') @click.argument('portchannel_name', metavar='', required=True) -@click.option('--min-links', default=0, type=int) +@click.option('--min-links', default=1, type=click.IntRange(1,1024)) @click.option('--fallback', default='false') @click.pass_context def add_portchannel(ctx, portchannel_name, min_links, fallback): From 6f74ba53d7768312a015a1d04c677349fbccab9e Mon Sep 17 00:00:00 2001 From: Volodymyr Samotiy Date: Mon, 21 Jun 2021 19:14:11 +0300 Subject: [PATCH 225/342] [vnet_route_check] Fix logic for getting VNET routes from ASIC DB (#1653) Fixed issue when VNET route check detects some routes as missed they are really configured. Signed-off-by: Volodymyr Samotiy --- scripts/vnet_route_check.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/scripts/vnet_route_check.py b/scripts/vnet_route_check.py index 010e953451..d23eabda58 100755 --- a/scripts/vnet_route_check.py +++ b/scripts/vnet_route_check.py @@ -266,9 +266,8 @@ def get_vnet_routes_from_asic_db(): ip_addr = route_attrs[3] if vrf_oid in vnet_vrfs_oids: + vnet_name = vrf_oid_to_vnet_map[vrf_oid] if vrf_oid_to_vnet_map[vrf_oid] not in vnet_routes: - vnet_name = vrf_oid_to_vnet_map[vrf_oid] - vnet_routes[vnet_name] = {} vnet_routes[vnet_name]['routes'] = [] vnet_routes[vnet_name]['vrf_oid'] = vrf_oid From 2cdadb52b7a4d6296726af5b5fe4e29e0b5e6bc8 Mon Sep 17 00:00:00 2001 From: DavidZagury <32644413+DavidZagury@users.noreply.github.com> Date: Mon, 21 Jun 2021 21:05:41 +0300 Subject: [PATCH 226/342] [config]: Create portchannel with LACP key (#1473) What I did Fix issue - Azure/sonic-buildimage#4009 Change the LACP key to be generated from the Port Channel name instead of always being 0. When upgrading without warm-reboot update old port channels to use the new default. How I did it When adding a new port-channel add by default the key lacp_key with the value 'auto' to the port-channel table, this is done to change the port-channel LACP key to be generated from the Port Channel name instead of always being 0. When upgrading without warm-reboot, also update old port channels to use the new default. This is not done on warm-reboot to avoid the link from going down. --- config/main.py | 3 +- scripts/db_migrator.py | 19 ++++++++- .../config_db/portchannel-expected.json | 39 +++++++++++++++++++ .../config_db/portchannel-input.json | 33 ++++++++++++++++ tests/db_migrator_test.py | 23 +++++++++++ 5 files changed, 114 insertions(+), 3 deletions(-) create mode 100644 tests/db_migrator_input/config_db/portchannel-expected.json create mode 100644 tests/db_migrator_input/config_db/portchannel-input.json diff --git a/config/main.py b/config/main.py index f05084846c..1dd3c31395 100644 --- a/config/main.py +++ b/config/main.py @@ -1502,7 +1502,8 @@ def add_portchannel(ctx, portchannel_name, min_links, fallback): ctx.fail("{} already exists!".format(portchannel_name)) fvs = {'admin_status': 'up', - 'mtu': '9100'} + 'mtu': '9100', + 'lacp_key': 'auto'} if min_links != 0: fvs['min_links'] = str(min_links) if fallback != 'false': diff --git a/scripts/db_migrator.py b/scripts/db_migrator.py index 7a20982b79..cdfb3337ba 100755 --- a/scripts/db_migrator.py +++ b/scripts/db_migrator.py @@ -44,7 +44,7 @@ def __init__(self, namespace, socket=None): none-zero values. build: sequentially increase within a minor version domain. """ - self.CURRENT_VERSION = 'version_2_0_0' + self.CURRENT_VERSION = 'version_2_0_2' self.TABLE_NAME = 'VERSIONS' self.TABLE_KEY = 'DATABASE' @@ -527,9 +527,24 @@ def version_2_0_0(self): def version_2_0_1(self): """ - Current latest version. Nothing to do here. + Version 2_0_1. """ log.log_info('Handling version_2_0_1') + warmreboot_state = self.stateDB.get(self.stateDB.STATE_DB, 'WARM_RESTART_ENABLE_TABLE|system', 'enable') + + if warmreboot_state != 'true': + portchannel_table = self.configDB.get_table('PORTCHANNEL') + for name, data in portchannel_table.items(): + data['lacp_key'] = 'auto' + self.configDB.set_entry('PORTCHANNEL', name, data) + self.set_version('version_2_0_2') + return 'version_2_0_2' + + def version_2_0_2(self): + """ + Current latest version. Nothing to do here. + """ + log.log_info('Handling version_2_0_2') return None def get_version(self): diff --git a/tests/db_migrator_input/config_db/portchannel-expected.json b/tests/db_migrator_input/config_db/portchannel-expected.json new file mode 100644 index 0000000000..acc61d1316 --- /dev/null +++ b/tests/db_migrator_input/config_db/portchannel-expected.json @@ -0,0 +1,39 @@ +{ + "PORTCHANNEL|PortChannel0": { + "admin_status": "up", + "members@": "Ethernet0,Ethernet4", + "min_links": "2", + "mtu": "9100", + "lacp_key": "auto" + }, + "PORTCHANNEL|PortChannel1": { + "admin_status": "up", + "members@": "Ethernet8,Ethernet12", + "min_links": "2", + "mtu": "9100", + "lacp_key": "auto" + }, + "PORTCHANNEL|PortChannel0123": { + "admin_status": "up", + "members@": "Ethernet16", + "min_links": "1", + "mtu": "9100", + "lacp_key": "auto" + }, + "PORTCHANNEL|PortChannel0011": { + "admin_status": "up", + "members@": "Ethernet20,Ethernet24", + "min_links": "2", + "mtu": "9100", + "lacp_key": "auto" + }, + "PORTCHANNEL|PortChannel9999": { + "admin_status": "up", + "mtu": "9100", + "lacp_key": "auto" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_2" + } +} + diff --git a/tests/db_migrator_input/config_db/portchannel-input.json b/tests/db_migrator_input/config_db/portchannel-input.json new file mode 100644 index 0000000000..5a890755a0 --- /dev/null +++ b/tests/db_migrator_input/config_db/portchannel-input.json @@ -0,0 +1,33 @@ +{ + "PORTCHANNEL|PortChannel0": { + "admin_status": "up", + "members@": "Ethernet0,Ethernet4", + "min_links": "2", + "mtu": "9100" + }, + "PORTCHANNEL|PortChannel1": { + "admin_status": "up", + "members@": "Ethernet8,Ethernet12", + "min_links": "2", + "mtu": "9100" + }, + "PORTCHANNEL|PortChannel0123": { + "admin_status": "up", + "members@": "Ethernet16", + "min_links": "1", + "mtu": "9100" + }, + "PORTCHANNEL|PortChannel0011": { + "admin_status": "up", + "members@": "Ethernet20,Ethernet24", + "min_links": "2", + "mtu": "9100" + }, + "PORTCHANNEL|PortChannel9999": { + "admin_status": "up", + "mtu": "9100" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_1" + } +} diff --git a/tests/db_migrator_test.py b/tests/db_migrator_test.py index b5f12e4f5e..f871350fd5 100644 --- a/tests/db_migrator_test.py +++ b/tests/db_migrator_test.py @@ -247,3 +247,26 @@ def test_init_config_feature_migration(self): assert not diff assert not expected_db.cfgdb.get_table('CONTAINER_FEATURE') + + +class TestLacpKeyMigrator(object): + @classmethod + def setup_class(cls): + os.environ['UTILITIES_UNIT_TESTING'] = "2" + + @classmethod + def teardown_class(cls): + os.environ['UTILITIES_UNIT_TESTING'] = "0" + dbconnector.dedicated_dbs['CONFIG_DB'] = None + + def test_lacp_key_migrator(self): + dbconnector.dedicated_dbs['CONFIG_DB'] = os.path.join(mock_db_path, 'config_db', 'portchannel-input') + import db_migrator + dbmgtr = db_migrator.DBMigrator(None) + dbmgtr.migrate() + dbconnector.dedicated_dbs['CONFIG_DB'] = os.path.join(mock_db_path, 'config_db', 'portchannel-expected') + expected_db = Db() + advance_version_for_expected_database(dbmgtr.configDB, expected_db.cfgdb, 'version_2_0_2') + + assert dbmgtr.configDB.get_table('PORTCHANNEL') == expected_db.cfgdb.get_table('PORTCHANNEL') + assert dbmgtr.configDB.get_table('VERSIONS') == expected_db.cfgdb.get_table('VERSIONS') From 9041ba038ba2a6c6df6f3e0f6c03c8eb0219a654 Mon Sep 17 00:00:00 2001 From: Sudharsan Dhamal Gopalarathnam Date: Mon, 21 Jun 2021 11:56:03 -0700 Subject: [PATCH 227/342] [config] Adding sanity checks for config reload (#1664) Fixed config reload to add some system sanity checks 1) To check if the system is in running state 2) Check if the services which are grouped under delayed target up 3) Check if swss is running for at least 120 seconds To force config reload and to avoid these checks an extra option -f/--force is added --- config/main.py | 42 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/config/main.py b/config/main.py index 1dd3c31395..937933f852 100644 --- a/config/main.py +++ b/config/main.py @@ -701,6 +701,32 @@ def _restart_services(): click.echo("Reloading Monit configuration ...") clicommon.run_command("sudo monit reload") +def _get_delay_timers(): + out = clicommon.run_command("systemctl list-dependencies sonic-delayed.target --plain |sed '1d'", return_cmd=True) + return [timer.strip() for timer in out.splitlines()] + +def _delay_timers_elapsed(): + for timer in _get_delay_timers(): + out = clicommon.run_command("systemctl show {} --property=LastTriggerUSecMonotonic --value".format(timer), return_cmd=True) + if out.strip() == "0": + return False + return True + +def _swss_ready(): + out = clicommon.run_command("systemctl show swss.service --property ActiveState --value", return_cmd=True) + if out.strip() != "active": + return False + out = clicommon.run_command("systemctl show swss.service --property ActiveEnterTimestampMonotonic --value", return_cmd=True) + swss_up_time = float(out.strip())/1000000 + now = time.monotonic() + if (now - swss_up_time > 120): + return True + else: + return False + +def _system_running(): + out = clicommon.run_command("sudo systemctl is-system-running", return_cmd=True) + return out.strip() == "running" def interface_is_in_vlan(vlan_member_table, interface_name): """ Check if an interface is in a vlan """ @@ -1190,12 +1216,26 @@ def list_checkpoints(ctx, verbose): @click.option('-l', '--load-sysinfo', is_flag=True, help='load system default information (mac, portmap etc) first.') @click.option('-n', '--no_service_restart', default=False, is_flag=True, help='Do not restart docker services') @click.option('-d', '--disable_arp_cache', default=False, is_flag=True, help='Do not cache ARP table before reloading (applies to dual ToR systems only)') +@click.option('-f', '--force', default=False, is_flag=True, help='Force config reload without system checks') @click.argument('filename', required=False) @clicommon.pass_db -def reload(db, filename, yes, load_sysinfo, no_service_restart, disable_arp_cache): +def reload(db, filename, yes, load_sysinfo, no_service_restart, disable_arp_cache, force): """Clear current configuration and import a previous saved config DB dump file. : Names of configuration file(s) to load, separated by comma with no spaces in between """ + if not force and not no_service_restart: + if not _system_running(): + click.echo("System is not up. Retry later or use -f to avoid system checks") + return + + if not _delay_timers_elapsed(): + click.echo("Relevant services are not up. Retry later or use -f to avoid system checks") + return + + if not _swss_ready(): + click.echo("SwSS container is not ready. Retry later or use -f to avoid system checks") + return + if filename is None: message = 'Clear current config and reload config from the default config file(s) ?' else: From 5708497358a2be22be940da550191ca79c698e61 Mon Sep 17 00:00:00 2001 From: Longxiang Lyu <35479537+lolyu@users.noreply.github.com> Date: Tue, 22 Jun 2021 03:51:57 +0800 Subject: [PATCH 228/342] [show] fix `show version` (#1686) #### What I did Fix `NameError` from `show version`. ``` admin@str2-7050cx3-acs-02:~$ show version Traceback (most recent call last): File "/usr/local/bin/show", line 8, in sys.exit(cli()) File "/usr/local/lib/python3.7/dist-packages/click/core.py", line 764, in __call__ return self.main(*args, **kwargs) File "/usr/local/lib/python3.7/dist-packages/click/core.py", line 717, in main rv = self.invoke(ctx) File "/usr/local/lib/python3.7/dist-packages/click/core.py", line 1137, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/usr/local/lib/python3.7/dist-packages/click/core.py", line 956, in invoke return ctx.invoke(self.callback, **ctx.params) File "/usr/local/lib/python3.7/dist-packages/click/core.py", line 555, in invoke return callback(*args, **kwargs) File "/usr/local/lib/python3.7/dist-packages/show/main.py", line 960, in version chassis_info = platform.get_chassis_info() File "/usr/local/lib/python3.7/dist-packages/show/platform.py", line 27, in get_chassis_info platform_chassis = sonic_platform.platform.Platform().get_chassis() NameError: name 'sonic_platform' is not defined ``` #### How I did it Import `sonic_platform` before using `sonic_platform`. Signed-off-by: Longxiang Lyu --- show/platform.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/show/platform.py b/show/platform.py index 739ef5f476..94d1d8bd63 100644 --- a/show/platform.py +++ b/show/platform.py @@ -23,7 +23,7 @@ def get_chassis_info(): for k in required_keys: if chassis_info.get(k, '') in failed_vals: if platform_chassis is None: - import platform + import sonic_platform platform_chassis = sonic_platform.platform.Platform().get_chassis() try: chassis_info[k] = getattr(platform_chassis, "get_".format(k))() From 57dc4032e52d204a10cfc8d3eca1376a285df086 Mon Sep 17 00:00:00 2001 From: xumia <59720581+xumia@users.noreply.github.com> Date: Fri, 25 Jun 2021 00:17:06 +0800 Subject: [PATCH 229/342] [ci]: Fix config prompt question issue (#1693) When run "make modules_prepare", it prompts an ask as below: Microsoft Network Devices (NET_VENDOR_MICROSOFT) [Y/n/?] (NEW) It should be caused by the new version of the kernel config mis-match with existing one. To fix it, add the CONFIG_NET_VENDOR_MICROSOFT and CONFIG_MICROSOFT_MANA settings in the .config file. --- .azure-pipelines/build_and_install_module.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.azure-pipelines/build_and_install_module.sh b/.azure-pipelines/build_and_install_module.sh index 4bd026cb52..7f8cc23645 100755 --- a/.azure-pipelines/build_and_install_module.sh +++ b/.azure-pipelines/build_and_install_module.sh @@ -48,6 +48,8 @@ function build_and_install_kmodule() grep NET_TEAM .config.bk >> .config echo CONFIG_NET_VRF=m >> .config echo CONFIG_MACSEC=m >> .config + echo CONFIG_NET_VENDOR_MICROSOFT=y >> .config + echo CONFIG_MICROSOFT_MANA=m >> .config make VERSION=$VERSION PATCHLEVEL=$PATCHLEVEL SUBLEVEL=$SUBLEVEL EXTRAVERSION=-${EXTRAVERSION} LOCALVERSION=-${LOCALVERSION} modules_prepare make M=drivers/net/team mv drivers/net/Makefile drivers/net/Makefile.bak From c5d00ae4b8430aac81cf078ba79224096815686c Mon Sep 17 00:00:00 2001 From: Neetha John Date: Thu, 24 Jun 2021 17:09:45 -0700 Subject: [PATCH 230/342] [pfcwd] Fix the return code in invalid case (#1691) Signed-off-by: Neetha John Fixes #1690 What I did Set the correct return code when pfcwd command is specified with invalid options How to verify it Modified the unit test to check for the correct return code and ran them and they passed --- pfcwd/main.py | 2 +- tests/pfcwd_test.py | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pfcwd/main.py b/pfcwd/main.py index 1f8ec2293e..c3b92fd223 100644 --- a/pfcwd/main.py +++ b/pfcwd/main.py @@ -242,7 +242,7 @@ def start(self, action, restoration_time, ports, detection_time): click.echo("Failed to run command, invalid options:") for opt in invalid_ports: click.echo(opt) - exit() + exit(1) self.start_cmd(action, restoration_time, ports, detection_time) diff --git a/tests/pfcwd_test.py b/tests/pfcwd_test.py index b0af050233..c150c0568b 100644 --- a/tests/pfcwd_test.py +++ b/tests/pfcwd_test.py @@ -255,7 +255,7 @@ def test_pfcwd_start_ports_invalid(self): obj=db ) print(result.output) - assert result.exit_code == 0 + assert result.exit_code == 1 assert result.output == pfcwd_show_start_config_output_fail @classmethod @@ -447,7 +447,7 @@ def test_pfcwd_start_ports_masic_invalid(self): obj=db ) print(result.output) - assert result.exit_code == 0 + assert result.exit_code == 1 assert result.output == show_pfc_config_start_fail # get config after the command, config shouldn't change @@ -500,4 +500,4 @@ def teardown_class(cls): import mock_tables.mock_single_asic importlib.reload(mock_tables.mock_single_asic) import pfcwd.main - importlib.reload(pfcwd.main) \ No newline at end of file + importlib.reload(pfcwd.main) From 38f8c0681c038bc0c948ec73cf91f2d0397095df Mon Sep 17 00:00:00 2001 From: Stephen Sun <5379172+stephenxs@users.noreply.github.com> Date: Sat, 26 Jun 2021 01:55:52 +0800 Subject: [PATCH 231/342] [sfputil] Expose error status fetched from STATE_DB or platform API to CLI (#1658) Expose error status fetched from STATE_DB or platform API to CLI. The command is - `sfputil show error-status [-hw|--fetch-from-hardware] []` - and `show interfaces transceiver error-status [-hw|--fetch-from-hardware] []` The error status will be fetched from - `STATE_DB` by default - hardware via platform API if the parameter `--fetch-from-hardware` is provided. In this case, the CLI will call platform API in the pmon docker and format the output. Signed-off-by: Stephen Sun --- doc/Command-Reference.md | 11 ++- sfputil/main.py | 134 ++++++++++++++++++++++++++++++++ show/interfaces/__init__.py | 27 +++++++ tests/mock_tables/state_db.json | 16 ++++ tests/sfputil_test.py | 16 ++++ 5 files changed, 203 insertions(+), 1 deletion(-) diff --git a/doc/Command-Reference.md b/doc/Command-Reference.md index 1d099631a9..f6cf4a646c 100644 --- a/doc/Command-Reference.md +++ b/doc/Command-Reference.md @@ -883,7 +883,7 @@ This command displays information for all the interfaces for the transceiver req - Usage: ``` - show interfaces transceiver (eeprom [-d|--dom] | lpmode | presence) [] + show interfaces transceiver (eeprom [-d|--dom] | lpmode | presence | error-status [-hw|--fetch-from-hardware]) [] ``` - Example (Decode and display information stored on the EEPROM of SFP transceiver connected to Ethernet0): @@ -937,6 +937,15 @@ This command displays information for all the interfaces for the transceiver req ----------- ---------- Ethernet100 Present ``` + +- Example (Display error status of SFP transceiver connected to Ethernet100): + ``` + admin@sonic:~$ show interfaces transceiver error-status Ethernet100 + Port Error Status + ----------- -------------- + Ethernet100 OK + ``` + Go Back To [Beginning of the document](#) or [Beginning of this section](#basic-show-commands) ## AAA & TACACS+ diff --git a/sfputil/main.py b/sfputil/main.py index 9e769ee9a1..fd86d95337 100644 --- a/sfputil/main.py +++ b/sfputil/main.py @@ -7,10 +7,14 @@ import os import sys +import natsort +import ast +import subprocess import click import sonic_platform import sonic_platform_base.sonic_sfp.sfputilhelper +from swsscommon.swsscommon import SonicV2Connector from natsort import natsorted from sonic_py_common import device_info, logger, multi_asic from tabulate import tabulate @@ -615,6 +619,136 @@ def presence(port): click.echo(tabulate(output_table, table_header, tablefmt="simple")) +# 'error-status' subcommand +def fetch_error_status_from_platform_api(port): + """Fetch the error status from platform API and return the output as a string + Args: + port: the port whose error status will be fetched. + None represents for all ports. + Returns: + A string consisting of the error status of each port. + """ + if port is None: + logical_port_list = natsort.natsorted(platform_sfputil.logical) + # Create a list containing the logical port names of all ports we're interested in + generate_sfp_list_code = \ + "sfp_list = chassis.get_all_sfps()\n" + else: + physical_port_list = logical_port_name_to_physical_port_list(port) + logical_port_list = [port] + # Create a list containing the logical port names of all ports we're interested in + generate_sfp_list_code = \ + "sfp_list = [chassis.get_sfp(x) for x in {}]\n".format(physical_port_list) + + # Code to initialize chassis object + init_chassis_code = \ + "import sonic_platform.platform\n" \ + "platform = sonic_platform.platform.Platform()\n" \ + "chassis = platform.get_chassis()\n" + + # Code to fetch the error status + get_error_status_code = \ + "try:\n"\ + " errors=['{}:{}'.format(sfp.index, sfp.get_error_description()) for sfp in sfp_list]\n" \ + "except NotImplementedError as e:\n"\ + " errors=['{}:{}'.format(sfp.index, 'OK (Not implemented)') for sfp in sfp_list]\n" \ + "print(errors)\n" + + get_error_status_command = "docker exec pmon python3 -c \"{}{}{}\"".format( + init_chassis_code, generate_sfp_list_code, get_error_status_code) + # Fetch error status from pmon docker + try: + output = subprocess.check_output(get_error_status_command, shell=True, universal_newlines=True) + except subprocess.CalledProcessError as e: + click.Abort("Error! Unable to fetch error status for SPF modules. Error code = {}, error messages: {}".format(e.returncode, e.output)) + return None + + output_list = output.split('\n') + for output_str in output_list: + # The output of all SFP error status are a list consisting of element with convention of ':' + # Besides, there can be some logs captured during the platform API executing + # So, first of all, we need to skip all the logs until find the output list of SFP error status + if output_str[0] == '[' and output_str[-1] == ']': + output_list = ast.literal_eval(output_str) + break + + output_dict = {} + for output in output_list: + sfp_index, error_status = output.split(':') + output_dict[int(sfp_index)] = error_status + + output = [] + for logical_port_name in logical_port_list: + physical_port_list = logical_port_name_to_physical_port_list(logical_port_name) + port_name = get_physical_port_name(logical_port_name, 1, False) + + output.append([port_name, output_dict.get(physical_port_list[0])]) + + return output + +def fetch_error_status_from_state_db(port, state_db): + """Fetch the error status from STATE_DB and return them in a list. + Args: + port: the port whose error status will be fetched. + None represents for all ports. + Returns: + A list consisting of tuples (port, description) and sorted by port. + """ + status = {} + if port: + status[port] = state_db.get_all(state_db.STATE_DB, 'TRANSCEIVER_STATUS|{}'.format(port)) + else: + ports = state_db.keys(state_db.STATE_DB, 'TRANSCEIVER_STATUS|*') + for key in ports: + status[key.split('|')[1]] = state_db.get_all(state_db.STATE_DB, key) + + sorted_ports = natsort.natsorted(status) + output = [] + for port in sorted_ports: + statestring = status[port].get('status') + description = status[port].get('error') + if statestring == '1': + description = 'OK' + elif statestring == '0': + description = 'Unplugged' + elif description == 'N/A': + log.log_error("Inconsistent state found for port {}: state is {} but error description is N/A".format(port, statestring)) + description = 'Unknown state: {}'.format(statestring) + + output.append([port, description]) + + return output + +@show.command() +@click.option('-p', '--port', metavar='', help="Display SFP error status for port only") +@click.option('-hw', '--fetch-from-hardware', 'fetch_from_hardware', is_flag=True, default=False, help="Fetch the error status from hardware directly") +def error_status(port, fetch_from_hardware): + """Display error status of SFP transceiver(s)""" + output_table = [] + table_header = ["Port", "Error Status"] + + # Create a list containing the logical port names of all ports we're interested in + if port and platform_sfputil.is_logical_port(port) == 0: + click.echo("Error: invalid port '{}'\n".format(port)) + click.echo("Valid values for port: {}\n".format(str(platform_sfputil.logical))) + sys.exit(ERROR_INVALID_PORT) + + if fetch_from_hardware: + output_table = fetch_error_status_from_platform_api(port) + else: + # Connect to STATE_DB + state_db = SonicV2Connector(host='127.0.0.1') + if state_db is not None: + state_db.connect(state_db.STATE_DB) + else: + click.echo("Failed to connect to STATE_DB") + return + + output_table = fetch_error_status_from_state_db(port, state_db) + + click.echo(tabulate(output_table, table_header, tablefmt='simple')) + + # 'lpmode' subcommand @show.command() @click.option('-p', '--port', metavar='', help="Display SFP low-power mode status for port only") diff --git a/show/interfaces/__init__.py b/show/interfaces/__init__.py index 51c2126a89..296be9fc9e 100644 --- a/show/interfaces/__init__.py +++ b/show/interfaces/__init__.py @@ -1,6 +1,7 @@ import json import os +import subprocess import click import utilities_common.cli as clicommon import utilities_common.multi_asic as multi_asic_util @@ -10,6 +11,7 @@ from sonic_py_common import device_info from swsscommon.swsscommon import ConfigDBConnector from portconfig import get_child_ports +import sonic_platform_base.sonic_sfp.sfputilhelper from . import portchannel from collections import OrderedDict @@ -396,6 +398,31 @@ def presence(db, interfacename, namespace, verbose): clicommon.run_command(cmd, display_cmd=verbose) +@transceiver.command() +@click.argument('interfacename', required=False) +@click.option('--fetch-from-hardware', '-hw', 'fetch_from_hardware', is_flag=True, default=False) +@click.option('--namespace', '-n', 'namespace', default=None, show_default=True, + type=click.Choice(multi_asic_util.multi_asic_ns_choices()), help='Namespace name or all') +@click.option('--verbose', is_flag=True, help="Enable verbose output") +@clicommon.pass_db +def error_status(db, interfacename, fetch_from_hardware, namespace, verbose): + """ Show transceiver error-status """ + + ctx = click.get_current_context() + + cmd = "sudo sfputil show error-status" + + if interfacename is not None: + interfacename = try_convert_interfacename_from_alias(ctx, interfacename) + + cmd += " -p {}".format(interfacename) + + if fetch_from_hardware: + cmd += " -hw" + + clicommon.run_command(cmd, display_cmd=verbose) + + # # counters group ("show interfaces counters ...") # diff --git a/tests/mock_tables/state_db.json b/tests/mock_tables/state_db.json index aa33612f22..5b028a15a2 100644 --- a/tests/mock_tables/state_db.json +++ b/tests/mock_tables/state_db.json @@ -133,6 +133,22 @@ "txpowerlowalarm": "-10.5012", "txpowerlowwarning": "-7.5007" }, + "TRANSCEIVER_STATUS|Ethernet0": { + "status": "67", + "error": "Blocking Error|High temperature" + }, + "TRANSCEIVER_STATUS|Ethernet4": { + "status": "1", + "error": "N/A" + }, + "TRANSCEIVER_STATUS|Ethernet8": { + "status": "0", + "error": "N/A" + }, + "TRANSCEIVER_STATUS|Ethernet12": { + "status": "255", + "error": "N/A" + }, "CHASSIS_INFO|chassis 1": { "psu_num": "2" }, diff --git a/tests/sfputil_test.py b/tests/sfputil_test.py index 5708bb2bb6..23afd31dad 100644 --- a/tests/sfputil_test.py +++ b/tests/sfputil_test.py @@ -2,8 +2,11 @@ import os from unittest import mock +from .mock_tables import dbconnector + import pytest from click.testing import CliRunner +from utilities_common.db import Db test_path = os.path.dirname(os.path.abspath(__file__)) modules_path = os.path.dirname(test_path) @@ -173,3 +176,16 @@ def test_version(self): runner = CliRunner() result = runner.invoke(sfputil.cli.commands['version'], []) assert result.output.rstrip() == 'sfputil version {}'.format(sfputil.VERSION) + + def test_error_status_from_db(self): + db = Db() + expected_output = [['Ethernet0', 'Blocking Error|High temperature'], + ['Ethernet4', 'OK'], + ['Ethernet8', 'Unplugged'], + ['Ethernet12', 'Unknown state: 255']] + output = sfputil.fetch_error_status_from_state_db(None, db.db) + assert output == expected_output + + expected_output_ethernet0 = expected_output[:1] + output = sfputil.fetch_error_status_from_state_db('Ethernet0', db.db) + assert output == expected_output_ethernet0 From 7a82c0691c9f95cb6faabdce14256a8042b00d7c Mon Sep 17 00:00:00 2001 From: DavidZagury <32644413+DavidZagury@users.noreply.github.com> Date: Sun, 27 Jun 2021 10:02:36 +0300 Subject: [PATCH 232/342] [Mellanox] Update mellanox dump generation to include SDK dumps (#1640) - What I did Add Mellanox SDK dump output into techsupport in the generate_dump script. - How I did it Add a step to copy SDK dump output into techsupport in the Mellanox step in generate_dump script. - How to verify it Simulate SDK event on a Mellanox switch and check that dump has been added copied into the techsupport results. --- scripts/generate_dump | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/scripts/generate_dump b/scripts/generate_dump index e38b0834f8..082b8dee5c 100755 --- a/scripts/generate_dump +++ b/scripts/generate_dump @@ -779,6 +779,16 @@ collect_mellanox() { ${CMD_PREFIX}/usr/bin/mstdump /dev/mst/mt*conf0 > "${mst_dump_filename}${i}" save_file "${mst_dump_filename}${i}" mstdump true done + + # Save SDK error dumps + local sdk_dump_path=`${CMD_PREFIX}docker exec syncd cat /tmp/sai.profile|grep "SAI_DUMP_STORE_PATH"|cut -d = -f2` + if [[ $sdk_dump_path ]]; then + copy_from_docker syncd $sdk_dump_path /tmp/sdk-dumps + for file in $(find /tmp/sdk-dumps); do + save_file ${file} sai_sdk_dump false + done + rm -rf /tmp/sdk-dumps + fi } ############################################################################### From 186d851380f2807222daceecb54048ce8634fb89 Mon Sep 17 00:00:00 2001 From: Sujin Kang Date: Sun, 27 Jun 2021 20:02:51 -0700 Subject: [PATCH 233/342] Pcieutil to load the platform api first instead of using common api (#1672) What I did Pcieutil to load the platform api first instead of using common api Some platform device with different BIOS version needs more than one pcie configuration to check the pcie devices properly. Please refer to the platform api support : Azure/sonic-platform-common#195 How I did it Load the platform pcie api first prior to use the common api --- pcieutil/main.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/pcieutil/main.py b/pcieutil/main.py index 807675493b..ad6a1ebfa4 100644 --- a/pcieutil/main.py +++ b/pcieutil/main.py @@ -49,13 +49,18 @@ def load_platform_pcieutil(): global platform_path # Load platform module from source + platform_path, _ = device_info.get_paths_to_platform_and_hwsku_dirs() try: - platform_path, _ = device_info.get_paths_to_platform_and_hwsku_dirs() - from sonic_platform_base.sonic_pcie.pcie_common import PcieUtil - platform_pcieutil = PcieUtil(platform_path) + from sonic_platform.pcie import Pcie + platform_pcieutil = Pcie(platform_path) except ImportError as e: - log.log_error("Failed to load default PcieUtil module. Error : {}".format(str(e)), True) - raise e + log.log_warning("Failed to load platform Pcie module. Error : {}, fallback to load Pcie common utility.".format(str(e)), True) + try: + from sonic_platform_base.sonic_pcie.pcie_common import PcieUtil + platform_pcieutil = PcieUtil(platform_path) + except ImportError as e: + log.log_error("Failed to load default PcieUtil module. Error : {}".format(str(e)), True) + raise e # ==================== CLI commands and groups ==================== From 24fe1acb0b9111ac79ef8296c23ca14576256a6a Mon Sep 17 00:00:00 2001 From: vdahiya12 <67608553+vdahiya12@users.noreply.github.com> Date: Wed, 30 Jun 2021 07:49:08 -0700 Subject: [PATCH 234/342] [show][config] support for interface alias for muxcable commands (#1699) Signed-off-by: vaibhav-dahiya vdahiya@microsoft.com What I did this PR adds support for interface alias support for muxcable commands. Basically for other OS's there could be a different scheme of interface naming which will be now be supported by muxcable commands as well. How I did it Added the changes in muxcable.py in show and config . How to verify it run on a Arista-7050cx3 switch. Previous command output (if the output of a command-line utility has changed) New command output (if the output of a command-line utility has changed) admin@str2-7050cx3-acs-04:/usr$ show mux cableinfo Ethernet15/1 Vendor Model -------- ---------------- Credo CACL2X321P2PA1MS admin@str2-7050cx3-acs-04:/usr$ show mux hwmode muxdirection Ethernet13/1 Port Direction ---------- ----------- Ethernet48 standby Signed-off-by: vaibhav-dahiya --- config/muxcable.py | 31 +++++++++++++---- show/muxcable.py | 38 +++++++++++++++------ utilities_common/platform_sfputil_helper.py | 16 +++++++++ 3 files changed, 68 insertions(+), 17 deletions(-) diff --git a/config/muxcable.py b/config/muxcable.py index 6bd139b992..bd6fb7d4b7 100644 --- a/config/muxcable.py +++ b/config/muxcable.py @@ -22,7 +22,6 @@ # Helper functions - def get_value_for_key_in_dict(mdict, port, key, table_name): value = mdict.get(key, None) if value is None: @@ -90,9 +89,12 @@ def lookup_statedb_and_update_configdb(per_npu_statedb, config_db, port, state_c @click.argument('state', metavar='', required=True, type=click.Choice(["active", "auto", "manual"])) @click.argument('port', metavar='', required=True, default=None) @click.option('--json', 'json_output', required=False, is_flag=True, type=click.BOOL) -def mode(state, port, json_output): +@clicommon.pass_db +def mode(db, state, port, json_output): """Config muxcable mode""" + port = platform_sfputil_helper.get_interface_alias(port, db) + port_table_keys = {} y_cable_asic_table_keys = {} per_npu_configdb = {} @@ -258,9 +260,12 @@ def hwmode(): @hwmode.command() @click.argument('state', metavar='', required=True, type=click.Choice(["active", "standby"])) @click.argument('port', metavar='', required=True, default=None) -def state(state, port): +@clicommon.pass_db +def state(db, state, port): """Configure the muxcable mux state {active/standby}""" + port = platform_sfputil_helper.get_interface_alias(port, db) + per_npu_statedb = {} transceiver_table_keys = {} transceiver_dict = {} @@ -457,9 +462,12 @@ def state(state, port): @hwmode.command() @click.argument('state', metavar='', required=True, type=click.Choice(["auto", "manual"])) @click.argument('port', metavar='', required=True, default=None) -def setswitchmode(state, port): +@clicommon.pass_db +def setswitchmode(db, state, port): """Configure the muxcable mux switching mode {auto/manual}""" + port = platform_sfputil_helper.get_interface_alias(port, db) + per_npu_statedb = {} transceiver_dict = {} @@ -701,9 +709,12 @@ def firmware(): @firmware.command() @click.argument('fwfile', metavar='', required=True) @click.argument('port', metavar='', required=True, default=None) -def download(fwfile, port): +@clicommon.pass_db +def download(db, fwfile, port): """Config muxcable firmware download""" + port = platform_sfputil_helper.get_interface_alias(port, db) + per_npu_statedb = {} y_cable_asic_table_keys = {} port_table_keys = {} @@ -751,9 +762,12 @@ def download(fwfile, port): @firmware.command() @click.argument('port', metavar='', required=True, default=None) -def activate(port): +@clicommon.pass_db +def activate(db, port): """Config muxcable firmware activate""" + port = platform_sfputil_helper.get_interface_alias(port, db) + per_npu_statedb = {} y_cable_asic_table_keys = {} port_table_keys = {} @@ -800,9 +814,12 @@ def activate(port): @firmware.command() @click.argument('port', metavar='', required=True, default=None) -def rollback(port): +@clicommon.pass_db +def rollback(db, port): """Config muxcable firmware rollback""" + port = platform_sfputil_helper.get_interface_alias(port, db) + port_table_keys = {} y_cable_asic_table_keys = {} per_npu_statedb = {} diff --git a/show/muxcable.py b/show/muxcable.py index 881f0a894b..c52dfa6d0e 100644 --- a/show/muxcable.py +++ b/show/muxcable.py @@ -26,8 +26,6 @@ VENDOR_NAME = "Credo" VENDOR_MODEL_REGEX = re.compile(r"CAC\w{3}321P2P\w{2}MS") - -# # 'muxcable' command ("show muxcable") # @@ -129,9 +127,12 @@ def create_json_dump_per_port_config(port_status_dict, per_npu_configdb, asic_id @muxcable.command() @click.argument('port', required=False, default=None) @click.option('--json', 'json_output', required=False, is_flag=True, type=click.BOOL, help="display the output in json format") -def status(port, json_output): +@clicommon.pass_db +def status(db, port, json_output): """Show muxcable status information""" + port = platform_sfputil_helper.get_interface_alias(port, db) + port_table_keys = {} port_health_table_keys = {} per_npu_statedb = {} @@ -239,9 +240,12 @@ def status(port, json_output): @muxcable.command() @click.argument('port', required=False, default=None) @click.option('--json', 'json_output', required=False, is_flag=True, type=click.BOOL, help="display the output in json format") -def config(port, json_output): +@clicommon.pass_db +def config(db, port, json_output): """Show muxcable config information""" + port = platform_sfputil_helper.get_interface_alias(port, db) + port_mux_tbl_keys = {} asic_start_idx = None per_npu_configdb = {} @@ -407,9 +411,12 @@ def eyeinfo(port, target): @muxcable.command() @click.argument('port', required=True, default=None) -def cableinfo(port): +@clicommon.pass_db +def cableinfo(db, port): """Show muxcable cable information""" + port = platform_sfputil_helper.get_interface_alias(port, db) + if platform_sfputil is not None: physical_port_list = platform_sfputil_helper.logical_port_name_to_physical_port_list(port) @@ -444,9 +451,12 @@ def hwmode(): @hwmode.command() @click.argument('port', metavar='', required=False, default=None) -def muxdirection(port): +@clicommon.pass_db +def muxdirection(db, port): """Shows the current direction of the muxcable {active/standy}""" + port = platform_sfputil_helper.get_interface_alias(port, db) + per_npu_statedb = {} transceiver_table_keys = {} transceiver_dict = {} @@ -649,9 +659,11 @@ def muxdirection(port): @hwmode.command() @click.argument('port', metavar='', required=False, default=None) -def switchmode(port): +def switchmode(db, port): """Shows the current switching mode of the muxcable {auto/manual}""" + port = platform_sfputil_helper.get_interface_alias(port, db) + per_npu_statedb = {} transceiver_dict = {} @@ -848,9 +860,12 @@ def firmware(): @firmware.command() @click.argument('port', metavar='', required=True, default=None) @click.option('--active', 'active', required=False, is_flag=True, type=click.BOOL, help="display the firmware version of only active bank within MCU's") -def version(port, active): +@clicommon.pass_db +def version(db, port, active): """Show muxcable firmware version""" + port = platform_sfputil_helper.get_interface_alias(port, db) + port_table_keys = {} y_cable_asic_table_keys = {} per_npu_statedb = {} @@ -940,12 +955,16 @@ def version(port, active): else: click.echo("there is not a valid asic table for this asic_index".format(asic_index)) + @muxcable.command() @click.argument('port', metavar='', required=True, default=None) @click.option('--json', 'json_output', required=False, is_flag=True, type=click.BOOL, help="display the output in json format") -def metrics(port, json_output): +@clicommon.pass_db +def metrics(db, port, json_output): """Show muxcable metrics """ + port = platform_sfputil_helper.get_interface_alias(port, db) + metrics_table_keys = {} per_npu_statedb = {} metrics_dict = {} @@ -981,7 +1000,6 @@ def metrics(port, json_output): if asic_index is None: click.echo("Got invalid asic index for port {}, cant retreive mux status".format(port)) - metrics_dict[asic_index] = per_npu_statedb[asic_index].get_all( per_npu_statedb[asic_index].STATE_DB, 'MUX_METRICS_TABLE|{}'.format(port)) diff --git a/utilities_common/platform_sfputil_helper.py b/utilities_common/platform_sfputil_helper.py index 27406b8abe..37bd6f4d66 100644 --- a/utilities_common/platform_sfputil_helper.py +++ b/utilities_common/platform_sfputil_helper.py @@ -1,6 +1,8 @@ import sys import click + +from . import cli as clicommon from sonic_py_common import multi_asic, device_info platform_sfputil = None @@ -64,3 +66,17 @@ def get_asic_id_for_logical_port(port): def get_physical_to_logical(): return platform_sfputil.physical_to_logical + + +def get_interface_alias(port, db): + + if port is not "all" and port is not None: + alias = port + iface_alias_converter = clicommon.InterfaceAliasConverter(db) + port = iface_alias_converter.alias_to_name(alias) + if port is None: + click.echo("cannot find port name for alias {}".format(alias)) + sys.exit(1) + + return port + From 793b84722a00efc10f5271634985b1936cf8d1d5 Mon Sep 17 00:00:00 2001 From: Andriy Yurkiv <70649192+ayurkiv-nvda@users.noreply.github.com> Date: Fri, 2 Jul 2021 09:40:06 +0300 Subject: [PATCH 235/342] [show priority-group drop counters] Remove backup with cached PG drop counters after 'config reload' (#1679) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - What I did Explanation how show/clear counters works: Suppose we got from SDK some count of dropped packets for priority group (№3) per interface (Ehernet4). (for example Ethernet4 PG-3 123 packets) Stats can be shown via show priority-group drop counters Then we run sonic-clear priority-group drop counters. This command will save data "Ethernet4 PG-3 123 packets" to backup. It saved in /tmp/dropstat-{user_id} folder When we run show priority-group drop counters again, script will take data from SDK and data saved from backup. In backup it will find 123. In SDK it may still be number 123 for Ethernet4 (like in backup) or bigger (for example 126.) Our sonic-clear priority-group drop counters command does not change anything in SDK. It just show difference beetwen SDK data and last saved data. So if in SDK data is 123, show priority-group drop counters will show 0 (123 minus 123) - data is cleared If in SDK data is bigger than saved 124, or higher show priority-group drop counters will show 1 (124 minus 123) FIX After config reload all counters drop counters data retrieved from SDK become cleared. All counters become zeros. In this case show priority-group drop counters will show -123 ( 0 (from SDK) minus 123 (saved backup)) So we don't need backup after config reload - How I did it remove /tmp/dropstat-{user_id} folders with counters backup Signed-off-by: Andriy Yurkiv --- config/main.py | 5 +++++ tests/pgdropstat_test.py | 15 +++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/config/main.py b/config/main.py index 937933f852..471a8f920a 100644 --- a/config/main.py +++ b/config/main.py @@ -1253,6 +1253,11 @@ def reload(db, filename, yes, load_sysinfo, no_service_restart, disable_arp_cach if multi_asic.is_multi_asic(): num_cfg_file += num_asic + # Remove cached PG drop counters data + dropstat_dir_prefix = '/tmp/dropstat' + command = "rm -rf {}-*".format(dropstat_dir_prefix) + clicommon.run_command(command, display_cmd=True) + # If the user give the filename[s], extract the file names. if filename is not None: cfg_files = filename.split(',') diff --git a/tests/pgdropstat_test.py b/tests/pgdropstat_test.py index e896ded811..ee156b7588 100644 --- a/tests/pgdropstat_test.py +++ b/tests/pgdropstat_test.py @@ -3,6 +3,7 @@ import show.main as show import clear.main as clear +import config.main as config from click.testing import CliRunner @@ -62,6 +63,20 @@ def executor(self, clear_before_show): assert result.exit_code == 0 assert result.output == show_output + def test_show_pg_drop_config_reload(self): + runner = CliRunner() + self.test_show_pg_drop_clear() + + # simulate 'config reload' to provoke counters recalculation (remove backup from /tmp folder) + result = runner.invoke(config.config.commands["reload"], [ "--no_service_restart", "-y"]) + + print(result.exit_code) + print(result.output) + + assert result.exit_code == 0 + + self.test_show_pg_drop_show() + @classmethod def teardown_class(cls): os.environ["PATH"] = os.pathsep.join(os.environ["PATH"].split(os.pathsep)[:-1]) From 4818360d7d9f5460169bce9a9f87f44311647a64 Mon Sep 17 00:00:00 2001 From: Stepan Blyshchak <38952541+stepanblyschak@users.noreply.github.com> Date: Fri, 2 Jul 2021 19:16:05 +0300 Subject: [PATCH 236/342] [sonic-package-manager] support warm/fast reboot for extension packages (#1554) - What I did Implemented functionality for SONiC package manager allowing to support packages wich require special handling for fast and warm reboots. For more details refer to HLD - https://github.com/stepanblyschak/SONiC/blob/sonic-app-ext-3/doc/sonic-application-extention/sonic-application-extention-hld.md#warmboot-and-fastboot-design-impact. - How I did it I extended manifest with warm/fast shutdown fields and added a logic that will account special requirements on fast/warm reboot for a package. Fast/Warm reboot scripts are enhanced to read the ordered list of services from a file on filesystem instead of having the list of services hardcoded in the script. This file is regenerated when package is installed/uninstalled/upgraded and also this file will be generated once during build time. Similary, a warmboot-finalizer service is enhanced by making it read the file on filesystem with processes that perfrom reconciliation. - How to verify it There is an open example extension I pushed to Docker Hub stepanblischak/cpu-report:warm. It can be installed on the switch: admin@sonic:~$ sudo sonic-package-manager show package manifest --from-repository stepanblischak/cpu-report:warm | grep warm -A 6 "warm-shutdown": { "after": [ "swss" ], "before": [ "syncd" ] admin@sonic;~$ sudo sonic-package-manager install --from-repository stepanblischak/cpu-report:warm -y -v DEBUG Then perform warm-reboot and observe that cpu-report is stopped at the right place in shutdown sequence: admin@sonic:~$ sudo warm-reboot -v sudo warm-reboot -v Wed 31 Mar 2021 12:54:10 PM UTC Saving counters folder before warmboot... Wed 31 Mar 2021 12:54:13 PM UTC Prepare MLNX ASIC to fastfast-reboot: install new FW if required Wed 31 Mar 2021 12:54:15 PM UTC Pausing orchagent ... Wed 31 Mar 2021 12:54:15 PM UTC Collecting logs to check ssd health before fastfast-reboot... Wed 31 Mar 2021 12:54:15 PM UTC Stopping lldp ... Wed 31 Mar 2021 12:54:17 PM UTC Stopped lldp Wed 31 Mar 2021 12:54:17 PM UTC Stopping nat ... Dumping conntrack entries failed Wed 31 Mar 2021 12:54:18 PM UTC Stopped nat Wed 31 Mar 2021 12:54:18 PM UTC Stopping radv ... Wed 31 Mar 2021 12:54:18 PM UTC Stopped radv Wed 31 Mar 2021 12:54:18 PM UTC Stopping sflow ... Wed 31 Mar 2021 12:54:18 PM UTC Stopped sflow Wed 31 Mar 2021 12:54:18 PM UTC Stopping bgp ... Wed 31 Mar 2021 12:54:22 PM UTC Stopped bgp Wed 31 Mar 2021 12:54:22 PM UTC Stopping swss ... Wed 31 Mar 2021 12:54:31 PM UTC Stopped swss Wed 31 Mar 2021 12:54:31 PM UTC Initialize pre-shutdown ... Wed 31 Mar 2021 12:54:31 PM UTC Requesting pre-shutdown ... Wed 31 Mar 2021 12:54:32 PM UTC Waiting for pre-shutdown ... Wed 31 Mar 2021 12:54:41 PM UTC Pre-shutdown succeeded, state: pre-shutdown-succeeded ... Wed 31 Mar 2021 12:54:41 PM UTC Backing up database ... Wed 31 Mar 2021 12:54:41 PM UTC Stopping cpu-report... Wed 31 Mar 2021 12:54:41 PM UTC Stopped cpu-report Wed 31 Mar 2021 12:54:41 PM UTC Stopping teamd ... Wed 31 Mar 2021 12:54:48 PM UTC Stopped teamd Wed 31 Mar 2021 12:54:48 PM UTC Stopping syncd ... Wed 31 Mar 2021 12:54:51 PM UTC Stopped syncd Wed 31 Mar 2021 12:54:51 PM UTC Stopping all remaining containers ... Wed 31 Mar 2021 12:54:53 PM UTC Stopped all remaining containers ... Wed 31 Mar 2021 12:54:55 PM UTC Enabling Watchdog before fastfast-reboot Watchdog armed for 180 seconds Wed 31 Mar 2021 12:54:56 PM UTC Rebooting with /sbin/kexec -e to SONiC-OS-master.0-ae9ccf39 ... --- config/main.py | 12 +- scripts/fast-reboot | 119 ++++----- scripts/generate_shutdown_order.py | 15 ++ setup.py | 8 +- sonic_package_manager/manager.py | 38 ++- sonic_package_manager/manifest.py | 25 +- .../service_creator/creator.py | 250 +++++++++++++++--- tests/sonic_package_manager/conftest.py | 59 ++++- tests/sonic_package_manager/test_manager.py | 6 + tests/sonic_package_manager/test_manifest.py | 14 + .../test_service_creator.py | 35 ++- 11 files changed, 465 insertions(+), 116 deletions(-) create mode 100644 scripts/generate_shutdown_order.py diff --git a/config/main.py b/config/main.py index 471a8f920a..19fcc88494 100644 --- a/config/main.py +++ b/config/main.py @@ -2087,20 +2087,28 @@ def warm_restart(ctx, redis_unix_socket_path): ctx.obj = {'db': config_db, 'state_db': state_db, 'prefix': prefix} @warm_restart.command('enable') -@click.argument('module', metavar='', default='system', required=False, type=click.Choice(["system", "swss", "bgp", "teamd"])) +@click.argument('module', metavar='', default='system', required=False) @click.pass_context def warm_restart_enable(ctx, module): state_db = ctx.obj['state_db'] + config_db = ctx.obj['db'] + feature_table = config_db.get_table('FEATURE') + if module != 'system' and module not in feature_table: + exit('Feature {} is unknown'.format(module)) prefix = ctx.obj['prefix'] _hash = '{}{}'.format(prefix, module) state_db.set(state_db.STATE_DB, _hash, 'enable', 'true') state_db.close(state_db.STATE_DB) @warm_restart.command('disable') -@click.argument('module', metavar='', default='system', required=False, type=click.Choice(["system", "swss", "bgp", "teamd"])) +@click.argument('module', metavar='', default='system', required=False) @click.pass_context def warm_restart_enable(ctx, module): state_db = ctx.obj['state_db'] + config_db = ctx.obj['db'] + feature_table = config_db.get_table('FEATURE') + if module != 'system' and module not in feature_table: + exit('Feature {} is unknown'.format(module)) prefix = ctx.obj['prefix'] _hash = '{}{}'.format(prefix, module) state_db.set(state_db.STATE_DB, _hash, 'enable', 'false') diff --git a/scripts/fast-reboot b/scripts/fast-reboot index c782265e6b..97e8dc6c14 100755 --- a/scripts/fast-reboot +++ b/scripts/fast-reboot @@ -7,6 +7,7 @@ WARM_DIR=/host/warmboot REDIS_FILE=dump.rdb REBOOT_SCRIPT_NAME=$(basename $0) REBOOT_TYPE="${REBOOT_SCRIPT_NAME}" +SHUTDOWN_ORDER_FILE="/etc/sonic/${REBOOT_TYPE}_order" VERBOSE=no FORCE=no IGNORE_ASIC=no @@ -567,82 +568,72 @@ if [ -x ${LOG_SSD_HEALTH} ]; then fi -# Kill nat docker after saving the conntrack table -debug "Stopping nat ..." -/usr/local/bin/dump_nat_entries.py -docker kill nat > /dev/null || true -systemctl stop nat -debug "Stopped nat ..." - -# Kill radv before stopping BGP service to prevent announcing our departure. -debug "Stopping radv service..." -systemctl stop radv -debug "Stopped radv service..." - -# Kill bgpd to start the bgp graceful restart procedure -debug "Stopping bgp ..." -systemctl stop bgp -debug "Stopped bgp ..." - -# Kill sflow docker -debug "Stopping sflow ..." -container kill sflow &> /dev/null || debug "Docker sflow is not running ($?) ..." -systemctl stop sflow -debug "Stopped sflow ..." - -# Kill lldp, otherwise it sends informotion about reboot. -# We call `docker kill lldp` to ensure the container stops as quickly as possible, -# then immediately call `systemctl stop lldp` to prevent the service from -# restarting the container automatically. -container kill lldp &> /dev/null || debug "Docker lldp is not running ($?) ..." -systemctl stop lldp - -if [[ "$REBOOT_TYPE" = "fast-reboot" ]]; then - debug "Stopping teamd ..." - systemctl stop teamd - debug "Stopped teamd ..." +if [[ -f ${SHUTDOWN_ORDER_FILE} ]]; then + SERVICES_TO_STOP="$(cat ${SHUTDOWN_ORDER_FILE})" +else + # TODO: to be removed once sonic-buildimage change is in + if [[ "${REBOOT_TYPE}" == "fast-reboot" ]]; then + SERVICES_TO_STOP="nat radv bgp sflow lldp swss teamd syncd" + elif [[ "${REBOOT_TYPE}" == "fastfast-reboot" || "${REBOOT_TYPE}" == "warm-reboot" ]]; then + SERVICES_TO_STOP="nat radv bgp sflow lldp teamd swss syncd" + else + error "Unexpected reboot type ${REBOOT_TYPE}" + exit $EXIT_FAILURE + fi fi -debug "Stopping swss service ..." -systemctl stop swss -debug "Stopped swss service ..." +for service in ${SERVICES_TO_STOP}; do + debug "Stopping ${service} ..." -if [[ "$REBOOT_TYPE" = "warm-reboot" || "$REBOOT_TYPE" = "fastfast-reboot" ]]; then - # Pre-shutdown syncd - initialize_pre_shutdown + # TODO: These exceptions for nat, sflow, lldp + # have to be coded in corresponding service scripts - if [[ "x$sonic_asic_type" == x"mellanox" ]]; then - check_issu_bank_file + if [[ "${service}" = "nat" ]]; then + /usr/local/bin/dump_nat_entries.py fi - request_pre_shutdown - - wait_for_pre_shutdown_complete_or_fail - - if [[ "x$sonic_asic_type" == x"mellanox" ]]; then - check_issu_bank_file + if [[ "${service}" = "nat" || "${service}" = "sflow" || "${service}" = "lldp" ]]; then + container kill "${service}" &> /dev/null || debug "Docker ${service} is not running ($?) ..." fi - # Warm reboot: dump state to host disk - if [[ "$REBOOT_TYPE" = "fastfast-reboot" ]]; then - sonic-db-cli ASIC_DB FLUSHDB > /dev/null - sonic-db-cli COUNTERS_DB FLUSHDB > /dev/null - sonic-db-cli FLEX_COUNTER_DB FLUSHDB > /dev/null + if [[ "${service}" = "syncd" ]]; then + systemctl stop ${service} || debug "Ignore stopping ${service} service error $?" + else + systemctl stop ${service} fi - # TODO: backup_database preserves FDB_TABLE - # need to cleanup as well for fastfast boot case - backup_database + debug "Stopped ${service}" - # Stop teamd gracefully - debug "Stopping teamd ..." - systemctl stop teamd - debug "Stopped teamd ..." -fi + if [[ "${service}" = "swss" ]]; then + if [[ "$REBOOT_TYPE" = "warm-reboot" || "$REBOOT_TYPE" = "fastfast-reboot" ]]; then + # Pre-shutdown syncd + initialize_pre_shutdown + + if [[ "x$sonic_asic_type" == x"mellanox" ]]; then + check_issu_bank_file + fi -debug "Stopping syncd ..." -systemctl stop syncd || debug "Ignore stopping syncd service error $?" -debug "Stopped syncd ..." + request_pre_shutdown + + wait_for_pre_shutdown_complete_or_fail + + if [[ "x$sonic_asic_type" == x"mellanox" ]]; then + check_issu_bank_file + fi + + # Warm reboot: dump state to host disk + if [[ "$REBOOT_TYPE" = "fastfast-reboot" ]]; then + sonic-db-cli ASIC_DB FLUSHDB > /dev/null + sonic-db-cli COUNTERS_DB FLUSHDB > /dev/null + sonic-db-cli FLEX_COUNTER_DB FLUSHDB > /dev/null + fi + + # TODO: backup_database preserves FDB_TABLE + # need to cleanup as well for fastfast boot case + backup_database + fi + fi +done # Kill other containers to make the reboot faster # We call `docker kill ...` to ensure the container stops as quickly as possible, diff --git a/scripts/generate_shutdown_order.py b/scripts/generate_shutdown_order.py new file mode 100644 index 0000000000..a9a1168a05 --- /dev/null +++ b/scripts/generate_shutdown_order.py @@ -0,0 +1,15 @@ +#!/usr/bin/python3 + +''' This script is used to generate initial warm/fast shutdown order file ''' + +from sonic_package_manager import PackageManager + +def main(): + manager = PackageManager.get_manager() + installed_packages = manager.get_installed_packages() + print('installed packages {}'.format(installed_packages)) + manager.service_creator.generate_shutdown_sequence_files(installed_packages) + print('Done.') + +if __name__ == '__main__': + main() diff --git a/setup.py b/setup.py index de5a3cbdac..6c8a349c69 100644 --- a/setup.py +++ b/setup.py @@ -95,6 +95,7 @@ 'scripts/fdbshow', 'scripts/gearboxutil', 'scripts/generate_dump', + 'scripts/generate_shutdown_order.py', 'scripts/intfutil', 'scripts/intfstat', 'scripts/ipintutil', @@ -187,9 +188,10 @@ 'sonic-py-common', 'sonic-yang-mgmt', 'swsssdk>=2.0.1', - 'tabulate>=0.8.2', - 'www-authenticate>=0.9.2', - 'xmltodict>=0.12.0', + 'tabulate==0.8.2', + 'toposort==1.6', + 'www-authenticate==0.9.2', + 'xmltodict==0.12.0', ], setup_requires= [ 'pytest-runner', diff --git a/sonic_package_manager/manager.py b/sonic_package_manager/manager.py index 6aeb5efd71..3caf90d95f 100644 --- a/sonic_package_manager/manager.py +++ b/sonic_package_manager/manager.py @@ -6,7 +6,7 @@ import pkgutil import tempfile from inspect import signature -from typing import Any, Iterable, Callable, Dict, Optional +from typing import Any, Iterable, List, Callable, Dict, Optional import docker import filelock @@ -375,6 +375,14 @@ def install_from_source(self, self.service_creator.create(package, state=feature_state, owner=default_owner) exits.callback(rollback(self.service_creator.remove, package)) + self.service_creator.generate_shutdown_sequence_files( + self._get_installed_packages_and(package) + ) + exits.callback(rollback( + self.service_creator.generate_shutdown_sequence_files, + self.get_installed_packages()) + ) + if not skip_host_plugins: self._install_cli_plugins(package) exits.callback(rollback(self._uninstall_cli_plugins, package)) @@ -429,6 +437,9 @@ def uninstall(self, name: str, force=False): try: self._uninstall_cli_plugins(package) self.service_creator.remove(package) + self.service_creator.generate_shutdown_sequence_files( + self._get_installed_packages_except(package) + ) # Clean containers based on this image containers = self.docker.ps(filters={'ancestor': package.image_id}, @@ -525,8 +536,8 @@ def upgrade_from_source(self, old_package, 'start')) self.service_creator.remove(old_package, deregister_feature=False) - exits.callback(rollback(self.service_creator.create, - old_package, register_feature=False)) + exits.callback(rollback(self.service_creator.create, old_package, + register_feature=False)) # Clean containers based on the old image containers = self.docker.ps(filters={'ancestor': old_package.image_id}, @@ -538,6 +549,14 @@ def upgrade_from_source(self, exits.callback(rollback(self.service_creator.remove, new_package, register_feature=False)) + self.service_creator.generate_shutdown_sequence_files( + self._get_installed_packages_and(new_package) + ) + exits.callback(rollback( + self.service_creator.generate_shutdown_sequence_files, + self._get_installed_packages_and(old_package)) + ) + if self.feature_registry.is_feature_enabled(new_feature): self._systemctl_action(new_package, 'start') exits.callback(rollback(self._systemctl_action, @@ -818,10 +837,19 @@ def get_installed_packages(self) -> Dict[str, Package]: """ return { - entry.name: self.get_installed_package(entry.name) - for entry in self.database if entry.installed + entry.name: entry for entry in self.get_installed_packages_list() } + def get_installed_packages_list(self) -> List[Package]: + """ Returns a list of installed packages. + + Returns: + Installed packages dictionary. + """ + + return [self.get_installed_package(entry.name) + for entry in self.database if entry.installed] + def _migrate_package_database(self, old_package_database: PackageDatabase): """ Performs part of package migration process. For every package in old_package_database that is not listed in current diff --git a/sonic_package_manager/manifest.py b/sonic_package_manager/manifest.py index b58a0d10f0..c126e2eef1 100644 --- a/sonic_package_manager/manifest.py +++ b/sonic_package_manager/manifest.py @@ -92,8 +92,10 @@ class ManifestRoot(ManifestNode): def marshal(self, value: Optional[dict]): result = {} - if value is None: - value = {} + value = value or {} + + if not isinstance(value, dict): + raise ManifestError(f'"{self.key}" field has to be a dictionary') for item in self.items: next_value = value.get(item.key) @@ -115,7 +117,7 @@ def marshal(self, value): if value is None: if self.default is not None: return self.default - raise ManifestError(f'{self.key} is a required field but it is missing') + raise ManifestError(f'"{self.key}" is a required field but it is missing') try: return_value = self.type.marshal(value) except Exception as err: @@ -130,10 +132,12 @@ class ManifestArray(ManifestNode): type: Any def marshal(self, value): - if value is None: - return [] - return_value = [] + value = value or [] + + if not isinstance(value, list): + raise ManifestError(f'"{self.key}" has to be of type list') + try: for item in value: return_value.append(self.type.marshal(item)) @@ -173,6 +177,14 @@ def unmarshal(self, value): ManifestField('asic-service', DefaultMarshaller(bool), False), ManifestField('host-service', DefaultMarshaller(bool), True), ManifestField('delayed', DefaultMarshaller(bool), False), + ManifestRoot('warm-shutdown', [ + ManifestArray('after', DefaultMarshaller(str)), + ManifestArray('before', DefaultMarshaller(str)), + ]), + ManifestRoot('fast-shutdown', [ + ManifestArray('after', DefaultMarshaller(str)), + ManifestArray('before', DefaultMarshaller(str)), + ]), ]), ManifestRoot('container', [ ManifestField('privileged', DefaultMarshaller(bool), False), @@ -187,6 +199,7 @@ def unmarshal(self, value): ]), ManifestArray('processes', ManifestRoot('processes', [ ManifestField('name', DefaultMarshaller(str)), + ManifestField('reconciles', DefaultMarshaller(bool), False), ])), ManifestRoot('cli', [ ManifestField('mandatory', DefaultMarshaller(bool), False), diff --git a/sonic_package_manager/service_creator/creator.py b/sonic_package_manager/service_creator/creator.py index 54b9315bee..4c618eb7ea 100644 --- a/sonic_package_manager/service_creator/creator.py +++ b/sonic_package_manager/service_creator/creator.py @@ -4,10 +4,12 @@ import os import stat import subprocess +from collections import defaultdict from typing import Dict import jinja2 as jinja2 from prettyprinter import pformat +from toposort import toposort_flatten, CircularDependencyError from sonic_package_manager.logger import log from sonic_package_manager.package import Package @@ -91,7 +93,7 @@ def run_command(command: str): shell=True, executable='/bin/bash', stdout=subprocess.PIPE) - (out, _) = proc.communicate() + (_, _) = proc.communicate() if proc.returncode != 0: raise ServiceCreatorError(f'Failed to execute "{command}"') @@ -100,25 +102,46 @@ class ServiceCreator: """ Creates and registers services in SONiC based on the package manifest. """ - def __init__(self, feature_registry: FeatureRegistry, sonic_db): + def __init__(self, + feature_registry: FeatureRegistry, + sonic_db): + """ Initialize ServiceCreator with: + + Args: + feature_registry: FeatureRegistry object. + sonic_db: SonicDb interface. + """ + self.feature_registry = feature_registry self.sonic_db = sonic_db def create(self, package: Package, - register_feature=True, - state='enabled', - owner='local'): + register_feature: bool = True, + state: str = 'enabled', + owner: str = 'local'): + """ Register package as SONiC service. + + Args: + package: Package object to install. + register_feature: Wether to register this package in FEATURE table. + state: Default feature state. + owner: Default feature owner. + + Returns: + None + """ + try: self.generate_container_mgmt(package) self.generate_service_mgmt(package) self.update_dependent_list_file(package) self.generate_systemd_service(package) self.generate_dump_script(package) + self.generate_service_reconciliation_file(package) self.set_initial_config(package) - - self.post_operation_hook() + self._post_operation_hook() if register_feature: self.feature_registry.register(package.manifest, @@ -127,7 +150,19 @@ def create(self, self.remove(package, register_feature) raise - def remove(self, package: Package, deregister_feature=True): + def remove(self, + package: Package, + deregister_feature: bool = True): + """ Uninstall SONiC service provided by the package. + + Args: + package: Package object to uninstall. + deregister_feature: Wether to deregister this package from FEATURE table. + + Returns: + None + """ + name = package.manifest['service']['name'] def remove_file(path): @@ -140,20 +175,24 @@ def remove_file(path): remove_file(os.path.join(SERVICE_MGMT_SCRIPT_LOCATION, f'{name}.sh')) remove_file(os.path.join(DOCKER_CTL_SCRIPT_LOCATION, f'{name}.sh')) remove_file(os.path.join(DEBUG_DUMP_SCRIPT_LOCATION, f'{name}')) + remove_file(os.path.join(ETC_SONIC_PATH, f'{name}_reconcile')) self.update_dependent_list_file(package, remove=True) - - self.post_operation_hook() + self._post_operation_hook() if deregister_feature: self.feature_registry.deregister(package.manifest['service']['name']) self.remove_config(package) - def post_operation_hook(self): - if not in_chroot(): - run_command('systemctl daemon-reload') - def generate_container_mgmt(self, package: Package): + """ Generates container management script under /usr/bin/.sh for package. + + Args: + package: Package object to generate script for. + Returns: + None + """ + image_id = package.image_id name = package.manifest['service']['name'] container_spec = package.manifest['container'] @@ -189,6 +228,14 @@ def generate_container_mgmt(self, package: Package): log.info(f'generated {script_path}') def generate_service_mgmt(self, package: Package): + """ Generates service management script under /usr/local/bin/.sh for package. + + Args: + package: Package object to generate script for. + Returns: + None + """ + name = package.manifest['service']['name'] multi_instance_services = self.feature_registry.get_multi_instance_features() script_path = os.path.join(SERVICE_MGMT_SCRIPT_LOCATION, f'{name}.sh') @@ -202,6 +249,14 @@ def generate_service_mgmt(self, package: Package): log.info(f'generated {script_path}') def generate_systemd_service(self, package: Package): + """ Generates systemd service(s) file and timer(s) (if needed) for package. + + Args: + package: Package object to generate service for. + Returns: + None + """ + name = package.manifest['service']['name'] multi_instance_services = self.feature_registry.get_multi_instance_features() @@ -240,6 +295,15 @@ def generate_systemd_service(self, package: Package): log.info(f'generated {output_file}') def update_dependent_list_file(self, package: Package, remove=False): + """ This function updates dependent list file for packages listed in "dependent-of" + (path: /etc/sonic/_dependent file). + + Args: + package: Package to update packages dependent of it. + Returns: + None. + + """ name = package.manifest['service']['name'] dependent_of = package.manifest['service']['dependent-of'] host_service = package.manifest['service']['host-service'] @@ -272,6 +336,14 @@ def update_dependent(service, name, multi_inst): update_dependent(service, name, multi_inst=True) def generate_dump_script(self, package): + """ Generates dump plugin script for package. + + Args: + package: Package object to generate dump plugin script for. + Returns: + None. + """ + name = package.manifest['service']['name'] if not package.manifest['package']['debug-dump']: @@ -289,31 +361,113 @@ def generate_dump_script(self, package): render_template(scrip_template, script_path, render_ctx, executable=True) log.info(f'generated {script_path}') - def get_tables(self, table_name): - tables = [] + def get_shutdown_sequence(self, reboot_type: str, packages: Dict[str, Package]): + """ Returns shutdown sequence file for particular reboot type. + + Args: + reboot_type: Reboot type to generated service shutdown sequence for. + packages: Dict of installed packages. + Returns: + Ordered list of service names. + """ + + shutdown_graph = defaultdict(set) + + def service_exists(service): + for package in packages.values(): + if package.manifest['service']['name'] == service: + return True + log.info(f'Service {service} is not installed, it is skipped...') + return False + + def filter_not_available(services): + return set(filter(service_exists, services)) + + for package in packages.values(): + service_props = package.manifest['service'] + after = filter_not_available(service_props[f'{reboot_type}-shutdown']['after']) + before = filter_not_available(service_props[f'{reboot_type}-shutdown']['before']) + + if not after and not before: + continue - running_table = self.sonic_db.running_table(table_name) - if running_table is not None: - tables.append(running_table) + name = package.manifest['service']['name'] + shutdown_graph[name].update(after) - persistent_table = self.sonic_db.persistent_table(table_name) - if persistent_table is not None: - tables.append(persistent_table) + for service in before: + shutdown_graph[service].update({name}) - initial_table = self.sonic_db.initial_table(table_name) - if initial_table is not None: - tables.append(initial_table) + log.debug(f'shutdown graph {pformat(shutdown_graph)}') - return tables + try: + order = toposort_flatten(shutdown_graph) + except CircularDependencyError as err: + raise ServiceCreatorError(f'Circular dependency found in {reboot_type} error: {err}') + + log.debug(f'shutdown order {pformat(order)}') + return order + + def generate_shutdown_sequence_file(self, reboot_type: str, packages: Dict[str, Package]): + """ Generates shutdown sequence file for particular reboot type + (path: /etc/sonic/-reboot_order). + + Args: + reboot_type: Reboot type to generated service shutdown sequence for. + packages: Dict of installed packages. + Returns: + None. + """ + + order = self.get_shutdown_sequence(reboot_type, packages) + with open(os.path.join(ETC_SONIC_PATH, f'{reboot_type}-reboot_order'), 'w') as file: + file.write(' '.join(order)) + + def generate_shutdown_sequence_files(self, packages: Dict[str, Package]): + """ Generates shutdown sequence file for fast and warm reboot. + (path: /etc/sonic/-reboot_order). + + Args: + packages: Dict of installed packages. + Returns: + None. + """ + + for reboot_type in ('fast', 'warm'): + self.generate_shutdown_sequence_file(reboot_type, packages) + + def generate_service_reconciliation_file(self, package): + """ Generates reconciliation file for package + (path: /etc/sonic/_reconcile). + + Args: + package: Package object to generate service reconciliation file for. + Returns: + None + """ + + name = package.manifest['service']['name'] + all_processes = package.manifest['processes'] + processes = [process['name'] for process in all_processes if process['reconciles']] + with open(os.path.join(ETC_SONIC_PATH, f'{name}_reconcile'), 'w') as file: + file.write(' '.join(processes)) def set_initial_config(self, package): + """ Set initial package configuration from manifest. + This method updates but does not override existing entries in tables. + + Args: + package: Package object to set initial configuration for. + Returns: + None + """ + init_cfg = package.manifest['package']['init-cfg'] for tablename, content in init_cfg.items(): if not isinstance(content, dict): continue - tables = self.get_tables(tablename) + tables = self._get_tables(tablename) for key in content: for table in tables: @@ -325,18 +479,50 @@ def set_initial_config(self, package): table.set(key, fvs) def remove_config(self, package): - # Remove configuration based on init-cfg tables, so having - # init-cfg even with tables without keys might be a good idea. - # TODO: init-cfg should be validated with yang model - # TODO: remove config from tables known to yang model + """ Remove configuration based on init-cfg tables, so having + init-cfg even with tables without keys might be a good idea. + TODO: init-cfg should be validated with yang model + TODO: remove config from tables known to yang model + + Args: + package: Package object remove initial configuration for. + Returns: + None + """ + init_cfg = package.manifest['package']['init-cfg'] for tablename, content in init_cfg.items(): if not isinstance(content, dict): continue - tables = self.get_tables(tablename) + tables = self._get_tables(tablename) for key in content: for table in tables: table._del(key) + + def _get_tables(self, table_name): + """ Return swsscommon Tables for all kinds of configuration DBs """ + + tables = [] + + running_table = self.sonic_db.running_table(table_name) + if running_table is not None: + tables.append(running_table) + + persistent_table = self.sonic_db.persistent_table(table_name) + if persistent_table is not None: + tables.append(persistent_table) + + initial_table = self.sonic_db.initial_table(table_name) + if initial_table is not None: + tables.append(initial_table) + + return tables + + def _post_operation_hook(self): + """ Common operations executed after service is created/removed. """ + + if not in_chroot(): + run_command('systemctl daemon-reload') diff --git a/tests/sonic_package_manager/conftest.py b/tests/sonic_package_manager/conftest.py index cee997596c..2788a75cd3 100644 --- a/tests/sonic_package_manager/conftest.py +++ b/tests/sonic_package_manager/conftest.py @@ -75,6 +75,36 @@ def __init__(self): components={ 'libswsscommon': Version.parse('1.0.0'), 'libsairedis': Version.parse('1.0.0') + }, + warm_shutdown={ + 'before': ['syncd'], + }, + fast_shutdown={ + 'before': ['syncd'], + }, + processes=[ + { + 'name': 'orchagent', + 'reconciles': True, + }, + { + 'name': 'neighsyncd', + 'reconciles': True, + } + ], + ) + self.add('docker-syncd', 'latest', 'syncd', '1.0.0') + self.add('docker-teamd', 'latest', 'teamd', '1.0.0', + components={ + 'libswsscommon': Version.parse('1.0.0'), + 'libsairedis': Version.parse('1.0.0') + }, + warm_shutdown={ + 'before': ['syncd'], + 'after': ['swss'], + }, + fast_shutdown={ + 'before': ['swss'], } ) self.add('Azure/docker-test', '1.6.0', 'test-package', '1.6.0') @@ -108,7 +138,9 @@ def from_tarball(self, filepath: str) -> Manifest: components = self.metadata_store[path][ref]['components'] return Metadata(manifest, components) - def add(self, repo, reference, name, version, components=None): + def add(self, repo, reference, name, version, components=None, + warm_shutdown=None, fast_shutdown=None, + processes=None): repo_dict = self.metadata_store.setdefault(repo, {}) repo_dict[reference] = { 'manifest': { @@ -119,7 +151,10 @@ def add(self, repo, reference, name, version, components=None): }, 'service': { 'name': name, - } + 'warm-shutdown': warm_shutdown or {}, + 'fast-shutdown': fast_shutdown or {}, + }, + 'processes': processes or [], }, 'components': components or {}, } @@ -189,6 +224,26 @@ def fake_db(fake_metadata_resolver): installed=True, built_in=True ) + add_package( + content, + fake_metadata_resolver, + 'docker-syncd', + 'latest', + description='SONiC syncd service', + default_reference='1.0.0', + installed=True, + built_in=True + ) + add_package( + content, + fake_metadata_resolver, + 'docker-teamd', + 'latest', + description='SONiC teamd service', + default_reference='1.0.0', + installed=True, + built_in=True + ) add_package( content, fake_metadata_resolver, diff --git a/tests/sonic_package_manager/test_manager.py b/tests/sonic_package_manager/test_manager.py index c7eb1ca7ac..48ac6dfda8 100644 --- a/tests/sonic_package_manager/test_manager.py +++ b/tests/sonic_package_manager/test_manager.py @@ -256,11 +256,17 @@ def test_upgrade_from_file_known_package(package_manager, fake_db, sonic_fs): def test_installation_non_default_owner(package_manager, anything, mock_service_creator): package_manager.install('test-package', default_owner='kube') mock_service_creator.create.assert_called_once_with(anything, state='disabled', owner='kube') + mock_service_creator.generate_shutdown_sequence_files.assert_called_once_with( + package_manager.get_installed_packages() + ) def test_installation_enabled(package_manager, anything, mock_service_creator): package_manager.install('test-package', enable=True) mock_service_creator.create.assert_called_once_with(anything, state='enabled', owner='local') + mock_service_creator.generate_shutdown_sequence_files.assert_called_once_with( + package_manager.get_installed_packages() + ) def test_installation_fault(package_manager, mock_docker_api, mock_service_creator): diff --git a/tests/sonic_package_manager/test_manifest.py b/tests/sonic_package_manager/test_manifest.py index efdcc558ab..2f201b8107 100644 --- a/tests/sonic_package_manager/test_manifest.py +++ b/tests/sonic_package_manager/test_manifest.py @@ -57,6 +57,20 @@ def test_manifest_v1_mounts_invalid(): 'mounts': [{'not-source': 'a', 'target': 'b', 'type': 'bind'}]}}) +def test_manifest_invalid_root_type(): + manifest_json_input = {'package': { 'name': 'test', 'version': '1.0.0'}, + 'service': {'name': 'test'}, 'container': 'abc'} + with pytest.raises(ManifestError): + Manifest.marshal(manifest_json_input) + + +def test_manifest_invalid_array_type(): + manifest_json_input = {'package': { 'name': 'test', 'version': '1.0.0'}, + 'service': {'name': 'test', 'warm-shutdown': {'after': 'bgp'}}} + with pytest.raises(ManifestError): + Manifest.marshal(manifest_json_input) + + def test_manifest_v1_unmarshal(): manifest_json_input = {'package': {'name': 'test', 'version': '1.0.0', 'depends': [ diff --git a/tests/sonic_package_manager/test_service_creator.py b/tests/sonic_package_manager/test_service_creator.py index fec8de600c..ffa6737531 100644 --- a/tests/sonic_package_manager/test_service_creator.py +++ b/tests/sonic_package_manager/test_service_creator.py @@ -28,27 +28,58 @@ def manifest(): 'dependent-of': ['swss'], 'asic-service': False, 'host-service': True, + 'warm-shutdown': { + 'before': ['syncd'], + 'after': ['swss'], + }, + 'fast-shutdown': { + 'before': ['swss'], + }, }, 'container': { 'privileged': True, 'volumes': [ '/etc/sonic:/etc/sonic:ro' ] - } + }, + 'processes': [ + { + 'name': 'test-process', + 'reconciles': True, + }, + { + 'name': 'test-process-2', + 'reconciles': False, + }, + { + 'name': 'test-process-3', + 'reconciles': True, + }, + ] }) -def test_service_creator(sonic_fs, manifest, mock_feature_registry, mock_sonic_db): +def test_service_creator(sonic_fs, manifest, package_manager, mock_feature_registry, mock_sonic_db): creator = ServiceCreator(mock_feature_registry, mock_sonic_db) entry = PackageEntry('test', 'azure/sonic-test') package = Package(entry, Metadata(manifest)) + installed_packages = package_manager._get_installed_packages_and(package) creator.create(package) + creator.generate_shutdown_sequence_files(installed_packages) assert sonic_fs.exists(os.path.join(ETC_SONIC_PATH, 'swss_dependent')) assert sonic_fs.exists(os.path.join(DOCKER_CTL_SCRIPT_LOCATION, 'test.sh')) assert sonic_fs.exists(os.path.join(SERVICE_MGMT_SCRIPT_LOCATION, 'test.sh')) assert sonic_fs.exists(os.path.join(SYSTEMD_LOCATION, 'test.service')) + def read_file(name): + with open(os.path.join(ETC_SONIC_PATH, name)) as file: + return file.read() + + assert read_file('warm-reboot_order') == 'swss teamd test syncd' + assert read_file('fast-reboot_order') == 'teamd test swss syncd' + assert read_file('test_reconcile') == 'test-process test-process-3' + def test_service_creator_with_timer_unit(sonic_fs, manifest, mock_feature_registry, mock_sonic_db): creator = ServiceCreator(mock_feature_registry, mock_sonic_db) From 888701b67fd4f1cc5b9da534a360048f93f263f4 Mon Sep 17 00:00:00 2001 From: DavidZagury <32644413+DavidZagury@users.noreply.github.com> Date: Tue, 6 Jul 2021 13:00:34 +0300 Subject: [PATCH 237/342] [Mellanox] Remove mstdump from Mellanoxs collect dump script (#1706) - What I did Remove redundant mellanox dumps now that Mellanox SAI is taking care of that. - How I did it Deleted the part related to mstdumps from the generate_script - How to verify it Run 'show techsupport' see we no have mstdump folder but the actual dump available under the saisdk dump --- scripts/generate_dump | 7 ------- 1 file changed, 7 deletions(-) diff --git a/scripts/generate_dump b/scripts/generate_dump index 082b8dee5c..bc33c0bcc8 100755 --- a/scripts/generate_dump +++ b/scripts/generate_dump @@ -772,13 +772,6 @@ collect_mellanox() { ${CMD_PREFIX}rm -rf $sai_dump_folder ${CMD_PREFIX}docker exec -it syncd rm -rf $sai_dump_folder - - local mst_dump_filename="/tmp/mstdump" - local max_dump_count="3" - for i in $(seq 1 $max_dump_count); do - ${CMD_PREFIX}/usr/bin/mstdump /dev/mst/mt*conf0 > "${mst_dump_filename}${i}" - save_file "${mst_dump_filename}${i}" mstdump true - done # Save SDK error dumps local sdk_dump_path=`${CMD_PREFIX}docker exec syncd cat /tmp/sai.profile|grep "SAI_DUMP_STORE_PATH"|cut -d = -f2` From e8b6c5cc6a4cbe991d0ac08ea3a608df7da2511c Mon Sep 17 00:00:00 2001 From: pettershao-ragilenetworks <81281940+pettershao-ragilenetworks@users.noreply.github.com> Date: Fri, 9 Jul 2021 01:37:43 +0800 Subject: [PATCH 238/342] [ci] Fix python coverage color bar (#1692) Signed-off-by: pettershao-ragilenetworks --- azure-pipelines.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 9ec88b56a9..002d4dffdd 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -38,6 +38,7 @@ stages: - script: | set -xe + sudo apt-get -y purge libhiredis-dev libnl-3-dev libnl-route-3-dev sudo dpkg -i libnl-3-200_*.deb sudo dpkg -i libnl-genl-3-200_*.deb sudo dpkg -i libnl-route-3-200_*.deb @@ -77,6 +78,15 @@ stages: workingDirectory: $(Pipeline.Workspace)/target/python-wheels/ displayName: 'Install Python dependencies' + - script: | + set -ex + # Install .NET CORE + curl -sSL https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add - + sudo apt-add-repository https://packages.microsoft.com/debian/10/prod + sudo apt-get update + sudo apt-get install -y dotnet-sdk-5.0 + displayName: "Install .NET CORE" + - script: | python3 setup.py test displayName: 'Test Python 3' From 3f0b69033c4b8605042ce2d0b41d958d3ff066db Mon Sep 17 00:00:00 2001 From: Ann Pokora <44511240+qbdwlr@users.noreply.github.com> Date: Tue, 13 Jul 2021 14:06:49 -0400 Subject: [PATCH 239/342] [MPLS][CLI] added config/show CLI for MPLS interface, MPLS CRM threshold config, updated CLI reference manual SONiC CLI support for MPLS: "config interface mpls (add | remove) " "show interface mpls []" CRM threshold configuration for mpls_inseg and mpls_nexthop Updated SONiC CLI command reference manual. Added unit tests for all CLI commands --- config/main.py | 50 +++++++ crm/main.py | 45 +++++- doc/Command-Reference.md | 77 ++++++++++ show/interfaces/__init__.py | 46 +++++- tests/crm_test.py | 182 +++++++++++++++++++++++ tests/mock_tables/asic0/config_db.json | 8 +- tests/mock_tables/asic0/counters_db.json | 6 +- tests/mock_tables/asic1/config_db.json | 8 +- tests/mock_tables/asic1/counters_db.json | 6 +- tests/mock_tables/config_db.json | 8 +- tests/mock_tables/counters_db.json | 6 +- tests/mpls_input/appl_db.json | 47 ++++++ tests/mpls_test.py | 93 ++++++++++++ 13 files changed, 570 insertions(+), 12 deletions(-) create mode 100644 tests/mpls_input/appl_db.json create mode 100644 tests/mpls_test.py diff --git a/config/main.py b/config/main.py index 19fcc88494..042b410e67 100644 --- a/config/main.py +++ b/config/main.py @@ -3949,6 +3949,56 @@ def reset(ctx, interface_name): cmd = "sudo sfputil reset {}".format(interface_name) clicommon.run_command(cmd) +# +# 'mpls' subgroup ('config interface mpls ...') +# + +@interface.group(cls=clicommon.AbbreviationGroup) +@click.pass_context +def mpls(ctx): + """Add or remove MPLS""" + pass + +# +# 'add' subcommand +# + +@mpls.command() +@click.argument('interface_name', metavar='', required=True) +@click.pass_context +def add(ctx, interface_name): + """Add MPLS operation on the interface""" + config_db = ctx.obj["config_db"] + if clicommon.get_interface_naming_mode() == "alias": + interface_name = interface_alias_to_name(config_db, interface_name) + if interface_name is None: + ctx.fail("'interface_name' is None!") + + table_name = get_interface_table_name(interface_name) + if table_name == "": + ctx.fail("'interface_name' is not valid. Valid names [Ethernet/PortChannel/Vlan]") + config_db.set_entry(table_name, interface_name, {"mpls": "enable"}) + +# +# 'del' subcommand +# + +@mpls.command() +@click.argument('interface_name', metavar='', required=True) +@click.pass_context +def remove(ctx, interface_name): + """Remove MPLS operation from the interface""" + config_db = ctx.obj["config_db"] + if clicommon.get_interface_naming_mode() == "alias": + interface_name = interface_alias_to_name(config_db, interface_name) + if interface_name is None: + ctx.fail("'interface_name' is None!") + + table_name = get_interface_table_name(interface_name) + if table_name == "": + ctx.fail("'interface_name' is not valid. Valid names [Ethernet/PortChannel/Vlan]") + config_db.set_entry(table_name, interface_name, {"mpls": "disable"}) + # # 'vrf' subgroup ('config interface vrf ...') # diff --git a/crm/main.py b/crm/main.py index fdde198b1a..173dca852c 100644 --- a/crm/main.py +++ b/crm/main.py @@ -70,7 +70,8 @@ def show_thresholds(self, resource): if resource == 'all': for res in ["ipv4_route", "ipv6_route", "ipv4_nexthop", "ipv6_nexthop", "ipv4_neighbor", "ipv6_neighbor", "nexthop_group_member", "nexthop_group", "acl_table", "acl_group", "acl_entry", - "acl_counter", "fdb_entry", "ipmc_entry", "snat_entry", "dnat_entry"]: + "acl_counter", "fdb_entry", "ipmc_entry", "snat_entry", "dnat_entry", "mpls_inseg", + "mpls_nexthop"]: try: data.append([res, crm_info[res + "_threshold_type"], crm_info[res + "_low_threshold"], crm_info[res + "_high_threshold"]]) except KeyError: @@ -97,7 +98,8 @@ def get_resources(self, resource): if crm_stats: if resource == 'all': for res in ["ipv4_route", "ipv6_route", "ipv4_nexthop", "ipv6_nexthop", "ipv4_neighbor", "ipv6_neighbor", - "nexthop_group_member", "nexthop_group", "fdb_entry", "ipmc_entry", "snat_entry", "dnat_entry"]: + "nexthop_group_member", "nexthop_group", "fdb_entry", "ipmc_entry", "snat_entry", "dnat_entry", + "mpls_inseg", "mpls_nexthop"]: if 'crm_stats_' + res + "_used" in crm_stats.keys() and 'crm_stats_' + res + "_available" in crm_stats.keys(): data.append([res, crm_stats['crm_stats_' + res + "_used"], crm_stats['crm_stats_' + res + "_available"]]) else: @@ -262,6 +264,18 @@ def ipv6(ctx): """CRM resource IPv6 address-family""" ctx.obj["crm"].addr_family = 'ipv6' +@thresholds.group() +@click.pass_context +def mpls(ctx): + """CRM resource MPLS address-family""" + ctx.obj["crm"].addr_family = 'mpls' + +@mpls.group() +@click.pass_context +def inseg(ctx): + """CRM configuration for in-segment resource""" + ctx.obj["crm"].res_type = 'inseg' + @ipv4.group() @click.pass_context def route(ctx): @@ -284,7 +298,7 @@ def nexthop(ctx): @click.argument('value', type=click.Choice(['percentage', 'used', 'free'])) @click.pass_context def type(ctx, value): - """CRM threshod type configuration""" + """CRM threshold type configuration""" attr = '' if ctx.obj["crm"].addr_family != None: @@ -298,7 +312,7 @@ def type(ctx, value): @click.argument('value', type=click.INT) @click.pass_context def low(ctx, value): - """CRM low threshod configuration""" + """CRM low threshold configuration""" attr = '' if ctx.obj["crm"].addr_family != None: @@ -312,7 +326,7 @@ def low(ctx, value): @click.argument('value', type=click.INT) @click.pass_context def high(ctx, value): - """CRM high threshod configuration""" + """CRM high threshold configuration""" attr = '' if ctx.obj["crm"].addr_family != None: @@ -328,9 +342,13 @@ def high(ctx, value): nexthop.add_command(type) nexthop.add_command(low) nexthop.add_command(high) +inseg.add_command(type) +inseg.add_command(low) +inseg.add_command(high) ipv6.add_command(route) ipv6.add_command(neighbor) ipv6.add_command(nexthop) +mpls.add_command(nexthop) @thresholds.group() @click.pass_context @@ -493,6 +511,21 @@ def ipv6(ctx): """CRM resource IPv6 address family""" ctx.obj["crm"].addr_family = 'ipv6' +@resources.group() +@click.pass_context +def mpls(ctx): + """CRM resource MPLS address family""" + ctx.obj["crm"].addr_family = 'mpls' + +@mpls.command() +@click.pass_context +def inseg(ctx): + """Show CRM information for in-segment resource""" + if ctx.obj["crm"].cli_mode == 'thresholds': + ctx.obj["crm"].show_thresholds('{0}_inseg'.format(ctx.obj["crm"].addr_family)) + elif ctx.obj["crm"].cli_mode == 'resources': + ctx.obj["crm"].show_resources('{0}_inseg'.format(ctx.obj["crm"].addr_family)) + @ipv4.command() @click.pass_context def route(ctx): @@ -523,6 +556,7 @@ def nexthop(ctx): ipv6.add_command(route) ipv6.add_command(neighbor) ipv6.add_command(nexthop) +mpls.add_command(nexthop) @resources.group() @click.pass_context @@ -619,6 +653,7 @@ def dnat(ctx): thresholds.add_command(fdb) thresholds.add_command(ipv4) thresholds.add_command(ipv6) +thresholds.add_command(mpls) thresholds.add_command(nexthop) thresholds.add_command(ipmc) thresholds.add_command(snat) diff --git a/doc/Command-Reference.md b/doc/Command-Reference.md index f6cf4a646c..abf31bdc9d 100644 --- a/doc/Command-Reference.md +++ b/doc/Command-Reference.md @@ -3095,6 +3095,7 @@ Subsequent pages explain each of these commands in detail. breakout Show Breakout Mode information by interfaces counters Show interface counters description Show interface status, protocol and... + mpls Show Interface MPLS status naming_mode Show interface naming_mode status neighbor Show neighbor related information portchannel Show PortChannel information @@ -3334,6 +3335,36 @@ This command displays the key fields of the interfaces such as Operational Statu Ethernet4 down up hundredGigE1/2 T0-2:hundredGigE1/30 ``` +**show interfaces mpls** + +This command is used to display the configured MPLS state for the list of configured interfaces. + +- Usage: + ``` + show interfaces mpls [] + ``` + +- Example: + ``` + admin@sonic:~$ show interfaces mpls + Interface MPLS State + ----------- ------------ + Ethernet0 disable + Ethernet4 enable + Ethernet8 enable + Ethernet12 disable + Ethernet16 disable + Ethernet20 disable + ``` + +- Example (to only display the MPLS state for interface Ethernet4): + ``` + admin@sonic:~$ show interfaces mpls Ethernet4 + Interface MPLS State + ----------- ------------ + Ethernet4 enable + ``` + **show interfaces tpid** This command displays the key fields of the interfaces such as Operational Status, Administrative Status, Alias and TPID. @@ -3479,6 +3510,7 @@ This sub-section explains the following list of configuration on the interfaces. 8) advertised-speeds - to set interface advertised speeds 9) advertised-types - to set interface advertised types 10) type - to set interface type +11) mpls - To add or remove MPLS operation for the interface From 201904 release onwards, the “config interface” command syntax is changed and the format is as follows: @@ -3951,6 +3983,51 @@ For details please refer [dynamic buffer management](#dynamic-buffer-management) Go Back To [Beginning of the document](#) or [Beginning of this section](#interfaces) +**config interface mpls add (Versions >= 202106)** + +This command is used for adding MPLS operation on the interface. +MPLS operation for either physical, portchannel, or VLAN interface can be configured using this command. + + +- Usage: + ``` + sudo config interface mpls add --help + Usage: config interface mpls add [OPTIONS] + + Add MPLS operation on the interface + + Options: + -?, -h, --help Show this message and exit. + ``` + +- Example: + ``` + admin@sonic:~$ sudo config interface mpls add Ethernet4 + ``` + +**config interface mpls remove (Versions >= 202106)** + +This command is used for removing MPLS operation on the interface. +MPLS operation for either physical, portchannel, or VLAN interface can be configured using this command. + +- Usage: + ``` + sudo config interface mpls remove --help + Usage: config interface mpls remove [OPTIONS] + + Remove MPLS operation from the interface + + Options: + -?, -h, --help Show this message and exit. + ``` + +- Example: + ``` + admin@sonic:~$ sudo config interface mpls remove Ethernet4 + ``` + +Go Back To [Beginning of the document](#) or [Beginning of this section](#interfaces) + ## Interface Naming Mode ### Interface naming mode show commands diff --git a/show/interfaces/__init__.py b/show/interfaces/__init__.py index 296be9fc9e..204ba84e6c 100644 --- a/show/interfaces/__init__.py +++ b/show/interfaces/__init__.py @@ -9,7 +9,7 @@ from tabulate import tabulate from sonic_py_common import multi_asic from sonic_py_common import device_info -from swsscommon.swsscommon import ConfigDBConnector +from swsscommon.swsscommon import ConfigDBConnector, SonicV2Connector from portconfig import get_child_ports import sonic_platform_base.sonic_sfp.sfputilhelper @@ -321,6 +321,50 @@ def expected(db, interfacename): click.echo(tabulate(body, header)) +# 'mpls' subcommand ("show interfaces mpls") +@interfaces.command() +@click.argument('interfacename', required=False) +@click.pass_context +def mpls(ctx, interfacename): + """Show Interface MPLS status""" + + appl_db = SonicV2Connector() + appl_db.connect(appl_db.APPL_DB) + + if interfacename is not None: + interfacename = try_convert_interfacename_from_alias(ctx, interfacename) + + # Fetching data from appl_db for intfs + keys = appl_db.keys(appl_db.APPL_DB, "INTF_TABLE:*") + intfs_data = {} + for key in keys if keys else []: + tokens = key.split(":") + # Skip INTF_TABLE entries with address information + if len(tokens) != 2: + continue + + if (interfacename is not None) and (interfacename != tokens[1]): + continue + + mpls = appl_db.get(appl_db.APPL_DB, key, 'mpls') + if mpls is None or mpls == '': + intfs_data.update({tokens[1]: 'disable'}) + else: + intfs_data.update({tokens[1]: mpls}) + + header = ['Interface', 'MPLS State'] + body = [] + + # Output name and alias for all interfaces + for intf_name in natsorted(list(intfs_data.keys())): + if clicommon.get_interface_naming_mode() == "alias": + alias = clicommon.InterfaceAliasConverter().name_to_alias(intf_name) + body.append([alias, intfs_data[intf_name]]) + else: + body.append([intf_name, intfs_data[intf_name]]) + + click.echo(tabulate(body, header)) + interfaces.add_command(portchannel.portchannel) # diff --git a/tests/crm_test.py b/tests/crm_test.py index d99402e057..4f10b44d69 100644 --- a/tests/crm_test.py +++ b/tests/crm_test.py @@ -51,6 +51,8 @@ ipmc_entry percentage 70 85 snat_entry percentage 70 85 dnat_entry percentage 70 85 +mpls_inseg percentage 70 85 +mpls_nexthop percentage 70 85 """ @@ -142,6 +144,22 @@ """ +crm_show_thresholds_mpls_inseg = """\ + +Resource Name Threshold Type Low Threshold High Threshold +--------------- ---------------- --------------- ---------------- +mpls_inseg percentage 70 85 + +""" + +crm_show_thresholds_mpls_nexthop = """\ + +Resource Name Threshold Type Low Threshold High Threshold +--------------- ---------------- --------------- ---------------- +mpls_nexthop percentage 70 85 + +""" + crm_show_thresholds_ipmc = """\ Resource Name Threshold Type Low Threshold High Threshold @@ -260,6 +278,22 @@ """ +crm_new_show_thresholds_mpls_inseg = """\ + +Resource Name Threshold Type Low Threshold High Threshold +--------------- ---------------- --------------- ---------------- +mpls_inseg percentage 60 90 + +""" + +crm_new_show_thresholds_mpls_nexthop = """\ + +Resource Name Threshold Type Low Threshold High Threshold +--------------- ---------------- --------------- ---------------- +mpls_nexthop percentage 60 90 + +""" + crm_new_show_thresholds_ipmc = """\ Resource Name Threshold Type Low Threshold High Threshold @@ -322,6 +356,8 @@ ipmc_entry 0 24576 snat_entry 0 1024 dnat_entry 0 1024 +mpls_inseg 0 1024 +mpls_nexthop 0 1024 Stage Bind Point Resource Name Used Count Available Count @@ -445,6 +481,22 @@ """ +crm_show_resources_mpls_inseg = """\ + +Resource Name Used Count Available Count +--------------- ------------ ----------------- +mpls_inseg 0 1024 + +""" + +crm_show_resources_mpls_nexthop = """\ + +Resource Name Used Count Available Count +--------------- ------------ ----------------- +mpls_nexthop 0 1024 + +""" + crm_show_resources_ipmc = """\ Resource Name Used Count Available Count @@ -549,6 +601,8 @@ ipmc_entry 0 24576 snat_entry 0 1024 dnat_entry 0 1024 +mpls_inseg 0 1024 +mpls_nexthop 0 1024 ASIC1 @@ -567,6 +621,8 @@ ipmc_entry 0 24576 snat_entry 0 1024 dnat_entry 0 1024 +mpls_inseg 0 1024 +mpls_nexthop 0 1024 ASIC0 @@ -829,6 +885,40 @@ """ +crm_multi_asic_show_resources_mpls_inseg = """\ + +ASIC0 + +Resource Name Used Count Available Count +--------------- ------------ ----------------- +mpls_inseg 0 1024 + + +ASIC1 + +Resource Name Used Count Available Count +--------------- ------------ ----------------- +mpls_inseg 0 1024 + +""" + +crm_multi_asic_show_resources_mpls_nexthop = """\ + +ASIC0 + +Resource Name Used Count Available Count +--------------- ------------ ----------------- +mpls_nexthop 0 1024 + + +ASIC1 + +Resource Name Used Count Available Count +--------------- ------------ ----------------- +mpls_nexthop 0 1024 + +""" + crm_multi_asic_show_resources_ipmc = """\ ASIC0 @@ -1082,6 +1172,38 @@ def test_crm_show_thresholds_dnat(self): assert result.exit_code == 0 assert result.output == crm_new_show_thresholds_dnat + def test_crm_show_thresholds_mpls_nexthop(self): + runner = CliRunner() + db = Db() + result = runner.invoke(crm.cli, ['show', 'thresholds', 'mpls', 'nexthop'], obj=db) + print(sys.stderr, result.output) + assert result.exit_code == 0 + assert result.output == crm_show_thresholds_mpls_nexthop + result = runner.invoke(crm.cli, ['config', 'thresholds', 'mpls', 'nexthop', 'high', '90'], obj=db) + print(sys.stderr, result.output) + result = runner.invoke(crm.cli, ['config', 'thresholds', 'mpls', 'nexthop', 'low', '60'], obj=db) + print(sys.stderr, result.output) + result = runner.invoke(crm.cli, ['show', 'thresholds', 'mpls', 'nexthop'], obj=db) + print(sys.stderr, result.output) + assert result.exit_code == 0 + assert result.output == crm_new_show_thresholds_mpls_nexthop + + def test_crm_show_thresholds_mpls_inseg(self): + runner = CliRunner() + db = Db() + result = runner.invoke(crm.cli, ['show', 'thresholds', 'mpls', 'inseg'], obj=db) + print(sys.stderr, result.output) + assert result.exit_code == 0 + assert result.output == crm_show_thresholds_mpls_inseg + result = runner.invoke(crm.cli, ['config', 'thresholds', 'mpls', 'inseg', 'high', '90'], obj=db) + print(sys.stderr, result.output) + result = runner.invoke(crm.cli, ['config', 'thresholds', 'mpls', 'inseg', 'low', '60'], obj=db) + print(sys.stderr, result.output) + result = runner.invoke(crm.cli, ['show', 'thresholds', 'mpls', 'inseg'], obj=db) + print(sys.stderr, result.output) + assert result.exit_code == 0 + assert result.output == crm_new_show_thresholds_mpls_inseg + def test_crm_show_thresholds_ipmc(self): runner = CliRunner() db = Db() @@ -1196,6 +1318,20 @@ def test_crm_show_resources_dnat(self): assert result.exit_code == 0 assert result.output == crm_show_resources_dnat + def test_crm_show_resources_mpls_inseg(self): + runner = CliRunner() + result = runner.invoke(crm.cli, ['show', 'resources', 'mpls', 'inseg']) + print(sys.stderr, result.output) + assert result.exit_code == 0 + assert result.output == crm_show_resources_mpls_inseg + + def test_crm_show_resources_mpls_nexthop(self): + runner = CliRunner() + result = runner.invoke(crm.cli, ['show', 'resources', 'mpls', 'nexthop']) + print(sys.stderr, result.output) + assert result.exit_code == 0 + assert result.output == crm_show_resources_mpls_nexthop + def test_crm_show_resources_ipmc(self): runner = CliRunner() result = runner.invoke(crm.cli, ['show', 'resources', 'ipmc']) @@ -1448,6 +1584,38 @@ def test_crm_show_thresholds_dnat(self): assert result.exit_code == 0 assert result.output == crm_new_show_thresholds_dnat + def test_crm_show_thresholds_mpls_nexthop(self): + runner = CliRunner() + db = Db() + result = runner.invoke(crm.cli, ['show', 'thresholds', 'mpls', 'nexthop'], obj=db) + print(sys.stderr, result.output) + assert result.exit_code == 0 + assert result.output == crm_show_thresholds_mpls_nexthop + result = runner.invoke(crm.cli, ['config', 'thresholds', 'mpls', 'nexthop', 'high', '90'], obj=db) + print(sys.stderr, result.output) + result = runner.invoke(crm.cli, ['config', 'thresholds', 'mpls', 'nexthop', 'low', '60'], obj=db) + print(sys.stderr, result.output) + result = runner.invoke(crm.cli, ['show', 'thresholds', 'mpls', 'nexthop'], obj=db) + print(sys.stderr, result.output) + assert result.exit_code == 0 + assert result.output == crm_new_show_thresholds_mpls_nexthop + + def test_crm_show_thresholds_mpls_inseg(self): + runner = CliRunner() + db = Db() + result = runner.invoke(crm.cli, ['show', 'thresholds', 'mpls', 'inseg'], obj=db) + print(sys.stderr, result.output) + assert result.exit_code == 0 + assert result.output == crm_show_thresholds_mpls_inseg + result = runner.invoke(crm.cli, ['config', 'thresholds', 'mpls', 'inseg', 'high', '90'], obj=db) + print(sys.stderr, result.output) + result = runner.invoke(crm.cli, ['config', 'thresholds', 'mpls', 'inseg', 'low', '60'], obj=db) + print(sys.stderr, result.output) + result = runner.invoke(crm.cli, ['show', 'thresholds', 'mpls', 'inseg'], obj=db) + print(sys.stderr, result.output) + assert result.exit_code == 0 + assert result.output == crm_new_show_thresholds_mpls_inseg + def test_crm_show_thresholds_ipmc(self): runner = CliRunner() db = Db() @@ -1563,6 +1731,20 @@ def test_crm_multi_asic_show_resources_dnat(self): assert result.exit_code == 0 assert result.output == crm_multi_asic_show_resources_dnat + def test_crm_multi_asic_show_resources_mpls_inseg(self): + runner = CliRunner() + result = runner.invoke(crm.cli, ['show', 'resources', 'mpls', 'inseg']) + print(sys.stderr, result.output) + assert result.exit_code == 0 + assert result.output == crm_multi_asic_show_resources_mpls_inseg + + def test_crm_multi_asic_show_resources_mpls_nexthop(self): + runner = CliRunner() + result = runner.invoke(crm.cli, ['show', 'resources', 'mpls', 'nexthop']) + print(sys.stderr, result.output) + assert result.exit_code == 0 + assert result.output == crm_multi_asic_show_resources_mpls_nexthop + def test_crm_multi_asic_show_resources_ipmc(self): runner = CliRunner() result = runner.invoke(crm.cli, ['show', 'resources', 'ipmc']) diff --git a/tests/mock_tables/asic0/config_db.json b/tests/mock_tables/asic0/config_db.json index adc620ffb1..79d6c30bb6 100644 --- a/tests/mock_tables/asic0/config_db.json +++ b/tests/mock_tables/asic0/config_db.json @@ -178,7 +178,13 @@ "dnat_entry_low_threshold": "70", "ipmc_entry_threshold_type": "percentage", "ipmc_entry_high_threshold": "85", - "ipmc_entry_low_threshold": "70" + "ipmc_entry_low_threshold": "70", + "mpls_inseg_threshold_type": "percentage", + "mpls_inseg_high_threshold": "85", + "mpls_inseg_low_threshold": "70", + "mpls_nexthop_threshold_type": "percentage", + "mpls_nexthop_high_threshold": "85", + "mpls_nexthop_low_threshold": "70" }, "MUX_CABLE|Ethernet32": { "state": "auto", diff --git a/tests/mock_tables/asic0/counters_db.json b/tests/mock_tables/asic0/counters_db.json index 9976978c64..167805e313 100644 --- a/tests/mock_tables/asic0/counters_db.json +++ b/tests/mock_tables/asic0/counters_db.json @@ -1693,7 +1693,11 @@ "crm_stats_snat_entry_used":"0", "crm_stats_snat_entry_available":"1024", "crm_stats_dnat_entry_used":"0", - "crm_stats_dnat_entry_available":"1024" + "crm_stats_dnat_entry_available":"1024", + "crm_stats_mpls_inseg_used":"0", + "crm_stats_mpls_inseg_available":"1024", + "crm_stats_mpls_nexthop_used":"0", + "crm_stats_mpls_nexthop_available":"1024" }, "CRM:ACL_STATS:EGRESS:PORT":{ "crm_stats_acl_table_used":"0", diff --git a/tests/mock_tables/asic1/config_db.json b/tests/mock_tables/asic1/config_db.json index f5caae6d35..733a35e660 100644 --- a/tests/mock_tables/asic1/config_db.json +++ b/tests/mock_tables/asic1/config_db.json @@ -146,7 +146,13 @@ "dnat_entry_low_threshold": "70", "ipmc_entry_threshold_type": "percentage", "ipmc_entry_high_threshold": "85", - "ipmc_entry_low_threshold": "70" + "ipmc_entry_low_threshold": "70", + "mpls_inseg_threshold_type": "percentage", + "mpls_inseg_high_threshold": "85", + "mpls_inseg_low_threshold": "70", + "mpls_nexthop_threshold_type": "percentage", + "mpls_nexthop_high_threshold": "85", + "mpls_nexthop_low_threshold": "70" }, "MUX_CABLE|Ethernet32": { "state": "auto", diff --git a/tests/mock_tables/asic1/counters_db.json b/tests/mock_tables/asic1/counters_db.json index 798bb80b4f..279963b81b 100644 --- a/tests/mock_tables/asic1/counters_db.json +++ b/tests/mock_tables/asic1/counters_db.json @@ -900,7 +900,11 @@ "crm_stats_snat_entry_used":"0", "crm_stats_snat_entry_available":"1024", "crm_stats_dnat_entry_used":"0", - "crm_stats_dnat_entry_available":"1024" + "crm_stats_dnat_entry_available":"1024", + "crm_stats_mpls_inseg_used":"0", + "crm_stats_mpls_inseg_available":"1024", + "crm_stats_mpls_nexthop_used":"0", + "crm_stats_mpls_nexthop_available":"1024" }, "CRM:ACL_STATS:EGRESS:PORT":{ "crm_stats_acl_table_used":"0", diff --git a/tests/mock_tables/config_db.json b/tests/mock_tables/config_db.json index 24bab1f8b9..430fe3b162 100644 --- a/tests/mock_tables/config_db.json +++ b/tests/mock_tables/config_db.json @@ -1567,7 +1567,13 @@ "dnat_entry_low_threshold": "70", "ipmc_entry_threshold_type": "percentage", "ipmc_entry_high_threshold": "85", - "ipmc_entry_low_threshold": "70" + "ipmc_entry_low_threshold": "70", + "mpls_inseg_threshold_type": "percentage", + "mpls_inseg_high_threshold": "85", + "mpls_inseg_low_threshold": "70", + "mpls_nexthop_threshold_type": "percentage", + "mpls_nexthop_high_threshold": "85", + "mpls_nexthop_low_threshold": "70" }, "CHASSIS_MODULE|LINE-CARD1": { "admin_status": "down" diff --git a/tests/mock_tables/counters_db.json b/tests/mock_tables/counters_db.json index 4765556f45..1d4ce33a02 100644 --- a/tests/mock_tables/counters_db.json +++ b/tests/mock_tables/counters_db.json @@ -1828,7 +1828,11 @@ "crm_stats_snat_entry_used":"0", "crm_stats_snat_entry_available":"1024", "crm_stats_dnat_entry_used":"0", - "crm_stats_dnat_entry_available":"1024" + "crm_stats_dnat_entry_available":"1024", + "crm_stats_mpls_inseg_used":"0", + "crm_stats_mpls_inseg_available":"1024", + "crm_stats_mpls_nexthop_used":"0", + "crm_stats_mpls_nexthop_available":"1024" }, "CRM:ACL_STATS:EGRESS:PORT":{ "crm_stats_acl_table_used":"0", diff --git a/tests/mpls_input/appl_db.json b/tests/mpls_input/appl_db.json new file mode 100644 index 0000000000..0bdb59a3ff --- /dev/null +++ b/tests/mpls_input/appl_db.json @@ -0,0 +1,47 @@ +{ + "INTF_TABLE:Ethernet16": { + "NULL": "NULL" + }, + "INTF_TABLE:Ethernet16:192.168.16.1/24": { + "NULL": "NULL" + }, + "INTF_TABLE:Ethernet2": { + "mpls": "enable" + }, + "INTF_TABLE:Ethernet2:192.168.2.1/24": { + "NULL": "NULL" + }, + "INTF_TABLE:Ethernet4": { + "NULL": "NULL" + }, + "INTF_TABLE:Ethernet4:192.168.4.1/24": { + "NULL": "NULL" + }, + "INTF_TABLE:Ethernet4:192.168.40.1/24": { + "NULL": "NULL" + }, + "INTF_TABLE:Ethernet8": { + "NULL": "NULL" + }, + "INTF_TABLE:Ethernet8:192.168.8.1/24": { + "NULL": "NULL" + }, + "INTF_TABLE:Loopback0": { + "NULL": "NULL" + }, + "INTF_TABLE:Loopback0:192.168.0.1/24": { + "NULL": "NULL" + }, + "INTF_TABLE:PortChannel2": { + "mpls": "disable" + }, + "INTF_TABLE:PortChannel2:10.0.0.56/31": { + "NULL": "NULL" + }, + "INTF_TABLE:Vlan2": { + "mpls": "enable" + }, + "INTF_TABLE:Vlan2:192.168.1.1/21": { + "NULL": "NULL" + } +} diff --git a/tests/mpls_test.py b/tests/mpls_test.py new file mode 100644 index 0000000000..a833ef61d3 --- /dev/null +++ b/tests/mpls_test.py @@ -0,0 +1,93 @@ +import os +import sys +import traceback +from unittest import mock + +from click.testing import CliRunner + +from .mock_tables import dbconnector + +import config.main as config +import show.main as show +from utilities_common.db import Db + +show_interfaces_mpls_output="""\ +Interface MPLS State +------------ ------------ +Ethernet2 enable +Ethernet4 disable +Ethernet8 disable +Ethernet16 disable +Loopback0 disable +PortChannel2 disable +Vlan2 enable +""" + +show_interfaces_mpls_specific_output="""\ +Interface MPLS State +----------- ------------ +Ethernet2 enable +""" + +modules_path = os.path.join(os.path.dirname(__file__), "..") +test_path = os.path.join(modules_path, "tests") +sys.path.insert(0, modules_path) +sys.path.insert(0, test_path) +mock_db_path = os.path.join(test_path, "mpls_input") + + +class TestMpls(object): + @classmethod + def setup_class(cls): + print("SETUP") + os.environ['UTILITIES_UNIT_TESTING'] = "1" + + def test_config_mpls_add(self): + runner = CliRunner() + db = Db() + obj = {'config_db':db.cfgdb} + + result = runner.invoke(config.config.commands["interface"].commands["mpls"].commands["add"], ["Ethernet4"], obj=obj) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert db.cfgdb.get_entry("INTERFACE", "Ethernet4") == {"mpls": "enable"} + + def test_config_mpls_remove(self): + runner = CliRunner() + db = Db() + obj = {'config_db':db.cfgdb} + + result = runner.invoke(config.config.commands["interface"].commands["mpls"].commands["remove"], ["Ethernet4"], obj=obj) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert db.cfgdb.get_entry("INTERFACE", "Ethernet4") == {"mpls": "disable"} + + def test_show_interfaces_mpls(self): + jsonfile = os.path.join(mock_db_path, 'appl_db') + dbconnector.dedicated_dbs['APPL_DB'] = jsonfile + + runner = CliRunner() + result = runner.invoke(show.cli.commands["interfaces"].commands["mpls"], []) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == show_interfaces_mpls_output + + def test_show_interfaces_mpls_specific(self): + jsonfile = os.path.join(mock_db_path, 'appl_db') + dbconnector.dedicated_dbs['APPL_DB'] = jsonfile + + runner = CliRunner() + result = runner.invoke(show.cli.commands["interfaces"].commands["mpls"], ["Ethernet2"]) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == show_interfaces_mpls_specific_output + + @classmethod + def teardown_class(cls): + print("TEARDOWN") + os.environ['UTILITIES_UNIT_TESTING'] = "0" + dbconnector.dedicated_dbs['APPL_DB'] = None From 8fe7e260109acafac1035502b5f354a7591e349c Mon Sep 17 00:00:00 2001 From: Qi Luo Date: Tue, 13 Jul 2021 22:11:36 -0700 Subject: [PATCH 240/342] Coverage uses top level directory as source (#1711) Originally, the Azure pipeline "Code Coverage" page will render folder structure wrongly. The first level of folders disappear and all the files in the first level are combined and de-dup. So we lost many main.py, etc. Fix the coveragerc file so that the rendering will make sense. --- .coveragerc | 31 ++++--------------------------- 1 file changed, 4 insertions(+), 27 deletions(-) diff --git a/.coveragerc b/.coveragerc index 9850900d18..e11eae4292 100644 --- a/.coveragerc +++ b/.coveragerc @@ -1,29 +1,6 @@ [run] branch = True -source = - acl_loader - clear - config - connect - consutil - counterpoll - crm - debug - fdbutil - fwutil - pcieutil - pddf_fanutil - pddf_ledutil - pddf_psuutil - pddf_thermalutil - pfc - pfcwd - psuutil - scripts - sfputil - show - sonic_installer - ssdutil - undebug - utilities_common - watchdogutil +source = . +omit = + .eggs/* + tests/* From 9ae6f6bc191ddbb6131f95a52e0489671fa1f5de Mon Sep 17 00:00:00 2001 From: Vivek Reddy Date: Wed, 14 Jul 2021 13:01:43 -0700 Subject: [PATCH 241/342] [debug dump util] Match Infrastructure (#1666) What I did HLD for Dump Utility: HLD. Added the Logic for Match Infrastructure along with corresponding unit tests. Note: Before merging other PR's, please merge this first For More Info on MatchRequest and MatchEngine, Check this section in the HLD: MatchInfra --- dump/__init__.py | 0 dump/helper.py | 35 +++ dump/match_infra.py | 300 ++++++++++++++++++++++++++ tests/dump_input/copp_cfg.json | 103 +++++++++ tests/dump_tests/__init__.py | 0 tests/dump_tests/match_engine_test.py | 248 +++++++++++++++++++++ 6 files changed, 686 insertions(+) create mode 100644 dump/__init__.py create mode 100644 dump/helper.py create mode 100644 dump/match_infra.py create mode 100644 tests/dump_input/copp_cfg.json create mode 100644 tests/dump_tests/__init__.py create mode 100644 tests/dump_tests/match_engine_test.py diff --git a/dump/__init__.py b/dump/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/dump/helper.py b/dump/helper.py new file mode 100644 index 0000000000..806f2d0e26 --- /dev/null +++ b/dump/helper.py @@ -0,0 +1,35 @@ +import os, sys + +def create_template_dict(dbs): + """ Generate a Template which will be returned by Executor Classes """ + return {db: {'keys': [], 'tables_not_found': []} for db in dbs} + +def verbose_print(str): + if "VERBOSE" in os.environ and os.environ["VERBOSE"] == "1": + print(str) + +def handle_error(err_str, excep=False): + """ + Handles general error conditions, if any experienced by the module, + Set excep = True, to raise a exception + """ + if excep: + raise Exception("ERROR : {}".format(err_str)) + else: + print("ERROR : {}".format(err_str), file = sys.stderr) + + +def handle_multiple_keys_matched_error(err_str, key_to_go_with="", excep=False): + if excep: + handle_error(err_str, True) + else: + print("ERROR (AMBIGUITY): {} \n Proceeding with the key {}".format(err_str, key_to_go_with), file = sys.stderr) + + +def sort_lists(ret_template): + """ Used to sort the nested list returned by the template dict. """ + for db in ret_template.keys(): + for key in ret_template[db].keys(): + if isinstance(ret_template[db][key], list): + ret_template[db][key].sort() + return ret_template diff --git a/dump/match_infra.py b/dump/match_infra.py new file mode 100644 index 0000000000..fe0d8126a9 --- /dev/null +++ b/dump/match_infra.py @@ -0,0 +1,300 @@ +import json, fnmatch +from abc import ABC, abstractmethod +from dump.helper import verbose_print +from swsscommon.swsscommon import SonicV2Connector, SonicDBConfig +from sonic_py_common import multi_asic +from utilities_common.constants import DEFAULT_NAMESPACE + +EXCEP_DICT = { + "INV_REQ": "Argument should be of type MatchRequest", + "INV_DB": "DB provided is not valid", + "NO_MATCHES": "No Entries found for Table|key_pattern provided", + "NO_SRC": "Either one of db or file in the request should be non-empty", + "NO_TABLE": "No 'table' name provided", + "NO_KEY": "'key_pattern' cannot be empty", + "NO_VALUE" : "Field is provided, but no value is provided to compare with", + "SRC_VAGUE": "Only one of db or file should be provided", + "CONN_ERR" : "Connection Error", + "JUST_KEYS_COMPAT": "When Just_keys is set to False, return_fields should be empty", + "BAD_FORMAT_RE_FIELDS": "Return Fields should be of list type", + "NO_ENTRIES": "No Keys found after applying the filtering criteria", + "FILE_R_EXEP": "Exception Caught While Reading the json cfg file provided", + "INV_NS": "Namespace is invalid" +} + +class MatchRequest: + """ + Request Object which should be passed to the MatchEngine + + Attributes: + "table" : A Valid Table Name + "key_pattern" : Pattern of the redis-key to match. Defaults to "*". Eg: "*" will match all the keys. + Supports these glob style patterns. https://redis.io/commands/KEYS + "field" : Field to check for a match,Defaults to None + "value" : Value to match, Defaults to None + "return_fields" : An iterable type, where each element woudld imply a field to return from all the filtered keys + "db" : A Valid DB name, Defaults to "". + "file" : A Valid Config JSON file, Eg: copp_cfg.json, Defaults to "". + Only one of the db/file fields should have a non-empty string. + "just_keys" : If true, Only Returns the keys matched. Does not return field-value pairs. Defaults to True + "ns" : namespace argument, if nothing is provided, default namespace is used + "match_entire_list" : When this arg is set to true, entire list is matched incluing the ",". + When False, the values are split based on "," and individual items are matched with + """ + def __init__(self, **kwargs): + self.table = kwargs["table"] if "table" in kwargs else None + self.key_pattern = kwargs["key_pattern"] if "key_pattern" in kwargs else "*" + self.field = kwargs["field"] if "field" in kwargs else None + self.value = kwargs["value"] if "value" in kwargs else None + self.return_fields = kwargs["return_fields"] if "return_fields" in kwargs else [] + self.db = kwargs["db"] if "db" in kwargs else "" + self.file = kwargs["file"] if "file" in kwargs else "" + self.just_keys = kwargs["just_keys"] if "just_keys" in kwargs else True + self.ns = kwargs["ns"] if "ns" in kwargs else "" + self.match_entire_list = kwargs["match_entire_list"] if "match_entire_list" in kwargs else False + err = self.__static_checks() + verbose_print(str(err)) + if err: + raise Exception("Static Checks for the MatchRequest Failed, Reason: \n" + err) + + + def __static_checks(self): + + if not self.db and not self.file: + return EXCEP_DICT["NO_SRC"] + + if self.db and self.file: + return EXCEP_DICT["SRC_VAGUE"] + + if not self.db: + try: + with open(self.file) as f: + json.load(f) + except Exception as e: + return EXCEP_DICT["FILE_R_EXEP"] + str(e) + + if not self.file and self.db not in SonicDBConfig.getDbList(): + return EXCEP_DICT["INV_DB"] + + if not self.table: + return EXCEP_DICT["NO_TABLE"] + + if not isinstance(self.return_fields, list): + return EXCEP_DICT["BAD_FORMAT_RE_FIELDS"] + + if not self.just_keys and self.return_fields: + return EXCEP_DICT["JUST_KEYS_COMPAT"] + + if self.field and not self.value: + return EXCEP_DICT["NO_VALUE"] + + if self.ns != DEFAULT_NAMESPACE and self.ns not in multi_asic.get_namespace_list(): + return EXCEP_DICT["INV_NS"] + " Choose From {}".format(multi_asic.get_namespace_list()) + + verbose_print("MatchRequest Checks Passed") + + return "" + + def __str__(self): + str = "----------------------- \n MatchRequest: \n" + if self.db: + str += "db:{} , ".format(self.db) + if self.file: + str += "file:{} , ".format(self.file) + if self.table: + str += "table:{} , ".format(self.table) + if self.key_pattern: + str += "key_pattern:{} , ".format(self.key_pattern) + if self.field: + str += "field:{} , ".format(self.field) + if self.value: + str += "value:{} , ".format(self.value) + if self.just_keys: + str += "just_keys:True ," + else: + str += "just_keys:False ," + if len(self.return_fields) > 0: + str += "return_fields: " + ",".join(self.return_fields) + " " + if self.ns: + str += "namespace: , " + self.ns + if self.match_entire_list: + str += "match_list: True , " + else: + str += "match_list: False , " + return str + +class SourceAdapter(ABC): + """ Source Adaptor offers unified interface to Data Sources """ + + def __init__(self): + pass + + @abstractmethod + def connect(self, db, ns): + """ Return True for Success, False for failure """ + return False + + @abstractmethod + def getKeys(self, db, table, key_pattern): + return [] + + @abstractmethod + def get(self, db, key): + return {} + + @abstractmethod + def hget(self, db, key, field): + return "" + + @abstractmethod + def get_separator(self, db): + return "" + +class RedisSource(SourceAdapter): + """ Concrete Adaptor Class for connecting to Redis Data Sources """ + + def __init__(self): + self.conn = None + + def connect(self, db, ns): + try: + if not SonicDBConfig.isInit(): + if multi_asic.is_multi_asic(): + SonicDBConfig.load_sonic_global_db_config() + else: + SonicDBConfig.load_sonic_db_config() + self.conn = SonicV2Connector(namespace=ns, use_unix_socket_path=True) + self.conn.connect(db) + except Exception as e: + verbose_print("RedisSource: Connection Failed\n" + str(e)) + return False + return True + + def get_separator(self, db): + return self.conn.get_db_separator(db) + + def getKeys(self, db, table, key_pattern): + return self.conn.keys(db, table + self.get_separator(db) + key_pattern) + + def get(self, db, key): + return self.conn.get_all(db, key) + + def hget(self, db, key, field): + return self.conn.get(db, key, field) + +class JsonSource(SourceAdapter): + """ Concrete Adaptor Class for connecting to JSON Data Sources """ + + def __init__(self): + self.json_data = None + + def connect(self, db, ns): + try: + with open(db) as f: + self.json_data = json.load(f) + except Exception as e: + verbose_print("JsonSource: Loading the JSON file failed" + str(e)) + return False + return True + + def get_separator(self, db): + return SonicDBConfig.getSeparator("CONFIG_DB") + + def getKeys(self, db, table, key_pattern): + if table not in self.json_data: + return [] + # https://docs.python.org/3.7/library/fnmatch.html + kp = key_pattern.replace("[^", "[!") + kys = fnmatch.filter(self.json_data[table].keys(), kp) + return [table + self.get_separator(db) + ky for ky in kys] + + def get(self, db, key): + sep = self.get_separator(db) + table, key = key.split(sep, 1) + return self.json_data.get(table, {}).get(key, {}) + + def hget(self, db, key, field): + sep = self.get_separator(db) + table, key = key.split(sep, 1) + return self.json_data.get(table, "").get(key, "").get(field, "") + +class MatchEngine: + """ Pass in a MatchRequest, to fetch the Matched dump from the Data sources """ + + def __get_source_adapter(self, req): + src = None + d_src = "" + if req.db: + d_src = req.db + src = RedisSource() + else: + d_src = req.file + src = JsonSource() + return d_src, src + + def __create_template(self): + return {"error" : "", "keys" : [], "return_values" : {}} + + def __display_error(self, err): + template = self.__create_template() + template['error'] = err + verbose_print("MatchEngine: \n" + template['error']) + return template + + def __filter_out_keys(self, src, req, all_matched_keys): + # TODO: Custom Callbacks for Complex Matching Criteria + if not req.field: + return all_matched_keys + + filtered_keys = [] + for key in all_matched_keys: + f_values = src.hget(req.db, key, req.field) + if "," in f_values and not req.match_entire_list: + f_value = f_values.split(",") + else: + f_value = [f_values] + if req.value in f_value: + filtered_keys.append(key) + return filtered_keys + + def __fill_template(self, src, req, filtered_keys, template): + for key in filtered_keys: + temp = {} + if not req.just_keys: + temp[key] = src.get(req.db, key) + template["keys"].append(temp) + elif len(req.return_fields) > 0: + template["keys"].append(key) + template["return_values"][key] = {} + for field in req.return_fields: + template["return_values"][key][field] = src.hget(req.db, key, field) + else: + template["keys"].append(key) + verbose_print("Return Values:" + str(template["return_values"])) + return template + + def fetch(self, req): + """ Given a request obj, find its match in the data source provided """ + if not isinstance(req, MatchRequest): + return self.__display_error(EXCEP_DICT["INV_REQ"]) + + verbose_print(str(req)) + + if not req.key_pattern: + return self.__display_error(EXCEP_DICT["NO_KEY"]) + + d_src, src = self.__get_source_adapter(req) + if not src.connect(d_src, req.ns): + return self.__display_error(EXCEP_DICT["CONN_ERR"]) + + template = self.__create_template() + all_matched_keys = src.getKeys(req.db, req.table, req.key_pattern) + if not all_matched_keys: + return self.__display_error(EXCEP_DICT["NO_MATCHES"]) + + filtered_keys = self.__filter_out_keys(src, req, all_matched_keys) + verbose_print("Filtered Keys:" + str(filtered_keys)) + if not filtered_keys: + return self.__display_error(EXCEP_DICT["NO_ENTRIES"]) + return self.__fill_template(src, req, filtered_keys, template) + diff --git a/tests/dump_input/copp_cfg.json b/tests/dump_input/copp_cfg.json new file mode 100644 index 0000000000..cae5f4e8e0 --- /dev/null +++ b/tests/dump_input/copp_cfg.json @@ -0,0 +1,103 @@ +{ + "COPP_GROUP": { + "default": { + "queue": "0", + "meter_type":"packets", + "mode":"sr_tcm", + "cir":"600", + "cbs":"600", + "red_action":"drop" + }, + "queue4_group1": { + "trap_action":"trap", + "trap_priority":"4", + "queue": "4" + }, + "queue4_group2": { + "trap_action":"copy", + "trap_priority":"4", + "queue": "4", + "meter_type":"packets", + "mode":"sr_tcm", + "cir":"600", + "cbs":"600", + "red_action":"drop" + }, + "queue4_group3": { + "trap_action":"trap", + "trap_priority":"4", + "queue": "4" + }, + "queue1_group1": { + "trap_action":"trap", + "trap_priority":"1", + "queue": "1", + "meter_type":"packets", + "mode":"sr_tcm", + "cir":"6000", + "cbs":"6000", + "red_action":"drop" + }, + "queue1_group2": { + "trap_action":"trap", + "trap_priority":"1", + "queue": "1", + "meter_type":"packets", + "mode":"sr_tcm", + "cir":"600", + "cbs":"600", + "red_action":"drop" + }, + "queue2_group1": { + "cbs": "1000", + "cir": "1000", + "genetlink_mcgrp_name": "packets", + "genetlink_name": "psample", + "meter_type": "packets", + "mode": "sr_tcm", + "queue": "2", + "red_action": "drop", + "trap_action": "trap", + "trap_priority": "1" + + } + }, + "COPP_TRAP": { + "bgp": { + "trap_ids": "bgp,bgpv6", + "trap_group": "queue4_group1" + }, + "lacp": { + "trap_ids": "lacp", + "trap_group": "queue4_group1" + }, + "arp": { + "trap_ids": "arp_req,arp_resp,neigh_discovery", + "trap_group": "queue4_group2" + }, + "lldp": { + "trap_ids": "lldp", + "trap_group": "queue4_group3" + }, + "dhcp": { + "trap_ids": "dhcp,dhcpv6", + "trap_group": "queue4_group3" + }, + "udld": { + "trap_ids": "udld", + "trap_group": "queue4_group3" + }, + "ip2me": { + "trap_ids": "ip2me", + "trap_group": "queue1_group1" + }, + "nat": { + "trap_ids": "src_nat_miss,dest_nat_miss", + "trap_group": "queue1_group2" + }, + "sflow": { + "trap_group": "queue2_group1", + "trap_ids": "sample_packet" + } + } +} diff --git a/tests/dump_tests/__init__.py b/tests/dump_tests/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/dump_tests/match_engine_test.py b/tests/dump_tests/match_engine_test.py new file mode 100644 index 0000000000..a4d4330b9b --- /dev/null +++ b/tests/dump_tests/match_engine_test.py @@ -0,0 +1,248 @@ +import os, sys +import unittest +import pytest +from dump.match_infra import MatchEngine, EXCEP_DICT, MatchRequest +from deepdiff import DeepDiff +from importlib import reload + +test_path = os.path.join(os.path.dirname(__file__), "../") +dump_test_input = os.path.join(test_path, "dump_input") + +sys.path.append(test_path) + +@pytest.fixture(scope="module", autouse=True) +def mock_setup(): + print("SETUP") + os.environ["VERBOSE"] = "1" + yield + print("TEARDOWN") + os.environ["VERBOSE"] = "0" + + +class TestMatchRequestValidation(unittest.TestCase): + + def __init__(self, *args, **kwargs): + super(TestMatchRequestValidation, self).__init__(*args, **kwargs) + self.match_engine = MatchEngine() + + def assertRaisesWithMessage(self, msg, func, *args, **kwargs): + try: + func(*args, **kwargs) + assert False, "Expected an exception with msg: " + msg + except Exception as inst: + print(inst) + assert msg in str(inst) + + def test_bad_request(self): + req = [] + ret = self.match_engine.fetch(req) + assert ret["error"] == EXCEP_DICT["INV_REQ"] + + def test_no_source(self): + self.assertRaisesWithMessage(EXCEP_DICT["NO_SRC"], MatchRequest) + + def test_vague_source(self): + self.assertRaisesWithMessage(EXCEP_DICT["SRC_VAGUE"], MatchRequest, db="CONFIG_DB", file="/etc/sonic/copp_cfg.json") + + def test_no_file(self): + self.assertRaisesWithMessage(EXCEP_DICT["FILE_R_EXEP"], MatchRequest, file=os.path.join(test_path, "random_db.json")) + + def test_invalid_db(self): + self.assertRaisesWithMessage(EXCEP_DICT["INV_DB"], MatchRequest, db="CONFIGURATION_DB") + + def test_invalid_namespace(self): + self.assertRaisesWithMessage(EXCEP_DICT["INV_NS"], MatchRequest, db="APPL_DB", table="PORT_TABLE", + field="lanes", value="202", ns="asic4") + + def test_bad_key_pattern(self): + req = MatchRequest(db="CONFIG_DB", table="PORT", key_pattern="") + ret = self.match_engine.fetch(req) + assert ret["error"] == EXCEP_DICT["NO_KEY"] + + def test_no_value(self): + self.assertRaisesWithMessage(EXCEP_DICT["NO_VALUE"], MatchRequest, db="APPL_DB", table="COPP_TABLE", key_pattern="*", field="trap_ids", value="") + + def test_no_table(self): + self.assertRaisesWithMessage(EXCEP_DICT["NO_TABLE"], MatchRequest, db="APPL_DB", table="", key_pattern="*", field="trap_ids", value="bgpv6") + + def test_just_keys_return_fields_compat(self): + self.assertRaisesWithMessage(EXCEP_DICT["JUST_KEYS_COMPAT"], MatchRequest, db="APPL_DB", return_fields=["trap_group"], table="COPP_TABLE", + key_pattern="*", field="trap_ids", value="", just_keys=False) + + def test_invalid_combination(self): + req = MatchRequest(db="CONFIG_DB", table="COPP_TRAP", key_pattern="*", field="trap_ids", value="sample_packet") + ret = self.match_engine.fetch(req) + assert ret["error"] == EXCEP_DICT["NO_MATCHES"] + + def test_return_fields_bad_format(self): + self.assertRaisesWithMessage(EXCEP_DICT["BAD_FORMAT_RE_FIELDS"], MatchRequest, db="STATE_DB", table="REBOOT_CAUSE", key_pattern="*", return_fields="cause") + + def test_valid_match_request(self): + try: + req = MatchRequest(db="APPL_DB", table="PORT_TABLE", field="lanes", value="202") + except Exception as e: + assert False, "Exception Raised for a Valid MatchRequest" + str(e) + + +class TestMatchEngine(unittest.TestCase): + + def __init__(self, *args, **kwargs): + super(TestMatchEngine, self).__init__(*args, **kwargs) + self.match_engine = MatchEngine() + + def test_key_pattern_wildcard(self): + req = MatchRequest(db="CONFIG_DB", table="SFLOW_COLLECTOR", key_pattern="*") + ret = self.match_engine.fetch(req) + assert ret["error"] == "" + assert len(ret["keys"]) == 2 + assert "SFLOW_COLLECTOR|ser5" in ret['keys'] + assert "SFLOW_COLLECTOR|prod" in ret['keys'] + + def test_key_pattern_complex(self): + req = MatchRequest(db="CONFIG_DB", table="ACL_RULE", key_pattern="EVERFLOW*") + ret = self.match_engine.fetch(req) + assert ret["error"] == "" + assert len(ret["keys"]) == 2 + assert "ACL_RULE|EVERFLOW|RULE_6" in ret['keys'] + assert "ACL_RULE|EVERFLOW|RULE_08" in ret['keys'] + + def test_field_value_match(self): + req = MatchRequest(db="CONFIG_DB", table="ACL_TABLE", field="policy_desc", value="SSH_ONLY") + ret = self.match_engine.fetch(req) + assert ret["error"] == "" + assert len(ret["keys"]) == 1 + assert "ACL_TABLE|SSH_ONLY" in ret['keys'] + + def test_field_value_match_list_type(self): + req = MatchRequest(db="APPL_DB", table="PORT_TABLE", field="lanes", value="202") + ret = self.match_engine.fetch(req) + assert ret["error"] == "" + assert len(ret["keys"]) == 1 + assert "PORT_TABLE:Ethernet200" in ret['keys'] + + def test_for_no_match(self): + req = MatchRequest(db="ASIC_DB", table="ASIC_STATE:SAI_OBJECT_TYPE_SWITCH", field="SAI_SWITCH_ATTR_SRC_MAC_ADDRESS", value="DE:AD:EE:EE:EE") + ret = self.match_engine.fetch(req) + assert ret["error"] == EXCEP_DICT["NO_ENTRIES"] + assert len(ret["keys"]) == 0 + + def test_for_no_key_match(self): + req = MatchRequest(db="ASIC_DB", table="ASIC_STATE:SAI_OBJECT_TYPE_SWITCH", key_pattern="oid:0x22*") + ret = self.match_engine.fetch(req) + assert ret["error"] == EXCEP_DICT["NO_MATCHES"] + + def test_field_value_no_match(self): + req = MatchRequest(db="STATE_DB", table="FAN_INFO", key_pattern="*", field="led_status", value="yellow") + ret = self.match_engine.fetch(req) + assert ret["error"] == EXCEP_DICT["NO_ENTRIES"] + assert len(ret["keys"]) == 0 + + def test_return_keys(self): + req = MatchRequest(db="STATE_DB", table="REBOOT_CAUSE", return_fields=["cause"]) + ret = self.match_engine.fetch(req) + assert ret["error"] == "" + assert len(ret["keys"]) == 2 + assert "warm-reboot" == ret["return_values"]["REBOOT_CAUSE|2020_10_09_04_53_58"]["cause"] + assert "reboot" == ret["return_values"]["REBOOT_CAUSE|2020_10_09_02_33_06"]["cause"] + + def test_return_fields_with_key_filtering(self): + req = MatchRequest(db="STATE_DB", table="REBOOT_CAUSE", key_pattern="2020_10_09_02*", return_fields=["cause"]) + ret = self.match_engine.fetch(req) + assert ret["error"] == "" + assert len(ret["keys"]) == 1 + assert "reboot" == ret["return_values"]["REBOOT_CAUSE|2020_10_09_02_33_06"]["cause"] + + def test_return_fields_with_field_value_filtering(self): + req = MatchRequest(db="STATE_DB", table="CHASSIS_MODULE_TABLE", field="oper_status", value="Offline", return_fields=["slot"]) + ret = self.match_engine.fetch(req) + assert ret["error"] == "" + assert len(ret["keys"]) == 1 + assert "18" == ret["return_values"]["CHASSIS_MODULE_TABLE|FABRIC-CARD1"]["slot"] + + def test_return_fields_with_all_filtering(self): + req = MatchRequest(db="STATE_DB", table="VXLAN_TUNNEL_TABLE", key_pattern="EVPN_25.25.25.2*", field="operstatus", value="down", return_fields=["src_ip"]) + ret = self.match_engine.fetch(req) + assert ret["error"] == "" + assert len(ret["keys"]) == 3 + assert "1.1.1.1" == ret["return_values"]["VXLAN_TUNNEL_TABLE|EVPN_25.25.25.25"]["src_ip"] + assert "1.1.1.1" == ret["return_values"]["VXLAN_TUNNEL_TABLE|EVPN_25.25.25.26"]["src_ip"] + assert "1.1.1.1" == ret["return_values"]["VXLAN_TUNNEL_TABLE|EVPN_25.25.25.27"]["src_ip"] + + def test_just_keys_false(self): + req = MatchRequest(db="CONFIG_DB", table="SFLOW", key_pattern="global", just_keys=False) + ret = self.match_engine.fetch(req) + assert ret["error"] == "" + assert len(ret["keys"]) == 1 + recv_dict = ret["keys"][0] + assert isinstance(recv_dict, dict) + exp_dict = {"SFLOW|global": {"admin_state": "up", "polling_interval": "0"}} + ddiff = DeepDiff(exp_dict, recv_dict) + assert not ddiff, ddiff + + def test_file_source(self): + file = os.path.join(dump_test_input, "copp_cfg.json") + req = MatchRequest(file=file, table="COPP_TRAP", field="trap_ids", value="arp_req") + ret = self.match_engine.fetch(req) + assert ret["error"] == "" + assert len(ret["keys"]) == 1 + assert "COPP_TRAP|arp" in ret["keys"] + + def test_file_source_with_key_ptrn(self): + file = os.path.join(dump_test_input, "copp_cfg.json") + req = MatchRequest(file=file, table="COPP_GROUP", key_pattern="queue4*", field="red_action", value="drop") + ret = self.match_engine.fetch(req) + assert ret["error"] == "" + assert len(ret["keys"]) == 1 + assert "COPP_GROUP|queue4_group2" in ret["keys"] + + def test_file_source_with_not_only_return_keys(self): + file = os.path.join(dump_test_input, "copp_cfg.json") + req = MatchRequest(file=file, table="COPP_GROUP", key_pattern="queue4*", field="red_action", value="drop", just_keys=False) + ret = self.match_engine.fetch(req) + assert ret["error"] == "" + assert len(ret["keys"]) == 1 + recv_dict = ret["keys"][0] + exp_dict = {"COPP_GROUP|queue4_group2": {"trap_action": "copy", "trap_priority": "4", "queue": "4", "meter_type": "packets", "mode": "sr_tcm", "cir": "600", "cbs": "600", "red_action": "drop"}} + ddiff = DeepDiff(exp_dict, recv_dict) + assert not ddiff, ddiff + + def test_match_entire_list(self): + req = MatchRequest(db="CONFIG_DB", table="PORT", key_pattern="*", field="lanes", value="61,62,63,64", match_entire_list=True, just_keys=True) + ret = self.match_engine.fetch(req) + assert ret["error"] == "" + assert len(ret["keys"]) == 1 + assert "PORT|Ethernet60" in ret["keys"] + + +class TestNonDefaultNameSpace(unittest.TestCase): + + @classmethod + def setup_class(cls): + print("SETUP") + os.environ["UTILITIES_UNIT_TESTING"] = "2" + os.environ["UTILITIES_UNIT_TESTING_TOPOLOGY"] = "multi_asic" + from ..mock_tables import mock_multi_asic + reload(mock_multi_asic) + from ..mock_tables import dbconnector + dbconnector.load_namespace_config() + + def teardown_class(cls): + print("TEARDOWN") + os.environ["UTILITIES_UNIT_TESTING"] = "0" + os.environ["UTILITIES_UNIT_TESTING_TOPOLOGY"] = "" + + def test_namespace_asic0(self): + req = MatchRequest(db="CONFIG_DB", table="PORT", key_pattern="*", field="asic_port_name", value="Eth0-ASIC0", ns="asic0") + match_engine = MatchEngine() + ret = match_engine.fetch(req) + assert ret["error"] == "" + assert len(ret["keys"]) == 1 + assert "PORT|Ethernet0" in ret["keys"] + + def test_namespace_asic1(self): + req = MatchRequest(db="CONFIG_DB", table="PORT", key_pattern="Ethernet-BP256", ns="asic1") + match_engine = MatchEngine() + ret = match_engine.fetch(req) + assert ret["error"] == "" + assert len(ret["keys"]) == 1 + assert "PORT|Ethernet-BP256" in ret["keys"] From 866d1d7b2f4ea4e36b19c5f51f05b09eb1398672 Mon Sep 17 00:00:00 2001 From: Blueve <672454911@qq.com> Date: Thu, 15 Jul 2021 08:56:19 +0800 Subject: [PATCH 242/342] [minigraph][port_config] Consume port_config.json while reloading minigraph (#1705) Signed-off-by: Jing Kan jika@microsoft.com --- config/main.py | 44 ++++++++++++++++++++++++++++++++++++ tests/config_test.py | 53 +++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 96 insertions(+), 1 deletion(-) diff --git a/config/main.py b/config/main.py index 042b410e67..c0a4c500fd 100644 --- a/config/main.py +++ b/config/main.py @@ -1441,6 +1441,12 @@ def load_minigraph(db, no_service_restart): if os.path.isfile('/etc/sonic/acl.json'): clicommon.run_command("acl-loader update full /etc/sonic/acl.json", display_cmd=True) + # Load port_config.json + try: + load_port_config(db.cfgdb, '/etc/sonic/port_config.json') + except Exception as e: + click.secho("Failed to load port_config.json, Error: {}".format(str(e)), fg='magenta') + # generate QoS and Buffer configs clicommon.run_command("config qos reload --no-dynamic-buffer", display_cmd=True) @@ -1463,6 +1469,44 @@ def load_minigraph(db, no_service_restart): _restart_services() click.echo("Please note setting loaded from minigraph will be lost after system reboot. To preserve setting, run `config save`.") +def load_port_config(config_db, port_config_path): + if not os.path.isfile(port_config_path): + return + + try: + # Load port_config.json + port_config_input = read_json_file(port_config_path) + except Exception: + raise Exception("Bad format: json file broken") + + # Validate if the input is an array + if not isinstance(port_config_input, list): + raise Exception("Bad format: port_config is not an array") + + if len(port_config_input) == 0 or 'PORT' not in port_config_input[0]: + raise Exception("Bad format: PORT table not exists") + + port_config = port_config_input[0]['PORT'] + + # Ensure all ports are exist + port_table = {} + for port_name in port_config.keys(): + port_entry = config_db.get_entry('PORT', port_name) + if not port_entry: + raise Exception("Port {} is not defined in current device".format(port_name)) + port_table[port_name] = port_entry + + # Update port state + for port_name in port_config.keys(): + if 'admin_status' not in port_config[port_name]: + continue + if 'admin_status' in port_table[port_name]: + if port_table[port_name]['admin_status'] == port_config[port_name]['admin_status']: + continue + clicommon.run_command('config interface {} {}'.format( + 'startup' if port_config[port_name]['admin_status'] == 'up' else 'shutdown', + port_name), display_cmd=True) + return # # 'hostname' command diff --git a/tests/config_test.py b/tests/config_test.py index 32ecc5bdef..4f71266d76 100644 --- a/tests/config_test.py +++ b/tests/config_test.py @@ -37,7 +37,6 @@ def mock_run_command_side_effect(*args, **kwargs): if kwargs.get('return_cmd'): return '' - class TestLoadMinigraph(object): @classmethod def setup_class(cls): @@ -58,6 +57,58 @@ def test_load_minigraph(self, get_cmd_module, setup_single_broadcom_asic): assert "\n".join([l.rstrip() for l in result.output.split('\n')]) == load_minigraph_command_output assert mock_run_command.call_count == 7 + def test_load_minigraph_with_port_config_bad_format(self, setup_single_broadcom_asic): + with mock.patch( + "utilities_common.cli.run_command", + mock.MagicMock(side_effect=mock_run_command_side_effect)) as mock_run_command: + + # Not in an array + port_config = {"PORT": {"Ethernet0": {"admin_status": "up"}}} + self.check_port_config(None, port_config, "Failed to load port_config.json, Error: Bad format: port_config is not an array") + + # No PORT table + port_config = [{}] + self.check_port_config(None, port_config, "Failed to load port_config.json, Error: Bad format: PORT table not exists") + + def test_load_minigraph_with_port_config_inconsistent_port(self, setup_single_broadcom_asic): + with mock.patch( + "utilities_common.cli.run_command", + mock.MagicMock(side_effect=mock_run_command_side_effect)) as mock_run_command: + db = Db() + db.cfgdb.set_entry("PORT", "Ethernet1", {"admin_status": "up"}) + port_config = [{"PORT": {"Eth1": {"admin_status": "up"}}}] + self.check_port_config(db, port_config, "Failed to load port_config.json, Error: Port Eth1 is not defined in current device") + + def test_load_minigraph_with_port_config(self, setup_single_broadcom_asic): + with mock.patch( + "utilities_common.cli.run_command", + mock.MagicMock(side_effect=mock_run_command_side_effect)) as mock_run_command: + db = Db() + + # From up to down + db.cfgdb.set_entry("PORT", "Ethernet0", {"admin_status": "up"}) + port_config = [{"PORT": {"Ethernet0": {"admin_status": "down"}}}] + self.check_port_config(db, port_config, "config interface shutdown Ethernet0") + + # From down to up + db.cfgdb.set_entry("PORT", "Ethernet0", {"admin_status": "down"}) + port_config = [{"PORT": {"Ethernet0": {"admin_status": "up"}}}] + self.check_port_config(db, port_config, "config interface startup Ethernet0") + + def check_port_config(self, db, port_config, expected_output): + def read_json_file_side_effect(filename): + return port_config + with mock.patch('config.main.read_json_file', mock.MagicMock(side_effect=read_json_file_side_effect)): + def is_file_side_effect(filename): + return True + with mock.patch('os.path.isfile', mock.MagicMock(side_effect=is_file_side_effect)): + runner = CliRunner() + result = runner.invoke(config.config.commands["load_minigraph"], ["-y"], obj=db) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert expected_output in result.output + @classmethod def teardown_class(cls): os.environ['UTILITIES_UNIT_TESTING'] = "0" From e98bbb642ae724802e20c1be415ec4f9a3ed7b3a Mon Sep 17 00:00:00 2001 From: Andriy Kokhan <43479230+akokhan@users.noreply.github.com> Date: Thu, 15 Jul 2021 14:12:45 +0300 Subject: [PATCH 243/342] Reworked IP validation in "config interface ip add/remove" command (#1709) - Renamed validate_ip_mask() to is_valid_ip_interface() as per code style - Updated is_valid_ip_interface() to do not modify the IP address - Updated UTs per changes Signed-off-by: Andriy Kokhan --- config/main.py | 35 +++++++++++++++++++---------------- tests/ip_config_test.py | 30 ++++++++++++------------------ 2 files changed, 31 insertions(+), 34 deletions(-) diff --git a/config/main.py b/config/main.py index c0a4c500fd..b4f65da6df 100644 --- a/config/main.py +++ b/config/main.py @@ -804,21 +804,26 @@ def validate_mirror_session_config(config_db, session_name, dst_port, src_port, return True -def validate_ip_mask(ctx, ip_addr): +def is_valid_ip_interface(ctx, ip_addr): split_ip_mask = ip_addr.split("/") + if len(split_ip_mask) < 2: + return False + # Check if the IP address is correct or if there are leading zeros. ip_obj = ipaddress.ip_address(split_ip_mask[0]) - # Check if the mask is correct - mask_range = 33 if isinstance(ip_obj, ipaddress.IPv4Address) else 129 - # If mask is not specified - if len(split_ip_mask) < 2: - return 0 + if isinstance(ip_obj, ipaddress.IPv4Address): + # Since the IP address is used as a part of a key in Redis DB, + # do not tolerate extra zeros in IPv4. + if str(ip_obj) != split_ip_mask[0]: + return False - if not int(split_ip_mask[1]) in range(1, mask_range): - return 0 + # Check if the mask is correct + net = ipaddress.ip_network(ip_addr, strict=False) + if str(net.prefixlen) != split_ip_mask[1] or net.prefixlen == 0: + return False - return str(ip_obj) + '/' + str(int(split_ip_mask[1])) + return True def cli_sroute_to_config(ctx, command_str, strict_nh = True): if len(command_str) < 2 or len(command_str) > 9: @@ -3587,10 +3592,9 @@ def add(ctx, interface_name, ip_addr, gw): try: net = ipaddress.ip_network(ip_addr, strict=False) if '/' not in ip_addr: - ip_addr = str(net) + ip_addr += '/' + str(net.prefixlen) - ip_addr = validate_ip_mask(ctx, ip_addr) - if not ip_addr: + if not is_valid_ip_interface(ctx, ip_addr): raise ValueError('') if interface_name == 'eth0': @@ -3652,10 +3656,9 @@ def remove(ctx, interface_name, ip_addr): try: net = ipaddress.ip_network(ip_addr, strict=False) if '/' not in ip_addr: - ip_addr = str(net) - - ip_addr = validate_ip_mask(ctx, ip_addr) - if not ip_addr: + ip_addr += '/' + str(net.prefixlen) + + if not is_valid_ip_interface(ctx, ip_addr): raise ValueError('') if interface_name == 'eth0': diff --git a/tests/ip_config_test.py b/tests/ip_config_test.py index d08a03ca8f..24db7c319a 100644 --- a/tests/ip_config_test.py +++ b/tests/ip_config_test.py @@ -26,7 +26,7 @@ def test_add_del_interface_valid_ipv4(self): obj = {'config_db':db.cfgdb} # config int ip add Ethernet64 10.10.10.1/24 - result = runner.invoke(config.config.commands["interface"].commands["ip"].commands["add"], ["Ethernet64", "10.10.10.1/24"], obj=obj) + result = runner.invoke(config.config.commands["interface"].commands["ip"].commands["add"], ["Ethernet64", "10.10.10.1/24"], obj=obj) print(result.exit_code, result.output) assert result.exit_code == 0 assert ('Ethernet64', '10.10.10.1/24') in db.cfgdb.get_table('INTERFACE') @@ -59,7 +59,7 @@ def test_add_interface_ipv4_invalid_mask(self): assert result.exit_code != 0 assert ERROR_MSG in result.output - def test_add_del_interface_ipv4_with_leading_zeros(self): + def test_add_interface_ipv4_with_leading_zeros(self): db = Db() runner = CliRunner() obj = {'config_db':db.cfgdb} @@ -67,14 +67,8 @@ def test_add_del_interface_ipv4_with_leading_zeros(self): # config int ip add Ethernet68 10.10.10.002/24 result = runner.invoke(config.config.commands["interface"].commands["ip"].commands["add"], ["Ethernet68", "10.10.10.002/24"], obj=obj) print(result.exit_code, result.output) - assert result.exit_code == 0 - assert ('Ethernet68', '10.10.10.2/24') in db.cfgdb.get_table('INTERFACE') - - # config int ip remove Ethernet68 10.10.10.002/24 - result = runner.invoke(config.config.commands["interface"].commands["ip"].commands["remove"], ["Ethernet68", "10.10.10.002/24"], obj=obj) - print(result.exit_code, result.output) assert result.exit_code != 0 - assert ('Ethernet68', '10.10.10.2/24') not in db.cfgdb.get_table('INTERFACE') + assert ERROR_MSG in result.output ''' Tests for IPv6 ''' @@ -84,13 +78,13 @@ def test_add_del_interface_valid_ipv6(self): obj = {'config_db':db.cfgdb} # config int ip add Ethernet72 2001:1db8:11a3:19d7:1f34:8a2e:17a0:765d/34 - result = runner.invoke(config.config.commands["interface"].commands["ip"].commands["add"], ["Ethernet72", "2001:1db8:11a3:19d7:1f34:8a2e:17a0:765d/34"], obj=obj) + result = runner.invoke(config.config.commands["interface"].commands["ip"].commands["add"], ["Ethernet72", "2001:1db8:11a3:19d7:1f34:8a2e:17a0:765d/34"], obj=obj) print(result.exit_code, result.output) assert result.exit_code == 0 assert ('Ethernet72', '2001:1db8:11a3:19d7:1f34:8a2e:17a0:765d/34') in db.cfgdb.get_table('INTERFACE') # config int ip remove Ethernet72 2001:1db8:11a3:19d7:1f34:8a2e:17a0:765d/34 - result = runner.invoke(config.config.commands["interface"].commands["ip"].commands["remove"], ["Ethernet72", "2001:1db8:11a3:19d7:1f34:8a2e:17a0:765d/34"], obj=obj) + result = runner.invoke(config.config.commands["interface"].commands["ip"].commands["remove"], ["Ethernet72", "2001:1db8:11a3:19d7:1f34:8a2e:17a0:765d/34"], obj=obj) print(result.exit_code, result.output) assert result.exit_code != 0 assert ('Ethernet72', '2001:1db8:11a3:19d7:1f34:8a2e:17a0:765d/34') not in db.cfgdb.get_table('INTERFACE') @@ -122,34 +116,34 @@ def test_add_del_interface_ipv6_with_leading_zeros(self): runner = CliRunner() obj = {'config_db':db.cfgdb} - # config int ip del Ethernet68 2001:0db8:11a3:09d7:1f34:8a2e:07a0:765d/34 + # config int ip add Ethernet68 2001:0db8:11a3:09d7:1f34:8a2e:07a0:765d/34 result = runner.invoke(config.config.commands["interface"].commands["ip"].commands["add"], ["Ethernet68", "2001:0db8:11a3:09d7:1f34:8a2e:07a0:765d/34"], obj=obj) print(result.exit_code, result.output) assert result.exit_code == 0 - assert ('Ethernet68', '2001:db8:11a3:9d7:1f34:8a2e:7a0:765d/34') in db.cfgdb.get_table('INTERFACE') + assert ('Ethernet68', '2001:0db8:11a3:09d7:1f34:8a2e:07a0:765d/34') in db.cfgdb.get_table('INTERFACE') # config int ip remove Ethernet68 2001:0db8:11a3:09d7:1f34:8a2e:07a0:765d/34 result = runner.invoke(config.config.commands["interface"].commands["ip"].commands["remove"], ["Ethernet68", "2001:0db8:11a3:09d7:1f34:8a2e:07a0:765d/34"], obj=obj) print(result.exit_code, result.output) assert result.exit_code != 0 - assert ('Ethernet68', '2001:db8:11a3:9d7:1f34:8a2e:7a0:765d/34') not in db.cfgdb.get_table('INTERFACE') + assert ('Ethernet68', '2001:0db8:11a3:09d7:1f34:8a2e:07a0:765d/34') not in db.cfgdb.get_table('INTERFACE') def test_add_del_interface_shortened_ipv6_with_leading_zeros(self): db = Db() runner = CliRunner() obj = {'config_db':db.cfgdb} - # config int ip del Ethernet68 3000::001/64 + # config int ip add Ethernet68 3000::001/64 result = runner.invoke(config.config.commands["interface"].commands["ip"].commands["add"], ["Ethernet68", "3000::001/64"], obj=obj) print(result.exit_code, result.output) assert result.exit_code == 0 - assert ('Ethernet68', '3000::1/64') in db.cfgdb.get_table('INTERFACE') + assert ('Ethernet68', '3000::001/64') in db.cfgdb.get_table('INTERFACE') # config int ip remove Ethernet68 3000::001/64 - result = runner.invoke(config.config.commands["interface"].commands["ip"].commands["remove"], ["Ethernet68", "3000::001/64"], obj=obj) + result = runner.invoke(config.config.commands["interface"].commands["ip"].commands["remove"], ["Ethernet68", "3000::001/64"], obj=obj) print(result.exit_code, result.output) assert result.exit_code != 0 - assert ('Ethernet68', '3000::1/64') not in db.cfgdb.get_table('INTERFACE') + assert ('Ethernet68', '3000::001/64') not in db.cfgdb.get_table('INTERFACE') @classmethod def teardown_class(cls): From 0efd297fc4249c764997d9f128b04e12bc0eda65 Mon Sep 17 00:00:00 2001 From: "sabari@broadcom" <45473507+gitsabari@users.noreply.github.com> Date: Fri, 16 Jul 2021 10:07:36 -0700 Subject: [PATCH 244/342] mclag enhancements as per HLD at Azure/SONIC#596 (#1138) * mclagsyncd enhancements as per HLD at Azure/SONIC#596 * addressed LGTM alert * UT Fix unique IP configuration * modified ip address validate function for mclag config verication * Add soft-reboot reboot type (#1453) What I did Add a new reboot named as soft-reboot which can be performed by "kexec -e" How I did it Replace the platform reboot with "kexec -e" for the cold reboot case. How to verify it Verified the reboot on DUT and check the reboot-cause * [warm-reboot] Check if warm restart flag is set when issuing a warm-reboot (#1460) Check if any warm restart flag is set when issuing a warm-reboot. This check avoids starting a warm reboot while another warm restart is in progress. In the scenario where a warm reboot is issued with another warm restart in progress, the warm restart flag may be reset and part of the components have a risk of doing cold reboot. * Added mclag config commands * removed unwanted imports * added mclag tests * fixed build issue * corrected mclag test * corrected mclag test * corrected mclag test case * updated testcase for mclag * updated mclag config * updated mclag test cases * updated mclag test case * updated mclag test cases * fixed alert * updated mclag test cases * updated mclag test cases * updated mclag config * modified mclag test cases * updated mclag test case * updated mclag test case * updated mclag test cases * updated mclag test cases * updated mclag test cases * updated mclag test case * updated mclag test case * updated mclag test cases * updated mclag test cases * updated mclag test cases * updated mclag test cases * updated mclag test case * updated mclag test cases * updated mclag test cases * updated mclag test cases * updated mclag test cases * updated mclag test cases * updated mclag test cases * updated mclag test cases * updated mclag test cases * updated mclag test case * updated mclag test cases * updated mclag test case * updated mclag config to use swsscommon instead of swssdk * updated mclag config to use swsscommon * updated mclag config script file * fixed mclag test cases to verify config db * updated mclag test case with config db verify function * fixed build issue * updated test case * updated mclag test case * addressed review comments Co-authored-by: Tapash Das Co-authored-by: Tapash Das <48195098+tapashdas@users.noreply.github.com> Co-authored-by: Sujin Kang Co-authored-by: Shi Su <67605788+shi-su@users.noreply.github.com> --- config/main.py | 6 + config/mclag.py | 347 ++++++++++++++++++++++++ tests/mclag_test.py | 641 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 994 insertions(+) create mode 100644 config/mclag.py create mode 100644 tests/mclag_test.py diff --git a/config/main.py b/config/main.py index b4f65da6df..320ce72bee 100644 --- a/config/main.py +++ b/config/main.py @@ -41,6 +41,7 @@ from . import vxlan from . import plugins from .config_mgmt import ConfigMgmtDPB +from . import mclag # mock masic APIs for unit test try: @@ -978,6 +979,11 @@ def config(ctx): config.add_command(vlan.vlan) config.add_command(vxlan.vxlan) +#add mclag commands +config.add_command(mclag.mclag) +config.add_command(mclag.mclag_member) +config.add_command(mclag.mclag_unique_ip) + @config.command() @click.option('-y', '--yes', is_flag=True, callback=_abort_if_false, expose_value=False, prompt='Existing files will be overwritten, continue?') diff --git a/config/mclag.py b/config/mclag.py new file mode 100644 index 0000000000..2ab0d0ca75 --- /dev/null +++ b/config/mclag.py @@ -0,0 +1,347 @@ + +import click +from swsscommon.swsscommon import ConfigDBConnector +import ipaddress + +CFG_PORTCHANNEL_PREFIX = "PortChannel" +CFG_PORTCHANNEL_PREFIX_LEN = 11 +CFG_PORTCHANNEL_MAX_VAL = 9999 +CFG_PORTCHANNEL_NAME_TOTAL_LEN_MAX = 15 +CFG_PORTCHANNEL_NO="<0-9999>" + +def mclag_domain_id_valid(domain_id): + """Check if the domain id is in acceptable range (between 1 and 4095) + """ + + if domain_id<1 or domain_id>4095: + return False + + return True + +def mclag_ka_session_dep_check(ka, session_tmout): + """Check if the MCLAG Keepalive timer and session timeout values are multiples of each other and keepalive is < session timeout value + """ + if not session_tmout >= ( 3 * ka): + return False, "MCLAG Keepalive:{} Session_timeout:{} values not satisfying session_timeout >= (3 * KA) ".format(session_tmout, ka) + + if session_tmout % ka: + return False, "MCLAG keepalive:{} Session_timeout:{} Values not satisfying session_timeout should be a multiple of KA".format(ka, session_tmout) + + return True, "" + + +def mclag_ka_interval_valid(ka): + """Check if the MCLAG Keepalive timer is in acceptable range (between 1 and 60) + """ + if ka < 1 or ka > 60: + return False, "Keepalive %s not in valid range[1-60]" % ka + return True, "" + +def mclag_session_timeout_valid(session_tmout): + """Check if the MCLAG session timeout in valid range (between 3 and 3600) + """ + if session_tmout < 3 or session_tmout > 3600: + return False, "Session timeout %s not in valid range[3-3600]" % session_tmout + return True, "" + + +def is_portchannel_name_valid(portchannel_name): + """Port channel name validation + """ + # Return True if Portchannel name is PortChannelXXXX (XXXX can be 0-9999) + if portchannel_name[:CFG_PORTCHANNEL_PREFIX_LEN] != CFG_PORTCHANNEL_PREFIX : + return False + if (portchannel_name[CFG_PORTCHANNEL_PREFIX_LEN:].isdigit() is False or + int(portchannel_name[CFG_PORTCHANNEL_PREFIX_LEN:]) > CFG_PORTCHANNEL_MAX_VAL) : + return False + if len(portchannel_name) > CFG_PORTCHANNEL_NAME_TOTAL_LEN_MAX: + return False + return True + +def is_ipv4_addr_valid(addr): + v4_invalid_list = [ipaddress.IPv4Address(str('0.0.0.0')), ipaddress.IPv4Address(str('255.255.255.255'))] + try: + ip = ipaddress.ip_address(str(addr)) + if (ip.version == 4): + if (ip.is_reserved): + click.echo ("{} Not Valid, Reason: IPv4 reserved address range.".format(addr)) + return False + elif (ip.is_multicast): + click.echo ("{} Not Valid, Reason: IPv4 Multicast address range.".format(addr)) + return False + elif (ip in v4_invalid_list): + click.echo ("{} Not Valid.".format(addr)) + return False + else: + return True + + else: + click.echo ("{} Not Valid, Reason: Not an IPv4 address".format(addr)) + return False + + except ValueError: + return False + + + +def check_if_interface_is_valid(db, interface_name): + from main import interface_name_is_valid + if interface_name_is_valid(db,interface_name) is False: + ctx.fail("Interface name is invalid. Please enter a valid interface name!!") + +def get_intf_vrf_bind_unique_ip(db, interface_name, interface_type): + intfvrf = db.get_table(interface_type) + if interface_name in intfvrf: + if 'vrf_name' in intfvrf[interface_name]: + return intfvrf[interface_name]['vrf_name'] + else: + return "" + else: + return "" + + +###### +# +# 'mclag' group ('config mclag ...') +# +@click.group() +@click.pass_context +def mclag(ctx): + config_db = ConfigDBConnector() + config_db.connect() + ctx.obj = {'db': config_db} + + +#mclag domain add +@mclag.command('add') +@click.argument('domain_id', metavar='', required=True, type=int) +@click.argument('source_ip_addr', metavar='', required=True) +@click.argument('peer_ip_addr', metavar='', required=True) +@click.argument('peer_ifname', metavar='', required=False) +@click.pass_context +def add_mclag_domain(ctx, domain_id, source_ip_addr, peer_ip_addr, peer_ifname): + """Add MCLAG Domain""" + + if not mclag_domain_id_valid(domain_id): + ctx.fail("{} invalid domain ID, valid range is 1 to 4095".format(domain_id)) + if not is_ipv4_addr_valid(source_ip_addr): + ctx.fail("{} invalid local ip address".format(source_ip_addr)) + if not is_ipv4_addr_valid(peer_ip_addr): + ctx.fail("{} invalid peer ip address".format(peer_ip_addr)) + + db = ctx.obj['db'] + fvs = {} + fvs['source_ip'] = str(source_ip_addr) + fvs['peer_ip'] = str(peer_ip_addr) + if peer_ifname is not None: + if (peer_ifname.startswith("Ethernet") is False) and (peer_ifname.startswith("PortChannel") is False): + ctx.fail("peer interface is invalid, should be Ethernet interface or portChannel !!") + if (peer_ifname.startswith("Ethernet") is True) and (check_if_interface_is_valid(db, peer_ifname) is False): + ctx.fail("peer Ethernet interface name is invalid. it is not present in port table of configDb!!") + if (peer_ifname.startswith("PortChannel")) and (is_portchannel_name_valid(peer_ifname) is False): + ctx.fail("peer PortChannel interface name is invalid !!") + fvs['peer_link'] = str(peer_ifname) + mclag_domain_keys = db.get_table('MCLAG_DOMAIN').keys() + if len(mclag_domain_keys) == 0: + db.set_entry('MCLAG_DOMAIN', domain_id, fvs) + else: + if domain_id in mclag_domain_keys: + db.mod_entry('MCLAG_DOMAIN', domain_id, fvs) + else: + ctx.fail("only one mclag Domain can be configured. Already one domain {} configured ".format(mclag_domain_keys[0])) + + +#mclag domain delete +#MCLAG Domain del involves deletion of associated MCLAG Ifaces also +@mclag.command('del') +@click.argument('domain_id', metavar='', required=True, type=int) +@click.pass_context +def del_mclag_domain(ctx, domain_id): + """Delete MCLAG Domain""" + + if not mclag_domain_id_valid(domain_id): + ctx.fail("{} invalid domain ID, valid range is 1 to 4095".format(domain_id)) + + db = ctx.obj['db'] + entry = db.get_entry('MCLAG_DOMAIN', domain_id) + if entry is None: + ctx.fail("MCLAG Domain {} not configured ".format(domain_id)) + return + + click.echo("MCLAG Domain delete takes care of deleting all associated MCLAG Interfaces") + + #get all MCLAG Interface associated with this domain and delete + interface_table_keys = db.get_table('MCLAG_INTERFACE').keys() + + #delete associated mclag interfaces + for iface_domain_id, iface_name in interface_table_keys: + if (int(iface_domain_id) == domain_id): + db.set_entry('MCLAG_INTERFACE', (iface_domain_id, iface_name), None ) + + #delete mclag domain + db.set_entry('MCLAG_DOMAIN', domain_id, None) + + +#keepalive timeout config +@mclag.command('keepalive-interval') +@click.argument('domain_id', metavar='', required=True) +@click.argument('time_in_secs', metavar='', required=True, type=int) +@click.pass_context +def config_mclag_keepalive_timer(ctx, domain_id, time_in_secs): + """Configure MCLAG Keepalive timer value in secs""" + db = ctx.obj['db'] + + entry = db.get_entry('MCLAG_DOMAIN', domain_id) + if len(entry) == 0: + ctx.fail("MCLAG Domain " + domain_id + " not configured, configure mclag domain first") + + status, error_info = mclag_ka_interval_valid(time_in_secs) + if status is not True: + ctx.fail(error_info) + + session_timeout_value = entry.get('session_timeout') + + if session_timeout_value is None: + # assign default value + int_sess_tmout = 15 + else: + int_sess_tmout = int(session_timeout_value) + + status, error_info = mclag_ka_session_dep_check(time_in_secs, int_sess_tmout) + if status is not True: + ctx.fail(error_info) + + fvs = {} + fvs['keepalive_interval'] = str(time_in_secs) + db.mod_entry('MCLAG_DOMAIN', domain_id, fvs) + + +#session timeout config +@mclag.command('session-timeout') +@click.argument('domain_id', metavar='', required=True) +@click.argument('time_in_secs', metavar='', required=True, type=int) +@click.pass_context +def config_mclag_session_timeout(ctx, domain_id, time_in_secs): + """Configure MCLAG Session timeout value in secs""" + db = ctx.obj['db'] + entry = db.get_entry('MCLAG_DOMAIN', domain_id) + if len(entry) == 0: + ctx.fail("MCLAG Domain " + domain_id + " not configured, configure mclag domain first") + + status, error_info = mclag_session_timeout_valid(time_in_secs) + if status is not True: + ctx.fail(error_info) + + ka = entry.get('keepalive_interval') + if ka is None: + # assign default value + int_ka = 1 + else: + int_ka = int(ka) + + status, error_info = mclag_ka_session_dep_check(int_ka, time_in_secs) + if status is not True: + ctx.fail(error_info) + + fvs = {} + fvs['session_timeout'] = str(time_in_secs) + db.mod_entry('MCLAG_DOMAIN', domain_id, fvs) + + +#mclag interface config +@mclag.group('member') +@click.pass_context +def mclag_member(ctx): + pass + +@mclag_member.command('add') +@click.argument('domain_id', metavar='', required=True) +@click.argument('portchannel_names', metavar='', required=True) +@click.pass_context +def add_mclag_member(ctx, domain_id, portchannel_names): + """Add member MCLAG interfaces from MCLAG Domain""" + db = ctx.obj['db'] + entry = db.get_entry('MCLAG_DOMAIN', domain_id) + if len(entry) == 0: + ctx.fail("MCLAG Domain " + domain_id + " not configured, configure mclag domain first") + + portchannel_list = portchannel_names.split(",") + for portchannel_name in portchannel_list: + if is_portchannel_name_valid(portchannel_name) != True: + ctx.fail("{} is invalid!, name should have prefix '{}' and suffix '{}'" .format(portchannel_name, CFG_PORTCHANNEL_PREFIX, CFG_PORTCHANNEL_NO)) + db.set_entry('MCLAG_INTERFACE', (domain_id, portchannel_name), {'if_type':"PortChannel"} ) + +@mclag_member.command('del') +@click.argument('domain_id', metavar='', required=True) +@click.argument('portchannel_names', metavar='', required=True) +@click.pass_context +def del_mclag_member(ctx, domain_id, portchannel_names): + """Delete member MCLAG interfaces from MCLAG Domain""" + db = ctx.obj['db'] + #split comma seperated portchannel names + portchannel_list = portchannel_names.split(",") + for portchannel_name in portchannel_list: + if is_portchannel_name_valid(portchannel_name) != True: + ctx.fail("{} is invalid!, name should have prefix '{}' and suffix '{}'" .format(portchannel_name, CFG_PORTCHANNEL_PREFIX, CFG_PORTCHANNEL_NO)) + db.set_entry('MCLAG_INTERFACE', (domain_id, portchannel_name), None ) + +#mclag unique ip config +@mclag.group('unique-ip') +@click.pass_context +def mclag_unique_ip(ctx): + """Configure Unique IP on MCLAG Vlan interface""" + pass + +@mclag_unique_ip.command('add') +@click.argument('interface_names', metavar='', required=True) +@click.pass_context +def add_mclag_unique_ip(ctx, interface_names): + """Add Unique IP on MCLAG Vlan interface""" + db = ctx.obj['db'] + mclag_domain_keys = db.get_table('MCLAG_DOMAIN').keys() + if len(mclag_domain_keys) == 0: + ctx.fail("MCLAG not configured. MCLAG should be configured.") + + #split comma seperated interface names + interface_list = interface_names.split(",") + for interface_name in interface_list: + if not interface_name.startswith("Vlan"): + ctx.fail("{} is invalid!, name should have prefix '{}' and suffix '{}'" .format(interface_name, "Vlan", "vlan id")) + #VRF should be configured after unique IP configuration + intf_vrf = get_intf_vrf_bind_unique_ip(db, interface_name, "VLAN_INTERFACE") + if intf_vrf: + ctx.fail("%s is configured with Non default VRF, remove the VRF configuration and reconfigure after enabling unique IP configuration."%(str(interface_name))) + + #IP should be configured after unique IP configuration + for k,v in db.get_table('VLAN_INTERFACE').items(): + if type(k) == tuple: + (intf_name, ip) = k + if intf_name == interface_name and ip != 0: + ctx.fail("%s is configured with IP %s, remove the IP configuration and reconfigure after enabling unique IP configuration."%(str(intf_name), str(ip))) + db.set_entry('MCLAG_UNIQUE_IP', (interface_name), {'unique_ip':"enable"} ) + +@mclag_unique_ip.command('del') +@click.argument('interface_names', metavar='', required=True) +@click.pass_context +def del_mclag_unique_ip(ctx, interface_names): + """Delete Unique IP from MCLAG Vlan interface""" + db = ctx.obj['db'] + #split comma seperated interface names + interface_list = interface_names.split(",") + for interface_name in interface_list: + if not interface_name.startswith("Vlan"): + ctx.fail("{} is invalid!, name should have prefix '{}' and suffix '{}'" .format(interface_name, "Vlan", "vlan id")) + #VRF should be configured after removing unique IP configuration + intf_vrf = get_intf_vrf_bind_unique_ip(db, interface_name, "VLAN_INTERFACE") + if intf_vrf: + ctx.fail("%s is configured with Non default VRF, remove the VRF configuration and reconfigure after disabling unique IP configuration."%(str(interface_name))) + #IP should be configured after removing unique IP configuration + for k,v in db.get_table('VLAN_INTERFACE').items(): + if type(k) == tuple: + (intf_name, ip) = k + if intf_name == interface_name and ip != 0: + ctx.fail("%s is configured with IP %s, remove the IP configuration and reconfigure after disabling unique IP configuration."%(str(intf_name), str(ip))) + db.set_entry('MCLAG_UNIQUE_IP', (interface_name), None ) + +####### + diff --git a/tests/mclag_test.py b/tests/mclag_test.py new file mode 100644 index 0000000000..2d10c0ae07 --- /dev/null +++ b/tests/mclag_test.py @@ -0,0 +1,641 @@ +import os +import traceback + +from click.testing import CliRunner + +import config.main as config +import show.main as show +from utilities_common.db import Db + + +MCLAG_DOMAIN_ID = "123" +MCLAG_INVALID_DOMAIN_ID1 = "-1" +MCLAG_INVALID_DOMAIN_ID2 = "5000" +MCLAG_DOMAIN_ID2 = "500" +MCLAG_DOMAIN_ID3 = "1000" +MCLAG_SRC_IP = "12.1.1.1" +RESERVED_IP = "0.0.0.0" +INVALID_IP = "255.255.255.255" +NOT_IP = "abcd" +MCLAG_PEER_IP = "12.1.1.2" +MCLAG_KEEPALIVE_TIMER = "5" +MCLAG_SESSION_TIMEOUT = "20" +MCLAG_MEMBER_PO = "PortChannel10" +MCLAG_MEMBER_PO2 = "PortChannel20" +MCLAG_UNIQUE_IP_VLAN = "Vlan100" + +MCLAG_PEER_LINK = "PortChannel12" +MCLAG_PEER_LINK2 = "PortChannel13" +MCLAG_INVALID_SRC_IP1 = "12::1111" +MCLAG_INVALID_SRC_IP2 = "224.1.1.1" +MCLAG_INVALID_PEER_IP1 = "12::1112" +MCLAG_INVALID_PEER_IP2 = "224.1.1.2" +MCLAG_INVALID_PEER_LINK1 = "Eth1/3" +MCLAG_INVALID_PEER_LINK2 = "Ethernet257" +MCLAG_INVALID_PEER_LINK3 = "PortChannel123456" +MCLAG_INVALID_PEER_LINK4 = "Lag111" +MCLAG_INVALID_PEER_LINK5 = "Ethernet123456789" +MCLAG_INVALID_KEEPALIVE_TIMER = "11" +MCLAG_INVALID_SESSION_TIMEOUT = "31" +MCLAG_INVALID_KEEPALIVE_TIMER_LBOUND = "0" +MCLAG_INVALID_KEEPALIVE_TIMER_UBOUND = "61" +MCLAG_INVALID_SESSION_TMOUT_LBOUND = "2" +MCLAG_INVALID_SESSION_TMOUT_UBOUND = "4000" + +MCLAG_INVALID_MCLAG_MEMBER = "Ethernet4" +MCLAG_INVALID_PORTCHANNEL1 = "portchannel" +MCLAG_INVALID_PORTCHANNEL2 = "PortChannelabcd" +MCLAG_INVALID_PORTCHANNEL3 = "PortChannel10000" +MCLAG_INVALID_PORTCHANNEL4 = "PortChannel00111" + + +MCLAG_UNIQUE_IP_INTF_INVALID1 = "Ethernet100" +MCLAG_UNIQUE_IP_INTF_INVALID2 = "Ethernet100" + +class TestMclag(object): + @classmethod + def setup_class(cls): + os.environ['UTILITIES_UNIT_TESTING'] = "1" + print("SETUP") + + def verify_mclag_domain_cfg(self, db, domain_id, src_ip="", peer_ip="", peer_link=""): + mclag_entry = db.cfgdb.get_entry("MCLAG_DOMAIN", MCLAG_DOMAIN_ID) + if len(mclag_entry) == 0: + return False + + if src_ip is not None: + temp = mclag_entry.get("source_ip") + if temp is not None and temp != src_ip: + return False + if peer_ip is not None: + temp = mclag_entry.get("peer_ip") + if temp is not None and temp != peer_ip: + return False + if peer_link is not None: + temp = mclag_entry.get("peer_link") + if temp is not None and temp != peer_link: + return False + return True + + def verify_mclag_interface(self, db, domain_id, intf_str): + keys = db.cfgdb.get_entry('MCLAG_INTERFACE', (domain_id, intf_str)) + if len(keys) != 0: + return True + return False + + def test_add_mclag_with_invalid_src_ip(self): + runner = CliRunner() + db = Db() + obj = {'db':db.cfgdb} + + # add mclag with invalid src + result = runner.invoke(config.config.commands["mclag"].commands["add"], [MCLAG_DOMAIN_ID, MCLAG_INVALID_SRC_IP1, MCLAG_PEER_IP, MCLAG_PEER_LINK], obj=obj) + assert result.exit_code != 0, "mclag invalid src ip test caase with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + + def test_add_mclag_with_invalid_src_mcast_ip(self): + runner = CliRunner() + db = Db() + obj = {'db':db.cfgdb} + + # add mclag with invalid src + result = runner.invoke(config.config.commands["mclag"].commands["add"], [MCLAG_DOMAIN_ID, MCLAG_INVALID_SRC_IP2, MCLAG_PEER_IP, MCLAG_PEER_LINK], obj=obj) + assert result.exit_code != 0, "mclag invalid src ip test caase with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + + + result = runner.invoke(config.config.commands["mclag"].commands["add"], [MCLAG_DOMAIN_ID, RESERVED_IP, MCLAG_PEER_IP, MCLAG_PEER_LINK], obj=obj) + assert result.exit_code != 0, "mclag invalid src ip test caase with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + assert "" in result.output + + result = runner.invoke(config.config.commands["mclag"].commands["add"], [MCLAG_DOMAIN_ID, INVALID_IP, MCLAG_PEER_IP, MCLAG_PEER_LINK], obj=obj) + assert result.exit_code != 0, "mclag invalid src ip test caase with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + + result = runner.invoke(config.config.commands["mclag"].commands["add"], [MCLAG_DOMAIN_ID, NOT_IP, MCLAG_PEER_IP, MCLAG_PEER_LINK], obj=obj) + assert result.exit_code != 0, "mclag invalid src ip test caase with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + + def test_add_mclag_with_invalid_peer_ip(self): + runner = CliRunner() + db = Db() + obj = {'db':db.cfgdb} + + # add mclag with invalid peer ip + result = runner.invoke(config.config.commands["mclag"].commands["add"], [MCLAG_DOMAIN_ID, MCLAG_SRC_IP, MCLAG_INVALID_PEER_IP1, MCLAG_PEER_LINK], obj=obj) + print(result.exit_code) + print(result.output) + assert result.exit_code != 0, "mclag invalid peer ip test caase with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + + result = runner.invoke(config.config.commands["mclag"].commands["add"], [MCLAG_DOMAIN_ID, MCLAG_SRC_IP, RESERVED_IP, MCLAG_PEER_LINK], obj=obj) + assert result.exit_code != 0, "mclag invalid peer ip test caase with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + + result = runner.invoke(config.config.commands["mclag"].commands["add"], [MCLAG_DOMAIN_ID, MCLAG_SRC_IP, INVALID_IP, MCLAG_PEER_LINK], obj=obj) + assert result.exit_code != 0, "mclag invalid peer ip test caase with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + + result = runner.invoke(config.config.commands["mclag"].commands["add"], [MCLAG_DOMAIN_ID, MCLAG_SRC_IP, NOT_IP, MCLAG_PEER_LINK], obj=obj) + assert result.exit_code != 0, "mclag invalid peer ip test caase with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + + + def test_add_mclag_with_invalid_peer_mcast_ip(self): + runner = CliRunner() + db = Db() + obj = {'db':db.cfgdb} + + # add mclag with invalid peer ip mcast + result = runner.invoke(config.config.commands["mclag"].commands["add"], [MCLAG_DOMAIN_ID, MCLAG_SRC_IP, MCLAG_INVALID_PEER_IP2, MCLAG_PEER_LINK], obj=obj) + assert result.exit_code != 0, "mclag invalid peer ip mcast test caase with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + + def test_add_mclag_with_invalid_peer_link(self): + runner = CliRunner() + db = Db() + obj = {'db':db.cfgdb} + + # add mclag with invalid peer link + result = runner.invoke(config.config.commands["mclag"].commands["add"], [MCLAG_DOMAIN_ID, MCLAG_SRC_IP, MCLAG_PEER_IP, MCLAG_INVALID_PEER_LINK1], obj=obj) + assert result.exit_code != 0, "mclag invalid peer link test caase with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + + result = runner.invoke(config.config.commands["mclag"].commands["add"], [MCLAG_DOMAIN_ID, MCLAG_SRC_IP, MCLAG_PEER_IP, MCLAG_INVALID_PEER_LINK2], obj=obj) + assert result.exit_code != 0, "mclag invalid peer link test caase with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + + result = runner.invoke(config.config.commands["mclag"].commands["add"], [MCLAG_DOMAIN_ID, MCLAG_SRC_IP, MCLAG_PEER_IP, MCLAG_INVALID_PEER_LINK3], obj=obj) + assert result.exit_code != 0, "mclag invalid peer link test caase with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + + result = runner.invoke(config.config.commands["mclag"].commands["add"], [MCLAG_DOMAIN_ID, MCLAG_SRC_IP, MCLAG_PEER_IP, MCLAG_INVALID_PEER_LINK4], obj=obj) + assert result.exit_code != 0, "mclag invalid peer link test caase with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + + result = runner.invoke(config.config.commands["mclag"].commands["add"], [MCLAG_DOMAIN_ID, MCLAG_SRC_IP, MCLAG_PEER_IP, MCLAG_INVALID_PEER_LINK5], obj=obj) + assert result.exit_code != 0, "mclag invalid peer link test caase with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + + def test_add_invalid_mclag_domain(self): + runner = CliRunner() + db = Db() + obj = {'db':db.cfgdb} + + # add invalid mclag domain + result = runner.invoke(config.config.commands["mclag"].commands["add"], [0, MCLAG_SRC_IP, MCLAG_PEER_IP, MCLAG_PEER_LINK], obj=obj) + assert result.exit_code != 0, "mclag invalid domain test case with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + # add invalid mclag domain + result = runner.invoke(config.config.commands["mclag"].commands["add"], [5000, MCLAG_SRC_IP, MCLAG_PEER_IP, MCLAG_PEER_LINK], obj=obj) + assert result.exit_code != 0, "mclag invalid domain test case with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + + + + def test_add_mclag_domain(self): + runner = CliRunner() + db = Db() + obj = {'db':db.cfgdb} + + # add valid mclag domain + result = runner.invoke(config.config.commands["mclag"].commands["add"], [MCLAG_DOMAIN_ID, MCLAG_SRC_IP, MCLAG_PEER_IP, MCLAG_PEER_LINK], obj=obj) + assert result.exit_code == 0, "mclag creation failed with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + + # add valid mclag domain agai = runner.invoke(config.config.commands["mclag"].commands["add"], [MCLAG_DOMAIN_ID2, MCLAG_SRC_IP, MCLAG_PEER_IP, MCLAG_PEER_LINK], obj=obj) + assert result.exit_code != 0, "test_mclag_domain_add_again with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + #verify config db for the mclag domain config + assert self.verify_mclag_domain_cfg(db, MCLAG_DOMAIN_ID, MCLAG_SRC_IP, MCLAG_PEER_IP, MCLAG_PEER_LINK) == True, "mclag config not found" + + def test_add_invalid_mclag_domain(self): + runner = CliRunner() + db = Db() + obj = {'db':db.cfgdb} + + # add invalid mclag domain + result = runner.invoke(config.config.commands["mclag"].commands["add"], [0, MCLAG_SRC_IP, MCLAG_PEER_IP, MCLAG_PEER_LINK], obj=obj) + assert result.exit_code != 0, "mclag invalid domain test case with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + # add invalid mclag domain + result = runner.invoke(config.config.commands["mclag"].commands["add"], [5000, MCLAG_SRC_IP, MCLAG_PEER_IP, MCLAG_PEER_LINK], obj=obj) + assert result.exit_code != 0, "mclag invalid domain test case with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + + + + def test_add_mclag_domain(self): + runner = CliRunner() + db = Db() + obj = {'db':db.cfgdb} + + # add valid mclag domain + result = runner.invoke(config.config.commands["mclag"].commands["add"], [MCLAG_DOMAIN_ID, MCLAG_SRC_IP, MCLAG_PEER_IP, MCLAG_PEER_LINK], obj=obj) + assert result.exit_code == 0, "mclag creation failed with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + #verify config db for the mclag domain config + assert self.verify_mclag_domain_cfg(db, MCLAG_DOMAIN_ID, MCLAG_SRC_IP, MCLAG_PEER_IP, MCLAG_PEER_LINK) == True, "mclag config not found" + + # add valid mclag domain again + result = runner.invoke(config.config.commands["mclag"].commands["add"], [MCLAG_DOMAIN_ID2, MCLAG_SRC_IP, MCLAG_PEER_IP, MCLAG_PEER_LINK], obj=obj) + assert result.exit_code != 0, "test_mclag_domain_add_again with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + #verify config db for the mclag domain config + assert self.verify_mclag_domain_cfg(db, MCLAG_DOMAIN_ID, MCLAG_SRC_IP, MCLAG_PEER_IP, MCLAG_PEER_LINK) == True, "mclag config not found" + + def test_mclag_invalid_keepalive_timer(self): + runner = CliRunner() + db = Db() + obj = {'db':db.cfgdb} + + + # add valid mclag domain + result = runner.invoke(config.config.commands["mclag"].commands["add"], [MCLAG_DOMAIN_ID, MCLAG_SRC_IP, MCLAG_PEER_IP, MCLAG_PEER_LINK], obj=obj) + assert result.exit_code == 0, "mclag creation failed with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + assert self.verify_mclag_domain_cfg(db, MCLAG_DOMAIN_ID, MCLAG_SRC_IP, MCLAG_PEER_IP, MCLAG_PEER_LINK) == True, "mclag config not found" + + # configure non multiple keepalive timer + result = runner.invoke(config.config.commands["mclag"].commands["keepalive-interval"], [MCLAG_DOMAIN_ID, MCLAG_INVALID_KEEPALIVE_TIMER], obj=obj) + assert result.exit_code != 0, "failed testing of invalid keepalive timer with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + + # add invalid keepalive values + result = runner.invoke(config.config.commands["mclag"].commands["keepalive-interval"], [MCLAG_DOMAIN_ID, MCLAG_INVALID_KEEPALIVE_TIMER_LBOUND], obj=obj) + assert result.exit_code != 0, "mclag invalid keepalive failed with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + + # add invalid keepalive values + result = runner.invoke(config.config.commands["mclag"].commands["keepalive-interval"], [MCLAG_DOMAIN_ID, MCLAG_INVALID_KEEPALIVE_TIMER_UBOUND], obj=obj) + assert result.exit_code != 0, "mclag creation keepalive failed with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + + def test_mclag_keepalive_timer(self): + runner = CliRunner() + db = Db() + obj = {'db':db.cfgdb} + + + # add valid mclag domain + result = runner.invoke(config.config.commands["mclag"].commands["add"], [MCLAG_DOMAIN_ID, MCLAG_SRC_IP, MCLAG_PEER_IP, MCLAG_PEER_LINK], obj=obj) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0, "mclag creation failed with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + assert self.verify_mclag_domain_cfg(db, MCLAG_DOMAIN_ID, MCLAG_SRC_IP, MCLAG_PEER_IP, MCLAG_PEER_LINK) == True, "mclag config not found" + + # configure valid keepalive timer + result = runner.invoke(config.config.commands["mclag"].commands["keepalive-interval"], [MCLAG_DOMAIN_ID, MCLAG_KEEPALIVE_TIMER], obj=obj) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0, "failed test for setting valid keepalive timer with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + print(result.output) + assert result.exit_code == 0, "mclag creation failed with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + + # configure valid keepalive timer + result = runner.invoke(config.config.commands["mclag"].commands["keepalive-interval"], [MCLAG_DOMAIN_ID, MCLAG_KEEPALIVE_TIMER], obj=obj) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0, "failed test for setting valid keepalive timer with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + mclag_entry = db.cfgdb.get_entry("MCLAG_DOMAIN", MCLAG_DOMAIN_ID) + temp = mclag_entry.get("keepalive_interval") + assert temp is not None, "session timeout not found" + assert temp == MCLAG_KEEPALIVE_TIMER, "keepalive timer value not set" + + # configure non multiple session timeout + result = runner.invoke(config.config.commands["mclag"].commands["session-timeout"], [MCLAG_DOMAIN_ID, MCLAG_INVALID_SESSION_TIMEOUT], obj=obj) + print(result.exit_code) + print(result.output) + assert result.exit_code != 0, "failed invalid session timeout setting case" + + result = runner.invoke(config.config.commands["mclag"].commands["session-timeout"], [MCLAG_DOMAIN_ID, MCLAG_INVALID_SESSION_TMOUT_LBOUND], obj=obj) + assert result.exit_code != 0, "mclag session timeout invalid failed with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + result = runner.invoke(config.config.commands["mclag"].commands["session-timeout"], [MCLAG_DOMAIN_ID, MCLAG_INVALID_SESSION_TMOUT_UBOUND], obj=obj) + assert result.exit_code != 0, "mclag session timeout invalid failed with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + + def test_mclag_session_timeout(self): + runner = CliRunner() + db = Db() + obj = {'db':db.cfgdb} + + # add valid mclag domain + result = runner.invoke(config.config.commands["mclag"].commands["add"], [MCLAG_DOMAIN_ID, MCLAG_SRC_IP, MCLAG_PEER_IP, MCLAG_PEER_LINK], obj=obj) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0, "mclag creation failed with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + + # configure valid session timeout + result = runner.invoke(config.config.commands["mclag"].commands["session-timeout"], [MCLAG_DOMAIN_ID, MCLAG_SESSION_TIMEOUT], obj=obj) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0, "failed test for setting valid session timeout with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + mclag_entry = db.cfgdb.get_entry("MCLAG_DOMAIN", MCLAG_DOMAIN_ID) + temp = mclag_entry.get("session_timeout") + assert temp is not None, "session timeout not found" + assert temp == MCLAG_SESSION_TIMEOUT, "keepalive timer value not set" + + + def test_mclag_add_mclag_member_to_nonexisting_domain(self): + runner = CliRunner() + db = Db() + obj = {'db':db.cfgdb} + mclag_cfg = db.cfgdb.get_table('MCLAG_DOMAIN') + keys = [ (k, v) for k, v in mclag_cfg if k == MCLAG_DOMAIN_ID2 ] + assert len(keys) == 0, "found mclag domain which is not expected" + + # add mclag member to non existing domain + result = runner.invoke(config.config.commands["mclag"].commands["member"].commands["add"], [MCLAG_DOMAIN_ID2, MCLAG_MEMBER_PO], obj=obj) + print(result.exit_code) + print(result.output) + assert result.exit_code != 0, "testing of adding mclag member to nonexisting domain failed" + + + def test_mclag_add_invalid_member(self): + runner = CliRunner() + db = Db() + obj = {'db':db.cfgdb} + + # add valid mclag domain + result = runner.invoke(config.config.commands["mclag"].commands["add"], [MCLAG_DOMAIN_ID, MCLAG_SRC_IP, MCLAG_PEER_IP, MCLAG_PEER_LINK], obj=obj) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0, "mclag creation failed with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + assert self.verify_mclag_domain_cfg(db, MCLAG_DOMAIN_ID, MCLAG_SRC_IP, MCLAG_PEER_IP, MCLAG_PEER_LINK) == True, "mclag config not found" + + # add invaid mclag member Ethernet instead of PortChannel + result = runner.invoke(config.config.commands["mclag"].commands["member"].commands["add"], [MCLAG_DOMAIN_ID, MCLAG_INVALID_MCLAG_MEMBER], obj=obj) + print(result.exit_code) + print(result.output) + assert result.exit_code != 0, "testing of adding invalid member failed" + + # add invaid mclag member Ethernet instead of PortChannel + result = runner.invoke(config.config.commands["mclag"].commands["member"].commands["add"], [MCLAG_DOMAIN_ID, MCLAG_INVALID_PORTCHANNEL1], obj=obj) + assert result.exit_code != 0, "mclag invalid member add case failed with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + + # add invaid mclag member Ethernet instead of PortChannel + result = runner.invoke(config.config.commands["mclag"].commands["member"].commands["add"], [MCLAG_DOMAIN_ID, MCLAG_INVALID_PORTCHANNEL2], obj=obj) + assert result.exit_code != 0, "mclag invalid member add case failed with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + + # add invaid mclag member Ethernet instead of PortChannel + result = runner.invoke(config.config.commands["mclag"].commands["member"].commands["add"], [MCLAG_DOMAIN_ID, MCLAG_INVALID_PORTCHANNEL3], obj=obj) + assert result.exit_code != 0, "mclag invalid member add case failed with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + + # add invaid mclag member Ethernet instead of PortChannel + result = runner.invoke(config.config.commands["mclag"].commands["member"].commands["add"], [MCLAG_DOMAIN_ID, MCLAG_INVALID_PORTCHANNEL4], obj=obj) + assert result.exit_code != 0, "mclag invalid member add case failed with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + + def test_mclag_add_member(self): + runner = CliRunner() + db = Db() + obj = {'db':db.cfgdb} + + + # add valid mclag domain + result = runner.invoke(config.config.commands["mclag"].commands["add"], [MCLAG_DOMAIN_ID, MCLAG_SRC_IP, MCLAG_PEER_IP, MCLAG_PEER_LINK], obj=obj) + assert result.exit_code == 0, "mclag creation failed with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + assert self.verify_mclag_domain_cfg(db, MCLAG_DOMAIN_ID, MCLAG_SRC_IP, MCLAG_PEER_IP, MCLAG_PEER_LINK) == True, "mclag config not found" + + # add valid mclag member + result = runner.invoke(config.config.commands["mclag"].commands["member"].commands["add"], [MCLAG_DOMAIN_ID, MCLAG_MEMBER_PO], obj=obj) + assert result.exit_code == 0, "failed adding valid mclag member with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + assert self.verify_mclag_interface(db, MCLAG_DOMAIN_ID, MCLAG_MEMBER_PO) == True, "mclag member not present" + + # add mclag member again + result = runner.invoke(config.config.commands["mclag"].commands["member"].commands["add"], [MCLAG_DOMAIN_ID, MCLAG_MEMBER_PO], obj=obj) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0, "testing of adding mclag member again failed" + + # delete mclag domain + result = runner.invoke(config.config.commands["mclag"].commands["del"], [MCLAG_DOMAIN_ID], obj=obj) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0, "testing of delete of mclag domain failed" + assert self.verify_mclag_interface(db, MCLAG_DOMAIN_ID, MCLAG_MEMBER_PO) == False, "mclag member not deleted" + assert self.verify_mclag_domain_cfg(db, MCLAG_DOMAIN_ID) == False, "mclag domain not deleted" + + # add valid mclag domain + result = runner.invoke(config.config.commands["mclag"].commands["add"], [MCLAG_DOMAIN_ID, MCLAG_SRC_IP, MCLAG_PEER_IP, MCLAG_PEER_LINK], obj=obj) + assert result.exit_code == 0, "mclag creation failed with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + assert self.verify_mclag_domain_cfg(db, MCLAG_DOMAIN_ID, MCLAG_SRC_IP, MCLAG_PEER_IP, MCLAG_PEER_LINK) == True, "mclag config not found" + + # add valid mclag member + result = runner.invoke(config.config.commands["mclag"].commands["member"].commands["add"], [MCLAG_DOMAIN_ID, MCLAG_MEMBER_PO], obj=obj) + assert result.exit_code == 0, "mclag member add with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + assert self.verify_mclag_interface(db, MCLAG_DOMAIN_ID, MCLAG_MEMBER_PO) == True, "mclag member not present" + + # add valid mclag member2 + result = runner.invoke(config.config.commands["mclag"].commands["member"].commands["add"], [MCLAG_DOMAIN_ID, MCLAG_MEMBER_PO2], obj=obj) + assert result.exit_code == 0, "mclag member add with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + assert self.verify_mclag_interface(db, MCLAG_DOMAIN_ID, MCLAG_MEMBER_PO2) == True, "mclag member not present" + + + # del valid mclag member + result = runner.invoke(config.config.commands["mclag"].commands["member"].commands["del"], [MCLAG_DOMAIN_ID, MCLAG_MEMBER_PO], obj=obj) + assert result.exit_code == 0, "mclag member deletion failed with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + assert self.verify_mclag_interface(db, MCLAG_DOMAIN_ID, MCLAG_MEMBER_PO) == False, "mclag member not deleted " + + # del mclag member + result = runner.invoke(config.config.commands["mclag"].commands["member"].commands["del"], [MCLAG_DOMAIN_ID, MCLAG_INVALID_MCLAG_MEMBER], obj=obj) + print(result.exit_code) + print(result.output) + assert result.exit_code != 0, "testing of deleting valid mclag member failed" + + result = runner.invoke(config.config.commands["mclag"].commands["member"].commands["del"], [MCLAG_DOMAIN_ID, MCLAG_INVALID_PORTCHANNEL1], obj=obj) + assert result.exit_code != 0, "mclag invalid member del case failed with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + + result = runner.invoke(config.config.commands["mclag"].commands["member"].commands["del"], [MCLAG_DOMAIN_ID, MCLAG_INVALID_PORTCHANNEL2], obj=obj) + assert result.exit_code != 0, "mclag invalid member del case failed with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + + result = runner.invoke(config.config.commands["mclag"].commands["member"].commands["del"], [MCLAG_DOMAIN_ID, MCLAG_INVALID_PORTCHANNEL3], obj=obj) + + result = runner.invoke(config.config.commands["mclag"].commands["member"].commands["del"], [MCLAG_DOMAIN_ID, MCLAG_INVALID_PORTCHANNEL4], obj=obj) + assert result.exit_code != 0, "mclag invalid member del case failed with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + + + + def test_mclag_add_unique_ip(self): + runner = CliRunner() + db = Db() + obj = {'db':db.cfgdb} + + # add valid mclag domain + result = runner.invoke(config.config.commands["mclag"].commands["add"], [MCLAG_DOMAIN_ID, MCLAG_SRC_IP, MCLAG_PEER_IP, MCLAG_PEER_LINK], obj=obj) + assert result.exit_code == 0, "mclag creation failed with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + assert self.verify_mclag_domain_cfg(db, MCLAG_DOMAIN_ID, MCLAG_SRC_IP, MCLAG_PEER_IP, MCLAG_PEER_LINK) == True, "mclag config not found" + + # add mclag unique ip + result = runner.invoke(config.config.commands["mclag"].commands["unique-ip"].commands["add"], [MCLAG_UNIQUE_IP_VLAN], obj=obj) + assert result.exit_code == 0, "mclag unique ip add with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + keys = db.cfgdb.get_keys('MCLAG_UNIQUE_IP') + assert len(keys) != 0, "unique ip not conifgured" + + + # add mclag unique ip for vlan interface which already has ip + result = runner.invoke(config.config.commands["vlan"].commands["add"], ["111"], obj=db) + assert result.exit_code == 0, "add vlan for unique ip failed {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + + result = runner.invoke(config.config.commands["interface"].commands["ip"].commands["add"], ["Vlan111", "111.11.11.1/24"], obj=obj) + assert result.exit_code != 0, "ip config for unique ip vlan failed {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + + result = runner.invoke(config.config.commands["mclag"].commands["unique-ip"].commands["add"], ["Vlan111"], obj=obj) + assert result.exit_code == 0, "unique ip config for vlan with ip address case failed {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + keys = db.cfgdb.get_keys('MCLAG_UNIQUE_IP') + assert "Vlan111" in keys, "unique ip present config shouldn't be allowed" + + # delete mclag unique ip + result = runner.invoke(config.config.commands["mclag"].commands["unique-ip"].commands["del"], [MCLAG_UNIQUE_IP_VLAN], obj=obj) + assert result.exit_code == 0, "mclag unique ip delete case failed {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + keys = db.cfgdb.get_keys('MCLAG_UNIQUE_IP') + assert MCLAG_UNIQUE_IP_VLAN not in keys, "unique ip not conifgured" + + def test_mclag_add_unique_ip_non_default_vrf(self): + runner = CliRunner() + db = Db() + obj = {'db':db.cfgdb} + + result = runner.invoke(config.config.commands["vlan"].commands["add"], ["1001"], obj=db) + assert result.exit_code == 0, "add vlan for unique ip failed {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + + db.cfgdb.set_entry("VLAN_INTERFACE", "Vlan1001", {"vrf_name": "vrf-red"}) + + # add mclag unique ip for non-default vrf + result = runner.invoke(config.config.commands["mclag"].commands["unique-ip"].commands["add"], ["Vlan1001"], obj=obj) + assert result.exit_code != 0, "mclag unique ip add with non default vlan interface{}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + keys = db.cfgdb.get_keys('MCLAG_UNIQUE_IP') + assert len(keys) == 0, "non default vrf unique ip goes through, config shouldn't be allowed" + + def test_mclag_not_present_domain(self): + runner = CliRunner() + db = Db() + obj = {'db':db.cfgdb} + + # delete mclag domain + result = runner.invoke(config.config.commands["mclag"].commands["del"], [MCLAG_DOMAIN_ID], obj=obj) + assert result.exit_code == 0, "testing non-existing domain deletion{}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + + # delete invalid mclag domain + result = runner.invoke(config.config.commands["mclag"].commands["del"], [0], obj=obj) + assert result.exit_code != 0, "mclag invalid domain delete test case with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + # delete invalid mclag domain + result = runner.invoke(config.config.commands["mclag"].commands["del"], [5000], obj=obj) + assert result.exit_code != 0, "mclag invalid domain delete test case with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + + + + def test_add_unique_ip_for_nonexisting_domain(self): + runner = CliRunner() + db = Db() + obj = {'db':db.cfgdb} + + # add unique_ip witout mclag domain + result = runner.invoke(config.config.commands["mclag"].commands["unique-ip"].commands["add"], [MCLAG_UNIQUE_IP_VLAN], obj=obj) + print(result.exit_code) + print(result.output) + assert result.exit_code != 0, "testing of adding uniqueip nonexisting mclag domain ailed" + + result = runner.invoke(config.config.commands["mclag"].commands["unique-ip"].commands["add"], [MCLAG_UNIQUE_IP_INTF_INVALID1], obj=obj) + assert result.exit_code != 0, "mclag invalid unique ip test case with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + runner.invoke(config.config.commands["mclag"].commands["unique-ip"].commands["add"], [MCLAG_UNIQUE_IP_INTF_INVALID2], obj=obj) + assert result.exit_code != 0, "mclag invalid unique ip test case with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + + def test_add_mclag_with_invalid_domain_id(self): + runner = CliRunner() + db = Db() + obj = {'db':db.cfgdb} + + # add mclag with invalid domain_id + result = runner.invoke(config.config.commands["mclag"].commands["add"], [MCLAG_INVALID_DOMAIN_ID1, MCLAG_SRC_IP, MCLAG_PEER_IP, MCLAG_PEER_LINK], obj=obj) + assert result.exit_code != 0, "mclag invalid src ip test caase with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + + result = runner.invoke(config.config.commands["mclag"].commands["add"], [MCLAG_INVALID_DOMAIN_ID2, MCLAG_SRC_IP, MCLAG_PEER_IP, MCLAG_PEER_LINK], obj=obj) + assert result.exit_code != 0, "mclag invalid src ip test caase with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + + def test_del_mclag_with_invalid_domain_id(self): + runner = CliRunner() + db = Db() + obj = {'db':db.cfgdb} + + # del mclag with invalid domain_id + result = runner.invoke(config.config.commands["mclag"].commands["del"], [MCLAG_INVALID_DOMAIN_ID1], obj=obj) + assert result.exit_code != 0, "mclag invalid domain id test case with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + + result = runner.invoke(config.config.commands["mclag"].commands["del"], [MCLAG_INVALID_DOMAIN_ID2], obj=obj) + assert result.exit_code != 0, "mclag invalid domain id test case with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + result = runner.invoke(config.config.commands["mclag"].commands["del"], [MCLAG_DOMAIN_ID3], obj=obj) + assert result.exit_code == 0, "mclag invalid domain id test case with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + + + + def test_modify_mclag_domain(self): + runner = CliRunner() + db = Db() + obj = {'db':db.cfgdb} + + # add mclag domain entry in db + db.cfgdb.set_entry("MCLAG_DOMAIN", MCLAG_DOMAIN_ID, {"source_ip": MCLAG_SRC_IP}) + + result = runner.invoke(config.config.commands["mclag"].commands["add"], [MCLAG_DOMAIN_ID, MCLAG_SRC_IP, MCLAG_PEER_IP, MCLAG_PEER_LINK], obj=obj) + assert result.exit_code != 0, "mclag add domain peer ip test caase with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + assert self.verify_mclag_domain_cfg(db, MCLAG_DOMAIN_ID, MCLAG_SRC_IP, MCLAG_PEER_IP, MCLAG_PEER_LINK) == True, "mclag config not found" + + + # modify mclag config + result = runner.invoke(config.config.commands["mclag"].commands["add"], [MCLAG_DOMAIN_ID, MCLAG_SRC_IP, MCLAG_PEER_IP, MCLAG_PEER_LINK], obj=obj) + assert result.exit_code != 0, "test_mclag_domain_add_again with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + assert self.verify_mclag_domain_cfg(db, MCLAG_DOMAIN_ID, MCLAG_SRC_IP, MCLAG_PEER_IP, MCLAG_PEER_LINK2) == True, "mclag config not modified" + + + def test_add_mclag_domain_no_peer_link(self): + runner = CliRunner() + db = Db() + obj = {'db':db.cfgdb} + + + result = runner.invoke(config.config.commands["mclag"].commands["add"], [MCLAG_DOMAIN_ID, MCLAG_SRC_IP, MCLAG_PEER_IP, ""], obj=obj) + assert result.exit_code != 0, "mclag add domain peer ip test caase with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + assert self.verify_mclag_domain_cfg(db, MCLAG_DOMAIN_ID, MCLAG_SRC_IP, MCLAG_PEER_IP) == False, "mclag config not found" + + def test_del_mclag_domain_with_members(self): + runner = CliRunner() + db = Db() + obj = {'db':db.cfgdb} + + # add valid mclag domain + result = runner.invoke(config.config.commands["mclag"].commands["add"], [MCLAG_DOMAIN_ID, MCLAG_SRC_IP, MCLAG_PEER_IP, MCLAG_PEER_LINK], obj=obj) + assert result.exit_code == 0, "mclag creation failed with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + assert self.verify_mclag_domain_cfg(db, MCLAG_DOMAIN_ID, MCLAG_SRC_IP, MCLAG_PEER_IP, MCLAG_PEER_LINK) == True, "mclag config not found" + + # add valid mclag member + result = runner.invoke(config.config.commands["mclag"].commands["member"].commands["add"], [MCLAG_DOMAIN_ID, MCLAG_MEMBER_PO], obj=obj) + assert result.exit_code == 0, "mclag member add with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + assert self.verify_mclag_interface(db, MCLAG_DOMAIN_ID, MCLAG_MEMBER_PO) == True, "mclag member not present" + + # add valid mclag member2 + result = runner.invoke(config.config.commands["mclag"].commands["member"].commands["add"], [MCLAG_DOMAIN_ID, MCLAG_MEMBER_PO2], obj=obj) + assert result.exit_code == 0, "mclag member add with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + assert self.verify_mclag_interface(db, MCLAG_DOMAIN_ID, MCLAG_MEMBER_PO2) == True, "mclag member not present" + + # delete mclag domain + result = runner.invoke(config.config.commands["mclag"].commands["del"], [MCLAG_DOMAIN_ID], obj=obj) + assert result.exit_code == 0, "testing non-existing domain deletion{}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + assert self.verify_mclag_interface(db, MCLAG_DOMAIN_ID, MCLAG_MEMBER_PO2) == False, "mclag member not deleted" + assert self.verify_mclag_interface(db, MCLAG_DOMAIN_ID, MCLAG_MEMBER_PO) == False, "mclag member not deleted" + assert self.verify_mclag_domain_cfg(db, MCLAG_DOMAIN_ID) == False, "mclag domain not present" + + + def test_mclag_keepalive_for_non_existent_domain(self): + runner = CliRunner() + db = Db() + obj = {'db':db.cfgdb} + + # configure keepalive timer for non-existing domain + result = runner.invoke(config.config.commands["mclag"].commands["keepalive-interval"], [MCLAG_DOMAIN_ID, MCLAG_INVALID_KEEPALIVE_TIMER], obj=obj) + assert result.exit_code != 0, "failed testing of keepalive timer for nonexisting domain {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + + + def test_mclag_keepalive_config_with_nondefault_sess_tmout(self): + runner = CliRunner() + db = Db() + obj = {'db':db.cfgdb} + + # add valid mclag domain + result = runner.invoke(config.config.commands["mclag"].commands["add"], [MCLAG_DOMAIN_ID, MCLAG_SRC_IP, MCLAG_PEER_IP, MCLAG_PEER_LINK], obj=obj) + assert result.exit_code == 0, "mclag creation failed with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + + #configure valid session timeout + result = runner.invoke(config.config.commands["mclag"].commands["session-timeout"], [MCLAG_DOMAIN_ID, MCLAG_SESSION_TIMEOUT], obj=obj) + assert result.exit_code == 0, "failed test for setting valid keepalive timer with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + + # configure valid keepalive timer + result = runner.invoke(config.config.commands["mclag"].commands["keepalive-interval"], [MCLAG_DOMAIN_ID, MCLAG_KEEPALIVE_TIMER], obj=obj) + assert result.exit_code == 0, "failed test for setting valid keepalive timer with code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + + + def test_mclag_session_tmout_for_nonexistent_domain(self): + runner = CliRunner() + db = Db() + obj = {'db':db.cfgdb} + + result = runner.invoke(config.config.commands["mclag"].commands["session-timeout"], [MCLAG_DOMAIN_ID, MCLAG_SESSION_TIMEOUT], obj=obj) + assert result.exit_code != 0, "failed test for session timeout with non existent dmain code {}:{} Output:{}".format(type(result.exit_code), result.exit_code, result.output) + + + @classmethod + def teardown_class(cls): + os.environ['UTILITIES_UNIT_TESTING'] = "0" + print("TEARDOWN") From 9b7c58b678998c2dbab1f4d5ee9ec6a9294ab666 Mon Sep 17 00:00:00 2001 From: arlakshm <55814491+arlakshm@users.noreply.github.com> Date: Tue, 20 Jul 2021 11:05:00 -0700 Subject: [PATCH 245/342] Load the database global_db only once for show cli (#1712) Introduce a new function `load_db_config()`. This function will load the global database file or database config file based on the platform. --- acl_loader/main.py | 15 ++++++--------- config/main.py | 12 +++++------- crm/main.py | 16 ++++++---------- scripts/ipintutil | 3 ++- scripts/lldpshow | 11 +++++------ scripts/portconfig | 10 ++++------ show/main.py | 3 +++ utilities_common/cli.py | 3 +++ utilities_common/general.py | 16 ++++++++++++++++ 9 files changed, 50 insertions(+), 39 deletions(-) diff --git a/acl_loader/main.py b/acl_loader/main.py index adc7c89940..e9c61b915d 100644 --- a/acl_loader/main.py +++ b/acl_loader/main.py @@ -9,9 +9,9 @@ import tabulate import pyangbind.lib.pybindJSON as pybindJSON from natsort import natsorted -from sonic_py_common import device_info, multi_asic -from swsscommon.swsscommon import SonicV2Connector, ConfigDBConnector, SonicDBConfig - +from sonic_py_common import multi_asic +from swsscommon.swsscommon import SonicV2Connector, ConfigDBConnector +from utilities_common.general import load_db_config def info(msg): click.echo(click.style("Info: ", fg='cyan') + click.style(str(msg), fg='green')) @@ -116,11 +116,8 @@ def __init__(self): self.rules_db_info = {} self.rules_info = {} - if multi_asic.is_multi_asic(): - # Load global db config - SonicDBConfig.load_sonic_global_db_config() - else: - SonicDBConfig.initialize() + # Load database config files + load_db_config() self.sessions_db_info = {} self.configdb = ConfigDBConnector() @@ -146,7 +143,7 @@ def __init__(self): # Getting all front asic namespace and correspding config and state DB connector - namespaces = device_info.get_all_namespaces() + namespaces = multi_asic.get_all_namespaces() for front_asic_namespaces in namespaces['front_ns']: self.per_npu_configdb[front_asic_namespaces] = ConfigDBConnector(use_unix_socket_path=True, namespace=front_asic_namespaces) self.per_npu_configdb[front_asic_namespaces].connect() diff --git a/config/main.py b/config/main.py index 320ce72bee..e680f65274 100644 --- a/config/main.py +++ b/config/main.py @@ -22,11 +22,13 @@ from sonic_py_common import device_info, multi_asic from sonic_py_common.interface import get_interface_table_name, get_port_table_name from utilities_common import util_base -from swsscommon.swsscommon import SonicV2Connector, ConfigDBConnector, SonicDBConfig +from swsscommon.swsscommon import SonicV2Connector, ConfigDBConnector from utilities_common.db import Db from utilities_common.intf_filter import parse_interface_in_filter from utilities_common import bgp_util import utilities_common.cli as clicommon +from utilities_common.general import load_db_config + from .utils import log from . import aaa @@ -952,12 +954,8 @@ def config(ctx): except (KeyError, TypeError): raise click.Abort() - # Load the global config file database_global.json once. - num_asic = multi_asic.get_num_asics() - if num_asic > 1: - SonicDBConfig.load_sonic_global_db_config() - else: - SonicDBConfig.initialize() + # Load database config files + load_db_config() if os.geteuid() != 0: exit("Root privileges are required for this operation") diff --git a/crm/main.py b/crm/main.py index 173dca852c..869c54b33b 100644 --- a/crm/main.py +++ b/crm/main.py @@ -1,11 +1,12 @@ #!/usr/bin/env python3 import click -from swsscommon.swsscommon import ConfigDBConnector, SonicDBConfig +from swsscommon.swsscommon import ConfigDBConnector from tabulate import tabulate -from utilities_common import multi_asic as multi_asic_util -from sonic_py_common import multi_asic +from sonic_py_common import multi_asic +from utilities_common.general import load_db_config +from utilities_common import multi_asic as multi_asic_util class Crm: def __init__(self, db=None): self.cli_mode = None @@ -213,13 +214,8 @@ def cli(ctx): # Use the db object if given as input. db = None if ctx.obj is None else ctx.obj.cfgdb - # Note: SonicDBConfig may be already initialized in unit test, then skip - if not SonicDBConfig.isInit(): - if multi_asic.is_multi_asic(): - # Load the global config file database_global.json once. - SonicDBConfig.load_sonic_global_db_config() - else: - SonicDBConfig.initialize() + # Load database config files + load_db_config() context = { "crm": Crm(db) diff --git a/scripts/ipintutil b/scripts/ipintutil index 872cfb35ef..5eb1f66524 100755 --- a/scripts/ipintutil +++ b/scripts/ipintutil @@ -12,6 +12,7 @@ from tabulate import tabulate from sonic_py_common import multi_asic from swsscommon import swsscommon from utilities_common import constants +from utilities_common.general import load_db_config from utilities_common import multi_asic as multi_asic_util @@ -262,7 +263,7 @@ def main(): else: sys.exit("Invalid argument -a {}".format(args.address_family)) - swsscommon.SonicDBConfig.load_sonic_global_db_config() + load_db_config() ip_intfs = get_ip_intfs(af, namespace, display) display_ip_intfs(ip_intfs) diff --git a/scripts/lldpshow b/scripts/lldpshow index c41e78db00..0d8a5eb6de 100755 --- a/scripts/lldpshow +++ b/scripts/lldpshow @@ -25,8 +25,9 @@ import subprocess import sys import xml.etree.ElementTree as ET -from sonic_py_common import device_info, multi_asic -from swsscommon.swsscommon import ConfigDBConnector, SonicDBConfig +from sonic_py_common import device_info +from swsscommon.swsscommon import ConfigDBConnector +from utilities_common.general import load_db_config from tabulate import tabulate BACKEND_ASIC_INTERFACE_NAME_PREFIX = 'Ethernet-BP' @@ -48,10 +49,8 @@ class Lldpshow(object): # if further capability type is supported like WLAN, can just add the tag definition here self.ctags = {'Router': 'R', 'Bridge': 'B'} - if multi_asic.is_multi_asic(): - SonicDBConfig.load_sonic_global_db_config() - else: - SonicDBConfig.initialize() + # Load database config files + load_db_config() # For multi-asic platforms we will get only front-panel interface to display namespaces = device_info.get_all_namespaces() diff --git a/scripts/portconfig b/scripts/portconfig index 6293b08198..bbc3b7ebe2 100755 --- a/scripts/portconfig +++ b/scripts/portconfig @@ -37,7 +37,8 @@ try: except KeyError: pass -from swsscommon.swsscommon import ConfigDBConnector, SonicDBConfig, SonicV2Connector +from swsscommon.swsscommon import ConfigDBConnector, SonicV2Connector +from utilities_common.general import load_db_config # APPL_DB constants PORT_TABLE_NAME = "PORT" @@ -246,11 +247,8 @@ def main(): help = 'port advertised interface types', default=None) args = parser.parse_args() - if args.namespace is not None: - SonicDBConfig.load_sonic_global_db_config(namespace=args.namespace) - else: - SonicDBConfig.initialize() - + # Load database config files + load_db_config() try: port = portconfig(args.verbose, args.port, args.namespace) if args.list: diff --git a/show/main.py b/show/main.py index ac2cb51ac9..c7f83920f6 100755 --- a/show/main.py +++ b/show/main.py @@ -14,6 +14,7 @@ from utilities_common import util_base from utilities_common.db import Db import utilities_common.constants as constants +from utilities_common.general import load_db_config from . import acl from . import bgp_common @@ -149,6 +150,8 @@ def is_gearbox_configured(): def cli(ctx): """SONiC command line - 'show' command""" + # Load database config files + load_db_config() ctx.obj = Db() diff --git a/utilities_common/cli.py b/utilities_common/cli.py index afa42dc3b3..15941e28b3 100644 --- a/utilities_common/cli.py +++ b/utilities_common/cli.py @@ -11,6 +11,7 @@ from natsort import natsorted from sonic_py_common import multi_asic from utilities_common.db import Db +from utilities_common.general import load_db_config VLAN_SUB_INTERFACE_SEPARATOR = '.' @@ -118,6 +119,8 @@ class InterfaceAliasConverter(object): def __init__(self, db=None): + # Load database config files + load_db_config() if db is None: self.port_dict = multi_asic.get_port_table() else: diff --git a/utilities_common/general.py b/utilities_common/general.py index a1982793da..a2f9eaf2a9 100644 --- a/utilities_common/general.py +++ b/utilities_common/general.py @@ -2,6 +2,9 @@ import importlib.util import sys +from sonic_py_common.multi_asic import is_multi_asic +from swsscommon import swsscommon + def load_module_from_source(module_name, file_path): """ This function will load the Python source file specified by @@ -15,3 +18,16 @@ def load_module_from_source(module_name, file_path): sys.modules[module_name] = module return module + +def load_db_config(): + ''' + Load the correct database config file: + - database_global.json for multi asic + - database_config.json for single asic + ''' + if is_multi_asic(): + if not swsscommon.SonicDBConfig.isGlobalInit(): + swsscommon.SonicDBConfig.load_sonic_global_db_config() + else: + if not swsscommon.SonicDBConfig.isInit(): + swsscommon.SonicDBConfig.load_sonic_db_config() \ No newline at end of file From acb5d84320dfc3428802ffcb023fd06316fb88ef Mon Sep 17 00:00:00 2001 From: Neetha John Date: Tue, 20 Jul 2021 18:14:44 -0700 Subject: [PATCH 246/342] [configlet] Python3 compatible syntax for extracting a key from the dict (#1721) Signed-off-by: Neetha John Syntax error seen while trying to apply a configlet Traceback (most recent call last): File "/usr/local/bin/configlet", line 212, in main() File "/usr/local/bin/configlet", line 205, in main process_entry (do_update, i) File "/usr/local/bin/configlet", line 175, in process_entry do_operate(op_upd, t, (), data[t]) File "/usr/local/bin/configlet", line 162, in do_operate if type(lst[lst.keys()[0]]) == dict: TypeError: 'dict_keys' object is not subscriptable What I did Use next(iter()) to derive a key from the dict. This is both python2 and python3 compatible How to verify it Tried applying the json file below using the command 'configlet -j test.json -d'. Configlet was applied successfully. No errors were seen [ { "ACL_TABLE": { "EVERFLOW": {}, "EVERFLOWV6": {} } } ] --- scripts/configlet | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/configlet b/scripts/configlet index 0e201be432..bc9ba1cf98 100755 --- a/scripts/configlet +++ b/scripts/configlet @@ -159,7 +159,7 @@ def do_delete(t, k, lst): def do_operate(op_upd, t, k, lst): if lst: - if type(lst[lst.keys()[0]]) == dict: + if type(lst[next(iter(lst))]) == dict: for i in lst: do_operate(op_upd, t, k+(i,), lst[i]) return From b83d2bfcecbee3d7e89eb39e7be2bf912d96a7b8 Mon Sep 17 00:00:00 2001 From: Blueve <672454911@qq.com> Date: Mon, 26 Jul 2021 22:51:46 +0800 Subject: [PATCH 247/342] [minigraph][port_config] Use imported config.main and add conditional patch (#1724) Signed-off-by: Jing Kan jika@microsoft.com --- tests/config_test.py | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/tests/config_test.py b/tests/config_test.py index 4f71266d76..929ae97aa3 100644 --- a/tests/config_test.py +++ b/tests/config_test.py @@ -57,50 +57,54 @@ def test_load_minigraph(self, get_cmd_module, setup_single_broadcom_asic): assert "\n".join([l.rstrip() for l in result.output.split('\n')]) == load_minigraph_command_output assert mock_run_command.call_count == 7 - def test_load_minigraph_with_port_config_bad_format(self, setup_single_broadcom_asic): + def test_load_minigraph_with_port_config_bad_format(self, get_cmd_module, setup_single_broadcom_asic): with mock.patch( "utilities_common.cli.run_command", mock.MagicMock(side_effect=mock_run_command_side_effect)) as mock_run_command: + (config, show) = get_cmd_module # Not in an array port_config = {"PORT": {"Ethernet0": {"admin_status": "up"}}} - self.check_port_config(None, port_config, "Failed to load port_config.json, Error: Bad format: port_config is not an array") + self.check_port_config(None, config, port_config, "Failed to load port_config.json, Error: Bad format: port_config is not an array") # No PORT table port_config = [{}] - self.check_port_config(None, port_config, "Failed to load port_config.json, Error: Bad format: PORT table not exists") + self.check_port_config(None, config, port_config, "Failed to load port_config.json, Error: Bad format: PORT table not exists") - def test_load_minigraph_with_port_config_inconsistent_port(self, setup_single_broadcom_asic): + def test_load_minigraph_with_port_config_inconsistent_port(self, get_cmd_module, setup_single_broadcom_asic): with mock.patch( "utilities_common.cli.run_command", mock.MagicMock(side_effect=mock_run_command_side_effect)) as mock_run_command: + (config, show) = get_cmd_module + db = Db() db.cfgdb.set_entry("PORT", "Ethernet1", {"admin_status": "up"}) port_config = [{"PORT": {"Eth1": {"admin_status": "up"}}}] - self.check_port_config(db, port_config, "Failed to load port_config.json, Error: Port Eth1 is not defined in current device") + self.check_port_config(db, config, port_config, "Failed to load port_config.json, Error: Port Eth1 is not defined in current device") - def test_load_minigraph_with_port_config(self, setup_single_broadcom_asic): + def test_load_minigraph_with_port_config(self, get_cmd_module, setup_single_broadcom_asic): with mock.patch( "utilities_common.cli.run_command", mock.MagicMock(side_effect=mock_run_command_side_effect)) as mock_run_command: + (config, show) = get_cmd_module db = Db() # From up to down db.cfgdb.set_entry("PORT", "Ethernet0", {"admin_status": "up"}) port_config = [{"PORT": {"Ethernet0": {"admin_status": "down"}}}] - self.check_port_config(db, port_config, "config interface shutdown Ethernet0") + self.check_port_config(db, config, port_config, "config interface shutdown Ethernet0") # From down to up db.cfgdb.set_entry("PORT", "Ethernet0", {"admin_status": "down"}) port_config = [{"PORT": {"Ethernet0": {"admin_status": "up"}}}] - self.check_port_config(db, port_config, "config interface startup Ethernet0") + self.check_port_config(db, config, port_config, "config interface startup Ethernet0") - def check_port_config(self, db, port_config, expected_output): + def check_port_config(self, db, config, port_config, expected_output): def read_json_file_side_effect(filename): return port_config with mock.patch('config.main.read_json_file', mock.MagicMock(side_effect=read_json_file_side_effect)): def is_file_side_effect(filename): - return True + return True if 'port_config' in filename else False with mock.patch('os.path.isfile', mock.MagicMock(side_effect=is_file_side_effect)): runner = CliRunner() result = runner.invoke(config.config.commands["load_minigraph"], ["-y"], obj=db) From 44229114f544d94fe59cf39d357df0ddc519ab62 Mon Sep 17 00:00:00 2001 From: Nazarii Hnydyn Date: Mon, 26 Jul 2021 18:39:19 +0300 Subject: [PATCH 248/342] [fwutil]: Update command reference doc: per component FW update. (#1708) Signed-off-by: Nazarii Hnydyn What I did Updated command reference to match fwutil v.2.0.0.0 How I did it Updated command reference --- doc/Command-Reference.md | 190 +++++++++++++++++++++++++++------------ 1 file changed, 133 insertions(+), 57 deletions(-) diff --git a/doc/Command-Reference.md b/doc/Command-Reference.md index abf31bdc9d..b6248a7816 100644 --- a/doc/Command-Reference.md +++ b/doc/Command-Reference.md @@ -5889,22 +5889,86 @@ Go Back To [Beginning of the document](#) or [Beginning of this section](#pfc-wa ### Platform Component Firmware show commands -**show platform firmware** +**show platform firmware status** This command displays platform components firmware status information. - Usage: ```bash -show platform firmware +show platform firmware status ``` - Example: ```bash -admin@sonic:~$ show platform firmware +admin@sonic:~$ sudo show platform firmware status Chassis Module Component Version Description ---------- -------- ----------- ----------------------- --------------------------------------- -Chassis1 N/A BIOS 0ACLH004_02.02.007_9600 BIOS - Basic Input/Output System - CPLD 5.3.3.1 CPLD - includes all CPLDs in the switch +--------- -------- ----------- ----------------------- ---------------------------------------- +MSN3800 N/A ONIE 2020.11-5.2.0022-9600 ONIE - Open Network Install Environment + SSD 0202-000 SSD - Solid-State Drive + BIOS 0ACLH004_02.02.008_9600 BIOS - Basic Input/Output System + CPLD1 CPLD000120_REV0900 CPLD - Complex Programmable Logic Device + CPLD2 CPLD000165_REV0500 CPLD - Complex Programmable Logic Device + CPLD3 CPLD000166_REV0300 CPLD - Complex Programmable Logic Device + CPLD4 CPLD000167_REV0100 CPLD - Complex Programmable Logic Device +``` + +**show platform firmware updates** + +This command displays platform components firmware updates information. + +- Usage: +```bash +show platform firmware updates [-i|--image] +``` + +- Options: + - _-i|--image_: show updates using current/next SONiC image + + Valid values: + - current + - next + + Default: + - current + +- Example: +```bash +admin@sonic:~$ sudo show platform firmware updates +Chassis Module Component Firmware Version (Current/Available) Status +--------- -------- ----------- ------------------------------------------ ------------------------------------------------- ------------------ +MSN3800 N/A ONIE /usr/local/lib/firmware/mellanox/onie.bin 2020.11-5.2.0022-9600 / 2020.11-5.2.0024-9600 update is required + SSD /usr/local/lib/firmware/mellanox/ssd.bin 0202-000 / 0204-000 update is required + BIOS /usr/local/lib/firmware/mellanox/bios.bin 0ACLH004_02.02.008_9600 / 0ACLH004_02.02.010_9600 update is required + CPLD1 /usr/local/lib/firmware/mellanox/cpld.mpfa CPLD000120_REV0900 / CPLD000120_REV0900 up-to-date + CPLD2 /usr/local/lib/firmware/mellanox/cpld.mpfa CPLD000165_REV0500 / CPLD000165_REV0500 up-to-date + CPLD3 /usr/local/lib/firmware/mellanox/cpld.mpfa CPLD000166_REV0300 / CPLD000166_REV0300 up-to-date + CPLD4 /usr/local/lib/firmware/mellanox/cpld.mpfa CPLD000167_REV0100 / CPLD000167_REV0100 up-to-date +``` + +- Note: + - current/next values for _-i|--image_ are taken from `sonic-installer list` + ```bash + admin@sonic:~$ sudo sonic-installer list + Current: SONiC-OS-202012.0-fb89c28c9 + Next: SONiC-OS-201911.0-2bec3004e + Available: + SONiC-OS-202012.0-fb89c28c9 + SONiC-OS-201911.0-2bec3004e + ``` + +**show platform firmware version** + +This command displays platform components firmware utility version. + +- Usage: +```bash +show platform firmware version +``` + +- Example: +```bash +admin@sonic:~$ show platform firmware version +fwutil version 2.0.0.0 ``` ### Platform Component Firmware config commands @@ -5920,14 +5984,19 @@ config platform firmware install chassis component fw config platform firmware install module component fw [-y|--yes] ``` +- Options: + - _-y|--yes_: automatic yes to prompts. Assume "yes" as answer to all prompts and run non-interactively + - Example: ```bash -admin@sonic:~$ sudo config platform firmware install chassis component BIOS fw /etc/mlnx/fw/sn3800/chassis1/bios.bin +admin@sonic:~$ sudo config platform firmware install chassis component BIOS fw /usr/local/lib/firmware/mellanox/sn3800/chassis1/bios.bin +Warning: Immediate cold reboot is required to complete BIOS firmware update. New firmware will be installed, continue? [y/N]: y Installing firmware: - /etc/mlnx/fw/sn3800/chassis1/bios.bin + /usr/local/lib/firmware/mellanox/sn3800/chassis1/bios.bin -admin@sonic:~$ sudo config platform firmware install module Module1 component BIOS fw http://mellanox.com/fw/sn3800/module1/bios.bin +admin@sonic:~$ sudo config platform firmware install module Module1 component BIOS fw https://www.mellanox.com/fw/sn3800/module1/bios.bin +Warning: Immediate cold reboot is required to complete BIOS firmware update. New firmware will be installed, continue? [y/N]: y Downloading firmware: [##################################################] 100% @@ -5935,15 +6004,15 @@ Installing firmware: /tmp/bios.bin ``` -Supported options: -1. -y|--yes - automatic yes to prompts. Assume "yes" as answer to all prompts and run non-interactively +- Note: + - can be absolute path or URL **config platform firmware update** -This command is used for automatic FW update of all available platform components. +This command is used to update a platform component firmware from current/next SONiC image. Both modular and non modular chassis platforms are supported. -Automatic FW update requires `platform_components.json` to be created and placed at: +FW update requires `platform_components.json` to be created and placed at: sonic-buildimage/device///platform_components.json Example: @@ -5954,19 +6023,16 @@ Example: "Chassis1": { "component": { "BIOS": { - "firmware": "/etc//fw//chassis1/bios.bin", - "version": "0ACLH003_02.02.010", - "info": "Cold reboot is required" + "firmware": "/usr/local/lib/firmware///chassis1/bios.bin", + "version": "" }, "CPLD": { - "firmware": "/etc//fw//chassis1/cpld.bin", - "version": "10", - "info": "Power cycle is required" + "firmware": "/usr/local/lib/firmware///chassis1/cpld.bin", + "version": "" }, "FPGA": { - "firmware": "/etc//fw//chassis1/fpga.bin", - "version": "5", - "info": "Power cycle is required" + "firmware": "/usr/local/lib/firmware///chassis1/fpga.bin", + "version": "" } } } @@ -5981,19 +6047,16 @@ Example: "Chassis1": { "component": { "BIOS": { - "firmware": "/etc//fw//chassis1/bios.bin", - "version": "0ACLH003_02.02.010", - "info": "Cold reboot is required" + "firmware": "/usr/local/lib/firmware///chassis1/bios.bin", + "version": "" }, "CPLD": { - "firmware": "/etc//fw//chassis1/cpld.bin", - "version": "10", - "info": "Power cycle is required" + "firmware": "/usr/local/lib/firmware///chassis1/cpld.bin", + "version": "" }, "FPGA": { - "firmware": "/etc//fw//chassis1/fpga.bin", - "version": "5", - "info": "Power cycle is required" + "firmware": "/usr/local/lib/firmware///chassis1/fpga.bin", + "version": "" } } } @@ -6002,14 +6065,12 @@ Example: "Module1": { "component": { "CPLD": { - "firmware": "/etc//fw//module1/cpld.bin", - "version": "10", - "info": "Power cycle is required" + "firmware": "/usr/local/lib/firmware///module1/cpld.bin", + "version": "" }, "FPGA": { - "firmware": "/etc//fw//module1/fpga.bin", - "version": "5", - "info": "Power cycle is required" + "firmware": "/usr/local/lib/firmware///module1/fpga.bin", + "version": "" } } } @@ -6017,36 +6078,51 @@ Example: } ``` -Note: FW update will be skipped if component definition is not provided (e.g., 'BIOS': { }) - - Usage: ```bash -config platform firmware update [-y|--yes] [-f|--force] [-i|--image=current|next] +config platform firmware update chassis component fw [-y|--yes] [-f|--force] [-i|--image] +config platform firmware update module component fw [-y|--yes] [-f|--force] [-i|--image] ``` +- Options: + - _-y|--yes_: automatic yes to prompts. Assume "yes" as answer to all prompts and run non-interactively + - _-f|--force_: update FW regardless the current version + - _-i|--image_: update FW using current/next SONiC image + + Valid values: + - current + - next + + Default: + - current + - Example: ```bash -admin@sonic:~$ sudo config platform firmware update -Chassis Module Component Firmware Version Status Info ---------- -------- ----------- ------------------------------------- ------------------------------------------------- ------------------ ----------------------- -Chassis1 N/A BIOS /etc/mlnx/fw/sn3800/chassis1/bios.bin 0ACLH004_02.02.007_9600 / 0ACLH004_02.02.007_9600 up-to-date Cold reboot is required - CPLD /etc/mlnx/fw/sn3800/chassis1/cpld.bin 5.3.3.1 / 5.3.3.2 update is required Power cycle is required +admin@sonic:~$ sudo config platform firmware update chassis component BIOS fw +Warning: Immediate cold reboot is required to complete BIOS firmware update. New firmware will be installed, continue? [y/N]: y +Updating firmware: + /usr/local/lib/firmware/mellanox/x86_64-mlnx_msn3800-r0/chassis1/bios.bin -Summary: - -Chassis Module Component Status ---------- -------- ----------- ---------- -Chassis1 N/A BIOS up-to-date - CPLD success +admin@sonic:~$ sudo config platform firmware update module Module1 component BIOS fw +Warning: Immediate cold reboot is required to complete BIOS firmware update. +New firmware will be installed, continue? [y/N]: y +Updating firmware: + /usr/local/lib/firmware/mellanox/x86_64-mlnx_msn3800-r0/module1/bios.bin ``` -Supported options: -1. -y|--yes - automatic yes to prompts. Assume "yes" as answer to all prompts and run non-interactively -2. -f|--force - install FW regardless the current version -3. -i|--image - update FW using current/next SONiC image - -Note: the default option is --image=current (current/next values are taken from `sonic-installer list`) +- Note: + - FW update will be disabled if component definition is not provided (e.g., 'BIOS': { }) + - FW version will be read from image if `version` field is not provided + - current/next values for _-i|--image_ are taken from `sonic-installer list` + ```bash + admin@sonic:~$ sudo sonic-installer list + Current: SONiC-OS-202012.0-fb89c28c9 + Next: SONiC-OS-201911.0-2bec3004e + Available: + SONiC-OS-202012.0-fb89c28c9 + SONiC-OS-201911.0-2bec3004e + ``` ### Platform Component Firmware vendor specific behaviour From c2ac2d2327acc90a35b33ddead070995034d457a Mon Sep 17 00:00:00 2001 From: vdahiya12 <67608553+vdahiya12@users.noreply.github.com> Date: Wed, 28 Jul 2021 10:47:45 -0700 Subject: [PATCH 249/342] [show] fix show muxcable metrics for sorted output (#1731) This PR fixes the display for show muxcable metrics by sorting the output based on the time of the event. This is required for better display. For example admin@str2-7050cx3-acs-12:~$ show mux metrics Ethernet0 PORT EVENT TIME --------- --------------------------- --------------------------- Ethernet0 xcvrd_switch_standby_start 2021-Jul-21 02:03:28.784027 Ethernet0 orch_switch_standby_end 2021-Jul-21 02:03:28.788150 Ethernet0 linkmgrd_switch_standby_end 2021-Jul-21 02:03:28.790288 Signed-off-by: vaibhav-dahiya --- show/muxcable.py | 7 +++++-- tests/muxcable_test.py | 8 ++++---- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/show/muxcable.py b/show/muxcable.py index c52dfa6d0e..41a3c7c4d5 100644 --- a/show/muxcable.py +++ b/show/muxcable.py @@ -6,6 +6,8 @@ import re import utilities_common.cli as clicommon from natsort import natsorted +from collections import OrderedDict +from operator import itemgetter from sonic_py_common import multi_asic from swsscommon.swsscommon import SonicV2Connector, ConfigDBConnector from swsscommon import swsscommon @@ -1003,11 +1005,12 @@ def metrics(db, port, json_output): metrics_dict[asic_index] = per_npu_statedb[asic_index].get_all( per_npu_statedb[asic_index].STATE_DB, 'MUX_METRICS_TABLE|{}'.format(port)) + ordered_dict = OrderedDict(sorted(metrics_dict[asic_index].items(), key=itemgetter(1))) if json_output: - click.echo("{}".format(json.dumps(metrics_dict[asic_index], indent=4))) + click.echo("{}".format(json.dumps(ordered_dict, indent=4))) else: print_data = [] - for key, val in metrics_dict[asic_index].items(): + for key, val in ordered_dict.items(): print_port_data = [] print_port_data.append(port) print_port_data.append(key) diff --git a/tests/muxcable_test.py b/tests/muxcable_test.py index 2d63a5d482..fc04fcc075 100644 --- a/tests/muxcable_test.py +++ b/tests/muxcable_test.py @@ -209,17 +209,17 @@ PORT EVENT TIME --------- ---------------------------- --------------------------- Ethernet0 linkmgrd_switch_active_start 2021-May-13 10:00:21.420898 -Ethernet0 linkmgrd_switch_standby_end 2021-May-13 10:01:15.696728 -Ethernet0 xcvrd_switch_standby_end 2021-May-13 10:01:15.696051 Ethernet0 xcvrd_switch_standby_start 2021-May-13 10:01:15.690835 +Ethernet0 xcvrd_switch_standby_end 2021-May-13 10:01:15.696051 +Ethernet0 linkmgrd_switch_standby_end 2021-May-13 10:01:15.696728 """ show_muxcable_metrics_expected_output_json = """\ { "linkmgrd_switch_active_start": "2021-May-13 10:00:21.420898", - "linkmgrd_switch_standby_end": "2021-May-13 10:01:15.696728", + "xcvrd_switch_standby_start": "2021-May-13 10:01:15.690835", "xcvrd_switch_standby_end": "2021-May-13 10:01:15.696051", - "xcvrd_switch_standby_start": "2021-May-13 10:01:15.690835" + "linkmgrd_switch_standby_end": "2021-May-13 10:01:15.696728" } """ From e9c73e834a6b08c056b916c46878f9b96c3f6a35 Mon Sep 17 00:00:00 2001 From: Dev Ojha <47282568+devadityaojha@users.noreply.github.com> Date: Wed, 28 Jul 2021 16:00:12 -0700 Subject: [PATCH 250/342] [CLI][MPLS][Show] Added multi ASIC support for 'show mpls command'. * Also added unit tests to test show command with various options. --- config/main.py | 2 +- show/interfaces/__init__.py | 75 +++++++---- show/main.py | 18 +++ tests/mock_tables/asic0/appl_db.json | 14 +- tests/mock_tables/asic1/appl_db.json | 9 ++ tests/mpls_input/appl_db.json | 25 +--- tests/mpls_test.py | 191 +++++++++++++++++++++++---- 7 files changed, 260 insertions(+), 74 deletions(-) diff --git a/config/main.py b/config/main.py index e680f65274..6c7547a5ee 100644 --- a/config/main.py +++ b/config/main.py @@ -4031,7 +4031,7 @@ def add(ctx, interface_name): config_db.set_entry(table_name, interface_name, {"mpls": "enable"}) # -# 'del' subcommand +# 'remove' subcommand # @mpls.command() diff --git a/show/interfaces/__init__.py b/show/interfaces/__init__.py index 204ba84e6c..458d3cc251 100644 --- a/show/interfaces/__init__.py +++ b/show/interfaces/__init__.py @@ -321,36 +321,65 @@ def expected(db, interfacename): click.echo(tabulate(body, header)) -# 'mpls' subcommand ("show interfaces mpls") @interfaces.command() @click.argument('interfacename', required=False) +@click.option('--namespace', '-n', 'namespace', default=None, + type=str, show_default=True, help='Namespace name or all', + callback=multi_asic_util.multi_asic_namespace_validation_callback) +@click.option('--display', '-d', 'display', default=None, show_default=False, + type=str, help='all|frontend') @click.pass_context -def mpls(ctx, interfacename): +def mpls(ctx, interfacename, namespace, display): """Show Interface MPLS status""" + + #Edge case: Force show frontend interfaces on single asic + if not (multi_asic.is_multi_asic()): + if (display == 'frontend' or display == 'all' or display is None): + display = None + else: + print("Error: Invalid display option command for single asic") + return + + masic = multi_asic_util.MultiAsic(display_option=display, namespace_option=namespace) + ns_list = masic.get_ns_list_based_on_options() + intfs_data = {} - appl_db = SonicV2Connector() - appl_db.connect(appl_db.APPL_DB) + for ns in ns_list: - if interfacename is not None: - interfacename = try_convert_interfacename_from_alias(ctx, interfacename) + appl_db = multi_asic.connect_to_all_dbs_for_ns(namespace=ns) - # Fetching data from appl_db for intfs - keys = appl_db.keys(appl_db.APPL_DB, "INTF_TABLE:*") - intfs_data = {} - for key in keys if keys else []: - tokens = key.split(":") - # Skip INTF_TABLE entries with address information - if len(tokens) != 2: - continue - - if (interfacename is not None) and (interfacename != tokens[1]): - continue - - mpls = appl_db.get(appl_db.APPL_DB, key, 'mpls') - if mpls is None or mpls == '': - intfs_data.update({tokens[1]: 'disable'}) - else: - intfs_data.update({tokens[1]: mpls}) + if interfacename is not None: + interfacename = try_convert_interfacename_from_alias(ctx, interfacename) + + # Fetching data from appl_db for intfs + keys = appl_db.keys(appl_db.APPL_DB, "INTF_TABLE:*") + for key in keys if keys else []: + tokens = key.split(":") + ifname = tokens[1] + # Skip INTF_TABLE entries with address information + if len(tokens) != 2: + continue + + if (interfacename is not None) and (interfacename != tokens[1]): + continue + + if (display != "all"): + if ("Loopback" in tokens[1]): + continue + + if ifname.startswith("Ethernet") and multi_asic.is_port_internal(ifname, ns): + continue + + if ifname.startswith("PortChannel") and multi_asic.is_port_channel_internal(ifname, ns): + continue + + + mpls_intf = appl_db.get_all(appl_db.APPL_DB, key) + + if 'mpls' not in mpls_intf or mpls_intf['mpls'] == 'disable': + intfs_data.update({tokens[1]: 'disable'}) + else: + intfs_data.update({tokens[1]: mpls_intf['mpls']}) header = ['Interface', 'MPLS State'] body = [] diff --git a/show/main.py b/show/main.py index c7f83920f6..024f488010 100755 --- a/show/main.py +++ b/show/main.py @@ -7,6 +7,7 @@ import click import utilities_common.cli as clicommon import utilities_common.multi_asic as multi_asic_util +from importlib import reload from natsort import natsorted from sonic_py_common import device_info from swsscommon.swsscommon import SonicV2Connector, ConfigDBConnector @@ -16,6 +17,23 @@ import utilities_common.constants as constants from utilities_common.general import load_db_config +# mock the redis for unit test purposes # +try: + if os.environ["UTILITIES_UNIT_TESTING"] == "2": + modules_path = os.path.join(os.path.dirname(__file__), "..") + tests_path = os.path.join(modules_path, "tests") + sys.path.insert(0, modules_path) + sys.path.insert(0, tests_path) + import mock_tables.dbconnector + if os.environ["UTILITIES_UNIT_TESTING_TOPOLOGY"] == "multi_asic": + import mock_tables.mock_multi_asic + reload(mock_tables.mock_multi_asic) + reload(mock_tables.dbconnector) + mock_tables.dbconnector.load_namespace_config() + +except KeyError: + pass + from . import acl from . import bgp_common from . import chassis_modules diff --git a/tests/mock_tables/asic0/appl_db.json b/tests/mock_tables/asic0/appl_db.json index 875a89fc8b..a708aa7fd6 100644 --- a/tests/mock_tables/asic0/appl_db.json +++ b/tests/mock_tables/asic0/appl_db.json @@ -80,5 +80,17 @@ "admin_status": "up", "mtu": "9100", "oper_status": "up" + }, + "INTF_TABLE:Ethernet0": { + "mpls":"enable" + }, + "INTF_TABLE:Ethernet4": { + "mpls":"disable" + }, + "INTF_TABLE:Ethernet-BP0": { + "mpls":"enable" + }, + "INTF_TABLE:Ethernet-BP4": { + "mpls":"disable" } -} \ No newline at end of file +} diff --git a/tests/mock_tables/asic1/appl_db.json b/tests/mock_tables/asic1/appl_db.json index ed5fbb2c3c..37e992c415 100644 --- a/tests/mock_tables/asic1/appl_db.json +++ b/tests/mock_tables/asic1/appl_db.json @@ -55,5 +55,14 @@ }, "LAG_MEMBER_TABLE:PortChannel4009:Ethernet-BP260": { "status": "enabled" + }, + "INTF_TABLE:Ethernet64": { + "mpls":"enable" + }, + "INTF_TABLE:Ethernet-BP256": { + "mpls":"disable" + }, + "INTF_TABLE:Ethernet-BP260": { + "mpls":"enable" } } diff --git a/tests/mpls_input/appl_db.json b/tests/mpls_input/appl_db.json index 0bdb59a3ff..4ba95edf0f 100644 --- a/tests/mpls_input/appl_db.json +++ b/tests/mpls_input/appl_db.json @@ -1,18 +1,15 @@ { - "INTF_TABLE:Ethernet16": { +"INTF_TABLE:Ethernet16": { "NULL": "NULL" }, "INTF_TABLE:Ethernet16:192.168.16.1/24": { "NULL": "NULL" }, - "INTF_TABLE:Ethernet2": { + "INTF_TABLE:Ethernet0": { "mpls": "enable" }, - "INTF_TABLE:Ethernet2:192.168.2.1/24": { - "NULL": "NULL" - }, "INTF_TABLE:Ethernet4": { - "NULL": "NULL" + "mpls": "enable" }, "INTF_TABLE:Ethernet4:192.168.4.1/24": { "NULL": "NULL" @@ -26,22 +23,10 @@ "INTF_TABLE:Ethernet8:192.168.8.1/24": { "NULL": "NULL" }, - "INTF_TABLE:Loopback0": { - "NULL": "NULL" - }, - "INTF_TABLE:Loopback0:192.168.0.1/24": { - "NULL": "NULL" - }, - "INTF_TABLE:PortChannel2": { + "INTF_TABLE:Ethernet12": { "mpls": "disable" }, - "INTF_TABLE:PortChannel2:10.0.0.56/31": { - "NULL": "NULL" - }, - "INTF_TABLE:Vlan2": { + "INTF_TABLE:Ethernet20": { "mpls": "enable" - }, - "INTF_TABLE:Vlan2:192.168.1.1/21": { - "NULL": "NULL" } } diff --git a/tests/mpls_test.py b/tests/mpls_test.py index a833ef61d3..b0c2d4fb80 100644 --- a/tests/mpls_test.py +++ b/tests/mpls_test.py @@ -1,4 +1,5 @@ import os +import importlib import sys import traceback from unittest import mock @@ -11,83 +12,215 @@ import show.main as show from utilities_common.db import Db -show_interfaces_mpls_output="""\ -Interface MPLS State ------------- ------------ -Ethernet2 enable -Ethernet4 disable -Ethernet8 disable -Ethernet16 disable -Loopback0 disable -PortChannel2 disable -Vlan2 enable +show_interfaces_mpls_output_frontend="""\ +Interface MPLS State +----------- ------------ +Ethernet0 enable +Ethernet4 enable +Ethernet8 disable +Ethernet12 disable +Ethernet16 disable +Ethernet20 enable """ -show_interfaces_mpls_specific_output="""\ +show_interfaces_mpls_masic_output_frontend="""\ Interface MPLS State ----------- ------------ -Ethernet2 enable +Ethernet0 enable +Ethernet4 disable +""" + +show_interfaces_mpls_masic_output_all="""\ +Interface MPLS State +-------------- ------------ +Ethernet0 enable +Ethernet4 disable +Ethernet64 enable +Ethernet-BP0 enable +Ethernet-BP4 disable +Ethernet-BP256 disable +Ethernet-BP260 enable +""" +show_interfaces_mpls_masic_output_asic_all="""\ +Interface MPLS State +------------ ------------ +Ethernet0 enable +Ethernet4 disable +Ethernet-BP0 enable +Ethernet-BP4 disable """ + modules_path = os.path.join(os.path.dirname(__file__), "..") test_path = os.path.join(modules_path, "tests") +scripts_path = os.path.join(modules_path, "scripts") sys.path.insert(0, modules_path) -sys.path.insert(0, test_path) mock_db_path = os.path.join(test_path, "mpls_input") - class TestMpls(object): @classmethod def setup_class(cls): print("SETUP") os.environ['UTILITIES_UNIT_TESTING'] = "1" + jsonfile = os.path.join(mock_db_path, 'appl_db') + dbconnector.dedicated_dbs['APPL_DB'] = jsonfile def test_config_mpls_add(self): runner = CliRunner() db = Db() obj = {'config_db':db.cfgdb} - result = runner.invoke(config.config.commands["interface"].commands["mpls"].commands["add"], ["Ethernet4"], obj=obj) + result = runner.invoke( + config.config.commands["interface"].commands["mpls"].commands["add"], + ["Ethernet8"], obj=obj + ) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert db.cfgdb.get_entry("INTERFACE", "Ethernet8") == {"mpls": "enable"} + + def test_show_interfaces_mpls_frontend(self): + + runner = CliRunner() + result = runner.invoke( + show.cli.commands["interfaces"].commands["mpls"], + ["-dfrontend"] + ) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == show_interfaces_mpls_output_frontend + + def test_show_interfaces_mpls(self): + runner = CliRunner() + result = runner.invoke( + show.cli.commands["interfaces"].commands["mpls"], [] + ) print(result.exit_code) print(result.output) assert result.exit_code == 0 - assert db.cfgdb.get_entry("INTERFACE", "Ethernet4") == {"mpls": "enable"} + assert result.output == show_interfaces_mpls_output_frontend + + def test_show_interfaces_mpls_dall(self): + runner = CliRunner() + result = runner.invoke( + show.cli.commands["interfaces"].commands["mpls"], + ["-dall"] + ) + print(result.output) + assert result.exit_code == 0 + assert result.output == show_interfaces_mpls_output_frontend def test_config_mpls_remove(self): runner = CliRunner() db = Db() obj = {'config_db':db.cfgdb} - result = runner.invoke(config.config.commands["interface"].commands["mpls"].commands["remove"], ["Ethernet4"], obj=obj) + result = runner.invoke( + config.config.commands["interface"].commands["mpls"].commands["remove"], + ["Ethernet8"], obj=obj + ) print(result.exit_code) print(result.output) assert result.exit_code == 0 - assert db.cfgdb.get_entry("INTERFACE", "Ethernet4") == {"mpls": "disable"} + assert db.cfgdb.get_entry("INTERFACE", "Ethernet8") == {"mpls": "disable"} - def test_show_interfaces_mpls(self): - jsonfile = os.path.join(mock_db_path, 'appl_db') - dbconnector.dedicated_dbs['APPL_DB'] = jsonfile + @classmethod + def teardown_class(cls): + print("TEARDOWN") + os.environ['UTILITIES_UNIT_TESTING'] = "0" + from .mock_tables import mock_single_asic + importlib.reload(mock_single_asic) + from .mock_tables import dbconnector + dbconnector.load_database_config() + dbconnector.dedicated_dbs['APPL_DB'] = {} + +class TestMplsMasic(object): + @classmethod + def setup_class(cls): + print("SETUP") + from .mock_tables import mock_multi_asic + importlib.reload(mock_multi_asic) + from .mock_tables import dbconnector + dbconnector.load_namespace_config() + + def test_config_mpls_masic_add(self): runner = CliRunner() - result = runner.invoke(show.cli.commands["interfaces"].commands["mpls"], []) + db = Db() + obj = {'config_db':db.cfgdb, 'namespace':'asic0'} + + result = runner.invoke( + config.config.commands["interface"].commands["mpls"].commands["add"], + ["Ethernet8"], obj=obj + ) print(result.exit_code) print(result.output) assert result.exit_code == 0 - assert result.output == show_interfaces_mpls_output + assert db.cfgdb.get_entry("INTERFACE", "Ethernet8") == {"mpls": "enable"} - def test_show_interfaces_mpls_specific(self): - jsonfile = os.path.join(mock_db_path, 'appl_db') - dbconnector.dedicated_dbs['APPL_DB'] = jsonfile + def test_show_interfaces_mpls_masic_frontend(self): runner = CliRunner() - result = runner.invoke(show.cli.commands["interfaces"].commands["mpls"], ["Ethernet2"]) + result = runner.invoke( + show.cli.commands["interfaces"].commands["mpls"], + ["-dfrontend"] + ) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == show_interfaces_mpls_masic_output_frontend + + def test_show_interfaces_mpls_masic_all(self): + runner = CliRunner() + result = runner.invoke( + show.cli.commands["interfaces"].commands["mpls"], + ["-dall"] + ) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == show_interfaces_mpls_masic_output_all + + def test_show_interfaces_mpls_masic_asic(self): + runner = CliRunner() + result = runner.invoke( + show.cli.commands["interfaces"].commands["mpls"], + ["-nasic0"] + ) + print(result.output) + assert result.exit_code == 0 + assert result.output == show_interfaces_mpls_masic_output_frontend + + def test_show_interfaces_mpls_masic_asic_all(self): + runner = CliRunner() + result = runner.invoke( + show.cli.commands["interfaces"].commands["mpls"], + ["-nasic0", "-dall"] + ) + print(result.output) + assert result.exit_code == 0 + assert result.output == show_interfaces_mpls_masic_output_asic_all + + def test_config_mpls_masic_remove(self): + runner = CliRunner() + db = Db() + obj = {'config_db':db.cfgdb, 'namespace':'asic0'} + + result = runner.invoke( + config.config.commands["interface"].commands["mpls"].commands["remove"], + ["Ethernet8"], obj=obj + ) print(result.exit_code) print(result.output) assert result.exit_code == 0 - assert result.output == show_interfaces_mpls_specific_output + assert db.cfgdb.get_entry("INTERFACE", "Ethernet8") == {"mpls": "disable"} @classmethod def teardown_class(cls): print("TEARDOWN") os.environ['UTILITIES_UNIT_TESTING'] = "0" - dbconnector.dedicated_dbs['APPL_DB'] = None + from .mock_tables import mock_single_asic + importlib.reload(mock_single_asic) + from .mock_tables import dbconnector + dbconnector.load_database_config() From 679a4ba602cc4c1ea77b52e1c782e8663d99e03b Mon Sep 17 00:00:00 2001 From: Ann Pokora <44511240+qbdwlr@users.noreply.github.com> Date: Thu, 29 Jul 2021 12:52:16 -0400 Subject: [PATCH 251/342] [MACsec]: Allow upgrade-docker for macsec container (#1716) --- sonic_installer/main.py | 1 + 1 file changed, 1 insertion(+) diff --git a/sonic_installer/main.py b/sonic_installer/main.py index bab1166422..fde23dd5ed 100644 --- a/sonic_installer/main.py +++ b/sonic_installer/main.py @@ -554,6 +554,7 @@ def cleanup(): "bgp", "dhcp_relay", "lldp", + "macsec", "nat", "pmon", "radv", From 8a74d038f1f2cdda726de0447b3e5d7df9e9c393 Mon Sep 17 00:00:00 2001 From: arlakshm <55814491+arlakshm@users.noreply.github.com> Date: Fri, 30 Jul 2021 08:55:45 -0700 Subject: [PATCH 252/342] [CLI][show][bgp] Fix the show ip bgp network command (#1733) Signed-off-by: Arvindsrinivasan Lakshmi Narasimhan --- show/bgp_frr_v4.py | 2 +- show/bgp_frr_v6.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/show/bgp_frr_v4.py b/show/bgp_frr_v4.py index 4a3e065200..e68efe5289 100644 --- a/show/bgp_frr_v4.py +++ b/show/bgp_frr_v4.py @@ -97,7 +97,7 @@ def neighbors(ipaddress, info_type, namespace): show_default=True, required=True if multi_asic.is_multi_asic is True else False, help='Namespace name or all', - default=None, + default=multi_asic.DEFAULT_NAMESPACE, callback=multi_asic_util.multi_asic_namespace_validation_callback) def network(ipaddress, info_type, namespace): """Show IP (IPv4) BGP network""" diff --git a/show/bgp_frr_v6.py b/show/bgp_frr_v6.py index eb1a5b641b..e36e66ce08 100644 --- a/show/bgp_frr_v6.py +++ b/show/bgp_frr_v6.py @@ -96,7 +96,7 @@ def neighbors(ipaddress, info_type, namespace): show_default=True, required=True if multi_asic.is_multi_asic is True else False, help='Namespace name or all', - default=None, + default=multi_asic.DEFAULT_NAMESPACE, callback=multi_asic_util.multi_asic_namespace_validation_callback) def network(ipaddress, info_type, namespace): """Show BGP ipv6 network""" From dd01b5600994b3e51ba46ab06c96d58ae4fb30dd Mon Sep 17 00:00:00 2001 From: Renuka Manavalan <47282725+renukamanavalan@users.noreply.github.com> Date: Mon, 2 Aug 2021 09:13:15 -0700 Subject: [PATCH 253/342] disk_check updates: (#1736) 1) Set default loglevel to SYSLOG_ERR 2) Make log level configurable via args --- scripts/disk_check.py | 21 +++++++++++++++------ tests/disk_check_test.py | 17 ++++++++++++++++- 2 files changed, 31 insertions(+), 7 deletions(-) diff --git a/scripts/disk_check.py b/scripts/disk_check.py index 94959bfa1a..b13f1335f0 100644 --- a/scripts/disk_check.py +++ b/scripts/disk_check.py @@ -33,19 +33,23 @@ WORK_DIR = "/run/mount/work" MOUNTS_FILE = "/proc/mounts" +chk_log_level = syslog.LOG_ERR + +def _log_msg(lvl, pfx, msg): + if lvl <= chk_log_level: + print("{}: {}".format(pfx, msg)) + syslog.syslog(lvl, msg) + def log_err(m): - print("Err: {}".format(m), file=sys.stderr) - syslog.syslog(syslog.LOG_ERR, m) + _log_msg(syslog.LOG_ERR, "Err", m) def log_info(m): - print("Info: {}".format(m)) - syslog.syslog(syslog.LOG_INFO, m) + _log_msg(syslog.LOG_INFO, "Info", m) def log_debug(m): - print("debug: {}".format(m)) - syslog.syslog(syslog.LOG_DEBUG, m) + _log_msg(syslog.LOG_DEBUG, "Debug", m) def test_writable(dirs): @@ -135,14 +139,19 @@ def do_check(skip_mount, dirs): def main(): + global chk_log_level + parser=argparse.ArgumentParser( description="check disk for Read-Write and mount etc & home as Read-Write") parser.add_argument('-s', "--skip-mount", action='store_true', default=False, help="Skip mounting /etc & /home as Read-Write") parser.add_argument('-d', "--dirs", default="/etc,/home", help="dirs to mount") + parser.add_argument('-l', "--loglvl", default=syslog.LOG_ERR, type=int, + help="log level") args = parser.parse_args() + chk_log_level = args.loglvl ret = do_check(args.skip_mount, args.dirs.split(",")) return ret diff --git a/tests/disk_check_test.py b/tests/disk_check_test.py index 40bc55f0f5..b5ad7a489c 100644 --- a/tests/disk_check_test.py +++ b/tests/disk_check_test.py @@ -56,6 +56,7 @@ } err_data = "" +max_log_lvl = -1 cmds = [] current_tc = None @@ -66,6 +67,11 @@ def mount_file(d): def report_err_msg(lvl, m): global err_data + global max_log_lvl + + if lvl > max_log_lvl: + max_log_lvl = lvl + if lvl == syslog.LOG_ERR: if err_data: err_data += "|" @@ -123,11 +129,16 @@ def setup(self): @patch("disk_check.syslog.syslog") @patch("disk_check.subprocess.run") def test_readonly(self, mock_proc, mock_log): - global err_data, cmds + global err_data, cmds, max_log_lvl mock_proc.side_effect = mock_subproc_run mock_log.side_effect = report_err_msg + with patch('sys.argv', ["", "-l", "7", "-d", "/tmp"]): + disk_check.main() + assert max_log_lvl == syslog.LOG_DEBUG + max_log_lvl = -1 + for i, tc in test_data.items(): print("-----------Start tc {}---------".format(i)) init_tc(tc) @@ -159,3 +170,7 @@ def test_readonly(self, mock_proc, mock_log): assert err_data == tc["err"] assert cmds == tc.get("cmds", []) print("-----------End tc {}-----------".format(i)) + + + assert max_log_lvl == syslog.LOG_ERR + From 394e2fbe272725c0b3b2fec1d183b6bb02b22f78 Mon Sep 17 00:00:00 2001 From: bingwang-ms <66248323+bingwang-ms@users.noreply.github.com> Date: Tue, 3 Aug 2021 08:49:33 +0800 Subject: [PATCH 254/342] Implement script null_route_helper (#1737) Signed-off-by: bingwang --- scripts/null_route_helper | 267 +++++++++++++++++++++++++++++++ setup.py | 3 +- tests/aclshow_test.py | 72 +++++---- tests/mock_tables/config_db.json | 48 ++++++ tests/null_route_helper_test.py | 206 ++++++++++++++++++++++++ 5 files changed, 567 insertions(+), 29 deletions(-) create mode 100755 scripts/null_route_helper create mode 100644 tests/null_route_helper_test.py diff --git a/scripts/null_route_helper b/scripts/null_route_helper new file mode 100755 index 0000000000..2813ff5971 --- /dev/null +++ b/scripts/null_route_helper @@ -0,0 +1,267 @@ +#!/usr/bin/env python3 + +""" +Utility for blocking and unblocking traffic from given source ip address on ACL tables. + +The block operation will insert a DENY rule at the top of the table. The unblock operation +will remove an existing DENY rule that has been created by the block operation (i.e. it does +NOT insert an ALLOW rule, only removes DENY rules). + +Since SONiC supports multi ACL rules share the same priority, all ACL rules created by null_route_helper will +use the highest priority(9999). + +Example: + +Block traffic from 10.2.3.4: +./null_route_helper block acl_table_name 10.2.3.4 + +Unblock all traffic from 10.2.3.4: +./null_route_helper unblock acl_table_name 10.2.3.4 + +List all acl rules added by this script +./null_route_helper list acl_table_name +""" + + +from __future__ import print_function + +import syslog +import sys +import click +import ipaddress +import tabulate + +from swsscommon.swsscommon import ConfigDBConnector + + +CONFIG_DB_ACL_TABLE_TABLE = "ACL_TABLE" +CONFIG_DB_ACL_RULE_TABLE = "ACL_RULE" +CONFIG_DB_VLAN_TABLE = "VLAN" + +ACTION_ALLOW = "FORWARD" +ACTION_DENY = "DROP" +ACTION_LIST = "LIST" + +# Since SONiC supports multi ACL rules share the same priority, we use 9999 (the highest) for all rules +ACL_RULE_PRIORITY = 9999 +# The key of rule will be overridden with BLOCK_RULE_ + ip +ACL_RULE_PREFIX = 'BLOCK_RULE_' + +# Internet Protocol version 4 EtherType +ETHER_TYPE_IPV4 = 0x0800 + +def notice(msg): + """ + Log a NOTICE message to the console and syslog + """ + syslog.syslog(syslog.LOG_NOTICE, msg) + print(msg) + + +def error(msg): + """ + Log an ERR message to the console and syslog, and exit the program with an error code + """ + syslog.syslog(syslog.LOG_ERR, msg) + print(msg, file=sys.stderr) + sys.exit(1) + + +def ip_ver(ip_prefix): + return ipaddress.ip_network(ip_prefix, False).version + + +def confirm_required_table_existence(configdb, sub_table_name): + """ + Check the existence of required ACL table, and exit if absent + """ + target_table = configdb.get_entry(CONFIG_DB_ACL_TABLE_TABLE, sub_table_name) + + if not target_table: + error("Table {} not found, exiting...".format(sub_table_name)) + + return True + + +def get_acl_rule_key(ip_prefix): + """ + Get the key that will be used to refer to the ACL rule used to block traffic from a source ip. + Since the rules are all given the same priority in SONiC, we can't identify a rule based on the priority. + So, we use the destination IP being blocked to give each rule a unique name in the system. + """ + return ACL_RULE_PREFIX + str(ip_prefix) + + +def get_all_acl_rules(configdb, table_name): + """ + Return a dict of existed acl rules + {(u'NULL_ROUTE_TABLE', u'BLOCK_RULE_1.1.1.1/32'): {'PRIORITY': '9999', 'PACKET_ACTION': 'FORWARD', 'SRC_IP': '1.1.1.1/32'},...} + """ + key = CONFIG_DB_ACL_RULE_TABLE + '|' + table_name + all_rules = configdb.get_table(key) + block_rules = {} + for k, v in all_rules.items(): + if k[1].startswith(ACL_RULE_PREFIX): + block_rules[k] = v + + return block_rules + + +def validate_input(ip_address): + """ + Validate the format of input + """ + try: + ip_n = ipaddress.ip_network(ip_address, False) + ver = ip_n.version + prefix_len = ip_n.prefixlen + # Prefix len must be 32 for IPV4 and 128 for IPV6 + if ver == 4 and prefix_len == 32 or ver == 6 and prefix_len == 128: + return ip_n.with_prefixlen + + error("Prefix length must be 32 (IPv4) or 128 (IPv6)") + except ValueError as e: + error("Could not parse {} as a valid IP address; exception={}".format(ip_address, e)) + + +def build_acl_rule(priority, src_ip): + """ + Bild DROP rule for given src_ip and priority + """ + rule = { + "PRIORITY": str(priority), + "PACKET_ACTION": "DROP" + } + if ip_ver(src_ip) == 4: + rule['ETHER_TYPE'] = str(ETHER_TYPE_IPV4) + rule['SRC_IP'] = src_ip + else: + rule['IP_TYPE'] = 'IPV6ANY' + rule['SRC_IPV6'] = src_ip + + return rule + + +def get_rule(configdb, table_name, ip_prefix): + """ + Get Acl rule for given ip_prefix + """ + key_name = 'SRC_IP' if ip_ver(ip_prefix) == 4 else 'SRC_IPV6' + all_rules = get_all_acl_rules(configdb, table_name) + for key, rule in all_rules.items(): + if ip_prefix == rule.get(key_name, None): + if ip_prefix: + return {key: rule} + + return None + + +def update_acl_table(configdb, acl_table_name, ip_prefix, action): + """ + Update ACL table to apply new rules for given ip_prefix. 'action' is supposed to be in ['DENY', 'ALLOW'] + For 'DENY', an 'DROP' rule for given ip_prefix will be added if not existed + For 'ALLOW', we will try to remove the existing 'DENY' rule, and nothing is changed if not existed + """ + confirm_required_table_existence(configdb, acl_table_name) + rule = get_rule(configdb, acl_table_name, ip_prefix) + rule_key = list(rule.keys())[0] if rule else None + rule_value = list(rule.values())[0] if rule else None + if action == ACTION_ALLOW: + if not rule: + return + # Delete existing BLOCK rule for given ip_prefix + # Pass None as data will delete the entry + configdb.mod_entry(CONFIG_DB_ACL_RULE_TABLE, rule_key, None) + else: + if rule: + if rule_value['PACKET_ACTION'] == 'DROP': + return + else: + # If there is 'FORWARDED' ACL rule, then change it to 'DROP' + rule_value['PACKET_ACTION'] = 'DROP' + configdb.mod_entry(CONFIG_DB_ACL_RULE_TABLE, rule_key, rule_value) + else: + priority = ACL_RULE_PRIORITY + new_rule_key = (acl_table_name, get_acl_rule_key(ip_prefix)) + new_rule_value = build_acl_rule(priority, ip_prefix) + configdb.set_entry(CONFIG_DB_ACL_RULE_TABLE, new_rule_key, new_rule_value) + + +def list_all_null_route_rules(configdb, table_name): + """ + List all rules added by this script + """ + + confirm_required_table_existence(configdb, table_name) + header = ("Table", "Rule", "Priority", "Action", "Match") + all_rules = get_all_acl_rules(configdb, table_name) + + match_keys = ["SRC_IP", "SRC_IPV6"] + data = [] + for (_, rule_id), rule in all_rules.items(): + priority = rule.get("PRIORITY", "N/A") + action = rule.get("PACKET_ACTION", "N/A") + match = "N/A" + for k in match_keys: + if k in rule: + match = rule[k] + break + + data.append([table_name, rule_id, priority, action, match]) + + print(tabulate.tabulate(data, headers=header, tablefmt="simple", missingval="")) + + +def null_route_helper(table_name, action, ip_prefix=None): + """ + Helper function called by 'click'. + """ + configdb = ConfigDBConnector() + configdb.connect() + if action == ACTION_LIST: + list_all_null_route_rules(configdb, table_name) + else: + ip_prefix = validate_input(ip_prefix) + update_acl_table(configdb, table_name, ip_prefix, action) + + +@click.group() +def cli(): + pass + + +# ./null_route_helper block table_name 1.2.3.4 +@cli.command('block') +@click.argument("table_name", type=click.STRING, required=True) +@click.argument("ip_prefix", type=click.STRING, required=True) +def block(table_name, ip_prefix): + """ + Block traffic from given src ip prefix + """ + null_route_helper(table_name, ACTION_DENY, ip_prefix) + + +# ./null_route_helper unblock table_name 1.2.3.4 +@cli.command('unblock') +@click.argument("table_name", type=click.STRING, required=True) +@click.argument("ip_prefix", type=click.STRING, required=True) +def unblock(table_name, ip_prefix): + """ + Unblock traffic from given src ip prefix + """ + null_route_helper(table_name, ACTION_ALLOW, ip_prefix) + + +# ./null_route_helper list table_name +@cli.command('list') +@click.argument("table_name", type=click.STRING, required=True) +def list_rules(table_name): + """ + List all rules *added by this script* + """ + null_route_helper(table_name, ACTION_LIST) + + +if __name__ == "__main__": + cli() + diff --git a/setup.py b/setup.py index 6c8a349c69..5847b6e6ee 100644 --- a/setup.py +++ b/setup.py @@ -130,7 +130,8 @@ 'scripts/watermarkstat', 'scripts/watermarkcfg', 'scripts/sonic-kdump-config', - 'scripts/centralize_database' + 'scripts/centralize_database', + 'scripts/null_route_helper' ], entry_points={ 'console_scripts': [ diff --git a/tests/aclshow_test.py b/tests/aclshow_test.py index e41d56b9eb..9529be3689 100644 --- a/tests/aclshow_test.py +++ b/tests/aclshow_test.py @@ -35,19 +35,27 @@ # Expected output for aclshow -a all_output = """\ -RULE NAME TABLE NAME PRIO PACKETS COUNT BYTES COUNT ------------- ------------ ------ --------------- ------------- -RULE_1 DATAACL 9999 101 100 -RULE_2 DATAACL 9998 201 200 -RULE_3 DATAACL 9997 301 300 -RULE_4 DATAACL 9996 401 400 -RULE_05 DATAACL 9995 0 0 -RULE_7 DATAACL 9993 701 700 -RULE_9 DATAACL 9991 901 900 -RULE_10 DATAACL 9989 1001 1000 -DEFAULT_RULE DATAACL 1 2 1 -RULE_6 EVERFLOW 9994 601 600 -RULE_08 EVERFLOW 9992 0 0 +RULE NAME TABLE NAME PRIO PACKETS COUNT BYTES COUNT +------------------------------------- ------------- ------ --------------- ------------- +RULE_1 DATAACL 9999 101 100 +RULE_2 DATAACL 9998 201 200 +RULE_3 DATAACL 9997 301 300 +RULE_4 DATAACL 9996 401 400 +RULE_05 DATAACL 9995 0 0 +RULE_7 DATAACL 9993 701 700 +RULE_9 DATAACL 9991 901 900 +RULE_10 DATAACL 9989 1001 1000 +DEFAULT_RULE DATAACL 1 2 1 +RULE_6 EVERFLOW 9994 601 600 +RULE_08 EVERFLOW 9992 0 0 +RULE_1 NULL_ROUTE_V4 9999 N/A N/A +BLOCK_RULE_10.0.0.2/32 NULL_ROUTE_V4 9999 N/A N/A +BLOCK_RULE_10.0.0.3/32 NULL_ROUTE_V4 9999 N/A N/A +DEFAULT_RULE NULL_ROUTE_V4 1 N/A N/A +RULE_1 NULL_ROUTE_V6 9999 N/A N/A +BLOCK_RULE_1000:1000:1000:1000::2/128 NULL_ROUTE_V6 9999 N/A N/A +BLOCK_RULE_1000:1000:1000:1000::3/128 NULL_ROUTE_V6 9999 N/A N/A +DEFAULT_RULE NULL_ROUTE_V6 1 N/A N/A """ # Expected output for aclshow -r RULE_1 -t DATAACL @@ -80,8 +88,8 @@ # Expected output for aclshow -r RULE_4,RULE_6 -vv rule4_rule6_verbose_output = """\ Reading ACL info... -Total number of ACL Tables: 8 -Total number of ACL Rules: 11 +Total number of ACL Tables: 10 +Total number of ACL Rules: 19 RULE NAME TABLE NAME PRIO PACKETS COUNT BYTES COUNT ----------- ------------ ------ --------------- ------------- @@ -116,19 +124,27 @@ # Expected output for # aclshow -a -c ; aclshow -a all_after_clear_output = """\ -RULE NAME TABLE NAME PRIO PACKETS COUNT BYTES COUNT ------------- ------------ ------ --------------- ------------- -RULE_1 DATAACL 9999 0 0 -RULE_2 DATAACL 9998 0 0 -RULE_3 DATAACL 9997 0 0 -RULE_4 DATAACL 9996 0 0 -RULE_05 DATAACL 9995 0 0 -RULE_7 DATAACL 9993 0 0 -RULE_9 DATAACL 9991 0 0 -RULE_10 DATAACL 9989 0 0 -DEFAULT_RULE DATAACL 1 0 0 -RULE_6 EVERFLOW 9994 0 0 -RULE_08 EVERFLOW 9992 0 0 +RULE NAME TABLE NAME PRIO PACKETS COUNT BYTES COUNT +------------------------------------- ------------- ------ --------------- ------------- +RULE_1 DATAACL 9999 0 0 +RULE_2 DATAACL 9998 0 0 +RULE_3 DATAACL 9997 0 0 +RULE_4 DATAACL 9996 0 0 +RULE_05 DATAACL 9995 0 0 +RULE_7 DATAACL 9993 0 0 +RULE_9 DATAACL 9991 0 0 +RULE_10 DATAACL 9989 0 0 +DEFAULT_RULE DATAACL 1 0 0 +RULE_6 EVERFLOW 9994 0 0 +RULE_08 EVERFLOW 9992 0 0 +RULE_1 NULL_ROUTE_V4 9999 N/A N/A +BLOCK_RULE_10.0.0.2/32 NULL_ROUTE_V4 9999 N/A N/A +BLOCK_RULE_10.0.0.3/32 NULL_ROUTE_V4 9999 N/A N/A +DEFAULT_RULE NULL_ROUTE_V4 1 N/A N/A +RULE_1 NULL_ROUTE_V6 9999 N/A N/A +BLOCK_RULE_1000:1000:1000:1000::2/128 NULL_ROUTE_V6 9999 N/A N/A +BLOCK_RULE_1000:1000:1000:1000::3/128 NULL_ROUTE_V6 9999 N/A N/A +DEFAULT_RULE NULL_ROUTE_V6 1 N/A N/A """ diff --git a/tests/mock_tables/config_db.json b/tests/mock_tables/config_db.json index 430fe3b162..4c60cf992a 100644 --- a/tests/mock_tables/config_db.json +++ b/tests/mock_tables/config_db.json @@ -373,6 +373,44 @@ "VLAN_SUB_INTERFACE|Ethernet0.10": { "admin_status": "up" }, + "ACL_RULE|NULL_ROUTE_V4|DEFAULT_RULE": { + "PACKET_ACTION": "DROP", + "PRIORITY": "1" + }, + "ACL_RULE|NULL_ROUTE_V4|RULE_1": { + "PACKET_ACTION": "DROP", + "PRIORITY": "9999", + "SRC_IP": "10.0.0.1/32" + }, + "ACL_RULE|NULL_ROUTE_V4|BLOCK_RULE_10.0.0.2/32": { + "PACKET_ACTION": "DROP", + "PRIORITY": "9999", + "SRC_IP": "10.0.0.2/32" + }, + "ACL_RULE|NULL_ROUTE_V4|BLOCK_RULE_10.0.0.3/32": { + "PACKET_ACTION": "FORWARD", + "PRIORITY": "9999", + "SRC_IP": "10.0.0.3/32" + }, + "ACL_RULE|NULL_ROUTE_V6|DEFAULT_RULE": { + "PACKET_ACTION": "DROP", + "PRIORITY": "1" + }, + "ACL_RULE|NULL_ROUTE_V6|RULE_1": { + "PACKET_ACTION": "DROP", + "PRIORITY": "9999", + "SRC_IPV6": "1000:1000:1000:1000::1/128" + }, + "ACL_RULE|NULL_ROUTE_V6|BLOCK_RULE_1000:1000:1000:1000::2/128": { + "PACKET_ACTION": "DROP", + "PRIORITY": "9999", + "SRC_IPV6":"1000:1000:1000:1000::2/128" + }, + "ACL_RULE|NULL_ROUTE_V6|BLOCK_RULE_1000:1000:1000:1000::3/128": { + "PACKET_ACTION": "FORWARD", + "PRIORITY": "9999", + "SRC_IPV6":"1000:1000:1000:1000::3/128" + }, "ACL_RULE|DATAACL|DEFAULT_RULE": { "PACKET_ACTION": "DROP", "PRIORITY": "1" @@ -427,6 +465,16 @@ "priority": "9989", "SRC_IP": "10.0.0.3/32" }, + "ACL_TABLE|NULL_ROUTE_V4": { + "policy_desc": "DATAACL", + "ports@": "PortChannel0002,PortChannel0005,PortChannel0008,PortChannel0011,PortChannel0014,PortChannel0017,PortChannel0020,PortChannel0023", + "type": "L3" + }, + "ACL_TABLE|NULL_ROUTE_V6": { + "policy_desc": "DATAACL", + "ports@": "PortChannel0002,PortChannel0005,PortChannel0008,PortChannel0011,PortChannel0014,PortChannel0017,PortChannel0020,PortChannel0023", + "type": "L3V6" + }, "ACL_TABLE|DATAACL": { "policy_desc": "DATAACL", "ports@": "PortChannel0002,PortChannel0005,PortChannel0008,PortChannel0011,PortChannel0014,PortChannel0017,PortChannel0020,PortChannel0023,Ethernet64,Ethernet68,Ethernet72,Ethernet76,Ethernet80,Ethernet84,Ethernet88,Ethernet92,Ethernet96,Ethernet100,Ethernet104,Ethernet108,Ethernet112,Ethernet116,Ethernet120,Ethernet124", diff --git a/tests/null_route_helper_test.py b/tests/null_route_helper_test.py new file mode 100644 index 0000000000..f07a981aa3 --- /dev/null +++ b/tests/null_route_helper_test.py @@ -0,0 +1,206 @@ +import pytest +import os +import imp + +from click.testing import CliRunner +from swsssdk import ConfigDBConnector + +null_route_helper = imp.load_source('null_route_helper', os.path.join(os.path.dirname(__file__), '..', 'scripts','null_route_helper')) +null_route_helper.ConfigDBConnector = ConfigDBConnector + +expected_stdout_v4 = "" + \ +"""Table Rule Priority Action Match +------------- ---------------------- ---------- -------- ----------- +NULL_ROUTE_V4 BLOCK_RULE_10.0.0.2/32 9999 DROP 10.0.0.2/32 +NULL_ROUTE_V4 BLOCK_RULE_10.0.0.3/32 9999 FORWARD 10.0.0.3/32 +""" + +expected_stdout_v6 = "" + \ +"""Table Rule Priority Action Match +------------- ------------------------------------- ---------- -------- -------------------------- +NULL_ROUTE_V6 BLOCK_RULE_1000:1000:1000:1000::2/128 9999 DROP 1000:1000:1000:1000::2/128 +NULL_ROUTE_V6 BLOCK_RULE_1000:1000:1000:1000::3/128 9999 FORWARD 1000:1000:1000:1000::3/128 +""" + +def test_ip_validation(): + # Verify prefix len will be appended if not set + assert(null_route_helper.validate_input("1.2.3.4") == "1.2.3.4/32") + assert(null_route_helper.validate_input("::1") == "::1/128") + + assert(null_route_helper.validate_input("1.2.3.4/32") == "1.2.3.4/32") + + assert(null_route_helper.validate_input("1000:1000:1000:1000::1/128") == "1000:1000:1000:1000::1/128") + + with pytest.raises(SystemExit) as e: + null_route_helper.validate_input("a.b.c.d") + assert(e.value.code != 0) + + with pytest.raises(SystemExit) as e: + null_route_helper.validate_input("1.2.3.4/21/32") + assert(e.value.code != 0) + + # Verify only 32 prefix len is accepted for IPv4 + with pytest.raises(SystemExit) as e: + null_route_helper.validate_input("1.2.3.4/21") + assert(e.value.code != 0) + + # Verify only 128 prefix len is accepted for IPv6 + with pytest.raises(SystemExit) as e: + null_route_helper.validate_input("1000:1000:1000:1000::1/120") + assert(e.value.code != 0) + + +def test_confirm_required_table_existence(): + configdb = ConfigDBConnector() + configdb.connect() + + assert(null_route_helper.confirm_required_table_existence(configdb, "NULL_ROUTE_V4")) + assert(null_route_helper.confirm_required_table_existence(configdb, "NULL_ROUTE_V6")) + + with pytest.raises(SystemExit) as e: + null_route_helper.confirm_required_table_existence(configdb, "NULL_ROUTE_FAKE") + assert(e.value.code != 0) + + +def test_build_rule(): + expected_rule_v4 = { + "PRIORITY": "9999", + "PACKET_ACTION": "DROP", + "ETHER_TYPE": "2048", + "SRC_IP": "1.2.3.4/32" + } + expected_rule_v6 = { + "PRIORITY": "9999", + "PACKET_ACTION": "DROP", + "IP_TYPE": "IPV6ANY", + "SRC_IPV6": "1000:1000:1000:1000::1/128" + } + + assert(null_route_helper.build_acl_rule(9999, "1.2.3.4/32") == expected_rule_v4) + assert(null_route_helper.build_acl_rule(9999, "1000:1000:1000:1000::1/128") == expected_rule_v6) + + +def test_get_rule(): + configdb = ConfigDBConnector() + configdb.connect() + + assert(null_route_helper.get_rule(configdb, "NULL_ROUTE_ABSENT", "10.0.0.1/32") == None) + + assert(null_route_helper.get_rule(configdb, "NULL_ROUTE_V4", "10.0.0.1/32") == None) + assert(null_route_helper.get_rule(configdb, "NULL_ROUTE_V4", "10.0.0.2/32")) + + assert(null_route_helper.get_rule(configdb, "NULL_ROUTE_V6", "1000:1000:1000:1000::1/128") == None) + assert(null_route_helper.get_rule(configdb, "NULL_ROUTE_V6", "1000:1000:1000:1000::2/128")) + + +def test_run_when_table_absent(): + runner = CliRunner() + + result = runner.invoke(null_route_helper.cli.commands['block'], ['TABLE_ABSENT', '1.2.3.4']) + assert(result.exit_code != 0) + assert("not found" in result.output) + + result = runner.invoke(null_route_helper.cli.commands['unblock'], ['TABLE_ABSENT', '1.2.3.4']) + assert(result.exit_code != 0) + assert("not found" in result.output) + + +def test_run_with_invalid_ip(): + runner = CliRunner() + + result = runner.invoke(null_route_helper.cli.commands['block'], ['NULL_ROUTE_V4', 'a.b.c.d']) + assert(result.exit_code != 0) + assert("as a valid IP address" in result.output) + + result = runner.invoke(null_route_helper.cli.commands['block'], ['NULL_ROUTE_V6', 'xx:xx:xx:xx']) + assert(result.exit_code != 0) + assert("as a valid IP address" in result.output) + + result = runner.invoke(null_route_helper.cli.commands['unblock'], ['NULL_ROUTE_V4', 'a.b.c.d']) + assert(result.exit_code != 0) + assert("as a valid IP address" in result.output) + + result = runner.invoke(null_route_helper.cli.commands['unblock'], ['NULL_ROUTE_V6', 'xx:xx:xx:xx']) + assert(result.exit_code != 0) + assert("as a valid IP address" in result.output) + + result = runner.invoke(null_route_helper.cli.commands['block'], ['NULL_ROUTE_V4', '1.2.3.4/21']) + assert(result.exit_code != 0) + assert("Prefix length must be" in result.output) + + result = runner.invoke(null_route_helper.cli.commands['block'], ['NULL_ROUTE_V6', '::1/120']) + assert(result.exit_code != 0) + assert("Prefix length must be" in result.output) + + +def test_block(): + runner = CliRunner() + + # Verify block ip that is already blocked + result = runner.invoke(null_route_helper.cli.commands['block'], ['NULL_ROUTE_V4', '10.0.0.2/32']) + assert(result.exit_code == 0) + + # Verify block ip that is marked as forward + result = runner.invoke(null_route_helper.cli.commands['block'], ['NULL_ROUTE_V4', '10.0.0.3/32']) + assert(result.exit_code == 0) + + # Verify unblock ip that is not present in any rule + result = runner.invoke(null_route_helper.cli.commands['block'], ['NULL_ROUTE_V4', '10.0.0.4/32']) + assert(result.exit_code == 0) + + # Verify block ipv6 that is already blocked + result = runner.invoke(null_route_helper.cli.commands['block'], ['NULL_ROUTE_V6', '1000:1000:1000:1000::2/128']) + assert(result.exit_code == 0) + + # Verify block ipv6 that is marked as forward + result = runner.invoke(null_route_helper.cli.commands['block'], ['NULL_ROUTE_V6', '1000:1000:1000:1000::3/128']) + assert(result.exit_code == 0) + + # Verify block ipv6 that is not present in any rule + result = runner.invoke(null_route_helper.cli.commands['block'], ['NULL_ROUTE_V6', '1000:1000:1000:1000::4/128']) + assert(result.exit_code == 0) + + +def test_unblock(): + runner = CliRunner() + + # Verify unblock ip that is blocked + result = runner.invoke(null_route_helper.cli.commands['unblock'], ['NULL_ROUTE_V4', '10.0.0.2/32']) + assert(result.exit_code == 0) + + # Verify unblock ip that is not blocked + result = runner.invoke(null_route_helper.cli.commands['unblock'], ['NULL_ROUTE_V4', '10.0.0.3/32']) + assert(result.exit_code == 0) + + # Verify unblock ip that is not present in any rule + result = runner.invoke(null_route_helper.cli.commands['unblock'], ['NULL_ROUTE_V4', '10.0.0.4/32']) + assert(result.exit_code == 0) + + # Verify unblock ipv6 that is blocked + result = runner.invoke(null_route_helper.cli.commands['unblock'], ['NULL_ROUTE_V6', '1000:1000:1000:1000::2/128']) + assert(result.exit_code == 0) + + # Verify unblock ipv6 that is marked as forward + result = runner.invoke(null_route_helper.cli.commands['unblock'], ['NULL_ROUTE_V6', '1000:1000:1000:1000::3/128']) + assert(result.exit_code == 0) + + # Verify unblock ipv6 that is not present in any rule + result = runner.invoke(null_route_helper.cli.commands['unblock'], ['NULL_ROUTE_V6', '1000:1000:1000:1000::4/128']) + assert(result.exit_code == 0) + + +def test_list(): + runner = CliRunner() + + # Verify list rules in non-existing table + result = runner.invoke(null_route_helper.cli.commands['list'], ['FAKE_NULL_ROUTE_V4']) + assert(result.exit_code != 0) + + # Verify show IPv4 rules + result = runner.invoke(null_route_helper.cli.commands['list'], ['NULL_ROUTE_V4']) + assert(result.stdout == expected_stdout_v4) + + # Verify show IPv6 rules + result = runner.invoke(null_route_helper.cli.commands['list'], ['NULL_ROUTE_V6']) + assert(result.stdout == expected_stdout_v6) + From 0d53b7ac02b9e1c318cc6173574fc21d7a1190aa Mon Sep 17 00:00:00 2001 From: Stepan Blyshchak <38952541+stepanblyschak@users.noreply.github.com> Date: Tue, 3 Aug 2021 12:19:04 +0300 Subject: [PATCH 255/342] [sonic_installer] don't print errors when installing an image not supporting app ext (#1719) FIXES: https://github.com/Azure/sonic-buildimage/issues/8149 #### What I did Don't print errors if installing app.ext incompatible image. #### How I did it Check for docker.sh existance and take an assumption that if it exists then it is app.ext compatible. #### How to verify it From master image install 202012 image and verify no errors in logs. --- sonic_installer/main.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/sonic_installer/main.py b/sonic_installer/main.py index fde23dd5ed..322aac8220 100644 --- a/sonic_installer/main.py +++ b/sonic_installer/main.py @@ -22,6 +22,7 @@ SYSLOG_IDENTIFIER = "sonic-installer" LOG_ERR = logger.Logger.LOG_PRIORITY_ERROR +LOG_WARN = logger.Logger.LOG_PRIORITY_WARNING LOG_NOTICE = logger.Logger.LOG_PRIORITY_NOTICE # Global Config object @@ -332,6 +333,7 @@ def migrate_sonic_packages(bootloader, binary_image_version): echo_and_log("Error: SONiC package migration cannot proceed due to missing docker folder", LOG_ERR, fg="red") return + docker_started = False with bootloader.get_rootfs_path(new_image_dir) as new_image_squashfs_path: try: mount_squash_fs(new_image_squashfs_path, new_image_mount) @@ -342,22 +344,25 @@ def migrate_sonic_packages(bootloader, binary_image_version): mount_bind(new_image_docker_dir, new_image_docker_mount) mount_procfs_chroot(new_image_mount) mount_sysfs_chroot(new_image_mount) + # Assume if docker.sh script exists we are installing Application Extension compatible image. + if not os.path.exists(os.path.join(new_image_mount, os.path.relpath(DOCKER_CTL_SCRIPT, os.path.abspath(os.sep)))): + echo_and_log("Warning: SONiC Application Extension is not supported in this image", LOG_WARN, fg="yellow") + return run_command_or_raise(["chroot", new_image_mount, DOCKER_CTL_SCRIPT, "start"]) + docker_started = True run_command_or_raise(["cp", packages_path, os.path.join(new_image_mount, tmp_dir, packages_file)]) run_command_or_raise(["touch", os.path.join(new_image_mount, "tmp", DOCKERD_SOCK)]) run_command_or_raise(["mount", "--bind", os.path.join(VAR_RUN_PATH, DOCKERD_SOCK), os.path.join(new_image_mount, "tmp", DOCKERD_SOCK)]) run_command_or_raise(["chroot", new_image_mount, "sh", "-c", "command -v {}".format(SONIC_PACKAGE_MANAGER)]) - except SonicRuntimeException as err: - echo_and_log("Warning: SONiC Application Extension is not supported in this image: {}".format(err), LOG_ERR, fg="red") - else: run_command_or_raise(["chroot", new_image_mount, SONIC_PACKAGE_MANAGER, "migrate", os.path.join("/", tmp_dir, packages_file), "--dockerd-socket", os.path.join("/", tmp_dir, DOCKERD_SOCK), "-y"]) finally: - run_command_or_raise(["chroot", new_image_mount, DOCKER_CTL_SCRIPT, "stop"], raise_exception=False) + if docker_started: + run_command_or_raise(["chroot", new_image_mount, DOCKER_CTL_SCRIPT, "stop"], raise_exception=False) umount(new_image_mount, recursive=True, read_only=False, remove_dir=False, raise_exception=False) umount(new_image_mount, raise_exception=False) From 54b74a24b78d52af5f758216e74c4ed74db740e5 Mon Sep 17 00:00:00 2001 From: BasimShalata Date: Wed, 4 Aug 2021 11:44:26 +0300 Subject: [PATCH 256/342] [LLDP] Fix lldpshow script to enable display multiple MAC addresses on the same remote physical interface (#1657) Scenario: 1- remote interface has 2 MACs on the same physical interface. 2- "show lldp table" command displays one entry for only one MAC address Root cause: "show lldp table" command uses lldpshow script to get, parse and display data from the lldp open source package (lldpctl script). lldpctl script returns a proper info about the 2 MACs but the issue is with the lldpshow script parser where it built a dictionary which its key is the local physical interface. Therefore when having 2 MACs, lldpctl will return 2 entries but the lldpshow parser will overwrite the first enrty. Fix: Change the key to be a string of "interface#MAC". This will enable having 2 entries for 2 different MAC addresses. In addition: - update display_sum()-->get_summary_output() to return a string instead of printing it directly. this to allow checking the returned value inside the new unit test. - add a new unit test for this scenario. Signed-off-by: Basim Shalata --- scripts/lldpshow | 48 ++++++++++++++++------------ tests/lldp_test.py | 79 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 107 insertions(+), 20 deletions(-) create mode 100644 tests/lldp_test.py diff --git a/scripts/lldpshow b/scripts/lldpshow index 0d8a5eb6de..c30f4c5f3f 100755 --- a/scripts/lldpshow +++ b/scripts/lldpshow @@ -127,53 +127,60 @@ class Lldpshow(object): l_intf = intf.attrib['name'] if l_intf.startswith(BACKEND_ASIC_INTERFACE_NAME_PREFIX): continue - self.lldpsum[l_intf] = {} + remote_port = intf.find('port') + r_portid = remote_port.find('id').text + key = l_intf + "#" + r_portid + self.lldpsum[key] = {} + self.lldpsum[key]['l_intf'] = l_intf + self.lldpsum[key]['r_portid'] = r_portid chassis = intf.find('chassis') capabs = chassis.findall('capability') capab = self.parse_cap(capabs) rmt_name = chassis.find('name') if rmt_name is not None: - self.lldpsum[l_intf]['r_name'] = rmt_name.text + self.lldpsum[key]['r_name'] = rmt_name.text else: - self.lldpsum[l_intf]['r_name'] = '' - remote_port = intf.find('port') - self.lldpsum[l_intf]['r_portid'] = remote_port.find('id').text + self.lldpsum[key]['r_name'] = '' rmt_desc = remote_port.find('descr') if rmt_desc is not None: - self.lldpsum[l_intf]['r_portname'] = rmt_desc.text + self.lldpsum[key]['r_portname'] = rmt_desc.text else: - self.lldpsum[l_intf]['r_portname'] = '' - self.lldpsum[l_intf]['capability'] = capab + self.lldpsum[key]['r_portname'] = '' + self.lldpsum[key]['capability'] = capab def sort_sum(self, summary): """ Sort the summary information in the way that is expected(natural string).""" - def alphanum_key(key): return [re.findall('[A-Za-z]+', key) + [int(port_num) - for port_num in re.findall('\d+', key)]] + def alphanum_key(key): + key = key.split("#")[0] + return [re.findall('[A-Za-z]+', key) + [int(port_num) + for port_num in re.findall('\d+', key)]] return sorted(summary, key=alphanum_key) - def display_sum(self, lldp_detail_info): + def get_summary_output(self, lldp_detail_info): """ - print out summary result of lldp neighbors + returns summary result of lldp neighbors """ + output_summary = '' # In detail mode output is plain text if self.lldpraw and lldp_detail_info: lldp_output = '' for lldp_detail_output in self.lldpraw: lldp_output += lldp_detail_output - print(lldp_output) + output_summary += lldp_output + "\n" elif self.lldpraw: lldpstatus = [] - print('Capability codes: (R) Router, (B) Bridge, (O) Other') + output_summary += "Capability codes: (R) Router, (B) Bridge, (O) Other\n" header = ['LocalPort', 'RemoteDevice', 'RemotePortID', 'Capability', 'RemotePortDescr'] sortedsum = self.sort_sum(self.lldpsum) for key in sortedsum: - lldpstatus.append([key, self.lldpsum[key]['r_name'], self.lldpsum[key]['r_portid'], + lldpstatus.append([self.lldpsum[key]['l_intf'], self.lldpsum[key]['r_name'], self.lldpsum[key]['r_portid'], self.lldpsum[key]['capability'], self.lldpsum[key]['r_portname']]) - print(tabulate(lldpstatus, header)) - print('-'.rjust(50, '-')) - print('Total entries displayed: ', len(self.lldpsum)) + output_summary += tabulate(lldpstatus, header) + "\n" + output_summary += ('-'.rjust(50, '-')) + "\n" + output_summary += "Total entries displayed: {}".format(len(self.lldpsum)) elif self.err is not None: - print('Error:', self.err) + output_summary += "Error: {}".format(self.err) + return output_summary def main(): @@ -202,7 +209,8 @@ def main(): lldp = Lldpshow() lldp.get_info(lldp_detail_info, lldp_port) lldp.parse_info(lldp_detail_info) - lldp.display_sum(lldp_detail_info) + output_summary = lldp.get_summary_output(lldp_detail_info) + print(output_summary) except Exception as e: print(str(e), file=sys.stderr) sys.exit(1) diff --git a/tests/lldp_test.py b/tests/lldp_test.py new file mode 100644 index 0000000000..a70c676a02 --- /dev/null +++ b/tests/lldp_test.py @@ -0,0 +1,79 @@ +import os + +from click.testing import CliRunner +from utilities_common.general import load_module_from_source + +test_path = os.path.dirname(os.path.abspath(__file__)) +modules_path = os.path.dirname(test_path) +scripts_path = os.path.join(modules_path, "scripts") + +# Load the file under test +lldpshow_path = os.path.join(scripts_path, 'lldpshow') +lldpshow = load_module_from_source('lldpshow', lldpshow_path) + +# Expected output for 2 remote MACs on same physical interface +expected_2MACs_Ethernet0_output = \ +('Capability codes: (R) Router, (B) Bridge, (O) Other\n' + 'LocalPort RemoteDevice RemotePortID Capability ' + 'RemotePortDescr\n' + '----------- -------------- ----------------- ------------ ' + '-----------------\n' + 'Ethernet0 dummy 00:00:00:00:00:01 BR First MAC\n' + 'Ethernet0 dummy 00:00:00:00:00:02 R Second MAC\n' + '--------------------------------------------------\n' + 'Total entries displayed: 2') + +expected_lldpctl_xml_output = \ +['\n\ + \n\ + \n\ + \n\ + 00:00:00:00:00:01\n\ + dummy\n\ + NA\n\ + 00:00:00:00:00:00\n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + 00:00:00:00:00:01\n\ + First MAC\n\ + 120\n\ + \n\ + \n\ + \n\ + \n\ + 00:00:00:00:00:02\n\ + dummy\n\ + NA\n\ + 00:00:00:00:00:00\n\ + \n\ + \n\ + \n\ + 00:00:00:00:00:02\n\ + Second MAC\n\ + 120\n\ + \n\ + \n\ + \n'] + +class TestLldp(object): + @classmethod + def setup_class(cls): + print("SETUP") + + def test_show_lldp_2_macs_same_phy_interface(self): + runner = CliRunner() + # Create lldpshow instance + lldp = lldpshow.Lldpshow() + # Mock lldpraw to check new functionality in parse_info() + lldp.lldpraw = expected_lldpctl_xml_output + lldp.parse_info(lldp_detail_info=False) + output_summary = lldp.get_summary_output(lldp_detail_info=False) + assert output_summary == expected_2MACs_Ethernet0_output + + @classmethod + def teardown_class(cls): + print("TEARDOWN") From b540f5f8fd73525d05f6cb3d1844849346f471c8 Mon Sep 17 00:00:00 2001 From: Ying Xie Date: Thu, 5 Aug 2021 11:40:22 -0700 Subject: [PATCH 257/342] [fast-reboot] revert the change of disabling counter polling before fast-reboot (#1744) What I did The change being removed was introduced with PR#1174 with the condition that flex counter polling will be enabled in the boot up path unconditionally. However, a change was made to enable_counters.py to only enable counters when the configuration is missing (sonic-buildimage PR#7735). After the later change, the disabled flex counters will not be enabled when fast-reboot into the same image. How to verify it run fast-reboot test and snmp test, without the fix, the snmp test would fail. With the fix, the snmp test passes. Signed-off-by: Ying Xie ying.xie@microsoft.com --- scripts/fast-reboot | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/scripts/fast-reboot b/scripts/fast-reboot index 97e8dc6c14..2abdb985b0 100755 --- a/scripts/fast-reboot +++ b/scripts/fast-reboot @@ -36,7 +36,6 @@ EXIT_ORCHAGENT_SHUTDOWN=10 EXIT_SYNCD_SHUTDOWN=11 EXIT_FAST_REBOOT_DUMP_FAILURE=12 EXIT_FILTER_FDB_ENTRIES_FAILURE=13 -EXIT_COUNTERPOLL_DISABLE_FAILURE=14 EXIT_NO_CONTROL_PLANE_ASSISTANT=20 EXIT_SONIC_INSTALLER_VERIFY_REBOOT=21 @@ -671,19 +670,6 @@ then systemctl stop "$service_name" fi -if [[ "$REBOOT_TYPE" = "fast-reboot" ]]; then - CONFIG_DB_FILE=/etc/sonic/config_db.json - COUNTERPOLL_DISABLE_RC=0 - # Disable counters in config_db.json - /usr/local/bin/counterpoll config-db disable $CONFIG_DB_FILE || COUNTERPOLL_DISABLE_RC=$? - if [[ COUNTERPOLL_DISABLE_RC -ne 0 ]]; then - error "Failed to disable counterpoll. Exit code: $COUNTERPOLL_DISABLE_RC" - /usr/local/bin/counterpoll config-db enable $CONFIG_DB_FILE || COUNTERPOLL_DISABLE_RC=$? - unload_kernel - exit "${EXIT_COUNTERPOLL_DISABLE_FAILURE}" - fi -fi - # Update the reboot cause file to reflect that user issued this script # Upon next boot, the contents of this file will be used to determine the # cause of the previous reboot From 4b88e0eaae942c1cde32953f3814d438b35c234b Mon Sep 17 00:00:00 2001 From: Blueve <672454911@qq.com> Date: Fri, 6 Aug 2021 12:34:36 +0800 Subject: [PATCH 258/342] [minigraph] Donot enable PFC watchdog for MgmtTsToR (#1734) Signed-off-by: Jing Kan jika@microsoft.com --- config/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/main.py b/config/main.py index 6c7547a5ee..ebec8bd1f6 100644 --- a/config/main.py +++ b/config/main.py @@ -1441,7 +1441,7 @@ def load_minigraph(db, no_service_restart): # get the device type device_type = _get_device_type() - if device_type != 'MgmtToRRouter' and device_type != 'EPMS': + if device_type != 'MgmtToRRouter' and device_type != 'MgmtTsToR' and device_type != 'EPMS': clicommon.run_command("pfcwd start_default", display_cmd=True) # Update SONiC environmnet file From 30907c46ea38f29401403819b399dbc75e221544 Mon Sep 17 00:00:00 2001 From: "Marty Y. Lok" <76118573+mlok-nokia@users.noreply.github.com> Date: Fri, 6 Aug 2021 13:29:01 -0400 Subject: [PATCH 259/342] [config][interface][speed] Fixed the config interface speed in multiasic issue (#1739) Fix for issue Azure/sonic-buildimage#8308 --- scripts/portconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/portconfig b/scripts/portconfig index bbc3b7ebe2..bf730ea5c9 100755 --- a/scripts/portconfig +++ b/scripts/portconfig @@ -81,7 +81,7 @@ class portconfig(object): self.state_db = SonicV2Connector(host='127.0.0.1') else: self.db = ConfigDBConnector(use_unix_socket_path=True, namespace=namespace) - self.state_db = SonicV2Connector(use_unix_socket_path=True, namespace=front_asic_namespaces) + self.state_db = SonicV2Connector(use_unix_socket_path=True, namespace=namespace) self.db.connect() self.state_db.connect(self.state_db.STATE_DB, False) From 920bb878fd9be37d62d3237ba3ea97d4cfe5c2d8 Mon Sep 17 00:00:00 2001 From: Mohamed Ghoneim Date: Tue, 10 Aug 2021 08:50:08 -0700 Subject: [PATCH 260/342] [config][generic-update] Implementing patch sorting (#1599) #### What I did Implemented [JSON Patch Ordering using YANG Models Design Doc](https://github.com/Azure/SONiC/blob/master/doc/config-generic-update-rollback/Json_Patch_Ordering_using_YANG_Models_Design.md) #### How I did it #### How to verify it Unit-Tests #### Previous command output (if the output of a command-line utility has changed) #### New command output (if the output of a command-line utility has changed) --- generic_config_updater/generic_updater.py | 8 +- generic_config_updater/gu_common.py | 539 ++++- generic_config_updater/patch_sorter.py | 1010 ++++++++++ setup.py | 1 + .../files/any_config_db.json | 2 + .../files/any_other_config_db.json | 4 + .../files/config_db_after_multi_patch.json | 2 +- .../config_db_after_single_operation.json | 83 + .../files/config_db_choice.json | 17 + .../files/config_db_no_dependencies.json | 39 + .../files/config_db_with_crm.json | 9 + .../files/config_db_with_device_metadata.json | 16 + .../files/config_db_with_interface.json | 20 + .../config_db_with_portchannel_and_acl.json | 25 + .../config_db_with_portchannel_interface.json | 10 + .../contrainer_with_container_config_db.json | 7 + .../files/dpb_1_split_full_config.json | 35 + .../files/dpb_1_to_4.json-patch | 88 + .../files/dpb_4_splits_full_config.json | 65 + .../files/dpb_4_to_1.json-patch | 58 + .../files/empty_config_db.json | 2 + .../files/simple_config_db_inc_deps.json | 20 + .../generic_config_updater/gu_common_test.py | 310 ++- .../patch_sorter_test.py | 1730 +++++++++++++++++ 24 files changed, 4077 insertions(+), 23 deletions(-) create mode 100644 generic_config_updater/patch_sorter.py create mode 100644 tests/generic_config_updater/files/any_config_db.json create mode 100644 tests/generic_config_updater/files/any_other_config_db.json create mode 100644 tests/generic_config_updater/files/config_db_after_single_operation.json create mode 100644 tests/generic_config_updater/files/config_db_choice.json create mode 100644 tests/generic_config_updater/files/config_db_no_dependencies.json create mode 100644 tests/generic_config_updater/files/config_db_with_crm.json create mode 100644 tests/generic_config_updater/files/config_db_with_device_metadata.json create mode 100644 tests/generic_config_updater/files/config_db_with_interface.json create mode 100644 tests/generic_config_updater/files/config_db_with_portchannel_and_acl.json create mode 100644 tests/generic_config_updater/files/config_db_with_portchannel_interface.json create mode 100644 tests/generic_config_updater/files/contrainer_with_container_config_db.json create mode 100644 tests/generic_config_updater/files/dpb_1_split_full_config.json create mode 100644 tests/generic_config_updater/files/dpb_1_to_4.json-patch create mode 100644 tests/generic_config_updater/files/dpb_4_splits_full_config.json create mode 100644 tests/generic_config_updater/files/dpb_4_to_1.json-patch create mode 100644 tests/generic_config_updater/files/empty_config_db.json create mode 100644 tests/generic_config_updater/files/simple_config_db_inc_deps.json create mode 100644 tests/generic_config_updater/patch_sorter_test.py diff --git a/generic_config_updater/generic_updater.py b/generic_config_updater/generic_updater.py index 079d7ab742..061376b032 100644 --- a/generic_config_updater/generic_updater.py +++ b/generic_config_updater/generic_updater.py @@ -3,6 +3,7 @@ from enum import Enum from .gu_common import GenericConfigUpdaterError, ConfigWrapper, \ DryRunConfigWrapper, PatchWrapper +from .patch_sorter import PatchSorter CHECKPOINTS_DIR = "/etc/sonic/checkpoints" CHECKPOINT_EXT = ".cp.json" @@ -16,11 +17,6 @@ def release_lock(self): # TODO: Implement ConfigLock pass -class PatchSorter: - def sort(self, patch): - # TODO: Implement patch sorter - raise NotImplementedError("PatchSorter.sort(patch) is not implemented yet") - class ChangeApplier: def apply(self, change): # TODO: Implement change applier @@ -36,7 +32,7 @@ def __init__(self, changeapplier=None, config_wrapper=None, patch_wrapper=None): - self.patchsorter = patchsorter if patchsorter is not None else PatchSorter() + self.patchsorter = patchsorter if patchsorter is not None else PatchSorter(config_wrapper, patch_wrapper) self.changeapplier = changeapplier if changeapplier is not None else ChangeApplier() self.config_wrapper = config_wrapper if config_wrapper is not None else ConfigWrapper() self.patch_wrapper = patch_wrapper if patch_wrapper is not None else PatchWrapper() diff --git a/generic_config_updater/gu_common.py b/generic_config_updater/gu_common.py index 2aa6a36d8a..66d9b0d7d9 100644 --- a/generic_config_updater/gu_common.py +++ b/generic_config_updater/gu_common.py @@ -1,8 +1,12 @@ import json import jsonpatch +from jsonpointer import JsonPointer import sonic_yang import subprocess +import yang as ly import copy +import re +from enum import Enum YANG_DIR = "/usr/local/yang-models" @@ -10,8 +14,26 @@ class GenericConfigUpdaterError(Exception): pass class JsonChange: - # TODO: Implement JsonChange - pass + """ + A class that describes a partial change to a JSON object. + It is is similar to JsonPatch, but the order of updating the configs is unknown. + Only the final outcome of the update can be retrieved. + It provides a single function to apply the change to a given JSON object. + """ + def __init__(self, patch): + self.patch = patch + + def apply(self, config): + return self.patch.apply(config) + + def __str__(self): + return f'{self.patch}' + + def __eq__(self, other): + """Overrides the default implementation""" + if isinstance(other, JsonChange): + return self.patch == other.patch + return False class ConfigWrapper: def __init__(self, yang_dir = YANG_DIR): @@ -110,14 +132,6 @@ def crop_tables_without_yang(self, config_db_as_json): return sy.jIn - def _create_and_connect_config_db(self): - if self.default_config_db_connector != None: - return self.default_config_db_connector - - config_db = ConfigDBConnector() - config_db.connect() - return config_db - class DryRunConfigWrapper(ConfigWrapper): # TODO: implement DryRunConfigWrapper # This class will simulate all read/write operations to ConfigDB on a virtual storage unit. @@ -126,11 +140,12 @@ class DryRunConfigWrapper(ConfigWrapper): class PatchWrapper: def __init__(self, config_wrapper=None): self.config_wrapper = config_wrapper if config_wrapper is not None else ConfigWrapper() + self.path_addressing = PathAddressing() def validate_config_db_patch_has_yang_models(self, patch): config_db = {} for operation in patch: - tokens = operation['path'].split('/')[1:] + tokens = self.path_addressing.get_path_tokens(operation[OperationWrapper.PATH_KEYWORD]) if len(tokens) == 0: # Modifying whole config_db tables_dict = {table_name: {} for table_name in operation['value']} config_db.update(tables_dict) @@ -174,3 +189,505 @@ def convert_sonic_yang_patch_to_config_db_patch(self, patch): target_config_db = self.config_wrapper.convert_sonic_yang_to_config_db(target_yang) return self.generate_patch(current_config_db, target_config_db) + +class OperationType(Enum): + ADD = 1 + REMOVE = 2 + REPLACE = 3 + +class OperationWrapper: + OP_KEYWORD = "op" + PATH_KEYWORD = "path" + VALUE_KEYWORD = "value" + + def create(self, operation_type, path, value=None): + op_type = operation_type.name.lower() + + operation = {OperationWrapper.OP_KEYWORD: op_type, OperationWrapper.PATH_KEYWORD: path} + + if operation_type in [OperationType.ADD, OperationType.REPLACE]: + operation[OperationWrapper.VALUE_KEYWORD] = value + + return operation + +class PathAddressing: + """ + Path refers to the 'path' in JsonPatch operations: https://tools.ietf.org/html/rfc6902 + The path corresponds to JsonPointer: https://tools.ietf.org/html/rfc6901 + + All xpath operations in this class are only relevent to ConfigDb and the conversion to YANG xpath. + It is not meant to support all the xpath functionalities, just the ones relevent to ConfigDb/YANG. + """ + PATH_SEPARATOR = "/" + XPATH_SEPARATOR = "/" + def get_path_tokens(self, path): + return JsonPointer(path).parts + + def create_path(self, tokens): + return JsonPointer.from_parts(tokens).path + + def get_xpath_tokens(self, xpath): + """ + Splits the given xpath into tokens by '/'. + + Example: + xpath: /sonic-vlan:sonic-vlan/VLAN_MEMBER/VLAN_MEMBER_LIST[name='Vlan1000'][port='Ethernet8']/tagging_mode + tokens: sonic-vlan:sonic-vlan, VLAN_MEMBER, VLAN_MEMBER_LIST[name='Vlan1000'][port='Ethernet8'], tagging_mode + """ + if xpath == "": + raise ValueError("xpath cannot be empty") + + if xpath == "/": + return [] + + idx = 0 + tokens = [] + while idx < len(xpath): + end = self._get_xpath_token_end(idx+1, xpath) + token = xpath[idx+1:end] + tokens.append(token) + idx = end + + return tokens + + def _get_xpath_token_end(self, start, xpath): + idx = start + while idx < len(xpath): + if xpath[idx] == PathAddressing.XPATH_SEPARATOR: + break + elif xpath[idx] == "[": + idx = self._get_xpath_predicate_end(idx, xpath) + idx = idx+1 + + return idx + + def _get_xpath_predicate_end(self, start, xpath): + idx = start + while idx < len(xpath): + if xpath[idx] == "]": + break + elif xpath[idx] == "'": + idx = self._get_xpath_single_quote_str_end(idx, xpath) + elif xpath[idx] == '"': + idx = self._get_xpath_double_quote_str_end(idx, xpath) + + idx = idx+1 + + return idx + + def _get_xpath_single_quote_str_end(self, start, xpath): + idx = start+1 # skip first single quote + while idx < len(xpath): + if xpath[idx] == "'": + break + # libyang implements XPATH 1.0 which does not escape single quotes + # libyang src: https://netopeer.liberouter.org/doc/libyang/master/html/howtoxpath.html + # XPATH 1.0 src: https://www.w3.org/TR/1999/REC-xpath-19991116/#NT-Literal + idx = idx+1 + + return idx + + def _get_xpath_double_quote_str_end(self, start, xpath): + idx = start+1 # skip first single quote + while idx < len(xpath): + if xpath[idx] == '"': + break + # libyang implements XPATH 1.0 which does not escape double quotes + # libyang src: https://netopeer.liberouter.org/doc/libyang/master/html/howtoxpath.html + # XPATH 1.0 src: https://www.w3.org/TR/1999/REC-xpath-19991116/#NT-Literal + idx = idx+1 + + return idx + + def create_xpath(self, tokens): + """ + Creates an xpath by combining the given tokens using '/' + Example: + tokens: module, container, list[key='value'], leaf + xpath: /module/container/list[key='value']/leaf + """ + if len(tokens) == 0: + return "/" + + return f"{PathAddressing.XPATH_SEPARATOR}{PathAddressing.XPATH_SEPARATOR.join(str(t) for t in tokens)}" + + def find_ref_paths(self, path, config): + """ + Finds the paths referencing any line under the given 'path' within the given 'config'. + Example: + path: /PORT + config: + { + "VLAN_MEMBER": { + "Vlan1000|Ethernet0": {}, + "Vlan1000|Ethernet4": {} + }, + "ACL_TABLE": { + "EVERFLOW": { + "ports": [ + "Ethernet4" + ], + }, + "EVERFLOWV6": { + "ports": [ + "Ethernet4", + "Ethernet8" + ] + } + }, + "PORT": { + "Ethernet0": {}, + "Ethernet4": {}, + "Ethernet8": {} + } + } + return: + /VLAN_MEMBER/Vlan1000|Ethernet0 + /VLAN_MEMBER/Vlan1000|Ethernet4 + /ACL_TABLE/EVERFLOW/ports/0 + /ACL_TABLE/EVERFLOW6/ports/0 + /ACL_TABLE/EVERFLOW6/ports/1 + """ + # TODO: Also fetch references by must statement (check similar statements) + return self._find_leafref_paths(path, config) + + def _find_leafref_paths(self, path, config): + sy = sonic_yang.SonicYang(YANG_DIR) + sy.loadYangModel() + + sy.loadData(config) + + xpath = self.convert_path_to_xpath(path, config, sy) + + leaf_xpaths = self._get_inner_leaf_xpaths(xpath, sy) + + ref_xpaths = [] + for xpath in leaf_xpaths: + ref_xpaths.extend(sy.find_data_dependencies(xpath)) + + ref_paths = [] + for ref_xpath in ref_xpaths: + ref_path = self.convert_xpath_to_path(ref_xpath, config, sy) + ref_paths.append(ref_path) + + return set(ref_paths) + + def _get_inner_leaf_xpaths(self, xpath, sy): + if xpath == "/": # Point to Root element which contains all xpaths + nodes = sy.root.tree_for() + else: # Otherwise get all nodes that match xpath + nodes = sy.root.find_path(xpath).data() + + for node in nodes: + for inner_node in node.tree_dfs(): + # TODO: leaflist also can be used as the 'path' argument in 'leafref' so add support to leaflist + if self._is_leaf_node(inner_node): + yield inner_node.path() + + def _is_leaf_node(self, node): + schema = node.schema() + return ly.LYS_LEAF == schema.nodetype() + + def convert_path_to_xpath(self, path, config, sy): + """ + Converts the given JsonPatch path (i.e. JsonPointer) to XPATH. + Example: + path: /VLAN_MEMBER/Vlan1000|Ethernet8/tagging_mode + xpath: /sonic-vlan:sonic-vlan/VLAN_MEMBER/VLAN_MEMBER_LIST[name='Vlan1000'][port='Ethernet8']/tagging_mode + """ + self.convert_xpath_to_path + tokens = self.get_path_tokens(path) + if len(tokens) == 0: + return self.create_xpath(tokens) + + xpath_tokens = [] + table = tokens[0] + + cmap = sy.confDbYangMap[table] + + # getting the top level element : + xpath_tokens.append(cmap['module']+":"+cmap['topLevelContainer']) + + xpath_tokens.extend(self._get_xpath_tokens_from_container(cmap['container'], 0, tokens, config)) + + return self.create_xpath(xpath_tokens) + + def _get_xpath_tokens_from_container(self, model, token_index, path_tokens, config): + token = path_tokens[token_index] + xpath_tokens = [token] + + if len(path_tokens)-1 == token_index: + return xpath_tokens + + # check if the configdb token is referring to a list + list_model = self._get_list_model(model, token_index, path_tokens) + if list_model: + new_xpath_tokens = self._get_xpath_tokens_from_list(list_model, token_index+1, path_tokens, config[path_tokens[token_index]]) + xpath_tokens.extend(new_xpath_tokens) + return xpath_tokens + + # check if it is targetting a child container + child_container_model = self._get_model(model.get('container'), path_tokens[token_index+1]) + if child_container_model: + new_xpath_tokens = self._get_xpath_tokens_from_container(child_container_model, token_index+1, path_tokens, config[path_tokens[token_index]]) + xpath_tokens.extend(new_xpath_tokens) + return xpath_tokens + + new_xpath_tokens = self._get_xpath_tokens_from_leaf(model, token_index+1, path_tokens, config[path_tokens[token_index]]) + xpath_tokens.extend(new_xpath_tokens) + + return xpath_tokens + + def _get_xpath_tokens_from_list(self, model, token_index, path_tokens, config): + list_name = model['@name'] + + tableKey = path_tokens[token_index] + listKeys = model['key']['@value'] + keyDict = self._extractKey(tableKey, listKeys) + keyTokens = [f"[{key}='{keyDict[key]}']" for key in keyDict] + item_token = f"{list_name}{''.join(keyTokens)}" + + xpath_tokens = [item_token] + + # if whole list-item is needed i.e. if in the path is not referencing child leaf items + # Example: + # path: /VLAN/Vlan1000 + # xpath: /sonic-vlan:sonic-vlan/VLAN/VLAN_LIST[name='Vlan1000'] + if len(path_tokens)-1 == token_index: + return xpath_tokens + + new_xpath_tokens = self._get_xpath_tokens_from_leaf(model, token_index+1, path_tokens,config[path_tokens[token_index]]) + xpath_tokens.extend(new_xpath_tokens) + return xpath_tokens + + def _get_xpath_tokens_from_leaf(self, model, token_index, path_tokens, config): + token = path_tokens[token_index] + + # checking all leaves + leaf_model = self._get_model(model.get('leaf'), token) + if leaf_model: + return [token] + + # checking choice + choices = model.get('choice') + if choices: + for choice in choices: + cases = choice['case'] + for case in cases: + leaf_model = self._get_model(case.get('leaf'), token) + if leaf_model: + return [token] + + # checking leaf-list (i.e. arrays of string, number or bool) + leaf_list_model = self._get_model(model.get('leaf-list'), token) + if leaf_list_model: + # if whole-list is to be returned, just return the token without checking the list items + # Example: + # path: /VLAN/Vlan1000/dhcp_servers + # xpath: /sonic-vlan:sonic-vlan/VLAN/VLAN_LIST[name='Vlan1000']/dhcp_servers + if len(path_tokens)-1 == token_index: + return [token] + list_config = config[token] + value = list_config[int(path_tokens[token_index+1])] + # To get a leaf-list instance with the value 'val' + # /module-name:container/leaf-list[.='val'] + # Source: Check examples in https://netopeer.liberouter.org/doc/libyang/master/html/howto_x_path.html + return [f"{token}[.='{value}']"] + + raise ValueError("Token not found") + + def _extractKey(self, tableKey, keys): + keyList = keys.split() + # get the value groups + value = tableKey.split("|") + # match lens + if len(keyList) != len(value): + raise ValueError("Value not found for {} in {}".format(keys, tableKey)) + # create the keyDict + keyDict = dict() + for i in range(len(keyList)): + keyDict[keyList[i]] = value[i].strip() + + return keyDict + + def _get_list_model(self, model, token_index, path_tokens): + parent_container_name = path_tokens[token_index] + clist = model.get('list') + # Container contains a single list, just return it + # TODO: check if matching also by name is necessary + if isinstance(clist, dict): + return clist + + if isinstance(clist, list): + configdb_values_str = path_tokens[token_index+1] + # Format: "value1|value2|value|..." + configdb_values = configdb_values_str.split("|") + for list_model in clist: + yang_keys_str = list_model['key']['@value'] + # Format: "key1 key2 key3 ..." + yang_keys = yang_keys_str.split() + # if same number of values and keys, this is the intended list-model + # TODO: Match also on types and not only the length of the keys/values + if len(yang_keys) == len(configdb_values): + return list_model + raise GenericConfigUpdaterError(f"Container {parent_container_name} has multiple lists, " + f"but none of them match the config_db value {configdb_values_str}") + + return None + + def convert_xpath_to_path(self, xpath, config, sy): + """ + Converts the given XPATH to JsonPatch path (i.e. JsonPointer). + Example: + xpath: /sonic-vlan:sonic-vlan/VLAN_MEMBER/VLAN_MEMBER_LIST[name='Vlan1000'][port='Ethernet8']/tagging_mode + path: /VLAN_MEMBER/Vlan1000|Ethernet8/tagging_mode + """ + tokens = self.get_xpath_tokens(xpath) + if len(tokens) == 0: + return self.create_path([]) + + if len(tokens) == 1: + raise GenericConfigUpdaterError("xpath cannot be just the module-name, there is no mapping to path") + + table = tokens[1] + cmap = sy.confDbYangMap[table] + + path_tokens = self._get_path_tokens_from_container(cmap['container'], 1, tokens, config) + return self.create_path(path_tokens) + + def _get_path_tokens_from_container(self, model, token_index, xpath_tokens, config): + token = xpath_tokens[token_index] + path_tokens = [token] + + if len(xpath_tokens)-1 == token_index: + return path_tokens + + # check child list + list_name = xpath_tokens[token_index+1].split("[")[0] + list_model = self._get_model(model.get('list'), list_name) + if list_model: + new_path_tokens = self._get_path_tokens_from_list(list_model, token_index+1, xpath_tokens, config[token]) + path_tokens.extend(new_path_tokens) + return path_tokens + + container_name = xpath_tokens[token_index+1] + container_model = self._get_model(model.get('container'), container_name) + if container_model: + new_path_tokens = self._get_path_tokens_from_container(container_model, token_index+1, xpath_tokens, config[token]) + path_tokens.extend(new_path_tokens) + return path_tokens + + new_path_tokens = self._get_path_tokens_from_leaf(model, token_index+1, xpath_tokens, config[token]) + path_tokens.extend(new_path_tokens) + + return path_tokens + + def _get_path_tokens_from_list(self, model, token_index, xpath_tokens, config): + token = xpath_tokens[token_index] + key_dict = self._extract_key_dict(token) + + # If no keys specified return empty tokens, as we are already inside the correct table. + # Also note that the list name in SonicYang has no correspondence in ConfigDb and is ignored. + # Example where VLAN_MEMBER_LIST has no specific key/value: + # xpath: /sonic-vlan:sonic-vlan/VLAN_MEMBER/VLAN_MEMBER_LIST + # path: /VLAN_MEMBER + if not(key_dict): + return [] + + listKeys = model['key']['@value'] + key_list = listKeys.split() + + if len(key_list) != len(key_dict): + raise GenericConfigUpdaterError(f"Keys in configDb not matching keys in SonicYang. ConfigDb keys: {key_dict.keys()}. SonicYang keys: {key_list}") + + values = [key_dict[k] for k in key_list] + path_token = '|'.join(values) + path_tokens = [path_token] + + if len(xpath_tokens)-1 == token_index: + return path_tokens + + next_token = xpath_tokens[token_index+1] + # if the target node is a key, then it does not have a correspondene to path. + # Just return the current 'key1|key2|..' token as it already refers to the keys + # Example where the target node is 'name' which is a key in VLAN_MEMBER_LIST: + # xpath: /sonic-vlan:sonic-vlan/VLAN_MEMBER/VLAN_MEMBER_LIST[name='Vlan1000'][port='Ethernet8']/name + # path: /VLAN_MEMBER/Vlan1000|Ethernet8 + if next_token in key_dict: + return path_tokens + + new_path_tokens = self._get_path_tokens_from_leaf(model, token_index+1, xpath_tokens, config[path_token]) + path_tokens.extend(new_path_tokens) + return path_tokens + + def _get_path_tokens_from_leaf(self, model, token_index, xpath_tokens, config): + token = xpath_tokens[token_index] + + # checking all leaves + leaf_model = self._get_model(model.get('leaf'), token) + if leaf_model: + return [token] + + # checking choices + choices = model.get('choice') + if choices: + for choice in choices: + cases = choice['case'] + for case in cases: + leaf_model = self._get_model(case.get('leaf'), token) + if leaf_model: + return [token] + + # checking leaf-list + leaf_list_tokens = token.split("[", 1) # split once on the first '[', a regex is used later to fetch keys/values + leaf_list_name = leaf_list_tokens[0] + leaf_list_model = self._get_model(model.get('leaf-list'), leaf_list_name) + if leaf_list_model: + # if whole-list is to be returned, just return the list-name without checking the list items + # Example: + # xpath: /sonic-vlan:sonic-vlan/VLAN/VLAN_LIST[name='Vlan1000']/dhcp_servers + # path: /VLAN/Vlan1000/dhcp_servers + if len(leaf_list_tokens) == 1: + return [leaf_list_name] + leaf_list_pattern = "^[^\[]+(?:\[\.='([^']*)'\])?$" + leaf_list_regex = re.compile(leaf_list_pattern) + match = leaf_list_regex.match(token) + # leaf_list_name = match.group(1) + leaf_list_value = match.group(1) + list_config = config[leaf_list_name] + list_idx = list_config.index(leaf_list_value) + return [leaf_list_name, list_idx] + + raise Exception("no leaf") + + def _extract_key_dict(self, list_token): + # Example: VLAN_MEMBER_LIST[name='Vlan1000'][port='Ethernet8'] + # the groups would be ('VLAN_MEMBER'), ("[name='Vlan1000'][port='Ethernet8']") + table_keys_pattern = "^([^\[]+)(.*)$" + text = list_token + table_keys_regex = re.compile(table_keys_pattern) + match = table_keys_regex.match(text) + # list_name = match.group(1) + all_key_value = match.group(2) + + # Example: [name='Vlan1000'][port='Ethernet8'] + # the findall groups would be ('name', 'Vlan1000'), ('port', 'Ethernet8') + key_value_pattern = "\[([^=]+)='([^']*)'\]" + matches = re.findall(key_value_pattern, all_key_value) + key_dict = {} + for item in matches: + key = item[0] + value = item[1] + key_dict[key] = value + + return key_dict + + def _get_model(self, model, name): + if isinstance(model, dict) and model['@name'] == name: + return model + if isinstance(model, list): + for submodel in model: + if submodel['@name'] == name: + return submodel + + return None diff --git a/generic_config_updater/patch_sorter.py b/generic_config_updater/patch_sorter.py new file mode 100644 index 0000000000..8bf99ba004 --- /dev/null +++ b/generic_config_updater/patch_sorter.py @@ -0,0 +1,1010 @@ +import copy +import json +import jsonpatch +from collections import deque +from enum import Enum +from .gu_common import OperationWrapper, OperationType, GenericConfigUpdaterError, JsonChange, PathAddressing + +class Diff: + """ + A class that contains the diff info between current and target configs. + """ + def __init__(self, current_config, target_config): + self.current_config = current_config + self.target_config = target_config + + def __hash__(self): + cc = json.dumps(self.current_config, sort_keys=True) + tc = json.dumps(self.target_config, sort_keys=True) + return hash((cc,tc)) + + def __eq__(self, other): + """Overrides the default implementation""" + if isinstance(other, Diff): + return self.current_config == other.current_config and self.target_config == other.target_config + + return False + + # TODO: Can be optimized to apply the move in place. JsonPatch supports that using the option 'in_place=True' + # Check: https://python-json-patch.readthedocs.io/en/latest/tutorial.html#applying-a-patch + # NOTE: in case move is applied in place, we will need to support `undo_move` as well. + def apply_move(self, move): + new_current_config = move.apply(self.current_config) + return Diff(new_current_config, self.target_config) + + def has_no_diff(self): + return self.current_config == self.target_config + +class JsonMove: + """ + A class similar to JsonPatch operation, but it allows the path to refer to non-existing middle elements. + + JsonPatch operation fails to update json if the path in the patch refers to element that do not exist. + For example, assume json to be: + {} + The following path will be rejected: + /elem1/key1 + The reason is 'elem1' does not exist in the json + + JsonMove on the other hand allows that given the target_config_tokens i.e. the target_config path, + and current_config_tokens i.e. current_config path where the update needs to happen. + """ + def __init__(self, diff, op_type, current_config_tokens, target_config_tokens=None): + operation = JsonMove._to_jsonpatch_operation(diff, op_type, current_config_tokens, target_config_tokens) + self.patch = jsonpatch.JsonPatch([operation]) + self.op_type = operation[OperationWrapper.OP_KEYWORD] + self.path = operation[OperationWrapper.PATH_KEYWORD] + self.value = operation.get(OperationWrapper.VALUE_KEYWORD, None) + + self.op_type = op_type + self.current_config_tokens = current_config_tokens + self.target_config_tokens = target_config_tokens + + @staticmethod + def _to_jsonpatch_operation(diff, op_type, current_config_tokens, target_config_tokens): + operation_wrapper = OperationWrapper() + path_addressing = PathAddressing() + + if op_type == OperationType.REMOVE: + path = path_addressing.create_path(current_config_tokens) + return operation_wrapper.create(op_type, path) + + if op_type == OperationType.REPLACE: + path = path_addressing.create_path(current_config_tokens) + value = JsonMove._get_value(diff.target_config, target_config_tokens) + return operation_wrapper.create(op_type, path, value) + + if op_type == OperationType.ADD: + return JsonMove._to_jsonpatch_add_operation(diff, current_config_tokens, target_config_tokens) + + raise ValueError(f"OperationType {op_type} is not supported") + + @staticmethod + def _get_value(config, tokens): + for token in tokens: + config = config[token] + + return copy.deepcopy(config) + + @staticmethod + def _to_jsonpatch_add_operation(diff, current_config_tokens, target_config_tokens): + """ + Check description of JsonMove class first. + + ADD operation path can refer to elements that do not exist, so to convert JsonMove to JsonPatch operation + We need to remove the non-existing tokens from the current_config path and move them to the value. + + Example: + Assume Target Config: + { + "dict1":{ + "key11": "value11" + } + } + Assume Current Config: + { + } + Assume JsonMove: + op_type=add, current_config_tokens=[dict1, key11], target_config_tokens=[dict1, key11] + + Converting this to operation directly would result in: + {"op":"add", "path":"/dict1/key11", "value":"value11"} + BUT this is not correct since 'dict1' which does not exist in Current Config. + Instead we convert to: + {"op":"add", "path":"/dict1", "value":{"key11": "value11"}} + """ + operation_wrapper = OperationWrapper() + path_addressing = PathAddressing() + + # if path refers to whole config i.e. no tokens, then just create the operation + if not current_config_tokens: + path = path_addressing.create_path(current_config_tokens) + value = JsonMove._get_value(diff.target_config, target_config_tokens) + return operation_wrapper.create(OperationType.ADD, path, value) + + # Start with getting target-config that match the path all the way to the value in json format + # Example: + # Assume target-config: + # { + # "dict1":{ + # "key11": "value11", + # "list12": [ + # "value121", + # "value122" + # ] + # }, + # "dict2":{ + # "key21": "value21" + # } + # } + # Assume target config tokens: + # dict1, list12, 1 + # filtered_config will be + # { + # "dict1":{ + # "list12": [ + # "value122" + # ] + # } + # } + target_ptr = diff.target_config + filtered_config = {} + filtered_config_ptr = filtered_config + for token_index in range(len(target_config_tokens)): + token = target_config_tokens[token_index] + + # Tokens are expected to be of the correct data-type i.e. string, int (list-index) + # So not checking the type of the token before consuming it + target_ptr = target_ptr[token] + + # if it is the last item, then just return the last target_ptr + if token_index == len(target_config_tokens)-1: + filtered_value = target_ptr + elif isinstance(target_ptr, list): + filtered_value = [] + else: + filtered_value = {} + + if isinstance(filtered_config_ptr, list): + filtered_config_ptr.append(filtered_value) # filtered_config list will contain only 1 value + else: # otherwise it is a dict + filtered_config_ptr[token] = filtered_value + + filtered_config_ptr = filtered_value + + # Then from the filtered_config get the all the tokens that exist in current_config + # This will be the new path, and the new value will be the corresponding filtered_config + # Example: + # Assume filtered_config + # { + # "dict1":{ + # "key11": "value11" + # } + # } + # Assume current-config + # { + # "dict1":{ + # "list12": [ + # "value122" + # ] + # } + # } + # Then the JsonPatch path would be: + # /dict1/list12 + # And JsonPatch value would be: + # [ "value122" ] + current_ptr = diff.current_config + new_tokens = [] + for token in current_config_tokens: + new_tokens.append(token) + was_list = isinstance(filtered_config, list) + if was_list: + # filtered_config list can only have 1 item + filtered_config = filtered_config[0] + else: + filtered_config = filtered_config[token] + + if was_list and token >= len(current_ptr): + break + if not(was_list) and token not in current_ptr: + break + current_ptr = current_ptr[token] + + op_type = OperationType.ADD + new_path = path_addressing.create_path(new_tokens) + new_value = copy.deepcopy(filtered_config) + + return operation_wrapper.create(op_type, new_path, new_value) + + @staticmethod + def from_patch(patch): + ops = list(patch) + if len(ops) != 1: + raise GenericConfigUpdaterError( + f"Only a patch of a single operation be converted to JsonMove. Patch has {len(ops)} operation/s") + + return JsonMove.from_operation(ops[0]) + + @staticmethod + def from_operation(operation): + path_addressing = PathAddressing() + op_type = OperationType[operation[OperationWrapper.OP_KEYWORD].upper()] + path = operation[OperationWrapper.PATH_KEYWORD] + if op_type in [OperationType.ADD, OperationType.REPLACE]: + value = operation[OperationWrapper.VALUE_KEYWORD] + else: + value = None + + tokens = path_addressing.get_path_tokens(path) + + target_config = {} + target_config_ptr = target_config + current_config = {} + current_config_ptr = current_config + for token in tokens[:-1]: + target_config_ptr[token] = {} + current_config_ptr[token] = {} + target_config_ptr = target_config_ptr[token] + current_config_ptr = current_config_ptr[token] + + if tokens: + target_config_ptr[tokens[-1]] = value + else: + # whole-config, just use value + target_config = value + + current_config_tokens = tokens + if op_type in [OperationType.ADD, OperationType.REPLACE]: + target_config_tokens = tokens + else: + target_config_tokens = None + + diff = Diff(current_config, target_config) + + return JsonMove(diff, op_type, current_config_tokens, target_config_tokens) + + def apply(self, config): + return self.patch.apply(config) + + def __str__(self): + return str(self.patch) + + def __repr__(self): + return str(self.patch) + + def __eq__(self, other): + """Overrides the default implementation""" + if isinstance(other, JsonMove): + return self.patch == other.patch + return False + + def __hash__(self): + return hash((self.op_type, self.path, json.dumps(self.value))) + +class MoveWrapper: + def __init__(self, move_generators, move_extenders, move_validators): + self.move_generators = move_generators + self.move_extenders = move_extenders + self.move_validators = move_validators + + def generate(self, diff): + processed_moves = set() + moves = deque([]) + + for move in self._generate_moves(diff): + if move in processed_moves: + continue + processed_moves.add(move) + yield move + moves.extend(self._extend_moves(move, diff)) + + while moves: + move = moves.popleft() + if move in processed_moves: + continue + processed_moves.add(move) + yield move + moves.extend(self._extend_moves(move, diff)) + + def validate(self, move, diff): + for validator in self.move_validators: + if not validator.validate(move, diff): + return False + return True + + def simulate(self, move, diff): + return diff.apply_move(move) + + def _generate_moves(self, diff): + for generator in self.move_generators: + for move in generator.generate(diff): + yield move + + def _extend_moves(self, move, diff): + for extender in self.move_extenders: + for newmove in extender.extend(move, diff): + yield newmove + +class DeleteWholeConfigMoveValidator: + """ + A class to validate not deleting whole config as it is not supported by JsonPatch lib. + """ + def validate(self, move, diff): + if move.op_type == OperationType.REMOVE and move.path == "": + return False + return True + +class FullConfigMoveValidator: + """ + A class to validate that full config is valid according to YANG models after applying the move. + """ + def __init__(self, config_wrapper): + self.config_wrapper = config_wrapper + + def validate(self, move, diff): + simulated_config = move.apply(diff.current_config) + return self.config_wrapper.validate_config_db_config(simulated_config) + +# TODO: Add this validation to YANG models instead +class UniqueLanesMoveValidator: + """ + A class to validate lanes and any port are unique between all ports. + """ + def validate(self, move, diff): + simulated_config = move.apply(diff.current_config) + + if "PORT" not in simulated_config: + return True + + ports = simulated_config["PORT"] + existing = set() + for port in ports: + attrs = ports[port] + if "lanes" in attrs: + lanes_str = attrs["lanes"] + lanes = lanes_str.split(", ") + for lane in lanes: + if lane in existing: + return False + existing.add(lane) + return True + +class CreateOnlyMoveValidator: + """ + A class to validate create-only fields are only added/removed but never replaced. + Parents of create-only fields are also only added/removed but never replaced when they contain + a modified create-only field. + """ + def __init__(self, path_addressing): + self.path_addressing = path_addressing + + def validate(self, move, diff): + if move.op_type != OperationType.REPLACE: + return True + + # The 'create-only' field needs to be common between current and simulated anyway but different. + # This means it is enough to just get the paths from current_config, paths that are not common can be ignored. + paths = self._get_create_only_paths(diff.current_config) + simulated_config = move.apply(diff.current_config) + + for path in paths: + tokens = self.path_addressing.get_path_tokens(path) + if self._value_exist_but_different(tokens, diff.current_config, simulated_config): + return False + + return True + + # TODO: create-only fields are hard-coded for now, it should be moved to YANG models + def _get_create_only_paths(self, config): + if "PORT" not in config: + return + + ports = config["PORT"] + + for port in ports: + attrs = ports[port] + if "lanes" in attrs: + yield f"/PORT/{port}/lanes" + + def _value_exist_but_different(self, tokens, current_config_ptr, simulated_config_ptr): + for token in tokens: + mod_token = int(token) if isinstance(current_config_ptr, list) else token + + if mod_token not in current_config_ptr: + return False + + if mod_token not in simulated_config_ptr: + return False + + current_config_ptr = current_config_ptr[mod_token] + simulated_config_ptr = simulated_config_ptr[mod_token] + + return current_config_ptr != simulated_config_ptr + +class NoDependencyMoveValidator: + """ + A class to validate that the modified configs do not have dependency on each other. This should prevent + moves that update whole config in a single step where multiple changed nodes are dependent on each. This + way dependent configs are never updated together. + """ + def __init__(self, path_addressing, config_wrapper): + self.path_addressing = path_addressing + self.config_wrapper = config_wrapper + + def validate(self, move, diff): + operation_type = move.op_type + path = move.path + + if operation_type == OperationType.ADD: + simulated_config = move.apply(diff.current_config) + # For add operation, we check the simulated config has no dependencies between nodes under the added path + if not self._validate_paths_config([path], simulated_config): + return False + elif operation_type == OperationType.REMOVE: + # For remove operation, we check the current config has no dependencies between nodes under the removed path + if not self._validate_paths_config([path], diff.current_config): + return False + elif operation_type == OperationType.REPLACE: + if not self._validate_replace(move, diff): + return False + + return True + + # NOTE: this function can be used for validating JsonChange as well which might have more than one move. + def _validate_replace(self, move, diff): + """ + The table below shows how mixed deletion/addition within replace affect this validation. + + The table is answring the question whether the change is valid: + Y = Yes + N = No + n/a = not applicable as the change itself is not valid + + symbols meaning; + +A, -A: adding, removing config A + +refA, -refA: adding, removing a reference to A config + + + +refA|-refA|refA + --|-----|-----|---- + +A| N | n/a | n/a + -A| n/a | N | n/a + A| Y | Y | Y + + The conclusion is that: + +A, +refA is invalid because there is a dependency and a single move should not have dependency + -A, -refA is invalid because there is a dependency and a single move should not have dependency + A kept unchanged can be ignored, as it is always OK regardless of what happens to its reference + Other states are all non applicable since they are invalid to begin with + + So verification would be: + if A is deleted and refA is deleted: return False + if A is added and refA is added: return False + return True + """ + simulated_config = move.apply(diff.current_config) + deleted_paths, added_paths = self._get_paths(diff.current_config, simulated_config, []) + + if not self._validate_paths_config(deleted_paths, diff.current_config): + return False + + if not self._validate_paths_config(added_paths, diff.target_config): + return False + + return True + + def _get_paths(self, current_ptr, target_ptr, tokens): + deleted_paths = [] + added_paths = [] + + if isinstance(current_ptr, list) or isinstance(target_ptr, list): + tmp_deleted_paths, tmp_added_paths = self._get_list_paths(current_ptr, target_ptr, tokens) + deleted_paths.extend(tmp_deleted_paths) + added_paths.extend(tmp_added_paths) + return deleted_paths, added_paths + + if isinstance(current_ptr, dict): + for token in current_ptr: + tokens.append(token) + if token not in target_ptr: + deleted_paths.append(self.path_addressing.create_path(tokens)) + else: + tmp_deleted_paths, tmp_added_paths = self._get_paths(current_ptr[token], target_ptr[token], tokens) + deleted_paths.extend(tmp_deleted_paths) + added_paths.extend(tmp_added_paths) + tokens.pop() + + for token in target_ptr: + tokens.append(token) + if token not in current_ptr: + added_paths.append(self.path_addressing.create_path(tokens)) + tokens.pop() + + return deleted_paths, added_paths + + # current/target configs are not dict nor list, so handle them as string, int, bool, float + if current_ptr != target_ptr: + # tokens.append(token) + deleted_paths.append(self.path_addressing.create_path(tokens)) + added_paths.append(self.path_addressing.create_path(tokens)) + # tokens.pop() + + return deleted_paths, added_paths + + def _get_list_paths(self, current_list, target_list, tokens): + """ + Gets all paths within the given list, assume list items are unique + """ + deleted_paths = [] + added_paths = [] + + hashed_target = set(target_list) + for index, value in enumerate(current_list): + if value not in hashed_target: + tokens.append(index) + deleted_paths.append(self.path_addressing.create_path(tokens)) + tokens.pop() + + hashed_current = set(current_list) + for index, value in enumerate(target_list): + if value not in hashed_current: + tokens.append(index) + # added_paths refer to paths in the target config and not necessarily the current config + added_paths.append(self.path_addressing.create_path(tokens)) + tokens.pop() + + return deleted_paths, added_paths + + def _validate_paths_config(self, paths, config): + """ + validates all config under paths do not have config and its references + """ + refs = self._find_ref_paths(paths, config) + for ref in refs: + for path in paths: + if ref.startswith(path): + return False + + return True + + def _find_ref_paths(self, paths, config): + refs = [] + for path in paths: + refs.extend(self.path_addressing.find_ref_paths(path, config)) + return refs + +class LowLevelMoveGenerator: + """ + A class to generate the low level moves i.e. moves corresponding to differences between current/target config + where the path of the move does not have children. + """ + def __init__(self, path_addressing): + self.path_addressing = path_addressing + def generate(self, diff): + single_run_generator = SingleRunLowLevelMoveGenerator(diff, self.path_addressing) + for move in single_run_generator.generate(): + yield move + +class SingleRunLowLevelMoveGenerator: + """ + A class that can only run once to assist LowLevelMoveGenerator with generating the moves. + """ + def __init__(self, diff, path_addressing): + self.diff = diff + self.path_addressing = path_addressing + + def generate(self): + current_ptr = self.diff.current_config + target_ptr = self.diff.target_config + current_tokens = [] + target_tokens = [] + + for move in self._traverse(current_ptr, target_ptr, current_tokens, target_tokens): + yield move + + def _traverse(self, current_ptr, target_ptr, current_tokens, target_tokens): + """ + Traverses the current/target config trees. + The given ptrs can be: + dict + list of string, number, boolean, int + string, number, boolean, int + + list of dict is not allowed + """ + if isinstance(current_ptr, list) or isinstance(target_ptr, list): + for move in self._traverse_list(current_ptr, target_ptr, current_tokens, target_tokens): + yield move + return + + if isinstance(current_ptr, dict) or isinstance(target_ptr, dict): + for key in current_ptr: + current_tokens.append(key) + if key in target_ptr: + target_tokens.append(key) + for move in self._traverse(current_ptr[key], target_ptr[key], current_tokens, target_tokens): + yield move + target_tokens.pop() + else: + for move in self._traverse_current(current_ptr[key], current_tokens): + yield move + + current_tokens.pop() + + for key in target_ptr: + if key in current_ptr: + continue # Already tried in the previous loop + + target_tokens.append(key) + current_tokens.append(key) + for move in self._traverse_target(target_ptr[key], current_tokens, target_tokens): + yield move + current_tokens.pop() + target_tokens.pop() + + return + + # The current/target ptr are neither dict nor list, so they might be string, int, float, bool + for move in self._traverse_value(current_ptr, target_ptr, current_tokens, target_tokens): + yield move + + def _traverse_list(self, current_ptr, target_ptr, current_tokens, target_tokens): + # if same elements different order, just sort by replacing whole list + # Example: + # current: [1, 2, 3, 4] + # target: [4, 3, 2, 1] + # returned move: REPLACE, current, target + current_dict_cnts = self._list_to_dict_with_count(current_ptr) + target_dict_cnts = self._list_to_dict_with_count(target_ptr) + if current_dict_cnts == target_dict_cnts: + for move in self._traverse_value(current_ptr, target_ptr, current_tokens, target_tokens): + yield move + return + + # Otherwise try add missing and remove additional elements + # Try remove + if current_ptr is not None: + for current_index, current_item in enumerate(current_ptr): + if current_dict_cnts[current_item] > target_dict_cnts.get(current_item, 0): + current_tokens.append(current_index) + for move in self._traverse_current_value(current_item, current_tokens): + yield move + current_tokens.pop() + # Try add + if target_ptr is not None: + current_cnt = len(current_ptr) if current_ptr is not None else 0 + for target_index, target_item in enumerate(target_ptr): + if target_dict_cnts[target_item] > current_dict_cnts.get(target_item, 0): + index = min(current_cnt, target_index) + current_tokens.append(index) + target_tokens.append(target_index) + for move in self._traverse_target_value(target_item, current_tokens, target_tokens): + yield move + target_tokens.pop() + current_tokens.pop() + + # Try replace + if current_ptr is not None and target_ptr is not None: + for current_index, current_item in enumerate(current_ptr): + for target_index, target_item in enumerate(target_ptr): + if current_dict_cnts[current_item] > target_dict_cnts.get(current_item, 0) and \ + target_dict_cnts[target_item] > current_dict_cnts.get(target_item, 0): + current_tokens.append(current_index) + target_tokens.append(target_index) + for move in self._traverse_value(current_item, target_item, current_tokens, target_tokens): + yield move + target_tokens.pop() + current_tokens.pop() + + def _traverse_value(self, current_value, target_value, current_tokens, target_tokens): + if current_value == target_value: + return + + yield JsonMove(self.diff, OperationType.REPLACE, current_tokens, target_tokens) + + def _traverse_current(self, ptr, current_tokens): + if isinstance(ptr, list): + for move in self._traverse_current_list(ptr, current_tokens): + yield move + return + + if isinstance(ptr, dict): + if len(ptr) == 0: + yield JsonMove(self.diff, OperationType.REMOVE, current_tokens) + return + + for key in ptr: + current_tokens.append(key) + for move in self._traverse_current(ptr[key], current_tokens): + yield move + current_tokens.pop() + + return + + # ptr is not a dict nor a list, it can be string, int, float, bool + for move in self._traverse_current_value(ptr, current_tokens): + yield move + + def _traverse_current_list(self, ptr, current_tokens): + if len(ptr) == 0: + yield JsonMove(self.diff, OperationType.REMOVE, current_tokens) + return + + for index, val in enumerate(ptr): + current_tokens.append(index) + for move in self._traverse_current_value(val, current_tokens): + yield move + current_tokens.pop() + + def _traverse_current_value(self, val, current_tokens): + yield JsonMove(self.diff, OperationType.REMOVE, current_tokens) + + def _traverse_target(self, ptr, current_tokens, target_tokens): + if isinstance(ptr, list): + for move in self._traverse_target_list(ptr, current_tokens, target_tokens): + yield move + return + + if isinstance(ptr, dict): + if len(ptr) == 0: + yield JsonMove(self.diff, OperationType.ADD, current_tokens, target_tokens) + return + + for key in ptr: + current_tokens.append(key) + target_tokens.append(key) + for move in self._traverse_target(ptr[key], current_tokens, target_tokens): + yield move + target_tokens.pop() + current_tokens.pop() + + return + + # target configs are not dict nor list, so handle them as string, int, bool, float + for move in self._traverse_target_value(ptr, current_tokens, target_tokens): + yield move + + def _traverse_target_list(self, ptr, current_tokens, target_tokens): + if len(ptr) == 0: + yield JsonMove(self.diff, OperationType.ADD, current_tokens, target_tokens) + return + + for index, val in enumerate(ptr): + # _traverse_target_list is called when the whole list is missing + # in such case any item should be added at first location i.e. 0 + current_tokens.append(0) + target_tokens.append(index) + for move in self._traverse_target_value(val, current_tokens, target_tokens): + yield move + target_tokens.pop() + current_tokens.pop() + + def _traverse_target_value(self, val, current_tokens, target_tokens): + yield JsonMove(self.diff, OperationType.ADD, current_tokens, target_tokens) + + def _list_to_dict_with_count(self, items): + counts = dict() + + if items is None: + return counts + + for item in items: + counts[item] = counts.get(item, 0) + 1 + + return counts + +class UpperLevelMoveExtender: + """ + A class to extend the given move by including its parent. It has 3 cases: + 1) If parent was in current and target, then replace the parent + 2) If parent was in current but not target, then delete the parent + 3) If parent was in target but not current, then add the parent + """ + def extend(self, move, diff): + # if no tokens i.e. whole config + if not move.current_config_tokens: + return + + upper_current_tokens = move.current_config_tokens[:-1] + operation_type = self._get_upper_operation(upper_current_tokens, diff) + + upper_target_tokens = None + if operation_type in [OperationType.ADD, OperationType.REPLACE]: + upper_target_tokens = upper_current_tokens + + yield JsonMove(diff, operation_type, upper_current_tokens, upper_target_tokens) + + # get upper operation assumes ConfigDb to not have list-of-objects, only list-of-values + def _get_upper_operation(self, tokens, diff): + current_ptr = diff.current_config + target_ptr = diff.target_config + + for token in tokens: + if token not in current_ptr: + return OperationType.ADD + current_ptr = current_ptr[token] + if token not in target_ptr: + return OperationType.REMOVE + target_ptr = target_ptr[token] + + return OperationType.REPLACE + +class DeleteInsteadOfReplaceMoveExtender: + """ + A class to extend the given REPLACE move by adding a REMOVE move. + """ + def extend(self, move, diff): + operation_type = move.op_type + + if operation_type != OperationType.REPLACE: + return + + new_move = JsonMove(diff, OperationType.REMOVE, move.current_config_tokens) + + yield new_move + +class DeleteRefsMoveExtender: + """ + A class to extend the given DELETE move by adding DELETE moves to configs referring to the path in the move. + """ + def __init__(self, path_addressing): + self.path_addressing = path_addressing + + def extend(self, move, diff): + operation_type = move.op_type + + if operation_type != OperationType.REMOVE: + return + + for ref_path in self.path_addressing.find_ref_paths(move.path, diff.current_config): + yield JsonMove(diff, OperationType.REMOVE, self.path_addressing.get_path_tokens(ref_path)) + +class DfsSorter: + def __init__(self, move_wrapper): + self.visited = {} + self.move_wrapper = move_wrapper + + def sort(self, diff): + if diff.has_no_diff(): + return [] + + diff_hash = hash(diff) + if diff_hash in self.visited: + return None + self.visited[diff_hash] = True + + moves = self.move_wrapper.generate(diff) + + for move in moves: + if self.move_wrapper.validate(move, diff): + new_diff = self.move_wrapper.simulate(move, diff) + new_moves = self.sort(new_diff) + if new_moves is not None: + return [move] + new_moves + + return None + +class BfsSorter: + def __init__(self, move_wrapper): + self.visited = {} + self.move_wrapper = move_wrapper + + def sort(self, diff): + diff_queue = deque([]) + prv_moves_queue = deque([]) + + diff_queue.append(diff) + prv_moves_queue.append([]) + + while len(diff_queue): + diff = diff_queue.popleft() + prv_moves = prv_moves_queue.popleft() + + diff_hash = hash(diff) + if diff_hash in self.visited: + continue + self.visited[diff_hash] = True + + if diff.has_no_diff(): + return prv_moves + + moves = self.move_wrapper.generate(diff) + for move in moves: + if self.move_wrapper.validate(move, diff): + new_diff = self.move_wrapper.simulate(move, diff) + new_prv_moves = prv_moves + [move] + + diff_queue.append(new_diff) + prv_moves_queue.append(new_prv_moves) + + return None + +class MemoizationSorter: + def __init__(self, move_wrapper): + self.visited = {} + self.move_wrapper = move_wrapper + self.mem = {} + + def rec(self, diff): + if diff.has_no_diff(): + return [] + + diff_hash = hash(diff) + if diff_hash in self.mem: + return self.mem[diff_hash] + if diff_hash in self.visited: + return None + self.visited[diff_hash] = True + + moves = self.move_wrapper.generate(diff) + + bst_moves = None + for move in moves: + if self.move_wrapper.validate(move, diff): + new_diff = self.move_wrapper.simulate(move, diff) + new_moves = self.sort(new_diff) + if new_moves != None and (bst_moves is None or len(bst_moves) > len(new_moves)+1): + bst_moves = [move] + new_moves + + self.mem[diff_hash] = bst_moves + return bst_moves + +class Algorithm(Enum): + DFS = 1 + BFS = 2 + MEMOIZATION = 3 + +class SortAlgorithmFactory: + def __init__(self, operation_wrapper, config_wrapper, path_addressing): + self.operation_wrapper = operation_wrapper + self.config_wrapper = config_wrapper + self.path_addressing = path_addressing + + def create(self, algorithm=Algorithm.DFS): + move_generators = [LowLevelMoveGenerator(self.path_addressing)] + move_extenders = [UpperLevelMoveExtender(), + DeleteInsteadOfReplaceMoveExtender(), + DeleteRefsMoveExtender(self.path_addressing)] + move_validators = [DeleteWholeConfigMoveValidator(), + FullConfigMoveValidator(self.config_wrapper), + NoDependencyMoveValidator(self.path_addressing, self.config_wrapper), + UniqueLanesMoveValidator(), + CreateOnlyMoveValidator(self.path_addressing) ] + + move_wrapper = MoveWrapper(move_generators, move_extenders, move_validators) + + if algorithm == Algorithm.DFS: + sorter = DfsSorter(move_wrapper) + elif algorithm == Algorithm.BFS: + sorter = BfsSorter(move_wrapper) + elif algorithm == Algorithm.MEMOIZATION: + sorter = MemoizationSorter(move_wrapper) + else: + raise ValueError(f"Algorithm {algorithm} is not supported") + + return sorter + +class PatchSorter: + def __init__(self, config_wrapper, patch_wrapper, sort_algorithm_factory=None): + self.config_wrapper = config_wrapper + self.patch_wrapper = patch_wrapper + self.operation_wrapper = OperationWrapper() + self.path_addressing = PathAddressing() + self.sort_algorithm_factory = sort_algorithm_factory if sort_algorithm_factory else \ + SortAlgorithmFactory(self.operation_wrapper, config_wrapper, self.path_addressing) + + def sort(self, patch, algorithm=Algorithm.DFS): + current_config = self.config_wrapper.get_config_db_as_json() + target_config = self.patch_wrapper.simulate_patch(patch, current_config) + + diff = Diff(current_config, target_config) + + sort_algorithm = self.sort_algorithm_factory.create(algorithm) + moves = sort_algorithm.sort(diff) + + if moves is None: + raise GenericConfigUpdaterError("There is no possible sorting") + + changes = [JsonChange(move.patch) for move in moves] + + return changes diff --git a/setup.py b/setup.py index 5847b6e6ee..21ed476117 100644 --- a/setup.py +++ b/setup.py @@ -175,6 +175,7 @@ 'jinja2>=2.11.3', 'jsondiff>=1.2.0', 'jsonpatch>=1.32.0', + 'jsonpointer>=1.9', 'm2crypto>=0.31.0', 'natsort>=6.2.1', # 6.2.1 is the last version which supports Python 2. Can update once we no longer support Python 2 'netaddr>=0.8.0', diff --git a/tests/generic_config_updater/files/any_config_db.json b/tests/generic_config_updater/files/any_config_db.json new file mode 100644 index 0000000000..2c63c08510 --- /dev/null +++ b/tests/generic_config_updater/files/any_config_db.json @@ -0,0 +1,2 @@ +{ +} diff --git a/tests/generic_config_updater/files/any_other_config_db.json b/tests/generic_config_updater/files/any_other_config_db.json new file mode 100644 index 0000000000..c258f768cf --- /dev/null +++ b/tests/generic_config_updater/files/any_other_config_db.json @@ -0,0 +1,4 @@ +{ + "VLAN": { + } +} diff --git a/tests/generic_config_updater/files/config_db_after_multi_patch.json b/tests/generic_config_updater/files/config_db_after_multi_patch.json index 042bf1d51b..39dff7d688 100644 --- a/tests/generic_config_updater/files/config_db_after_multi_patch.json +++ b/tests/generic_config_updater/files/config_db_after_multi_patch.json @@ -119,4 +119,4 @@ "key12": "value12" } } -} \ No newline at end of file +} diff --git a/tests/generic_config_updater/files/config_db_after_single_operation.json b/tests/generic_config_updater/files/config_db_after_single_operation.json new file mode 100644 index 0000000000..0f2f447537 --- /dev/null +++ b/tests/generic_config_updater/files/config_db_after_single_operation.json @@ -0,0 +1,83 @@ +{ + "VLAN_MEMBER": { + "Vlan1000|Ethernet0": { + "tagging_mode": "untagged" + }, + "Vlan1000|Ethernet4": { + "tagging_mode": "untagged" + } + }, + "VLAN": { + "Vlan1000": { + "vlanid": "1000", + "dhcp_servers": [ + "192.0.0.1", + "192.0.0.2", + "192.0.0.3", + "192.0.0.4" + ] + } + }, + "ACL_TABLE": { + "NO-NSW-PACL-V4": { + "type": "L3", + "policy_desc": "NO-NSW-PACL-V4", + "ports": [ + "Ethernet0" + ] + }, + "DATAACL": { + "policy_desc": "DATAACL", + "ports": [ + "Ethernet4" + ], + "stage": "ingress", + "type": "L3" + }, + "EVERFLOW": { + "policy_desc": "EVERFLOW", + "ports": [ + "Ethernet8" + ], + "stage": "ingress", + "type": "MIRROR" + }, + "EVERFLOWV6": { + "policy_desc": "EVERFLOWV6", + "ports": [ + "Ethernet4", + "Ethernet8" + ], + "stage": "ingress", + "type": "MIRRORV6" + } + }, + "PORT": { + "Ethernet0": { + "alias": "Eth1", + "lanes": "65, 66, 67, 68", + "description": "Ethernet0 100G link", + "speed": "100000" + }, + "Ethernet4": { + "admin_status": "up", + "alias": "fortyGigE0/4", + "description": "Servers0:eth0", + "index": "1", + "lanes": "29,30,31,32", + "mtu": "9100", + "pfc_asym": "off", + "speed": "40000" + }, + "Ethernet8": { + "admin_status": "up", + "alias": "fortyGigE0/8", + "description": "Servers1:eth0", + "index": "2", + "lanes": "33,34,35,36", + "mtu": "9100", + "pfc_asym": "off", + "speed": "40000" + } + } +} diff --git a/tests/generic_config_updater/files/config_db_choice.json b/tests/generic_config_updater/files/config_db_choice.json new file mode 100644 index 0000000000..eaece3248f --- /dev/null +++ b/tests/generic_config_updater/files/config_db_choice.json @@ -0,0 +1,17 @@ +{ + "ACL_RULE": { + "SSH_ONLY|RULE1": { + "L4_SRC_PORT":"65174-6530" + } + }, + "ACL_TABLE": { + "SSH_ONLY": { + "policy_desc": "SSH_ONLY", + "type": "CTRLPLANE", + "stage": "ingress", + "services": [ + "SSH" + ] + } + } +} diff --git a/tests/generic_config_updater/files/config_db_no_dependencies.json b/tests/generic_config_updater/files/config_db_no_dependencies.json new file mode 100644 index 0000000000..12bdd464a5 --- /dev/null +++ b/tests/generic_config_updater/files/config_db_no_dependencies.json @@ -0,0 +1,39 @@ +{ + "VLAN": { + "Vlan1000": { + "vlanid": "1000", + "dhcp_servers": [ + "192.0.0.1", + "192.0.0.2", + "192.0.0.3", + "192.0.0.4" + ] + } + }, + "ACL_TABLE": { + "EVERFLOW": { + "policy_desc": "EVERFLOW", + "ports": [ + "" + ], + "stage": "ingress", + "type": "MIRROR" + }, + "EVERFLOWV6": { + "policy_desc": "EVERFLOWV6", + "ports": [ + "" + ], + "stage": "ingress", + "type": "MIRRORV6" + } + }, + "PORT": { + "Ethernet0": { + "alias": "Eth1", + "lanes": "65, 66, 67, 68", + "description": "Ethernet0 100G link", + "speed": "100000" + } + } +} diff --git a/tests/generic_config_updater/files/config_db_with_crm.json b/tests/generic_config_updater/files/config_db_with_crm.json new file mode 100644 index 0000000000..5fd324d988 --- /dev/null +++ b/tests/generic_config_updater/files/config_db_with_crm.json @@ -0,0 +1,9 @@ +{ + "CRM": { + "Config": { + "acl_counter_high_threshold": "90", + "acl_counter_low_threshold": "70", + "acl_counter_threshold_type": "free" + } + } +} \ No newline at end of file diff --git a/tests/generic_config_updater/files/config_db_with_device_metadata.json b/tests/generic_config_updater/files/config_db_with_device_metadata.json new file mode 100644 index 0000000000..34def579f6 --- /dev/null +++ b/tests/generic_config_updater/files/config_db_with_device_metadata.json @@ -0,0 +1,16 @@ +{ + "DEVICE_METADATA": { + "localhost": { + "default_bgp_status": "up", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "separated", + "hostname": "vlab-01", + "hwsku": "Force10-S6000", + "type": "ToRRouter", + "platform": "x86_64-kvm_x86_64-r0", + "mac": "52:54:00:99:7e:85" + } + } +} \ No newline at end of file diff --git a/tests/generic_config_updater/files/config_db_with_interface.json b/tests/generic_config_updater/files/config_db_with_interface.json new file mode 100644 index 0000000000..2e1c488a4a --- /dev/null +++ b/tests/generic_config_updater/files/config_db_with_interface.json @@ -0,0 +1,20 @@ +{ + "INTERFACE": { + "Ethernet8": {}, + "Ethernet8|10.0.0.1/30": { + "family": "IPv4", + "scope": "global" + } + }, + "PORT": { + "Ethernet8": { + "admin_status": "up", + "alias": "eth8", + "description": "Ethernet8", + "fec": "rs", + "lanes": "65", + "mtu": "9000", + "speed": "25000" + } + } +} diff --git a/tests/generic_config_updater/files/config_db_with_portchannel_and_acl.json b/tests/generic_config_updater/files/config_db_with_portchannel_and_acl.json new file mode 100644 index 0000000000..23d33890f3 --- /dev/null +++ b/tests/generic_config_updater/files/config_db_with_portchannel_and_acl.json @@ -0,0 +1,25 @@ +{ + "PORT": { + "Ethernet0": { + "alias": "Eth1/1", + "lanes": "65", + "description": "", + "speed": "10000" + } + }, + "PORTCHANNEL": { + "PortChannel0001": { + "admin_status": "up" + } + }, + "ACL_TABLE": { + "NO-NSW-PACL-V4": { + "type": "L3", + "policy_desc": "NO-NSW-PACL-V4", + "ports": [ + "Ethernet0", + "PortChannel0001" + ] + } + } +} diff --git a/tests/generic_config_updater/files/config_db_with_portchannel_interface.json b/tests/generic_config_updater/files/config_db_with_portchannel_interface.json new file mode 100644 index 0000000000..4e05639dc5 --- /dev/null +++ b/tests/generic_config_updater/files/config_db_with_portchannel_interface.json @@ -0,0 +1,10 @@ +{ + "PORTCHANNEL": { + "PortChannel0001": { + "admin_status": "up" + } + }, + "PORTCHANNEL_INTERFACE": { + "PortChannel0001|1.1.1.1/24": {} + } +} diff --git a/tests/generic_config_updater/files/contrainer_with_container_config_db.json b/tests/generic_config_updater/files/contrainer_with_container_config_db.json new file mode 100644 index 0000000000..b0680b22b5 --- /dev/null +++ b/tests/generic_config_updater/files/contrainer_with_container_config_db.json @@ -0,0 +1,7 @@ +{ + "FLEX_COUNTER_TABLE": { + "BUFFER_POOL_WATERMARK": { + "FLEX_COUNTER_STATUS": "enable" + } + } +} diff --git a/tests/generic_config_updater/files/dpb_1_split_full_config.json b/tests/generic_config_updater/files/dpb_1_split_full_config.json new file mode 100644 index 0000000000..2097289606 --- /dev/null +++ b/tests/generic_config_updater/files/dpb_1_split_full_config.json @@ -0,0 +1,35 @@ +{ + "PORT": { + "Ethernet0": { + "alias": "Eth1", + "lanes": "65, 66, 67, 68", + "description": "Ethernet0 100G link", + "speed": "100000" + } + }, + "ACL_TABLE": { + "NO-NSW-PACL-V4": { + "type": "L3", + "policy_desc": "NO-NSW-PACL-V4", + "ports": [ + "Ethernet0" + ] + } + }, + "VLAN_MEMBER": { + "Vlan100|Ethernet0": { + "tagging_mode": "untagged" + } + }, + "VLAN": { + "Vlan100": { + "vlanid": "100", + "dhcp_servers": [ + "192.0.0.1", + "192.0.0.2", + "192.0.0.3", + "192.0.0.4" + ] + } + } +} diff --git a/tests/generic_config_updater/files/dpb_1_to_4.json-patch b/tests/generic_config_updater/files/dpb_1_to_4.json-patch new file mode 100644 index 0000000000..8eddd7a19d --- /dev/null +++ b/tests/generic_config_updater/files/dpb_1_to_4.json-patch @@ -0,0 +1,88 @@ +[ + { + "op": "add", + "path": "/PORT/Ethernet3", + "value": { + "alias": "Eth1/4", + "lanes": "68", + "description": "", + "speed": "10000" + } + }, + { + "op": "add", + "path": "/PORT/Ethernet1", + "value": { + "alias": "Eth1/2", + "lanes": "66", + "description": "", + "speed": "10000" + } + }, + { + "op": "add", + "path": "/PORT/Ethernet2", + "value": { + "alias": "Eth1/3", + "lanes": "67", + "description": "", + "speed": "10000" + } + }, + { + "op": "replace", + "path": "/PORT/Ethernet0/lanes", + "value": "65" + }, + { + "op": "replace", + "path": "/PORT/Ethernet0/alias", + "value": "Eth1/1" + }, + { + "op": "replace", + "path": "/PORT/Ethernet0/description", + "value": "" + }, + { + "op": "replace", + "path": "/PORT/Ethernet0/speed", + "value": "10000" + }, + { + "op": "add", + "path": "/VLAN_MEMBER/Vlan100|Ethernet2", + "value": { + "tagging_mode": "untagged" + } + }, + { + "op": "add", + "path": "/VLAN_MEMBER/Vlan100|Ethernet3", + "value": { + "tagging_mode": "untagged" + } + }, + { + "op": "add", + "path": "/VLAN_MEMBER/Vlan100|Ethernet1", + "value": { + "tagging_mode": "untagged" + } + }, + { + "op": "add", + "path": "/ACL_TABLE/NO-NSW-PACL-V4/ports/1", + "value": "Ethernet1" + }, + { + "op": "add", + "path": "/ACL_TABLE/NO-NSW-PACL-V4/ports/2", + "value": "Ethernet2" + }, + { + "op": "add", + "path": "/ACL_TABLE/NO-NSW-PACL-V4/ports/3", + "value": "Ethernet3" + } +] diff --git a/tests/generic_config_updater/files/dpb_4_splits_full_config.json b/tests/generic_config_updater/files/dpb_4_splits_full_config.json new file mode 100644 index 0000000000..23d1b9ecfc --- /dev/null +++ b/tests/generic_config_updater/files/dpb_4_splits_full_config.json @@ -0,0 +1,65 @@ +{ + "PORT": { + "Ethernet0": { + "alias": "Eth1/1", + "lanes": "65", + "description": "", + "speed": "10000" + }, + "Ethernet1": { + "alias": "Eth1/2", + "lanes": "66", + "description": "", + "speed": "10000" + }, + "Ethernet2": { + "alias": "Eth1/3", + "lanes": "67", + "description": "", + "speed": "10000" + }, + "Ethernet3": { + "alias": "Eth1/4", + "lanes": "68", + "description": "", + "speed": "10000" + } + }, + "ACL_TABLE": { + "NO-NSW-PACL-V4": { + "type": "L3", + "policy_desc": "NO-NSW-PACL-V4", + "ports": [ + "Ethernet0", + "Ethernet1", + "Ethernet2", + "Ethernet3" + ] + } + }, + "VLAN_MEMBER": { + "Vlan100|Ethernet0": { + "tagging_mode": "untagged" + }, + "Vlan100|Ethernet1": { + "tagging_mode": "untagged" + }, + "Vlan100|Ethernet2": { + "tagging_mode": "untagged" + }, + "Vlan100|Ethernet3": { + "tagging_mode": "untagged" + } + }, + "VLAN": { + "Vlan100": { + "vlanid": "100", + "dhcp_servers": [ + "192.0.0.1", + "192.0.0.2", + "192.0.0.3", + "192.0.0.4" + ] + } + } +} diff --git a/tests/generic_config_updater/files/dpb_4_to_1.json-patch b/tests/generic_config_updater/files/dpb_4_to_1.json-patch new file mode 100644 index 0000000000..33addd290d --- /dev/null +++ b/tests/generic_config_updater/files/dpb_4_to_1.json-patch @@ -0,0 +1,58 @@ +[ + { + "op": "remove", + "path": "/PORT/Ethernet2" + }, + { + "op": "remove", + "path": "/PORT/Ethernet1" + }, + { + "op": "remove", + "path": "/PORT/Ethernet3" + }, + { + "op": "replace", + "path": "/PORT/Ethernet0/alias", + "value": "Eth1" + }, + { + "op": "replace", + "path": "/PORT/Ethernet0/lanes", + "value": "65, 66, 67, 68" + }, + { + "op": "replace", + "path": "/PORT/Ethernet0/description", + "value": "Ethernet0 100G link" + }, + { + "op": "replace", + "path": "/PORT/Ethernet0/speed", + "value": "100000" + }, + { + "op": "remove", + "path": "/VLAN_MEMBER/Vlan100|Ethernet1" + }, + { + "op": "remove", + "path": "/VLAN_MEMBER/Vlan100|Ethernet3" + }, + { + "op": "remove", + "path": "/VLAN_MEMBER/Vlan100|Ethernet2" + }, + { + "op": "remove", + "path": "/ACL_TABLE/NO-NSW-PACL-V4/ports/1" + }, + { + "op": "remove", + "path": "/ACL_TABLE/NO-NSW-PACL-V4/ports/1" + }, + { + "op": "remove", + "path": "/ACL_TABLE/NO-NSW-PACL-V4/ports/1" + } +] diff --git a/tests/generic_config_updater/files/empty_config_db.json b/tests/generic_config_updater/files/empty_config_db.json new file mode 100644 index 0000000000..2c63c08510 --- /dev/null +++ b/tests/generic_config_updater/files/empty_config_db.json @@ -0,0 +1,2 @@ +{ +} diff --git a/tests/generic_config_updater/files/simple_config_db_inc_deps.json b/tests/generic_config_updater/files/simple_config_db_inc_deps.json new file mode 100644 index 0000000000..4554582103 --- /dev/null +++ b/tests/generic_config_updater/files/simple_config_db_inc_deps.json @@ -0,0 +1,20 @@ +{ + "ACL_TABLE": { + "EVERFLOW": { + "policy_desc": "EVERFLOW", + "ports": [ + "Ethernet0" + ], + "stage": "ingress", + "type": "MIRROR" + } + }, + "PORT": { + "Ethernet0": { + "alias": "Eth1", + "lanes": "65, 66, 67, 68", + "description": "Ethernet0 100G link", + "speed": "100000" + } + } +} diff --git a/tests/generic_config_updater/gu_common_test.py b/tests/generic_config_updater/gu_common_test.py index f18ad45799..f69ec08030 100644 --- a/tests/generic_config_updater/gu_common_test.py +++ b/tests/generic_config_updater/gu_common_test.py @@ -1,15 +1,12 @@ import json import jsonpatch +import sonic_yang import unittest from unittest.mock import MagicMock, Mock -from .gutest_helpers import create_side_effect_dict, Files +from .gutest_helpers import create_side_effect_dict, Files import generic_config_updater.gu_common as gu_common -# import sys -# sys.path.insert(0,'../../generic_config_updater') -# import gu_common - class TestConfigWrapper(unittest.TestCase): def setUp(self): self.config_wrapper_mock = gu_common.ConfigWrapper() @@ -333,3 +330,306 @@ def __assert_same_patch(self, config_db_patch, sonic_yang_patch, config_wrapper, config_wrapper.convert_sonic_yang_to_config_db(after_update_sonic_yang) self.assertTrue(patch_wrapper.verify_same_json(after_update_config_db_cropped, after_update_sonic_yang_as_config_db)) + +class TestPathAddressing(unittest.TestCase): + def setUp(self): + self.path_addressing = gu_common.PathAddressing() + self.sy_only_models = sonic_yang.SonicYang(gu_common.YANG_DIR) + self.sy_only_models.loadYangModel() + + def test_get_path_tokens(self): + def check(path, tokens): + expected=tokens + actual=self.path_addressing.get_path_tokens(path) + self.assertEqual(expected, actual) + + check("", []) + check("/", [""]) + check("/token", ["token"]) + check("/more/than/one/token", ["more", "than", "one", "token"]) + check("/has/numbers/0/and/symbols/^", ["has", "numbers", "0", "and", "symbols", "^"]) + check("/~0/this/is/telda", ["~", "this", "is", "telda"]) + check("/~1/this/is/forward-slash", ["/", "this", "is", "forward-slash"]) + check("/\\\\/no-escaping", ["\\\\", "no-escaping"]) + check("////empty/tokens/are/ok", ["", "", "", "empty", "tokens", "are", "ok"]) + + def test_create_path(self): + def check(tokens, path): + expected=path + actual=self.path_addressing.create_path(tokens) + self.assertEqual(expected, actual) + + check([], "",) + check([""], "/",) + check(["token"], "/token") + check(["more", "than", "one", "token"], "/more/than/one/token") + check(["has", "numbers", "0", "and", "symbols", "^"], "/has/numbers/0/and/symbols/^") + check(["~", "this", "is", "telda"], "/~0/this/is/telda") + check(["/", "this", "is", "forward-slash"], "/~1/this/is/forward-slash") + check(["\\\\", "no-escaping"], "/\\\\/no-escaping") + check(["", "", "", "empty", "tokens", "are", "ok"], "////empty/tokens/are/ok") + check(["~token", "telda-not-followed-by-0-or-1"], "/~0token/telda-not-followed-by-0-or-1") + + def test_get_xpath_tokens(self): + def check(path, tokens): + expected=tokens + actual=self.path_addressing.get_xpath_tokens(path) + self.assertEqual(expected, actual) + + self.assertRaises(ValueError, check, "", []) + check("/", []) + check("/token", ["token"]) + check("/more/than/one/token", ["more", "than", "one", "token"]) + check("/multi/tokens/with/empty/last/token/", ["multi", "tokens", "with", "empty", "last", "token", ""]) + check("/has/numbers/0/and/symbols/^", ["has", "numbers", "0", "and", "symbols", "^"]) + check("/has[a='predicate']/in/the/beginning", ["has[a='predicate']", "in", "the", "beginning"]) + check("/ha/s[a='predicate']/in/the/middle", ["ha", "s[a='predicate']", "in", "the", "middle"]) + check("/ha/s[a='predicate-in-the-end']", ["ha", "s[a='predicate-in-the-end']"]) + check("/it/has[more='than'][one='predicate']/somewhere", ["it", "has[more='than'][one='predicate']", "somewhere"]) + check("/ha/s[a='predicate\"with']/double-quotes/inside", ["ha", "s[a='predicate\"with']", "double-quotes", "inside"]) + check('/a/predicate[with="double"]/quotes', ["a", 'predicate[with="double"]', "quotes"]) + check('/multiple["predicate"][with="double"]/quotes', ['multiple["predicate"][with="double"]', "quotes"]) + check('/multiple["predicate"][with="double"]/quotes', ['multiple["predicate"][with="double"]', "quotes"]) + check('/ha/s[a="predicate\'with"]/single-quote/inside', ["ha", 's[a="predicate\'with"]', "single-quote", "inside"]) + # XPATH 1.0 does not support single-quote within single-quoted string. str literal can be '[^']*' + # Not validating no single-quote within single-quoted string + check("/a/mix['of''quotes\"does']/not/work/well", ["a", "mix['of''quotes\"does']", "not", "work", "well"]) + # XPATH 1.0 does not support double-quotes within double-quoted string. str literal can be "[^"]*" + # Not validating no double-quotes within double-quoted string + check('/a/mix["of""quotes\'does"]/not/work/well', ["a", 'mix["of""quotes\'does"]', "not", "work", "well"]) + + def test_create_xpath(self): + def check(tokens, xpath): + expected=xpath + actual=self.path_addressing.create_xpath(tokens) + self.assertEqual(expected, actual) + + check([], "/") + check(["token"], "/token") + check(["more", "than", "one", "token"], "/more/than/one/token") + check(["multi", "tokens", "with", "empty", "last", "token", ""], "/multi/tokens/with/empty/last/token/") + check(["has", "numbers", "0", "and", "symbols", "^"], "/has/numbers/0/and/symbols/^") + check(["has[a='predicate']", "in", "the", "beginning"], "/has[a='predicate']/in/the/beginning") + check(["ha", "s[a='predicate']", "in", "the", "middle"], "/ha/s[a='predicate']/in/the/middle") + check(["ha", "s[a='predicate-in-the-end']"], "/ha/s[a='predicate-in-the-end']") + check(["it", "has[more='than'][one='predicate']", "somewhere"], "/it/has[more='than'][one='predicate']/somewhere") + check(["ha", "s[a='predicate\"with']", "double-quotes", "inside"], "/ha/s[a='predicate\"with']/double-quotes/inside") + check(["a", 'predicate[with="double"]', "quotes"], '/a/predicate[with="double"]/quotes') + check(['multiple["predicate"][with="double"]', "quotes"], '/multiple["predicate"][with="double"]/quotes') + check(['multiple["predicate"][with="double"]', "quotes"], '/multiple["predicate"][with="double"]/quotes') + check(["ha", 's[a="predicate\'with"]', "single-quote", "inside"], '/ha/s[a="predicate\'with"]/single-quote/inside') + # XPATH 1.0 does not support single-quote within single-quoted string. str literal can be '[^']*' + # Not validating no single-quote within single-quoted string + check(["a", "mix['of''quotes\"does']", "not", "work", "well"], "/a/mix['of''quotes\"does']/not/work/well", ) + # XPATH 1.0 does not support double-quotes within double-quoted string. str literal can be "[^"]*" + # Not validating no double-quotes within double-quoted string + check(["a", 'mix["of""quotes\'does"]', "not", "work", "well"], '/a/mix["of""quotes\'does"]/not/work/well') + + def test_find_ref_paths__ref_is_the_whole_key__returns_ref_paths(self): + # Arrange + path = "/PORT/Ethernet0" + expected = [ + "/ACL_TABLE/NO-NSW-PACL-V4/ports/0", + "/VLAN_MEMBER/Vlan1000|Ethernet0", + ] + + # Act + actual = self.path_addressing.find_ref_paths(path, Files.CROPPED_CONFIG_DB_AS_JSON) + + # Assert + self.assertCountEqual(expected, actual) + + def test_find_ref_paths__ref_is_a_part_of_key__returns_ref_paths(self): + # Arrange + path = "/VLAN/Vlan1000" + expected = [ + "/VLAN_MEMBER/Vlan1000|Ethernet0", + "/VLAN_MEMBER/Vlan1000|Ethernet4", + "/VLAN_MEMBER/Vlan1000|Ethernet8", + ] + + # Act + actual = self.path_addressing.find_ref_paths(path, Files.CROPPED_CONFIG_DB_AS_JSON) + + # Assert + self.assertCountEqual(expected, actual) + + def test_find_ref_paths__ref_is_in_multilist__returns_ref_paths(self): + # Arrange + path = "/PORT/Ethernet8" + expected = [ + "/INTERFACE/Ethernet8", + "/INTERFACE/Ethernet8|10.0.0.1~130", + ] + + # Act + actual = self.path_addressing.find_ref_paths(path, Files.CONFIG_DB_WITH_INTERFACE) + + # Assert + self.assertCountEqual(expected, actual) + + def test_find_ref_paths__ref_is_in_leafref_union__returns_ref_paths(self): + # Arrange + path = "/PORTCHANNEL/PortChannel0001" + expected = [ + "/ACL_TABLE/NO-NSW-PACL-V4/ports/1", + ] + + # Act + actual = self.path_addressing.find_ref_paths(path, Files.CONFIG_DB_WITH_PORTCHANNEL_AND_ACL) + + # Assert + self.assertCountEqual(expected, actual) + + def test_find_ref_paths__path_is_table__returns_ref_paths(self): + # Arrange + path = "/PORT" + expected = [ + "/ACL_TABLE/DATAACL/ports/0", + "/ACL_TABLE/EVERFLOW/ports/0", + "/ACL_TABLE/EVERFLOWV6/ports/0", + "/ACL_TABLE/EVERFLOWV6/ports/1", + "/ACL_TABLE/NO-NSW-PACL-V4/ports/0", + "/VLAN_MEMBER/Vlan1000|Ethernet0", + "/VLAN_MEMBER/Vlan1000|Ethernet4", + "/VLAN_MEMBER/Vlan1000|Ethernet8", + ] + + # Act + actual = self.path_addressing.find_ref_paths(path, Files.CROPPED_CONFIG_DB_AS_JSON) + + # Assert + self.assertCountEqual(expected, actual) + + def test_find_ref_paths__whole_config_path__returns_all_refs(self): + # Arrange + path = "" + expected = [ + "/ACL_TABLE/DATAACL/ports/0", + "/ACL_TABLE/EVERFLOW/ports/0", + "/ACL_TABLE/EVERFLOWV6/ports/0", + "/ACL_TABLE/EVERFLOWV6/ports/1", + "/ACL_TABLE/NO-NSW-PACL-V4/ports/0", + "/VLAN_MEMBER/Vlan1000|Ethernet0", + "/VLAN_MEMBER/Vlan1000|Ethernet4", + "/VLAN_MEMBER/Vlan1000|Ethernet8", + ] + + # Act + actual = self.path_addressing.find_ref_paths(path, Files.CROPPED_CONFIG_DB_AS_JSON) + + # Assert + self.assertCountEqual(expected, actual) + + def test_convert_path_to_xpath(self): + def check(path, xpath, config=None): + if not config: + config = Files.CROPPED_CONFIG_DB_AS_JSON + + expected=xpath + actual=self.path_addressing.convert_path_to_xpath(path, config, self.sy_only_models) + self.assertEqual(expected, actual) + + check(path="", xpath="/") + check(path="/VLAN_MEMBER", xpath="/sonic-vlan:sonic-vlan/VLAN_MEMBER") + check(path="/VLAN/Vlan1000/dhcp_servers", + xpath="/sonic-vlan:sonic-vlan/VLAN/VLAN_LIST[name='Vlan1000']/dhcp_servers") + check(path="/VLAN/Vlan1000/dhcp_servers/0", + xpath="/sonic-vlan:sonic-vlan/VLAN/VLAN_LIST[name='Vlan1000']/dhcp_servers[.='192.0.0.1']") + check(path="/PORT/Ethernet0/lanes", xpath="/sonic-port:sonic-port/PORT/PORT_LIST[name='Ethernet0']/lanes") + check(path="/ACL_TABLE/NO-NSW-PACL-V4/ports/0", + xpath="/sonic-acl:sonic-acl/ACL_TABLE/ACL_TABLE_LIST[ACL_TABLE_NAME='NO-NSW-PACL-V4']/ports[.='Ethernet0']") + check(path="/ACL_TABLE/NO-NSW-PACL-V4/ports/0", + xpath="/sonic-acl:sonic-acl/ACL_TABLE/ACL_TABLE_LIST[ACL_TABLE_NAME='NO-NSW-PACL-V4']/ports[.='Ethernet0']") + check(path="/VLAN_MEMBER/Vlan1000|Ethernet8/tagging_mode", + xpath="/sonic-vlan:sonic-vlan/VLAN_MEMBER/VLAN_MEMBER_LIST[name='Vlan1000'][port='Ethernet8']/tagging_mode") + check(path="/VLAN_MEMBER/Vlan1000|Ethernet8", + xpath="/sonic-vlan:sonic-vlan/VLAN_MEMBER/VLAN_MEMBER_LIST[name='Vlan1000'][port='Ethernet8']") + check(path="/DEVICE_METADATA/localhost/hwsku", + xpath="/sonic-device_metadata:sonic-device_metadata/DEVICE_METADATA/localhost/hwsku", + config=Files.CONFIG_DB_WITH_DEVICE_METADATA) + check(path="/FLEX_COUNTER_TABLE/BUFFER_POOL_WATERMARK/FLEX_COUNTER_STATUS", + xpath="/sonic-flex_counter:sonic-flex_counter/FLEX_COUNTER_TABLE/BUFFER_POOL_WATERMARK/FLEX_COUNTER_STATUS", + config=Files.CONTRAINER_WITH_CONTAINER_CONFIG_DB) + check(path="/ACL_RULE/SSH_ONLY|RULE1/L4_SRC_PORT", + xpath="/sonic-acl:sonic-acl/ACL_RULE/ACL_RULE_LIST[ACL_TABLE_NAME='SSH_ONLY'][RULE_NAME='RULE1']/L4_SRC_PORT", + config=Files.CONFIG_DB_CHOICE) + check(path="/INTERFACE/Ethernet8", + xpath="/sonic-interface:sonic-interface/INTERFACE/INTERFACE_LIST[name='Ethernet8']", + config=Files.CONFIG_DB_WITH_INTERFACE) + check(path="/INTERFACE/Ethernet8|10.0.0.1~130", + xpath="/sonic-interface:sonic-interface/INTERFACE/INTERFACE_IPPREFIX_LIST[name='Ethernet8'][ip-prefix='10.0.0.1/30']", + config=Files.CONFIG_DB_WITH_INTERFACE) + check(path="/INTERFACE/Ethernet8|10.0.0.1~130/scope", + xpath="/sonic-interface:sonic-interface/INTERFACE/INTERFACE_IPPREFIX_LIST[name='Ethernet8'][ip-prefix='10.0.0.1/30']/scope", + config=Files.CONFIG_DB_WITH_INTERFACE) + check(path="/PORTCHANNEL_INTERFACE", + xpath="/sonic-portchannel:sonic-portchannel/PORTCHANNEL_INTERFACE", + config=Files.CONFIG_DB_WITH_PORTCHANNEL_INTERFACE) + check(path="/PORTCHANNEL_INTERFACE/PortChannel0001|1.1.1.1~124", + xpath="/sonic-portchannel:sonic-portchannel/PORTCHANNEL_INTERFACE/PORTCHANNEL_INTERFACE_IPPREFIX_LIST[name='PortChannel0001'][ip_prefix='1.1.1.1/24']", + config=Files.CONFIG_DB_WITH_PORTCHANNEL_INTERFACE) + + def test_convert_xpath_to_path(self): + def check(xpath, path, config=None): + if not config: + config = Files.CROPPED_CONFIG_DB_AS_JSON + + expected=path + actual=self.path_addressing.convert_xpath_to_path(xpath, config, self.sy_only_models) + self.assertEqual(expected, actual) + + check(xpath="/",path="") + check(xpath="/sonic-vlan:sonic-vlan/VLAN_MEMBER", path="/VLAN_MEMBER") + check(xpath="/sonic-vlan:sonic-vlan/VLAN_MEMBER/VLAN_MEMBER_LIST",path="/VLAN_MEMBER") + check(xpath="/sonic-vlan:sonic-vlan/VLAN_MEMBER/VLAN_MEMBER_LIST[name='Vlan1000'][port='Ethernet8']", + path="/VLAN_MEMBER/Vlan1000|Ethernet8") + check(xpath="/sonic-vlan:sonic-vlan/VLAN_MEMBER/VLAN_MEMBER_LIST[name='Vlan1000'][port='Ethernet8']/name", + path="/VLAN_MEMBER/Vlan1000|Ethernet8") + check(xpath="/sonic-vlan:sonic-vlan/VLAN_MEMBER/VLAN_MEMBER_LIST[name='Vlan1000'][port='Ethernet8']/port", + path="/VLAN_MEMBER/Vlan1000|Ethernet8") + check(xpath="/sonic-vlan:sonic-vlan/VLAN_MEMBER/VLAN_MEMBER_LIST[name='Vlan1000'][port='Ethernet8']/tagging_mode", + path="/VLAN_MEMBER/Vlan1000|Ethernet8/tagging_mode") + check(xpath="/sonic-vlan:sonic-acl/ACL_RULE", path="/ACL_RULE") + check(xpath="/sonic-vlan:sonic-acl/ACL_RULE/ACL_RULE_LIST[ACL_TABLE_NAME='SSH_ONLY'][RULE_NAME='RULE1']", + path="/ACL_RULE/SSH_ONLY|RULE1", + config=Files.CONFIG_DB_CHOICE) + check(xpath="/sonic-acl:sonic-acl/ACL_RULE/ACL_RULE_LIST[ACL_TABLE_NAME='SSH_ONLY'][RULE_NAME='RULE1']/L4_SRC_PORT", + path="/ACL_RULE/SSH_ONLY|RULE1/L4_SRC_PORT", + config=Files.CONFIG_DB_CHOICE) + check(xpath="/sonic-vlan:sonic-vlan/VLAN/VLAN_LIST[name='Vlan1000']/dhcp_servers", + path="/VLAN/Vlan1000/dhcp_servers") + check(xpath="/sonic-vlan:sonic-vlan/VLAN/VLAN_LIST[name='Vlan1000']/dhcp_servers[.='192.0.0.1']", + path="/VLAN/Vlan1000/dhcp_servers/0") + check(xpath="/sonic-port:sonic-port/PORT/PORT_LIST[name='Ethernet0']/lanes", path="/PORT/Ethernet0/lanes") + check(xpath="/sonic-acl:sonic-acl/ACL_TABLE/ACL_TABLE_LIST[ACL_TABLE_NAME='NO-NSW-PACL-V4']/ports[.='Ethernet0']", + path="/ACL_TABLE/NO-NSW-PACL-V4/ports/0") + check(xpath="/sonic-vlan:sonic-vlan/VLAN_MEMBER/VLAN_MEMBER_LIST[name='Vlan1000'][port='Ethernet8']/tagging_mode", + path="/VLAN_MEMBER/Vlan1000|Ethernet8/tagging_mode") + check(xpath="/sonic-vlan:sonic-vlan/VLAN_MEMBER/VLAN_MEMBER_LIST[name='Vlan1000'][port='Ethernet8']", + path="/VLAN_MEMBER/Vlan1000|Ethernet8") + check(xpath="/sonic-device_metadata:sonic-device_metadata/DEVICE_METADATA/localhost/hwsku", + path="/DEVICE_METADATA/localhost/hwsku", + config=Files.CONFIG_DB_WITH_DEVICE_METADATA) + check(xpath="/sonic-flex_counter:sonic-flex_counter/FLEX_COUNTER_TABLE/BUFFER_POOL_WATERMARK", + path="/FLEX_COUNTER_TABLE/BUFFER_POOL_WATERMARK", + config=Files.CONTRAINER_WITH_CONTAINER_CONFIG_DB) + check(xpath="/sonic-flex_counter:sonic-flex_counter/FLEX_COUNTER_TABLE/BUFFER_POOL_WATERMARK/FLEX_COUNTER_STATUS", + path="/FLEX_COUNTER_TABLE/BUFFER_POOL_WATERMARK/FLEX_COUNTER_STATUS", + config=Files.CONTRAINER_WITH_CONTAINER_CONFIG_DB) + check(xpath="/sonic-interface:sonic-interface/INTERFACE/INTERFACE_LIST[name='Ethernet8']", + path="/INTERFACE/Ethernet8", + config=Files.CONFIG_DB_WITH_INTERFACE) + check(xpath="/sonic-interface:sonic-interface/INTERFACE/INTERFACE_IPPREFIX_LIST[name='Ethernet8'][ip-prefix='10.0.0.1/30']", + path="/INTERFACE/Ethernet8|10.0.0.1~130", + config=Files.CONFIG_DB_WITH_INTERFACE) + check(xpath="/sonic-interface:sonic-interface/INTERFACE/INTERFACE_IPPREFIX_LIST[name='Ethernet8'][ip-prefix='10.0.0.1/30']/scope", + path="/INTERFACE/Ethernet8|10.0.0.1~130/scope", + config=Files.CONFIG_DB_WITH_INTERFACE) + check(xpath="/sonic-portchannel:sonic-portchannel/PORTCHANNEL_INTERFACE", + path="/PORTCHANNEL_INTERFACE", + config=Files.CONFIG_DB_WITH_PORTCHANNEL_INTERFACE) + check(xpath="/sonic-portchannel:sonic-portchannel/PORTCHANNEL_INTERFACE/PORTCHANNEL_INTERFACE_IPPREFIX_LIST[name='PortChannel0001'][ip_prefix='1.1.1.1/24']", + path="/PORTCHANNEL_INTERFACE/PortChannel0001|1.1.1.1~124", + config=Files.CONFIG_DB_WITH_PORTCHANNEL_INTERFACE) + diff --git a/tests/generic_config_updater/patch_sorter_test.py b/tests/generic_config_updater/patch_sorter_test.py new file mode 100644 index 0000000000..4da9fb901b --- /dev/null +++ b/tests/generic_config_updater/patch_sorter_test.py @@ -0,0 +1,1730 @@ +import jsonpatch +import unittest +from unittest.mock import MagicMock, Mock + +import generic_config_updater.patch_sorter as ps +from .gutest_helpers import Files, create_side_effect_dict +from generic_config_updater.gu_common import ConfigWrapper, PatchWrapper, OperationWrapper, \ + GenericConfigUpdaterError, OperationType, JsonChange, PathAddressing + +class TestDiff(unittest.TestCase): + def test_apply_move__updates_current_config(self): + # Arrange + diff = ps.Diff(current_config=Files.CROPPED_CONFIG_DB_AS_JSON, target_config=Files.ANY_CONFIG_DB) + move = ps.JsonMove.from_patch(Files.SINGLE_OPERATION_CONFIG_DB_PATCH) + + expected = ps.Diff(current_config=Files.CONFIG_DB_AFTER_SINGLE_OPERATION, target_config=Files.ANY_CONFIG_DB) + + # Act + actual = diff.apply_move(move) + + # Assert + self.assertEqual(expected.current_config, actual.current_config) + self.assertEqual(expected.target_config, actual.target_config) + + def test_has_no_diff__diff_exists__returns_false(self): + # Arrange + diff = ps.Diff(current_config=Files.CROPPED_CONFIG_DB_AS_JSON, + target_config=Files.CONFIG_DB_AFTER_SINGLE_OPERATION) + + # Act and Assert + self.assertFalse(diff.has_no_diff()) + + def test_has_no_diff__no_diff__returns_true(self): + # Arrange + diff = ps.Diff(current_config=Files.CROPPED_CONFIG_DB_AS_JSON, + target_config=Files.CROPPED_CONFIG_DB_AS_JSON) + + # Act and Assert + self.assertTrue(diff.has_no_diff()) + + def test_hash__different_current_config__different_hashes(self): + # Arrange + diff1 = ps.Diff(current_config=Files.CROPPED_CONFIG_DB_AS_JSON, target_config=Files.ANY_CONFIG_DB) + diff2 = ps.Diff(current_config=Files.CROPPED_CONFIG_DB_AS_JSON, target_config=Files.ANY_CONFIG_DB) + diff3 = ps.Diff(current_config=Files.CONFIG_DB_AFTER_SINGLE_OPERATION, target_config=Files.ANY_CONFIG_DB) + + # Act + hash1 = hash(diff1) + hash2 = hash(diff2) + hash3 = hash(diff3) + + # Assert + self.assertEqual(hash1, hash2) # same current config + self.assertNotEqual(hash1, hash3) + + def test_hash__different_target_config__different_hashes(self): + # Arrange + diff1 = ps.Diff(current_config=Files.ANY_CONFIG_DB, target_config=Files.CROPPED_CONFIG_DB_AS_JSON) + diff2 = ps.Diff(current_config=Files.ANY_CONFIG_DB, target_config=Files.CROPPED_CONFIG_DB_AS_JSON) + diff3 = ps.Diff(current_config=Files.ANY_CONFIG_DB, target_config=Files.CONFIG_DB_AFTER_SINGLE_OPERATION) + + # Act + hash1 = hash(diff1) + hash2 = hash(diff2) + hash3 = hash(diff3) + + # Assert + self.assertEqual(hash1, hash2) # same target config + self.assertNotEqual(hash1, hash3) + + def test_hash__swapped_current_and_target_configs__different_hashes(self): + # Arrange + diff1 = ps.Diff(current_config=Files.ANY_CONFIG_DB, target_config=Files.ANY_OTHER_CONFIG_DB) + diff2 = ps.Diff(current_config=Files.ANY_OTHER_CONFIG_DB, target_config=Files.ANY_CONFIG_DB) + + # Act + hash1 = hash(diff1) + hash2 = hash(diff2) + + # Assert + self.assertNotEqual(hash1, hash2) + + def test_eq__different_current_config__returns_false(self): + # Arrange + diff = ps.Diff(Files.ANY_CONFIG_DB, Files.ANY_CONFIG_DB) + other_diff = ps.Diff(Files.ANY_OTHER_CONFIG_DB, Files.ANY_CONFIG_DB) + + # Act and assert + self.assertNotEqual(diff, other_diff) + self.assertFalse(diff == other_diff) + + def test_eq__different_target_config__returns_false(self): + # Arrange + diff = ps.Diff(Files.ANY_CONFIG_DB, Files.ANY_CONFIG_DB) + other_diff = ps.Diff(Files.ANY_CONFIG_DB, Files.ANY_OTHER_CONFIG_DB) + + # Act and assert + self.assertNotEqual(diff, other_diff) + self.assertFalse(diff == other_diff) + + def test_eq__different_target_config__returns_true(self): + # Arrange + diff = ps.Diff(Files.ANY_CONFIG_DB, Files.ANY_CONFIG_DB) + other_diff = ps.Diff(Files.ANY_CONFIG_DB, Files.ANY_CONFIG_DB) + + # Act and assert + self.assertEqual(diff, other_diff) + self.assertTrue(diff == other_diff) + +class TestJsonMove(unittest.TestCase): + def setUp(self): + self.operation_wrapper = OperationWrapper() + self.any_op_type = OperationType.REPLACE + self.any_tokens = ["table1", "key11"] + self.any_path = "/table1/key11" + self.any_config = { + "table1": { + "key11": "value11" + } + } + self.any_value = "value11" + self.any_operation = self.operation_wrapper.create(self.any_op_type, self.any_path, self.any_value) + self.any_diff = ps.Diff(self.any_config, self.any_config) + + def test_ctor__delete_op_whole_config__none_value_and_empty_path(self): + # Arrange + path = "" + diff = ps.Diff(current_config={}, target_config=self.any_config) + + # Act + jsonmove = ps.JsonMove(diff, OperationType.REMOVE, []) + + # Assert + self.verify_jsonmove(self.operation_wrapper.create(OperationType.REMOVE, path), + OperationType.REMOVE, + [], + None, + jsonmove) + def test_ctor__remove_op__operation_created_directly(self): + # Arrange and Act + jsonmove = ps.JsonMove(self.any_diff, OperationType.REMOVE, self.any_tokens) + + # Assert + self.verify_jsonmove(self.operation_wrapper.create(OperationType.REMOVE, self.any_path), + OperationType.REMOVE, + self.any_tokens, + None, + jsonmove) + + def test_ctor__replace_op_whole_config__whole_config_value_and_empty_path(self): + # Arrange + path = "" + diff = ps.Diff(current_config={}, target_config=self.any_config) + + # Act + jsonmove = ps.JsonMove(diff, OperationType.REPLACE, [], []) + + # Assert + self.verify_jsonmove(self.operation_wrapper.create(OperationType.REPLACE, path, self.any_config), + OperationType.REPLACE, + [], + [], + jsonmove) + + def test_ctor__replace_op__operation_created_directly(self): + # Arrange and Act + jsonmove = ps.JsonMove(self.any_diff, OperationType.REPLACE, self.any_tokens, self.any_tokens) + + # Assert + self.verify_jsonmove(self.operation_wrapper.create(OperationType.REPLACE, self.any_path, self.any_value), + OperationType.REPLACE, + self.any_tokens, + self.any_tokens, + jsonmove) + + def test_ctor__add_op_whole_config__whole_config_value_and_empty_path(self): + # Arrange + path = "" + diff = ps.Diff(current_config={}, target_config=self.any_config) + + # Act + jsonmove = ps.JsonMove(diff, OperationType.ADD, [], []) + + # Assert + self.verify_jsonmove(self.operation_wrapper.create(OperationType.ADD, path, self.any_config), + OperationType.ADD, + [], + [], + jsonmove) + + def test_ctor__add_op_path_exist__same_value_and_path(self): + # Arrange and Act + jsonmove = ps.JsonMove(self.any_diff, OperationType.ADD, self.any_tokens, self.any_tokens) + + # Assert + self.verify_jsonmove(self.operation_wrapper.create(OperationType.ADD, self.any_path, self.any_value), + OperationType.ADD, + self.any_tokens, + self.any_tokens, + jsonmove) + + def test_ctor__add_op_path_exist_include_list__same_value_and_path(self): + # Arrange + current_config = { + "table1": { + "list1": ["value11", "value13"] + } + } + target_config = { + "table1": { + "list1": ["value11", "value12", "value13", "value14"] + } + } + diff = ps.Diff(current_config, target_config) + op_type = OperationType.ADD + current_config_tokens = ["table1", "list1", 1] # Index is 1 which does not exist in target + target_config_tokens = ["table1", "list1", 1] + expected_jsonpatch_path = "/table1/list1/1" + expected_jsonpatch_value = "value12" + # NOTE: the target config can contain more diff than the given move. + + # Act + jsonmove = ps.JsonMove(diff, op_type, current_config_tokens, target_config_tokens) + + # Assert + self.verify_jsonmove(self.operation_wrapper.create(op_type, expected_jsonpatch_path, expected_jsonpatch_value), + op_type, + current_config_tokens, + target_config_tokens, + jsonmove) + + def test_ctor__add_op_path_exist_list_index_doesnot_exist_in_target___same_value_and_path(self): + # Arrange + current_config = { + "table1": { + "list1": ["value11"] + } + } + target_config = { + "table1": { + "list1": ["value12"] + } + } + diff = ps.Diff(current_config, target_config) + op_type = OperationType.ADD + current_config_tokens = ["table1", "list1", 1] # Index is 1 which does not exist in target + target_config_tokens = ["table1", "list1", 0] + expected_jsonpatch_path = "/table1/list1/1" + expected_jsonpatch_value = "value12" + # NOTE: the target config can contain more diff than the given move. + + # Act + jsonmove = ps.JsonMove(diff, op_type, current_config_tokens, target_config_tokens) + + # Assert + self.verify_jsonmove(self.operation_wrapper.create(op_type, expected_jsonpatch_path, expected_jsonpatch_value), + op_type, + current_config_tokens, + target_config_tokens, + jsonmove) + + def test_ctor__add_op_path_doesnot_exist__value_and_path_of_parent(self): + # Arrange + current_config = { + } + target_config = { + "table1": { + "key11": { + "key111": "value111" + } + } + } + diff = ps.Diff(current_config, target_config) + op_type = OperationType.ADD + current_config_tokens = ["table1", "key11", "key111"] + target_config_tokens = ["table1", "key11", "key111"] + expected_jsonpatch_path = "/table1" + expected_jsonpatch_value = { + "key11": { + "key111": "value111" + } + } + # NOTE: the target config can contain more diff than the given move. + + # Act + jsonmove = ps.JsonMove(diff, op_type, current_config_tokens, target_config_tokens) + + # Assert + self.verify_jsonmove(self.operation_wrapper.create(op_type, expected_jsonpatch_path, expected_jsonpatch_value), + op_type, + current_config_tokens, + target_config_tokens, + jsonmove) + + def test_ctor__add_op_path_doesnot_exist_include_list__value_and_path_of_parent(self): + # Arrange + current_config = { + } + target_config = { + "table1": { + "list1": ["value11", "value12", "value13", "value14"] + } + } + diff = ps.Diff(current_config, target_config) + op_type = OperationType.ADD + current_config_tokens = ["table1", "list1", 0] + target_config_tokens = ["table1", "list1", 1] + expected_jsonpatch_path = "/table1" + expected_jsonpatch_value = { + "list1": ["value12"] + } + # NOTE: the target config can contain more diff than the given move. + + # Act + jsonmove = ps.JsonMove(diff, op_type, current_config_tokens, target_config_tokens) + + # Assert + self.verify_jsonmove(self.operation_wrapper.create(op_type, expected_jsonpatch_path, expected_jsonpatch_value), + op_type, + current_config_tokens, + target_config_tokens, + jsonmove) + + def test_from_patch__more_than_1_op__failure(self): + # Arrange + patch = jsonpatch.JsonPatch([self.any_operation, self.any_operation]) + + # Act and Assert + self.assertRaises(GenericConfigUpdaterError, ps.JsonMove.from_patch, patch) + + def test_from_patch__delete_op__delete_jsonmove(self): + # Arrange + operation = self.operation_wrapper.create(OperationType.REMOVE, self.any_path) + patch = jsonpatch.JsonPatch([operation]) + + # Act + jsonmove = ps.JsonMove.from_patch(patch) + + # Assert + self.verify_jsonmove(operation, + OperationType.REMOVE, + self.any_tokens, + None, + jsonmove) + + def test_from_patch__replace_op__replace_jsonmove(self): + # Arrange + operation = self.operation_wrapper.create(OperationType.REPLACE, self.any_path, self.any_value) + patch = jsonpatch.JsonPatch([operation]) + + # Act + jsonmove = ps.JsonMove.from_patch(patch) + + # Assert + self.verify_jsonmove(operation, + OperationType.REPLACE, + self.any_tokens, + self.any_tokens, + jsonmove) + + def test_from_patch__add_op__add_jsonmove(self): + # Arrange + operation = self.operation_wrapper.create(OperationType.ADD, self.any_path, self.any_value) + patch = jsonpatch.JsonPatch([operation]) + + # Act + jsonmove = ps.JsonMove.from_patch(patch) + + # Assert + self.verify_jsonmove(operation, + OperationType.ADD, + self.any_tokens, + self.any_tokens, + jsonmove) + + def test_from_patch__add_op_with_list_indexes__add_jsonmove(self): + # Arrange + path = "/table1/key11/list1111/3" + value = "value11111" + # From a JsonPatch it is not possible to figure out if the '3' is an item in a list or a dictionary, + # will assume by default a dictionary for simplicity. + tokens = ["table1", "key11", "list1111", "3"] + operation = self.operation_wrapper.create(OperationType.ADD, path, value) + patch = jsonpatch.JsonPatch([operation]) + + # Act + jsonmove = ps.JsonMove.from_patch(patch) + + # Assert + self.verify_jsonmove(operation, + OperationType.ADD, + tokens, + tokens, + jsonmove) + + def test_from_patch__replace_whole_config__whole_config_jsonmove(self): + # Arrange + tokens = [] + path = "" + value = {"table1": {"key1": "value1"} } + operation = self.operation_wrapper.create(OperationType.REPLACE, path, value) + patch = jsonpatch.JsonPatch([operation]) + + # Act + jsonmove = ps.JsonMove.from_patch(patch) + + # Assert + self.verify_jsonmove(operation, + OperationType.REPLACE, + tokens, + tokens, + jsonmove) + + def verify_jsonmove(self, + expected_operation, + expected_op_type, + expected_current_config_tokens, + expected_target_config_tokens, + jsonmove): + expected_patch = jsonpatch.JsonPatch([expected_operation]) + self.assertEqual(expected_patch, jsonmove.patch) + self.assertEqual(expected_op_type, jsonmove.op_type) + self.assertListEqual(expected_current_config_tokens, jsonmove.current_config_tokens) + self.assertEqual(expected_target_config_tokens, jsonmove.target_config_tokens) + +class TestMoveWrapper(unittest.TestCase): + def setUp(self): + self.any_current_config = {} + self.any_target_config = {} + self.any_diff = ps.Diff(self.any_current_config, self.any_target_config) + self.any_move = Mock() + self.any_other_move1 = Mock() + self.any_other_move2 = Mock() + self.any_extended_move = Mock() + self.any_other_extended_move1 = Mock() + self.any_other_extended_move2 = Mock() + + self.single_move_generator = Mock() + self.single_move_generator.generate.side_effect = \ + create_side_effect_dict({(str(self.any_diff),): [self.any_move]}) + + self.another_single_move_generator = Mock() + self.another_single_move_generator.generate.side_effect = \ + create_side_effect_dict({(str(self.any_diff),): [self.any_other_move1]}) + + self.multiple_move_generator = Mock() + self.multiple_move_generator.generate.side_effect = create_side_effect_dict( + {(str(self.any_diff),): [self.any_move, self.any_other_move1, self.any_other_move2]}) + + self.single_move_extender = Mock() + self.single_move_extender.extend.side_effect = create_side_effect_dict( + { + (str(self.any_move), str(self.any_diff)): [self.any_extended_move], + (str(self.any_extended_move), str(self.any_diff)): [], # As first extended move will be extended + (str(self.any_other_extended_move1), str(self.any_diff)): [] # Needed when mixed with other extenders + }) + + self.another_single_move_extender = Mock() + self.another_single_move_extender.extend.side_effect = create_side_effect_dict( + { + (str(self.any_move), str(self.any_diff)): [self.any_other_extended_move1], + (str(self.any_other_extended_move1), str(self.any_diff)): [], # As first extended move will be extended + (str(self.any_extended_move), str(self.any_diff)): [] # Needed when mixed with other extenders + }) + + self.multiple_move_extender = Mock() + self.multiple_move_extender.extend.side_effect = create_side_effect_dict( + { + (str(self.any_move), str(self.any_diff)): \ + [self.any_extended_move, self.any_other_extended_move1, self.any_other_extended_move2], + # All extended moves will be extended + (str(self.any_extended_move), str(self.any_diff)): [], + (str(self.any_other_extended_move1), str(self.any_diff)): [], + (str(self.any_other_extended_move2), str(self.any_diff)): [], + }) + + self.mixed_move_extender = Mock() + self.mixed_move_extender.extend.side_effect = create_side_effect_dict( + { + (str(self.any_move), str(self.any_diff)): [self.any_extended_move], + (str(self.any_other_move1), str(self.any_diff)): [self.any_other_extended_move1], + (str(self.any_extended_move), str(self.any_diff)): \ + [self.any_other_extended_move1, self.any_other_extended_move2], + # All extended moves will be extended + (str(self.any_other_extended_move1), str(self.any_diff)): [], + (str(self.any_other_extended_move2), str(self.any_diff)): [], + }) + + self.fail_move_validator = Mock() + self.fail_move_validator.validate.side_effect = create_side_effect_dict( + {(str(self.any_move), str(self.any_diff)): False}) + + self.success_move_validator = Mock() + self.success_move_validator.validate.side_effect = create_side_effect_dict( + {(str(self.any_move), str(self.any_diff)): True}) + + def test_ctor__assigns_values_correctly(self): + # Arrange + move_generators = Mock() + move_extenders = Mock() + move_validators = Mock() + + # Act + move_wrapper = ps.MoveWrapper(move_generators, move_extenders, move_validators) + + # Assert + self.assertIs(move_generators, move_wrapper.move_generators) + self.assertIs(move_extenders, move_wrapper.move_extenders) + self.assertIs(move_validators, move_wrapper.move_validators) + + def test_generate__single_move_generator__single_move_returned(self): + # Arrange + move_generators = [self.single_move_generator] + move_wrapper = ps.MoveWrapper(move_generators, [], []) + expected = [self.any_move] + + # Act + actual = list(move_wrapper.generate(self.any_diff)) + + # Assert + self.assertListEqual(expected, actual) + + def test_generate__multiple_move_generator__multiple_move_returned(self): + # Arrange + move_generators = [self.multiple_move_generator] + move_wrapper = ps.MoveWrapper(move_generators, [], []) + expected = [self.any_move, self.any_other_move1, self.any_other_move2] + + # Act + actual = list(move_wrapper.generate(self.any_diff)) + + # Assert + self.assertListEqual(expected, actual) + + def test_generate__different_move_generators__different_moves_returned(self): + # Arrange + move_generators = [self.single_move_generator, self.another_single_move_generator] + move_wrapper = ps.MoveWrapper(move_generators, [], []) + expected = [self.any_move, self.any_other_move1] + + # Act + actual = list(move_wrapper.generate(self.any_diff)) + + # Assert + self.assertListEqual(expected, actual) + + def test_generate__duplicate_generated_moves__unique_moves_returned(self): + # Arrange + move_generators = [self.single_move_generator, self.single_move_generator] + move_wrapper = ps.MoveWrapper(move_generators, [], []) + expected = [self.any_move] + + # Act + actual = list(move_wrapper.generate(self.any_diff)) + + # Assert + self.assertListEqual(expected, actual) + + def test_generate__single_move_extender__one_extended_move_returned(self): + # Arrange + move_generators = [self.single_move_generator] + move_extenders = [self.single_move_extender] + move_wrapper = ps.MoveWrapper(move_generators, move_extenders, []) + expected = [self.any_move, self.any_extended_move] + + # Act + actual = list(move_wrapper.generate(self.any_diff)) + + # Assert + self.assertListEqual(expected, actual) + + def test_generate__multiple_move_extender__multiple_extended_move_returned(self): + # Arrange + move_generators = [self.single_move_generator] + move_extenders = [self.multiple_move_extender] + move_wrapper = ps.MoveWrapper(move_generators, move_extenders, []) + expected = [self.any_move, self.any_extended_move, self.any_other_extended_move1, self.any_other_extended_move2] + + # Act + actual = list(move_wrapper.generate(self.any_diff)) + + # Assert + self.assertListEqual(expected, actual) + + def test_generate__different_move_extenders__different_extended_moves_returned(self): + # Arrange + move_generators = [self.single_move_generator] + move_extenders = [self.single_move_extender, self.another_single_move_extender] + move_wrapper = ps.MoveWrapper(move_generators, move_extenders, []) + expected = [self.any_move, self.any_extended_move, self.any_other_extended_move1] + + # Act + actual = list(move_wrapper.generate(self.any_diff)) + + # Assert + self.assertListEqual(expected, actual) + + def test_generate__duplicate_extended_moves__unique_moves_returned(self): + # Arrange + move_generators = [self.single_move_generator] + move_extenders = [self.single_move_extender, self.single_move_extender] + move_wrapper = ps.MoveWrapper(move_generators, move_extenders, []) + expected = [self.any_move, self.any_extended_move] + + # Act + actual = list(move_wrapper.generate(self.any_diff)) + + # Assert + self.assertListEqual(expected, actual) + + def test_generate__mixed_extended_moves__unique_moves_returned(self): + # Arrange + move_generators = [self.single_move_generator, self.another_single_move_generator] + move_extenders = [self.mixed_move_extender] + move_wrapper = ps.MoveWrapper(move_generators, move_extenders, []) + expected = [self.any_move, + self.any_other_move1, + self.any_extended_move, + self.any_other_extended_move1, + self.any_other_extended_move2] + + # Act + actual = list(move_wrapper.generate(self.any_diff)) + + # Assert + self.assertListEqual(expected, actual) + + def test_validate__validation_fail__false_returned(self): + # Arrange + move_validators = [self.fail_move_validator] + move_wrapper = ps.MoveWrapper([], [], move_validators) + + # Act and assert + self.assertFalse(move_wrapper.validate(self.any_move, self.any_diff)) + + def test_validate__validation_succeed__true_returned(self): + # Arrange + move_validators = [self.success_move_validator] + move_wrapper = ps.MoveWrapper([], [], move_validators) + + # Act and assert + self.assertTrue(move_wrapper.validate(self.any_move, self.any_diff)) + + def test_validate__multiple_validators_last_fail___false_returned(self): + # Arrange + move_validators = [self.success_move_validator, self.success_move_validator, self.fail_move_validator] + move_wrapper = ps.MoveWrapper([], [], move_validators) + + # Act and assert + self.assertFalse(move_wrapper.validate(self.any_move, self.any_diff)) + + def test_validate__multiple_validators_succeed___true_returned(self): + # Arrange + move_validators = [self.success_move_validator, self.success_move_validator, self.success_move_validator] + move_wrapper = ps.MoveWrapper([], [], move_validators) + + # Act and assert + self.assertTrue(move_wrapper.validate(self.any_move, self.any_diff)) + + def test_simulate__applies_move(self): + # Arrange + diff = Mock() + diff.apply_move.side_effect = create_side_effect_dict({(str(self.any_move), ): self.any_diff}) + move_wrapper = ps.MoveWrapper(None, None, None) + + # Act + actual = move_wrapper.simulate(self.any_move, diff) + + # Assert + self.assertIs(self.any_diff, actual) + +class TestDeleteWholeConfigMoveValidator(unittest.TestCase): + def setUp(self): + self.operation_wrapper = OperationWrapper() + self.validator = ps.DeleteWholeConfigMoveValidator() + self.any_diff = Mock() + self.any_non_whole_config_path = "/table1" + self.whole_config_path = "" + + def test_validate__non_remove_op_non_whole_config__success(self): + self.verify(OperationType.REPLACE, self.any_non_whole_config_path, True) + self.verify(OperationType.ADD, self.any_non_whole_config_path, True) + + def test_validate__remove_op_non_whole_config__success(self): + self.verify(OperationType.REMOVE, self.any_non_whole_config_path, True) + + def test_validate__non_remove_op_whole_config__success(self): + self.verify(OperationType.REPLACE, self.whole_config_path, True) + self.verify(OperationType.ADD, self.whole_config_path, True) + + def test_validate__remove_op_whole_config__failure(self): + self.verify(OperationType.REMOVE, self.whole_config_path, False) + + def verify(self, operation_type, path, expected): + # Arrange + value = None + if operation_type in [OperationType.ADD, OperationType.REPLACE]: + value = Mock() + + operation = self.operation_wrapper.create(operation_type, path, value) + move = ps.JsonMove.from_operation(operation) + + # Act + actual = self.validator.validate(move, self.any_diff) + + # Assert + self.assertEqual(expected, actual) + +class TestUniqueLanesMoveValidator(unittest.TestCase): + def setUp(self): + self.validator = ps.UniqueLanesMoveValidator() + + def test_validate__no_port_table__success(self): + config = {"ACL_TABLE": {}} + self.validate_target_config(config) + + def test_validate__empty_port_table__success(self): + config = {"PORT": {}} + self.validate_target_config(config) + + def test_validate__single_lane__success(self): + config = {"PORT": {"Ethernet0": {"lanes": "66", "speed":"10000"}}} + self.validate_target_config(config) + + def test_validate__different_lanes_single_port___success(self): + config = {"PORT": {"Ethernet0": {"lanes": "66, 67, 68", "speed":"10000"}}} + self.validate_target_config(config) + + def test_validate__different_lanes_multi_ports___success(self): + config = {"PORT": { + "Ethernet0": {"lanes": "64, 65", "speed":"10000"}, + "Ethernet1": {"lanes": "66, 67, 68", "speed":"10000"}, + }} + self.validate_target_config(config) + + def test_validate__same_lanes_single_port___success(self): + config = {"PORT": {"Ethernet0": {"lanes": "65, 65", "speed":"10000"}}} + self.validate_target_config(config, False) + + def validate_target_config(self, target_config, expected=True): + # Arrange + current_config = {} + diff = ps.Diff(current_config, target_config) + move = ps.JsonMove(diff, OperationType.REPLACE, [], []) + + # Act + actual = self.validator.validate(move, diff) + + # Assert + self.assertEqual(expected, actual) + +class TestFullConfigMoveValidator(unittest.TestCase): + def setUp(self): + self.any_current_config = Mock() + self.any_target_config = Mock() + self.any_simulated_config = Mock() + self.any_diff = ps.Diff(self.any_current_config, self.any_target_config) + self.any_move = Mock() + self.any_move.apply.side_effect = \ + create_side_effect_dict({(str(self.any_current_config),): self.any_simulated_config}) + + def test_validate__invalid_config_db_after_applying_move__failure(self): + # Arrange + config_wrapper = Mock() + config_wrapper.validate_config_db_config.side_effect = \ + create_side_effect_dict({(str(self.any_simulated_config),): False}) + validator = ps.FullConfigMoveValidator(config_wrapper) + + # Act and assert + self.assertFalse(validator.validate(self.any_move, self.any_diff)) + + def test_validate__valid_config_db_after_applying_move__success(self): + # Arrange + config_wrapper = Mock() + config_wrapper.validate_config_db_config.side_effect = \ + create_side_effect_dict({(str(self.any_simulated_config),): True}) + validator = ps.FullConfigMoveValidator(config_wrapper) + + # Act and assert + self.assertTrue(validator.validate(self.any_move, self.any_diff)) + +class TestCreateOnlyMoveValidator(unittest.TestCase): + def setUp(self): + self.validator = ps.CreateOnlyMoveValidator(ps.PathAddressing()) + self.any_diff = ps.Diff({}, {}) + + def test_validate__non_replace_operation__success(self): + # Assert + self.assertTrue(self.validator.validate( \ + ps.JsonMove(self.any_diff, OperationType.ADD, [], []), self.any_diff)) + self.assertTrue(self.validator.validate( \ + ps.JsonMove(self.any_diff, OperationType.REMOVE, [], []), self.any_diff)) + + def test_validate__no_create_only_field__success(self): + current_config = {"PORT": {}} + target_config = {"PORT": {}, "ACL_TABLE": {}} + self.verify_diff(current_config, target_config) + + def test_validate__same_create_only_field__success(self): + current_config = {"PORT": {"Ethernet0":{"lanes":"65"}}} + target_config = {"PORT": {"Ethernet0":{"lanes":"65"}}, "ACL_TABLE": {}} + self.verify_diff(current_config, target_config) + + def test_validate__different_create_only_field__failure(self): + current_config = {"PORT": {"Ethernet0":{"lanes":"65"}}} + target_config = {"PORT": {"Ethernet0":{"lanes":"66"}}, "ACL_TABLE": {}} + self.verify_diff(current_config, target_config, expected=False) + + def test_validate__different_create_only_field_directly_updated__failure(self): + current_config = {"PORT": {"Ethernet0":{"lanes":"65"}}} + target_config = {"PORT": {"Ethernet0":{"lanes":"66"}}, "ACL_TABLE": {}} + self.verify_diff(current_config, + target_config, + ["PORT", "Ethernet0", "lanes"], + ["PORT", "Ethernet0", "lanes"], + False) + + def test_validate__different_create_only_field_updating_parent__failure(self): + current_config = {"PORT": {"Ethernet0":{"lanes":"65"}}} + target_config = {"PORT": {"Ethernet0":{"lanes":"66"}}, "ACL_TABLE": {}} + self.verify_diff(current_config, + target_config, + ["PORT", "Ethernet0"], + ["PORT", "Ethernet0"], + False) + + def test_validate__different_create_only_field_updating_grandparent__failure(self): + current_config = {"PORT": {"Ethernet0":{"lanes":"65"}}} + target_config = {"PORT": {"Ethernet0":{"lanes":"66"}}, "ACL_TABLE": {}} + self.verify_diff(current_config, + target_config, + ["PORT"], + ["PORT"], + False) + + def test_validate__same_create_only_field_directly_updated__failure(self): + current_config = {"PORT": {"Ethernet0":{"lanes":"65"}}} + target_config = {"PORT": {"Ethernet0":{"lanes":"65"}}, "ACL_TABLE": {}} + self.verify_diff(current_config, + target_config, + ["PORT", "Ethernet0", "lanes"], + ["PORT", "Ethernet0", "lanes"]) + + def test_validate__same_create_only_field_updating_parent__failure(self): + current_config = {"PORT": {"Ethernet0":{"lanes":"65"}}} + target_config = {"PORT": {"Ethernet0":{"lanes":"65"}}, "ACL_TABLE": {}} + self.verify_diff(current_config, + target_config, + ["PORT", "Ethernet0"], + ["PORT", "Ethernet0"]) + + def test_validate__same_create_only_field_updating_grandparent__failure(self): + current_config = {"PORT": {"Ethernet0":{"lanes":"65"}}} + target_config = {"PORT": {"Ethernet0":{"lanes":"65"}}, "ACL_TABLE": {}} + self.verify_diff(current_config, + target_config, + ["PORT"], + ["PORT"]) + + def verify_diff(self, current_config, target_config, current_config_tokens=None, target_config_tokens=None, expected=True): + # Arrange + current_config_tokens = current_config_tokens if current_config_tokens else [] + target_config_tokens = target_config_tokens if target_config_tokens else [] + diff = ps.Diff(current_config, target_config) + move = ps.JsonMove(diff, OperationType.REPLACE, current_config_tokens, target_config_tokens) + + # Act + actual = self.validator.validate(move, diff) + + # Assert + self.assertEqual(expected, actual) + +class TestNoDependencyMoveValidator(unittest.TestCase): + def setUp(self): + path_addressing = ps.PathAddressing() + config_wrapper = ConfigWrapper() + self.validator = ps.NoDependencyMoveValidator(path_addressing, config_wrapper) + + def test_validate__add_full_config_has_dependencies__failure(self): + # Arrange + # CROPPED_CONFIG_DB_AS_JSON has dependencies between PORT and ACL_TABLE + diff = ps.Diff(Files.EMPTY_CONFIG_DB, Files.CROPPED_CONFIG_DB_AS_JSON) + move = ps.JsonMove(diff, OperationType.ADD, [], []) + + # Act and assert + self.assertFalse(self.validator.validate(move, diff)) + + def test_validate__add_full_config_no_dependencies__success(self): + # Arrange + diff = ps.Diff(Files.EMPTY_CONFIG_DB, Files.CONFIG_DB_NO_DEPENDENCIES) + move = ps.JsonMove(diff, OperationType.ADD, [], []) + + # Act and assert + self.assertTrue(self.validator.validate(move, diff)) + + def test_validate__add_table_has_no_dependencies__success(self): + # Arrange + target_config = Files.CROPPED_CONFIG_DB_AS_JSON + # prepare current config by removing ACL_TABLE from current config + current_config = self.prepare_config(target_config, jsonpatch.JsonPatch([ + {"op": "remove", "path":"/ACL_TABLE"} + ])) + diff = ps.Diff(current_config, target_config) + move = ps.JsonMove(diff, OperationType.ADD, ["ACL_TABLE"], ["ACL_TABLE"]) + + # Act and assert + self.assertTrue(self.validator.validate(move, diff)) + + def test_validate__remove_full_config_has_dependencies__failure(self): + # Arrange + # CROPPED_CONFIG_DB_AS_JSON has dependencies between PORT and ACL_TABLE + diff = ps.Diff(Files.CROPPED_CONFIG_DB_AS_JSON, Files.EMPTY_CONFIG_DB) + move = ps.JsonMove(diff, OperationType.REMOVE, [], []) + + # Act and assert + self.assertFalse(self.validator.validate(move, diff)) + + def test_validate__remove_full_config_no_dependencies__success(self): + # Arrange + diff = ps.Diff(Files.EMPTY_CONFIG_DB, Files.CONFIG_DB_NO_DEPENDENCIES) + move = ps.JsonMove(diff, OperationType.REMOVE, [], []) + + # Act and assert + self.assertTrue(self.validator.validate(move, diff)) + + def test_validate__remove_table_has_no_dependencies__success(self): + # Arrange + current_config = Files.CROPPED_CONFIG_DB_AS_JSON + target_config = self.prepare_config(current_config, jsonpatch.JsonPatch([ + {"op": "remove", "path":"/ACL_TABLE"} + ])) + diff = ps.Diff(current_config, target_config) + move = ps.JsonMove(diff, OperationType.REMOVE, ["ACL_TABLE"]) + + # Act and assert + self.assertTrue(self.validator.validate(move, diff)) + + def test_validate__replace_whole_config_item_added_ref_added__failure(self): + # Arrange + target_config = Files.SIMPLE_CONFIG_DB_INC_DEPS + # prepare current config by removing an item and its ref from target config + current_config = self.prepare_config(target_config, jsonpatch.JsonPatch([ + {"op": "replace", "path":"/ACL_TABLE/EVERFLOW/ports/0", "value":""}, + {"op": "remove", "path":"/PORT/Ethernet0"} + ])) + + diff = ps.Diff(current_config, target_config) + move = ps.JsonMove(diff, OperationType.REPLACE, [], []) + + # Act and assert + self.assertFalse(self.validator.validate(move, diff)) + + def test_validate__replace_whole_config_item_removed_ref_removed__false(self): + # Arrange + current_config = Files.SIMPLE_CONFIG_DB_INC_DEPS + # prepare target config by removing an item and its ref from current config + target_config = self.prepare_config(current_config, jsonpatch.JsonPatch([ + {"op": "replace", "path":"/ACL_TABLE/EVERFLOW/ports/0", "value":""}, + {"op": "remove", "path":"/PORT/Ethernet0"} + ])) + + diff = ps.Diff(current_config, target_config) + move = ps.JsonMove(diff, OperationType.REPLACE, [], []) + + # Act and assert + self.assertFalse(self.validator.validate(move, diff)) + + def test_validate__replace_whole_config_item_same_ref_added__true(self): + # Arrange + target_config = Files.SIMPLE_CONFIG_DB_INC_DEPS + # prepare current config by removing ref from target config + current_config = self.prepare_config(target_config, jsonpatch.JsonPatch([ + {"op": "replace", "path":"/ACL_TABLE/EVERFLOW/ports/0", "value":""} + ])) + + diff = ps.Diff(current_config, target_config) + move = ps.JsonMove(diff, OperationType.REPLACE, [], []) + + # Act and assert + self.assertTrue(self.validator.validate(move, diff)) + + def test_validate__replace_whole_config_item_same_ref_removed__true(self): + # Arrange + current_config= Files.SIMPLE_CONFIG_DB_INC_DEPS + # prepare target config by removing ref from current config + target_config = self.prepare_config(current_config, jsonpatch.JsonPatch([ + {"op": "replace", "path":"/ACL_TABLE/EVERFLOW/ports/0", "value":""} + ])) + + diff = ps.Diff(current_config, target_config) + move = ps.JsonMove(diff, OperationType.REPLACE, [], []) + + # Act and assert + self.assertTrue(self.validator.validate(move, diff)) + + def test_validate__replace_whole_config_item_same_ref_same__true(self): + # Arrange + current_config= Files.SIMPLE_CONFIG_DB_INC_DEPS + # prepare target config by removing ref from current config + target_config = current_config + + diff = ps.Diff(current_config, target_config) + move = ps.JsonMove(diff, OperationType.REPLACE, [], []) + + # Act and assert + self.assertTrue(self.validator.validate(move, diff)) + + def prepare_config(self, config, patch): + return patch.apply(config) + +class TestLowLevelMoveGenerator(unittest.TestCase): + def setUp(self): + path_addressing = PathAddressing() + self.generator = ps.LowLevelMoveGenerator(path_addressing) + + def test_generate__no_diff__no_moves(self): + self.verify() + + def test_generate__replace_key__replace_move(self): + self.verify(tc_ops=[{"op": "replace", 'path': '/PORT/Ethernet0/description', 'value':'any-desc'}]) + + def test_generate__leaf_key_missing__add_move(self): + self.verify( + cc_ops=[{"op": "remove", 'path': '/ACL_TABLE/EVERFLOW/policy_desc'}], + ex_ops=[{"op": "add", 'path': '/ACL_TABLE/EVERFLOW/policy_desc', 'value':'EVERFLOW'}] + ) + + def test_generate__leaf_key_additional__remove_move(self): + self.verify( + tc_ops=[{"op": "remove", 'path': '/ACL_TABLE/EVERFLOW/policy_desc'}] + ) + + def test_generate__table_missing__add_leafs_moves(self): + self.verify( + cc_ops=[{"op": "remove", 'path': '/VLAN'}], + ex_ops=[{'op': 'add', 'path': '/VLAN', 'value': {'Vlan1000': {'vlanid': '1000'}}}, + {'op': 'add', 'path': '/VLAN', 'value': {'Vlan1000': {'dhcp_servers': ['192.0.0.1']}}}, + {'op': 'add', 'path': '/VLAN', 'value': {'Vlan1000': {'dhcp_servers': ['192.0.0.2']}}}, + {'op': 'add', 'path': '/VLAN', 'value': {'Vlan1000': {'dhcp_servers': ['192.0.0.3']}}}, + {'op': 'add', 'path': '/VLAN', 'value': {'Vlan1000': {'dhcp_servers': ['192.0.0.4']}}}] + ) + + def test_generate__table_additional__remove_leafs_moves(self): + self.verify( + tc_ops=[{"op": "remove", 'path': '/VLAN'}], + ex_ops=[{'op': 'remove', 'path': '/VLAN/Vlan1000/vlanid'}, + {'op': 'remove', 'path': '/VLAN/Vlan1000/dhcp_servers/0'}, + {'op': 'remove', 'path': '/VLAN/Vlan1000/dhcp_servers/1'}, + {'op': 'remove', 'path': '/VLAN/Vlan1000/dhcp_servers/2'}, + {'op': 'remove', 'path': '/VLAN/Vlan1000/dhcp_servers/3'}] + ) + + def test_generate__leaf_table_missing__add_table(self): + self.verify( + tc_ops=[{"op": "add", 'path': '/NEW_TABLE', 'value':{}}] + ) + + def test_generate__leaf_table_additional__remove_table(self): + self.verify( + cc_ops=[{"op": "add", 'path': '/NEW_TABLE', 'value':{}}], + ex_ops=[{"op": "remove", 'path': '/NEW_TABLE'}] + ) + + def test_generate__replace_list_item__remove_add_replace_moves(self): + self.verify( + tc_ops=[{"op": "replace", 'path': '/ACL_TABLE/EVERFLOW/ports/0', 'value':'Ethernet0'}], + ex_ops=[ + {"op": "remove", 'path': '/ACL_TABLE/EVERFLOW/ports/0'}, + {"op": "add", 'path': '/ACL_TABLE/EVERFLOW/ports/0', 'value':'Ethernet0'}, + {"op": "replace", 'path': '/ACL_TABLE/EVERFLOW/ports/0', 'value':'Ethernet0'}, + ]) + + def test_generate__remove_list_item__remove_move(self): + self.verify( + tc_ops=[{"op": "remove", 'path': '/VLAN/Vlan1000/dhcp_servers/0'}]) + + def test_generate__remove_multiple_list_items__multiple_remove_moves(self): + self.verify( + tc_ops=[{"op": "remove", 'path': '/VLAN/Vlan1000/dhcp_servers/0'}, + {"op": "remove", 'path': '/VLAN/Vlan1000/dhcp_servers/0'}], + ex_ops=[{"op": "remove", 'path': '/VLAN/Vlan1000/dhcp_servers/0'}, + {"op": "remove", 'path': '/VLAN/Vlan1000/dhcp_servers/1'}] + ) + + def test_generate__remove_all_list_items__multiple_remove_moves(self): + self.verify( + tc_ops=[{"op": "replace", 'path': '/VLAN/Vlan1000/dhcp_servers', 'value':[]}], + ex_ops=[{"op": "remove", 'path': '/VLAN/Vlan1000/dhcp_servers/0'}, + {"op": "remove", 'path': '/VLAN/Vlan1000/dhcp_servers/2'}, + {"op": "remove", 'path': '/VLAN/Vlan1000/dhcp_servers/3'}, + {"op": "remove", 'path': '/VLAN/Vlan1000/dhcp_servers/1'}] + ) + + def test_generate__add_list_items__add_move(self): + self.verify( + tc_ops=[{"op": "add", 'path': '/VLAN/Vlan1000/dhcp_servers/0', 'value':'192.168.1.5'}] + ) + + def test_generate__add_multiple_list_items__multiple_add_moves(self): + self.verify( + tc_ops=[{"op": "add", 'path': '/VLAN/Vlan1000/dhcp_servers/0', 'value':'192.168.1.5'}, + {"op": "add", 'path': '/VLAN/Vlan1000/dhcp_servers/3', 'value':'192.168.1.6'}] + ) + + def test_generate__add_all_list_items__multiple_add_moves(self): + self.verify( + cc_ops=[{"op": "replace", 'path': '/VLAN/Vlan1000/dhcp_servers', 'value':[]}], + ex_ops=[{"op": "add", 'path': '/VLAN/Vlan1000/dhcp_servers/0', 'value':'192.0.0.1'}, + {"op": "add", 'path': '/VLAN/Vlan1000/dhcp_servers/0', 'value':'192.0.0.2'}, + {"op": "add", 'path': '/VLAN/Vlan1000/dhcp_servers/0', 'value':'192.0.0.3'}, + {"op": "add", 'path': '/VLAN/Vlan1000/dhcp_servers/0', 'value':'192.0.0.4'}] + ) + + def test_generate__replace_multiple_list_items__multiple_remove_add_replace_moves(self): + self.verify( + tc_ops=[{"op": "replace", 'path': '/VLAN/Vlan1000/dhcp_servers/0', 'value':'192.168.1.5'}, + {"op": "replace", 'path': '/VLAN/Vlan1000/dhcp_servers/3', 'value':'192.168.1.6'}], + ex_ops=[{"op": "remove", 'path': '/VLAN/Vlan1000/dhcp_servers/0'}, + {"op": "remove", 'path': '/VLAN/Vlan1000/dhcp_servers/3'}, + {"op": "add", 'path': '/VLAN/Vlan1000/dhcp_servers/0', 'value':'192.168.1.5'}, + {"op": "add", 'path': '/VLAN/Vlan1000/dhcp_servers/3', 'value':'192.168.1.6'}, + {"op": "replace", 'path': '/VLAN/Vlan1000/dhcp_servers/0', 'value':'192.168.1.5'}, + {"op": "replace", 'path': '/VLAN/Vlan1000/dhcp_servers/3', 'value':'192.168.1.6'}, + {"op": "replace", 'path': '/VLAN/Vlan1000/dhcp_servers/3', 'value':'192.168.1.5'}, + {"op": "replace", 'path': '/VLAN/Vlan1000/dhcp_servers/0', 'value':'192.168.1.6'}] + ) + + def test_generate__different_order_list_items__whole_list_replace_move(self): + self.verify( + tc_ops=[{"op": "replace", 'path': '/VLAN/Vlan1000/dhcp_servers', 'value':[ + "192.0.0.4", + "192.0.0.3", + "192.0.0.2", + "192.0.0.1" + ]}]) + + def test_generate__whole_list_missing__add_items_moves(self): + self.verify( + cc_ops=[{"op": "remove", 'path': '/VLAN/Vlan1000/dhcp_servers'}], + ex_ops=[{'op': 'add', 'path': '/VLAN/Vlan1000/dhcp_servers', 'value': ['192.0.0.1']}, + {'op': 'add', 'path': '/VLAN/Vlan1000/dhcp_servers', 'value': ['192.0.0.2']}, + {'op': 'add', 'path': '/VLAN/Vlan1000/dhcp_servers', 'value': ['192.0.0.3']}, + {'op': 'add', 'path': '/VLAN/Vlan1000/dhcp_servers', 'value': ['192.0.0.4']}]) + + def test_generate__whole_list_additional__remove_items_moves(self): + self.verify( + tc_ops=[{"op": "remove", 'path': '/VLAN/Vlan1000/dhcp_servers'}], + ex_ops=[{'op': 'remove', 'path': '/VLAN/Vlan1000/dhcp_servers/0'}, + {'op': 'remove', 'path': '/VLAN/Vlan1000/dhcp_servers/1'}, + {'op': 'remove', 'path': '/VLAN/Vlan1000/dhcp_servers/2'}, + {'op': 'remove', 'path': '/VLAN/Vlan1000/dhcp_servers/3'}]) + + def test_generate__empty_list_missing__add_whole_list(self): + self.verify( + tc_ops=[{"op": "replace", 'path': '/VLAN/Vlan1000/dhcp_servers', 'value':[]}], + cc_ops=[{"op": "remove", 'path': '/VLAN/Vlan1000/dhcp_servers'}], + ex_ops=[{'op': 'add', 'path': '/VLAN/Vlan1000/dhcp_servers', 'value':[]}]) + + def test_generate__empty_list_additional__remove_whole_list(self): + self.verify( + tc_ops=[{"op": "remove", 'path': '/VLAN/Vlan1000/dhcp_servers'}], + cc_ops=[{"op": "replace", 'path': '/VLAN/Vlan1000/dhcp_servers', 'value':[]}], + ex_ops=[{'op': 'remove', 'path': '/VLAN/Vlan1000/dhcp_servers'}]) + + def test_generate__dpb_1_to_4_example(self): + # Arrange + diff = ps.Diff(Files.DPB_1_SPLIT_FULL_CONFIG, Files.DPB_4_SPLITS_FULL_CONFIG) + + # Act + moves = list(self.generator.generate(diff)) + + # Assert + self.verify_moves([{'op': 'replace', 'path': '/PORT/Ethernet0/alias', 'value': 'Eth1/1'}, + {'op': 'replace', 'path': '/PORT/Ethernet0/lanes', 'value': '65'}, + {'op': 'replace', 'path': '/PORT/Ethernet0/description', 'value': ''}, + {'op': 'replace', 'path': '/PORT/Ethernet0/speed', 'value': '10000'}, + {'op': 'add', 'path': '/PORT/Ethernet1', 'value': {'alias': 'Eth1/2'}}, + {'op': 'add', 'path': '/PORT/Ethernet1', 'value': {'lanes': '66'}}, + {'op': 'add', 'path': '/PORT/Ethernet1', 'value': {'description': ''}}, + {'op': 'add', 'path': '/PORT/Ethernet1', 'value': {'speed': '10000'}}, + {'op': 'add', 'path': '/PORT/Ethernet2', 'value': {'alias': 'Eth1/3'}}, + {'op': 'add', 'path': '/PORT/Ethernet2', 'value': {'lanes': '67'}}, + {'op': 'add', 'path': '/PORT/Ethernet2', 'value': {'description': ''}}, + {'op': 'add', 'path': '/PORT/Ethernet2', 'value': {'speed': '10000'}}, + {'op': 'add', 'path': '/PORT/Ethernet3', 'value': {'alias': 'Eth1/4'}}, + {'op': 'add', 'path': '/PORT/Ethernet3', 'value': {'lanes': '68'}}, + {'op': 'add', 'path': '/PORT/Ethernet3', 'value': {'description': ''}}, + {'op': 'add', 'path': '/PORT/Ethernet3', 'value': {'speed': '10000'}}, + {'op': 'add', 'path': '/ACL_TABLE/NO-NSW-PACL-V4/ports/1', 'value': 'Ethernet1'}, + {'op': 'add', 'path': '/ACL_TABLE/NO-NSW-PACL-V4/ports/1', 'value': 'Ethernet2'}, + {'op': 'add', 'path': '/ACL_TABLE/NO-NSW-PACL-V4/ports/1', 'value': 'Ethernet3'}, + {'op': 'add', 'path': '/VLAN_MEMBER/Vlan100|Ethernet1', 'value': {'tagging_mode': 'untagged'}}, + {'op': 'add', 'path': '/VLAN_MEMBER/Vlan100|Ethernet2', 'value': {'tagging_mode': 'untagged'}}, + {'op': 'add', 'path': '/VLAN_MEMBER/Vlan100|Ethernet3', 'value': {'tagging_mode': 'untagged'}}], + moves) + + def test_generate__dpb_4_to_1_example(self): + # Arrange + diff = ps.Diff(Files.DPB_4_SPLITs_FULL_CONFIG, Files.DPB_1_SPLIT_FULL_CONFIG) + + # Act + moves = list(self.generator.generate(diff)) + + # Assert + self.verify_moves([{'op': 'replace', 'path': '/PORT/Ethernet0/alias', 'value': 'Eth1'}, + {'op': 'replace', 'path': '/PORT/Ethernet0/lanes', 'value': '65, 66, 67, 68'}, + {'op': 'replace', 'path': '/PORT/Ethernet0/description', 'value': 'Ethernet0 100G link'}, + {'op': 'replace', 'path': '/PORT/Ethernet0/speed', 'value': '100000'}, + {'op': 'remove', 'path': '/PORT/Ethernet1/alias'}, + {'op': 'remove', 'path': '/PORT/Ethernet1/lanes'}, + {'op': 'remove', 'path': '/PORT/Ethernet1/description'}, + {'op': 'remove', 'path': '/PORT/Ethernet1/speed'}, + {'op': 'remove', 'path': '/PORT/Ethernet2/alias'}, + {'op': 'remove', 'path': '/PORT/Ethernet2/lanes'}, + {'op': 'remove', 'path': '/PORT/Ethernet2/description'}, + {'op': 'remove', 'path': '/PORT/Ethernet2/speed'}, + {'op': 'remove', 'path': '/PORT/Ethernet3/alias'}, + {'op': 'remove', 'path': '/PORT/Ethernet3/lanes'}, + {'op': 'remove', 'path': '/PORT/Ethernet3/description'}, + {'op': 'remove', 'path': '/PORT/Ethernet3/speed'}, + {'op': 'remove', 'path': '/ACL_TABLE/NO-NSW-PACL-V4/ports/1'}, + {'op': 'remove', 'path': '/ACL_TABLE/NO-NSW-PACL-V4/ports/2'}, + {'op': 'remove', 'path': '/ACL_TABLE/NO-NSW-PACL-V4/ports/3'}, + {'op': 'remove', 'path': '/VLAN_MEMBER/Vlan100|Ethernet1/tagging_mode'}, + {'op': 'remove', 'path': '/VLAN_MEMBER/Vlan100|Ethernet2/tagging_mode'}, + {'op': 'remove', 'path': '/VLAN_MEMBER/Vlan100|Ethernet3/tagging_mode'}], + moves) + + def verify(self, tc_ops=None, cc_ops=None, ex_ops=None): + """ + Generate a diff where target config is modified using the given tc_ops. + The expected low level moves should ex_ops if it is not None, otherwise tc_ops + """ + # Arrange + diff = self.get_diff(target_config_ops=tc_ops, current_config_ops=cc_ops) + expected = ex_ops if ex_ops is not None else \ + tc_ops if tc_ops is not None else \ + [] + + # Act + actual = self.generator.generate(diff) + + # Assert + self.verify_moves(expected, actual) + + def verify_moves(self, ops, moves): + moves_ops = [list(move.patch)[0] for move in moves] + self.assertCountEqual(ops, moves_ops) + + def get_diff(self, target_config_ops = None, current_config_ops = None): + current_config = Files.CROPPED_CONFIG_DB_AS_JSON + if current_config_ops: + cc_patch = jsonpatch.JsonPatch(current_config_ops) + current_config = cc_patch.apply(current_config) + + target_config = Files.CROPPED_CONFIG_DB_AS_JSON + if target_config_ops: + tc_patch = jsonpatch.JsonPatch(target_config_ops) + target_config = tc_patch.apply(target_config) + + return ps.Diff(current_config, target_config) + +class TestUpperLevelMoveExtender(unittest.TestCase): + def setUp(self): + self.extender = ps.UpperLevelMoveExtender() + self.any_diff = ps.Diff(Files.ANY_CONFIG_DB, Files.ANY_CONFIG_DB) + + def test_extend__root_level_move__no_extended_moves(self): + self.verify(OperationType.REMOVE, []) + self.verify(OperationType.ADD, [], []) + self.verify(OperationType.REPLACE, [], []) + + def test_extend__remove_key_upper_level_does_not_exist__remove_upper_level(self): + self.verify(OperationType.REMOVE, + ["ACL_TABLE", "EVERFLOW", "policy_desc"], + tc_ops=[{'op':'remove', 'path':'/ACL_TABLE/EVERFLOW'}], + ex_ops=[{'op':'remove', 'path':'/ACL_TABLE/EVERFLOW'}]) + + def test_extend__remove_key_upper_level_does_exist__replace_upper_level(self): + self.verify(OperationType.REMOVE, + ["ACL_TABLE", "EVERFLOW", "policy_desc"], + tc_ops=[{'op':'remove', 'path':'/ACL_TABLE/EVERFLOW/policy_desc'}], + ex_ops=[{'op':'replace', 'path':'/ACL_TABLE/EVERFLOW', 'value':{ + "ports": [ + "Ethernet8" + ], + "stage": "ingress", + "type": "MIRROR" + }}]) + + def test_extend__remove_list_item_upper_level_does_not_exist__remove_upper_level(self): + self.verify(OperationType.REMOVE, + ["VLAN", "Vlan1000", "dhcp_servers", 1], + tc_ops=[{'op':'remove', 'path':'/VLAN/Vlan1000/dhcp_servers'}], + ex_ops=[{'op':'remove', 'path':'/VLAN/Vlan1000/dhcp_servers'}]) + + def test_extend__remove_list_item_upper_level_does_exist__replace_upper_level(self): + self.verify(OperationType.REMOVE, + ["VLAN", "Vlan1000", "dhcp_servers", 1], + tc_ops=[{'op':'remove', 'path':'/VLAN/Vlan1000/dhcp_servers/1'}], + ex_ops=[{'op':'replace', 'path':'/VLAN/Vlan1000/dhcp_servers', 'value':[ + "192.0.0.1", + "192.0.0.3", + "192.0.0.4" + ]}]) + + def test_extend__add_key_upper_level_missing__add_upper_level(self): + self.verify(OperationType.ADD, + ["ACL_TABLE", "EVERFLOW", "policy_desc"], + ["ACL_TABLE", "EVERFLOW", "policy_desc"], + cc_ops=[{'op':'remove', 'path':'/ACL_TABLE/EVERFLOW'}], + ex_ops=[{'op':'add', 'path':'/ACL_TABLE/EVERFLOW', 'value':{ + "policy_desc": "EVERFLOW", + "ports": [ + "Ethernet8" + ], + "stage": "ingress", + "type": "MIRROR" + }}]) + + def test_extend__add_key_upper_level_exist__replace_upper_level(self): + self.verify(OperationType.ADD, + ["ACL_TABLE", "EVERFLOW", "policy_desc"], + ["ACL_TABLE", "EVERFLOW", "policy_desc"], + cc_ops=[{'op':'remove', 'path':'/ACL_TABLE/EVERFLOW/policy_desc'}], + ex_ops=[{'op':'replace', 'path':'/ACL_TABLE/EVERFLOW', 'value':{ + "policy_desc": "EVERFLOW", + "ports": [ + "Ethernet8" + ], + "stage": "ingress", + "type": "MIRROR" + }}]) + + def test_extend__add_list_item_upper_level_missing__add_upper_level(self): + self.verify(OperationType.ADD, + ["VLAN", "Vlan1000", "dhcp_servers", 1], + ["VLAN", "Vlan1000", "dhcp_servers", 1], + cc_ops=[{'op':'remove', 'path':'/VLAN/Vlan1000/dhcp_servers'}], + ex_ops=[{'op':'add', 'path':'/VLAN/Vlan1000/dhcp_servers', 'value':[ + "192.0.0.1", + "192.0.0.2", + "192.0.0.3", + "192.0.0.4" + ]}]) + + def test_extend__add_list_item_upper_level_exist__replace_upper_level(self): + self.verify(OperationType.ADD, + ["VLAN", "Vlan1000", "dhcp_servers", 1], + ["VLAN", "Vlan1000", "dhcp_servers", 1], + cc_ops=[{'op':'remove', 'path':'/VLAN/Vlan1000/dhcp_servers/1'}], + ex_ops=[{'op':'replace', 'path':'/VLAN/Vlan1000/dhcp_servers', 'value':[ + "192.0.0.1", + "192.0.0.2", + "192.0.0.3", + "192.0.0.4" + ]}]) + + def test_extend__add_table__replace_whole_config(self): + self.verify(OperationType.ADD, + ["ACL_TABLE"], + ["ACL_TABLE"], + cc_ops=[{'op':'remove', 'path':'/ACL_TABLE'}], + ex_ops=[{'op':'replace', 'path':'', 'value':Files.CROPPED_CONFIG_DB_AS_JSON}]) + + def test_extend__replace_key__replace_upper_level(self): + self.verify(OperationType.REPLACE, + ["ACL_TABLE", "EVERFLOW", "policy_desc"], + ["ACL_TABLE", "EVERFLOW", "policy_desc"], + cc_ops=[{'op':'replace', 'path':'/ACL_TABLE/EVERFLOW/policy_desc', 'value':'old_desc'}], + ex_ops=[{'op':'replace', 'path':'/ACL_TABLE/EVERFLOW', 'value':{ + "policy_desc": "EVERFLOW", + "ports": [ + "Ethernet8" + ], + "stage": "ingress", + "type": "MIRROR" + }}]) + + def test_extend__replace_list_item__replace_upper_level(self): + self.verify(OperationType.REPLACE, + ["VLAN", "Vlan1000", "dhcp_servers", 1], + ["VLAN", "Vlan1000", "dhcp_servers", 1], + cc_ops=[{'op':'replace', 'path':'/VLAN/Vlan1000/dhcp_servers/1', 'value':'192.0.0.7'}], + ex_ops=[{'op':'replace', 'path':'/VLAN/Vlan1000/dhcp_servers', 'value':[ + "192.0.0.1", + "192.0.0.2", + "192.0.0.3", + "192.0.0.4" + ]}]) + + def test_extend__replace_table__replace_whole_config(self): + self.verify(OperationType.REPLACE, + ["VLAN"], + ["VLAN"], + cc_ops=[{'op':'replace', 'path':'/VLAN/Vlan1000/dhcp_servers/1', 'value':'192.0.0.7'}], + ex_ops=[{'op':'replace', 'path':'', 'value':Files.CROPPED_CONFIG_DB_AS_JSON}]) + + def verify(self, op_type, ctokens, ttokens=None, cc_ops=[], tc_ops=[], ex_ops=[]): + """ + cc_ops, tc_ops are used to build the diff object. + diff, op_type, ctokens, ttokens are used to build the move. + move is extended and the result should match ex_ops. + """ + # Arrange + current_config=jsonpatch.JsonPatch(cc_ops).apply(Files.CROPPED_CONFIG_DB_AS_JSON) + target_config=jsonpatch.JsonPatch(tc_ops).apply(Files.CROPPED_CONFIG_DB_AS_JSON) + diff = ps.Diff(current_config, target_config) + move = ps.JsonMove(diff, op_type, ctokens, ttokens) + + # Act + moves = self.extender.extend(move, diff) + + # Assert + self.verify_moves(ex_ops, moves) + + def verify_moves(self, ex_ops, moves): + moves_ops = [list(move.patch)[0] for move in moves] + self.assertCountEqual(ex_ops, moves_ops) + +class TestDeleteInsteadOfReplaceMoveExtender(unittest.TestCase): + def setUp(self): + self.extender = ps.DeleteInsteadOfReplaceMoveExtender() + + def test_extend__non_replace__no_extended_moves(self): + self.verify(OperationType.REMOVE, + ["ACL_TABLE"], + tc_ops=[{'op':'remove', 'path':'/ACL_TABLE'}], + ex_ops=[]) + self.verify(OperationType.ADD, + ["ACL_TABLE"], + ["ACL_TABLE"], + cc_ops=[{'op':'remove', 'path':'/ACL_TABLE'}], + ex_ops=[]) + + def test_extend__replace_key__delete_key(self): + self.verify(OperationType.REPLACE, + ["ACL_TABLE", "EVERFLOW", "policy_desc"], + ["ACL_TABLE", "EVERFLOW", "policy_desc"], + cc_ops=[{'op':'replace', 'path':'/ACL_TABLE/EVERFLOW/policy_desc', 'value':'old_desc'}], + ex_ops=[{'op':'remove', 'path':'/ACL_TABLE/EVERFLOW/policy_desc'}]) + + def test_extend__replace_list_item__delete_list_item(self): + self.verify(OperationType.REPLACE, + ["VLAN", "Vlan1000", "dhcp_servers", 1], + ["VLAN", "Vlan1000", "dhcp_servers", 1], + cc_ops=[{'op':'replace', 'path':'/VLAN/Vlan1000/dhcp_servers/1', 'value':'192.0.0.7'}], + ex_ops=[{'op':'remove', 'path':'/VLAN/Vlan1000/dhcp_servers/1'}]) + + def test_extend__replace_table__delete_table(self): + self.verify(OperationType.REPLACE, + ["ACL_TABLE"], + ["ACL_TABLE"], + cc_ops=[{'op':'replace', 'path':'/ACL_TABLE/EVERFLOW/policy_desc', 'value':'old_desc'}], + ex_ops=[{'op':'remove', 'path':'/ACL_TABLE'}]) + + def test_extend__replace_whole_config__delete_whole_config(self): + self.verify(OperationType.REPLACE, + [], + [], + cc_ops=[{'op':'replace', 'path':'/ACL_TABLE/EVERFLOW/policy_desc', 'value':'old_desc'}], + ex_ops=[{'op':'remove', 'path':''}]) + + def verify(self, op_type, ctokens, ttokens=None, cc_ops=[], tc_ops=[], ex_ops=[]): + """ + cc_ops, tc_ops are used to build the diff object. + diff, op_type, ctokens, ttokens are used to build the move. + move is extended and the result should match ex_ops. + """ + # Arrange + current_config=jsonpatch.JsonPatch(cc_ops).apply(Files.CROPPED_CONFIG_DB_AS_JSON) + target_config=jsonpatch.JsonPatch(tc_ops).apply(Files.CROPPED_CONFIG_DB_AS_JSON) + diff = ps.Diff(current_config, target_config) + move = ps.JsonMove(diff, op_type, ctokens, ttokens) + + # Act + moves = self.extender.extend(move, diff) + + # Assert + self.verify_moves(ex_ops, moves) + + def verify_moves(self, ex_ops, moves): + moves_ops = [list(move.patch)[0] for move in moves] + self.assertCountEqual(ex_ops, moves_ops) + +class DeleteRefsMoveExtender(unittest.TestCase): + def setUp(self): + self.extender = ps.DeleteRefsMoveExtender(PathAddressing()) + + def test_extend__non_delete_ops__no_extended_moves(self): + self.verify(OperationType.ADD, + ["ACL_TABLE"], + ["ACL_TABLE"], + cc_ops=[{'op':'remove', 'path':'/ACL_TABLE'}], + ex_ops=[]) + self.verify(OperationType.REPLACE, + ["ACL_TABLE"], + ["ACL_TABLE"], + cc_ops=[{'op':'remove', 'path':'/ACL_TABLE/EVERFLOW'}], + ex_ops=[]) + + def test_extend__path_with_no_refs__no_extended_moves(self): + self.verify(OperationType.REMOVE, + ["ACL_TABLE"], + tc_ops=[{'op':'remove', 'path':'/ACL_TABLE'}], + ex_ops=[]) + + def test_extend__path_with_direct_refs__extended_moves(self): + self.verify(OperationType.REMOVE, + ["PORT", "Ethernet0"], + tc_ops=[{'op':'remove', 'path':'/PORT/Ethernet0'}], + ex_ops=[{'op': 'remove', 'path': '/VLAN_MEMBER/Vlan1000|Ethernet0'}, + {'op': 'remove', 'path': '/ACL_TABLE/NO-NSW-PACL-V4/ports/0'}]) + + def test_extend__path_with_refs_to_children__extended_moves(self): + self.verify(OperationType.REMOVE, + ["PORT"], + tc_ops=[{'op':'remove', 'path':'/PORT/Ethernet0'}], + ex_ops=[{'op': 'remove', 'path': '/VLAN_MEMBER/Vlan1000|Ethernet0'}, + {'op': 'remove', 'path': '/ACL_TABLE/NO-NSW-PACL-V4/ports/0'}, + {'op': 'remove', 'path': '/VLAN_MEMBER/Vlan1000|Ethernet4'}, + {'op': 'remove', 'path': '/ACL_TABLE/DATAACL/ports/0'}, + {'op': 'remove', 'path': '/VLAN_MEMBER/Vlan1000|Ethernet8'}, + {'op': 'remove', 'path': '/ACL_TABLE/EVERFLOWV6/ports/0'}, + {'op': 'remove', 'path': '/ACL_TABLE/EVERFLOW/ports/0'}, + {'op': 'remove', 'path': '/ACL_TABLE/EVERFLOWV6/ports/1'}]) + + def verify(self, op_type, ctokens, ttokens=None, cc_ops=[], tc_ops=[], ex_ops=[]): + """ + cc_ops, tc_ops are used to build the diff object. + diff, op_type, ctokens, ttokens are used to build the move. + move is extended and the result should match ex_ops. + """ + # Arrange + current_config=jsonpatch.JsonPatch(cc_ops).apply(Files.CROPPED_CONFIG_DB_AS_JSON) + target_config=jsonpatch.JsonPatch(tc_ops).apply(Files.CROPPED_CONFIG_DB_AS_JSON) + diff = ps.Diff(current_config, target_config) + move = ps.JsonMove(diff, op_type, ctokens, ttokens) + + # Act + moves = self.extender.extend(move, diff) + + # Assert + self.verify_moves(ex_ops, moves) + + def verify_moves(self, ex_ops, moves): + moves_ops = [list(move.patch)[0] for move in moves] + self.assertCountEqual(ex_ops, moves_ops) + +class TestSortAlgorithmFactory(unittest.TestCase): + def test_dfs_sorter(self): + self.verify(ps.Algorithm.DFS, ps.DfsSorter) + + def test_bfs_sorter(self): + self.verify(ps.Algorithm.BFS, ps.BfsSorter) + + def test_memoization_sorter(self): + self.verify(ps.Algorithm.MEMOIZATION, ps.MemoizationSorter) + + def verify(self, algo, algo_class): + # Arrange + factory = ps.SortAlgorithmFactory(OperationWrapper(), ConfigWrapper(), PathAddressing()) + expected_generators = [ps.LowLevelMoveGenerator] + expected_extenders = [ps.UpperLevelMoveExtender, ps.DeleteInsteadOfReplaceMoveExtender, ps.DeleteRefsMoveExtender] + expected_validator = [ps.DeleteWholeConfigMoveValidator, + ps.FullConfigMoveValidator, + ps.NoDependencyMoveValidator, + ps.UniqueLanesMoveValidator, + ps.CreateOnlyMoveValidator] + + # Act + sorter = factory.create(algo) + actual_generators = [type(item) for item in sorter.move_wrapper.move_generators] + actual_extenders = [type(item) for item in sorter.move_wrapper.move_extenders] + actual_validators = [type(item) for item in sorter.move_wrapper.move_validators] + + # Assert + self.assertIsInstance(sorter, algo_class) + self.assertCountEqual(expected_generators, actual_generators) + self.assertCountEqual(expected_extenders, actual_extenders) + self.assertCountEqual(expected_validator, actual_validators) + +class TestPatchSorter(unittest.TestCase): + def create_patch_sorter(self, config=None): + if config is None: + config=Files.CROPPED_CONFIG_DB_AS_JSON + config_wrapper = ConfigWrapper() + config_wrapper.get_config_db_as_json = MagicMock(return_value=config) + patch_wrapper = PatchWrapper(config_wrapper) + operation_wrapper = OperationWrapper() + path_addressing= ps.PathAddressing() + sort_algorithm_factory = ps.SortAlgorithmFactory(operation_wrapper, config_wrapper, path_addressing) + + return ps.PatchSorter(config_wrapper, patch_wrapper, sort_algorithm_factory) + + def test_sort__empty_patch__returns_empty_changes_list(self): + # Arrange + patch = jsonpatch.JsonPatch([]) + expected = [] + + # Act + actual = self.create_patch_sorter().sort(patch) + + # Assert + self.assertCountEqual(expected, actual) + + def test_sort__patch_with_single_simple_operation__returns_one_change(self): + # Arrange + patch = jsonpatch.JsonPatch([{"op":"remove", "path":"/VLAN/Vlan1000/dhcp_servers/0"}]) + expected = [JsonChange(patch)] + + # Act + actual = self.create_patch_sorter().sort(patch) + + # Assert + self.assertCountEqual(expected, actual) + + def test_sort__replacing_create_only_field__success(self): + # Arrange + patch = jsonpatch.JsonPatch([{"op":"replace", "path": "/PORT/Ethernet0/lanes", "value":"67"}]) + + # Act + actual = self.create_patch_sorter(Files.DPB_1_SPLIT_FULL_CONFIG).sort(patch) + + # Assert + self.assertNotEqual(None, actual) + + def test_sort__inter_dependency_within_same_table__success(self): + # Arrange + patch = jsonpatch.JsonPatch([{"op":"add", "path":"/VLAN_INTERFACE", "value": { + "Vlan1000|fc02:1000::1/64": {}, + "Vlan1000|192.168.0.1/21": {}, + "Vlan1000": {} + }}]) + expected = [ + JsonChange(jsonpatch.JsonPatch([{"op": "add", "path": "/VLAN_INTERFACE", "value": {"Vlan1000": {}}}])), + JsonChange(jsonpatch.JsonPatch([{"op": "add", "path": "/VLAN_INTERFACE/Vlan1000|fc02:1000::1~164", "value": {}}])), + JsonChange(jsonpatch.JsonPatch([{"op": "add", "path": "/VLAN_INTERFACE/Vlan1000|192.168.0.1~121", "value": {}}])) + ] + + # Act + actual = self.create_patch_sorter().sort(patch) + + # Assert + self.assertListEqual(expected, actual) + + def test_sort__add_table__success(self): + self.verify(cc_ops=[{"op":"remove", "path":"/ACL_TABLE"}]) + + def test_sort__remove_table__success(self): + self.verify(tc_ops=[{"op":"remove", "path":"/ACL_TABLE"}]) + + def test_sort__modify_value_in_existing_table__success(self): + self.verify(tc_ops=[{"op":"replace", "path":"/ACL_TABLE/EVERFLOW/stage", "value":"egress"}]) + + def test_sort__modify_value_in_existing_array__success(self): + self.verify(tc_ops=[{"op":"replace", "path":"/ACL_TABLE/EVERFLOWV6/ports/0", "value":"Ethernet0"}]) + + def test_sort__add_value_to_existing_array__success(self): + self.verify(tc_ops=[{"op":"add", "path":"/ACL_TABLE/EVERFLOWV6/ports/0", "value":"Ethernet0"}]) + + def test_sort__add_new_key_to_existing_table__success(self): + self.verify(cc_ops=[{"op":"remove", "path":"/ACL_TABLE/EVERFLOWV6"}]) + + def test_sort__remove_2_items_with_dependency_from_different_tables__success(self): + self.verify(tc_ops=[{"op":"remove", "path":"/PORT/Ethernet0"}, + {"op":"remove", "path":"/VLAN_MEMBER/Vlan1000|Ethernet0"}, + {"op":"remove", "path":"/ACL_TABLE/NO-NSW-PACL-V4"}], # removing ACL from current and target + cc_ops=[{"op":"remove", "path":"/ACL_TABLE/NO-NSW-PACL-V4"}]) + + def test_sort__add_2_items_with_dependency_from_different_tables__success(self): + self.verify(tc_ops=[{"op":"remove", "path":"/ACL_TABLE/NO-NSW-PACL-V4"}], # removing ACL from current and target + cc_ops=[{"op":"remove", "path":"/PORT/Ethernet0"}, + {"op":"remove", "path":"/VLAN_MEMBER/Vlan1000|Ethernet0"}, + {"op":"remove", "path":"/ACL_TABLE/NO-NSW-PACL-V4"}]) + + def test_sort__remove_2_items_with_dependency_from_same_table__success(self): + self.verify(tc_ops=[{"op":"replace", "path":"", "value":Files.CONFIG_DB_WITH_INTERFACE}, + {"op":"remove", "path":"/INTERFACE/Ethernet8"}, + {"op":"remove", "path":"/INTERFACE/Ethernet8|10.0.0.1~130"}], + cc_ops=[{"op":"replace", "path":"", "value":Files.CONFIG_DB_WITH_INTERFACE}]) + + def test_sort__add_2_items_with_dependency_from_same_table__success(self): + self.verify(tc_ops=[{"op":"replace", "path":"", "value":Files.CONFIG_DB_WITH_INTERFACE}], + cc_ops=[{"op":"replace", "path":"", "value":Files.CONFIG_DB_WITH_INTERFACE}, + {"op":"remove", "path":"/INTERFACE/Ethernet8"}, + {"op":"remove", "path":"/INTERFACE/Ethernet8|10.0.0.1~130"}]) + + def test_sort__replace_mandatory_item__success(self): + self.verify(tc_ops=[{"op":"replace", "path":"/ACL_TABLE/EVERFLOWV6/type", "value":"L2"}]) + + def test_sort__dpb_1_to_4__success(self): + self.verify(tc_ops=[{"op":"replace", "path":"", "value":Files.DPB_4_SPLITS_FULL_CONFIG}], + cc_ops=[{"op":"replace", "path":"", "value":Files.DPB_1_SPLIT_FULL_CONFIG}]) + + def test_sort__dpb_4_to_1__success(self): + self.verify(tc_ops=[{"op":"replace", "path":"", "value":Files.DPB_1_SPLIT_FULL_CONFIG}], + cc_ops=[{"op":"replace", "path":"", "value":Files.DPB_4_SPLITS_FULL_CONFIG}]) + + def test_sort__remove_an_item_with_default_value__success(self): + self.verify(tc_ops=[{"op":"remove", "path":"/ACL_TABLE/EVERFLOW/stage"}]) + + def test_sort__modify_items_with_dependencies_using_must__success(self): + self.verify(tc_ops=[{"op":"replace", "path":"", "value":Files.CONFIG_DB_WITH_CRM}, + {"op":"replace", "path":"/CRM/Config/acl_counter_high_threshold", "value":"60"}, + {"op":"replace", "path":"/CRM/Config/acl_counter_low_threshold", "value":"50"}], + cc_ops=[{"op":"replace", "path":"", "value":Files.CONFIG_DB_WITH_CRM}]) + + # in the following example, it is possible to start with acl_counter_high_threshold + self.verify(tc_ops=[{"op":"replace", "path":"", "value":Files.CONFIG_DB_WITH_CRM}, + {"op":"replace", "path":"/CRM/Config/acl_counter_high_threshold", "value":"80"}, + {"op":"replace", "path":"/CRM/Config/acl_counter_low_threshold", "value":"60"}], + cc_ops=[{"op":"replace", "path":"", "value":Files.CONFIG_DB_WITH_CRM}]) + + def verify(self, cc_ops=[], tc_ops=[]): + # Arrange + config_wrapper=ConfigWrapper() + target_config=jsonpatch.JsonPatch(tc_ops).apply(Files.CROPPED_CONFIG_DB_AS_JSON) + current_config=jsonpatch.JsonPatch(cc_ops).apply(Files.CROPPED_CONFIG_DB_AS_JSON) + patch=jsonpatch.make_patch(current_config, target_config) + + # Act + actual = self.create_patch_sorter(current_config).sort(patch) + + # Assert + simulated_config = current_config + for move in actual: + simulated_config = move.apply(simulated_config) + self.assertTrue(config_wrapper.validate_config_db_config(simulated_config)) + self.assertEqual(target_config, simulated_config) From 4175cb904e3e934829ff89f1f980bd8727881158 Mon Sep 17 00:00:00 2001 From: Andriy Yurkiv <70649192+ayurkiv-nvda@users.noreply.github.com> Date: Wed, 11 Aug 2021 18:37:30 +0300 Subject: [PATCH 261/342] [show priority-group drop counters] Add user info output when user want to check PG counters and polling are disabled (#1678) Signed-off-by: Andriy Yurkiv What I did Added additional output info for user when trying to show priority group counters and pg drop counters are disabled How I did it modify pg-drop script, add additional print during executing "show priority-group drop counters" if PG polling disabled How to verify it counterpoll pg-drop disable show priority-group drop counters Expect: Warning: PG counters are disabled. Current stats may be outdated. Use 'counterpoll pg-drop enable' to enable' Previous command output (if the output of a command-line utility has changed) admin@r-tigon-04:/usr/local/bin$ show priority-group drop counters Ingress PG dropped packets: Port PG0 PG1 PG2 PG3 PG4 PG5 PG6 PG7 ----------- ----- ----- ----- ----- ----- ----- ----- ----- Ethernet0 0 0 0 0 0 0 0 0 Ethernet2 0 0 0 0 0 0 0 0 Ethernet8 0 0 0 0 0 0 0 0 Ethernet10 0 0 0 0 0 0 0 0 Ethernet16 0 0 0 0 0 0 0 0 New command output (if the output of a command-line utility has changed) admin@r-tigon-04:/usr/local/bin$ show priority-group drop counters Warning: PG counters are disabled. Use 'counterpoll pg-drop enable' to enable polling --- scripts/pg-drop | 14 +++++++++++++- tests/pgdrop_input/config_db.json | 26 ++++++++++++++++++++++++++ tests/pgdropstat_test.py | 25 +++++++++++++++++++++++++ 3 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 tests/pgdrop_input/config_db.json diff --git a/scripts/pg-drop b/scripts/pg-drop index ae891c50b5..b437e53bba 100755 --- a/scripts/pg-drop +++ b/scripts/pg-drop @@ -26,7 +26,7 @@ try: except KeyError: pass -from swsscommon.swsscommon import SonicV2Connector +from swsscommon.swsscommon import ConfigDBConnector, SonicV2Connector STATUS_NA = 'N/A' @@ -47,6 +47,9 @@ class PgDropStat(object): self.counters_db = SonicV2Connector(host='127.0.0.1') self.counters_db.connect(self.counters_db.COUNTERS_DB) + self.configdb = ConfigDBConnector() + self.configdb.connect() + dropstat_dir = get_dropstat_dir() self.port_drop_stats_file = os.path.join(dropstat_dir, 'pg_drop_stats') @@ -212,6 +215,14 @@ class PgDropStat(object): sys.exit(e.errno) print("Cleared PG drop counter") + def check_if_stats_enabled(self): + pg_drop_info = self.configdb.get_entry('FLEX_COUNTER_TABLE', 'PG_DROP') + if pg_drop_info: + status = pg_drop_info.get("FLEX_COUNTER_STATUS", 'disable') + if status == "disable": + print("Warning: PG counters are disabled. Use 'counterpoll pg-drop enable' to enable polling") + sys.exit(0) + def main(): parser = argparse.ArgumentParser(description='Display PG drop counter', formatter_class=argparse.RawTextHelpFormatter, @@ -240,6 +251,7 @@ pg-drop -c clear if command == 'clear': pgdropstat.clear_drop_counts() elif command == 'show': + pgdropstat.check_if_stats_enabled() pgdropstat.print_all_stat(COUNTER_TABLE_PREFIX, "pg_drop" ) else: print("Command not recognized") diff --git a/tests/pgdrop_input/config_db.json b/tests/pgdrop_input/config_db.json new file mode 100644 index 0000000000..73691a4bea --- /dev/null +++ b/tests/pgdrop_input/config_db.json @@ -0,0 +1,26 @@ +{ + "FLEX_COUNTER_TABLE|QUEUE": { + "POLL_INTERVAL": "10000", + "FLEX_COUNTER_STATUS": "enable" + }, + "FLEX_COUNTER_TABLE|PORT": { + "POLL_INTERVAL": "1000", + "FLEX_COUNTER_STATUS": "enable" + }, + "FLEX_COUNTER_TABLE|PORT_BUFFER_DROP": { + "POLL_INTERVAL": "60000", + "FLEX_COUNTER_STATUS": "enable" + }, + "FLEX_COUNTER_TABLE|QUEUE_WATERMARK": { + "POLL_INTERVAL": "10000", + "FLEX_COUNTER_STATUS": "enable" + }, + "FLEX_COUNTER_TABLE|PG_WATERMARK": { + "POLL_INTERVAL": "10000", + "FLEX_COUNTER_STATUS": "enable" + }, + "FLEX_COUNTER_TABLE|PG_DROP": { + "POLL_INTERVAL": "10000", + "FLEX_COUNTER_STATUS": "disable" + } +} \ No newline at end of file diff --git a/tests/pgdropstat_test.py b/tests/pgdropstat_test.py index ee156b7588..3aea0f2959 100644 --- a/tests/pgdropstat_test.py +++ b/tests/pgdropstat_test.py @@ -1,11 +1,13 @@ import os import sys +import pytest import show.main as show import clear.main as clear import config.main as config from click.testing import CliRunner +from shutil import copyfile test_path = os.path.dirname(os.path.abspath(__file__)) modules_path = os.path.dirname(test_path) @@ -39,6 +41,29 @@ def setup_class(cls): os.environ['UTILITIES_UNIT_TESTING'] = "2" print("SETUP") + @pytest.fixture(scope='function') + def replace_config_db_file(self): + sample_config_db_file = os.path.join(test_path, "pgdrop_input", "config_db.json") + mock_config_db_file = os.path.join(test_path, "mock_tables", "config_db.json") + + #Backup origin config_db and replace it with config_db file with disabled PG_DROP counters + copyfile(mock_config_db_file, "/tmp/config_db.json") + copyfile(sample_config_db_file, mock_config_db_file) + + yield + + copyfile("/tmp/config_db.json", mock_config_db_file) + + def test_show_pg_drop_disabled(self, replace_config_db_file): + runner = CliRunner() + + result = runner.invoke(show.cli.commands["priority-group"].commands["drop"].commands["counters"]) + assert result.exit_code == 0 + print(result.exit_code) + + assert result.output == "Warning: PG counters are disabled. Use 'counterpoll pg-drop enable' to enable polling\n" + print(result.output) + def test_show_pg_drop_show(self): self.executor(clear_before_show = False) From 7821a3ff114fbfcf48c7671cf16663808e1b0296 Mon Sep 17 00:00:00 2001 From: Stepan Blyshchak <38952541+stepanblyschak@users.noreply.github.com> Date: Fri, 13 Aug 2021 22:02:29 +0300 Subject: [PATCH 262/342] [vnet_route_check] don't hardcode prefix length of /24 (#1756) Signed-off-by: Stepan Blyschak --- scripts/vnet_route_check.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/scripts/vnet_route_check.py b/scripts/vnet_route_check.py index d23eabda58..b2c798dfb0 100755 --- a/scripts/vnet_route_check.py +++ b/scripts/vnet_route_check.py @@ -186,7 +186,9 @@ def filter_out_vnet_ip2me_routes(vnet_routes): # rif_attrs[1] - IP prefix and prefix legth # IP2ME routes have '/32' prefix length so replace it and add to the list if rif_attrs[0] in vnet_intfs: - vnet_ip2me_routes.append(rif_attrs[1].replace('/24', '/32')) + rif_ip, _ = rif_attrs[1].split('/') + ip2me_route = rif_ip + '/32' + vnet_ip2me_routes.append(ip2me_route) for vnet, vnet_attrs in vnet_routes.items(): for route in vnet_attrs['routes']: @@ -240,7 +242,7 @@ def get_vnet_routes_from_asic_db(): vnet_vrfs = get_vrf_entries() vnet_vrfs_oids = [vnet_vrfs[k] for k in vnet_vrfs] - + vnet_intfs = get_vnet_intfs() vrf_oid_to_vnet_map = {} From 2c7cfaa45bf6909641765c5855ce679173209005 Mon Sep 17 00:00:00 2001 From: Stepan Blyshchak <38952541+stepanblyschak@users.noreply.github.com> Date: Tue, 17 Aug 2021 06:45:26 +0300 Subject: [PATCH 263/342] [sonic-package-manager] switch from poetry-semver to semantic_version due to bugs found in poetry-semver (#1710) #### What I did I replaced underneeth a library which I used for semver functionality. #### How I did it Tried to keep existing Version/VersionConstraint API but replaced library used underneeth. I also added two UT that failed with poetry-semver and show the motivation for this change. UT description: - ```test_invalid_version``` This test is to verify that **invalid** semantic version strings are rejected with exception by ```Version.parse```. E.g. "1.2.3-0123" is not a valid semantic version due to this (https://semver.org/#spec-item-9): ``` A pre-release version MAY be denoted by appending a hyphen and a series of dot separated identifiers immediately following the patch version. Identifiers MUST comprise only ASCII alphanumerics and hyphens [0-9A-Za-z-]. Identifiers MUST NOT be empty. Numeric identifiers MUST NOT include leading zeroes ``` - ```test_version_comparison``` This test checks whether the implementation correctly compare two version strings (this is needed due to the logic that checks if we are upgrading or downgrading). According to https://semver.org/#spec-item-11, "1.0.0-alpha" < "1.0.0". #### How to verify it Run UT, run some basic sonic-package-manager commands. --- setup.py | 2 +- sonic_package_manager/constraint.py | 63 ++++++++++++++++-- sonic_package_manager/manager.py | 18 ++--- sonic_package_manager/manifest.py | 2 +- sonic_package_manager/version.py | 66 ++++++++++++++++++- .../sonic_package_manager/test_constraint.py | 22 +++++-- tests/sonic_package_manager/test_database.py | 6 +- tests/sonic_package_manager/test_manager.py | 21 +++--- tests/sonic_package_manager/test_manifest.py | 1 - 9 files changed, 162 insertions(+), 39 deletions(-) diff --git a/setup.py b/setup.py index 21ed476117..9d43d76ca1 100644 --- a/setup.py +++ b/setup.py @@ -181,7 +181,7 @@ 'netaddr>=0.8.0', 'netifaces>=0.10.7', 'pexpect>=4.8.0', - 'poetry-semver>=0.1.0', + 'semantic-version>=2.8.5', 'prettyprinter>=0.18.0', 'pyroute2>=0.5.14, <0.6.1', 'requests>=2.25.0', diff --git a/sonic_package_manager/constraint.py b/sonic_package_manager/constraint.py index af5a13000b..a2cffe0cf0 100644 --- a/sonic_package_manager/constraint.py +++ b/sonic_package_manager/constraint.py @@ -3,18 +3,26 @@ """ Package version constraints module. """ import re -from abc import ABC from dataclasses import dataclass, field from typing import Dict, Union -import semver +import semantic_version +from sonic_package_manager.version import Version -class VersionConstraint(semver.VersionConstraint, ABC): - """ Extends VersionConstraint from semver package. """ - @staticmethod - def parse(constraint_expression: str) -> 'VersionConstraint': +class VersionConstraint: + """ Version constraint representation. """ + + def __init__(self, *args, **kwargs): + self._constraint = semantic_version.SimpleSpec(*args, **kwargs) + + @property + def expression(self): + return self._constraint.expression + + @classmethod + def parse(cls, constraint_expression: str) -> 'VersionConstraint': """ Parse version constraint. Args: @@ -23,7 +31,48 @@ def parse(constraint_expression: str) -> 'VersionConstraint': The resulting VersionConstraint object. """ - return semver.parse_constraint(constraint_expression) + return cls(constraint_expression) + + def allows(self, version: Version) -> bool: + """ Checks if other version is allowed by this constraint + + Args: + version: Version to check against this constraint. + Returns: + Boolean wether this constraint allows version. + """ + + return self._constraint.match(version._version) + + def is_exact(self) -> bool: + """ Is the version constraint exact, meaning only one version is allowed. + + Returns: + Boolean wether this constraint is exact. + """ + + clause = self._constraint.clause + return hasattr(clause, 'target') and clause.operator == '==' + + def get_exact_version(self) -> Version: + """ Returns an exact version for this constraint if it is exact constraint. + + Returns: + Exact version in case this constraint is exact. + Raises: + AttributeError: when constraint is not exact + """ + + return self._constraint.clause.target + + def __str__(self): + return self._constraint.__str__() + + def __repr__(self): + return self._constraint.__repr__() + + def __eq__(self, other): + return self._constraint.__eq__(other._constraint) @dataclass diff --git a/sonic_package_manager/manager.py b/sonic_package_manager/manager.py index 3caf90d95f..467c29a8d2 100644 --- a/sonic_package_manager/manager.py +++ b/sonic_package_manager/manager.py @@ -55,7 +55,6 @@ from sonic_package_manager.utils import DockerReference from sonic_package_manager.version import ( Version, - VersionRange, version_to_tag, tag_to_version ) @@ -122,13 +121,14 @@ def package_constraint_to_reference(constraint: PackageConstraint) -> PackageRef # Allow only specific version for now. # Later we can improve package manager to support # installing packages using expressions like 'package>1.0.0' - if version_constraint == VersionRange(): # empty range means any version + if version_constraint.expression == '*': return PackageReference(package_name, None) - if not isinstance(version_constraint, Version): + if not version_constraint.is_exact(): raise PackageManagerError(f'Can only install specific version. ' f'Use only following expression "{package_name}=" ' f'to install specific version') - return PackageReference(package_name, version_to_tag(version_constraint)) + version = version_constraint.get_exact_version() + return PackageReference(package_name, version_to_tag(version)) def parse_reference_expression(expression): @@ -156,7 +156,7 @@ def validate_package_base_os_constraints(package: Package, sonic_version_info: D version = Version.parse(sonic_version_info[component]) - if not constraint.allows_all(version): + if not constraint.allows(version): raise PackageSonicRequirementError(package.name, component, constraint, version) @@ -178,7 +178,7 @@ def validate_package_tree(packages: Dict[str, Package]): installed_version = dependency_package.version log.debug(f'dependency package is installed {dependency.name}: {installed_version}') - if not dependency.constraint.allows_all(installed_version): + if not dependency.constraint.allows(installed_version): raise PackageDependencyError(package.name, dependency, installed_version) dependency_components = dependency.components @@ -197,7 +197,7 @@ def validate_package_tree(packages: Dict[str, Package]): log.debug(f'dependency package {dependency.name}: ' f'component {component} version is {component_version}') - if not constraint.allows_all(component_version): + if not constraint.allows(component_version): raise PackageComponentDependencyError(package.name, dependency, component, constraint, component_version) @@ -209,7 +209,7 @@ def validate_package_tree(packages: Dict[str, Package]): installed_version = conflicting_package.version log.debug(f'conflicting package is installed {conflict.name}: {installed_version}') - if conflict.constraint.allows_all(installed_version): + if conflict.constraint.allows(installed_version): raise PackageConflictError(package.name, conflict, installed_version) for component, constraint in conflicting_package.components.items(): @@ -220,7 +220,7 @@ def validate_package_tree(packages: Dict[str, Package]): log.debug(f'conflicting package {dependency.name}: ' f'component {component} version is {component_version}') - if constraint.allows_all(component_version): + if constraint.allows(component_version): raise PackageComponentConflictError(package.name, dependency, component, constraint, component_version) diff --git a/sonic_package_manager/manifest.py b/sonic_package_manager/manifest.py index c126e2eef1..e127fbb538 100644 --- a/sonic_package_manager/manifest.py +++ b/sonic_package_manager/manifest.py @@ -151,7 +151,7 @@ def unmarshal(self, value): # TODO: add description for each field SCHEMA = ManifestRoot('root', [ - ManifestField('version', ParsedMarshaller(Version), Version(1, 0, 0)), + ManifestField('version', ParsedMarshaller(Version), Version.parse('1.0.0')), ManifestRoot('package', [ ManifestField('version', ParsedMarshaller(Version)), ManifestField('name', DefaultMarshaller(str)), diff --git a/sonic_package_manager/version.py b/sonic_package_manager/version.py index e5a5623d3b..176357a376 100644 --- a/sonic_package_manager/version.py +++ b/sonic_package_manager/version.py @@ -2,10 +2,70 @@ """ Version and helpers routines. """ -import semver +import semantic_version -Version = semver.Version -VersionRange = semver.VersionRange + +class Version: + """ Version class represents SemVer 2.0 compliant version """ + + @classmethod + def parse(cls, version_string: str) -> 'Version': + """ Construct Version from version_string. + + Args: + version_string: SemVer compatible version string. + Returns: + Version object. + Raises: + ValueError: when version_string does not follow SemVer. + """ + + return cls(version_string) + + def __init__(self, *args, **kwargs): + self._version = semantic_version.Version(*args, **kwargs) + + @property + def major(self): + return self._version.major + + @property + def minor(self): + return self._version.minor + + @property + def patch(self): + return self._version.patch + + def __str__(self): + return self._version.__str__() + + def __repr__(self): + return self._version.__repr__() + + def __iter__(self): + return self._version.__iter__() + + def __cmp__(self, other): + return self._version.__cmp__(other._version) + + def __eq__(self, other): + return self._version.__eq__(other._version) + + def __ne__(self, other): + return self._version.__ne__(other._version) + + def __lt__(self, other): + return self._version.__lt__(other._version) + + def __le__(self, other): + return self._version.__le__(other._version) + + def __gt__(self, other): + return self._version.__gt__(other._version) + + def __ge__(self, other): + return self._version.__ge__(other._version) def version_to_tag(ver: Version) -> str: diff --git a/tests/sonic_package_manager/test_constraint.py b/tests/sonic_package_manager/test_constraint.py index 1b34a301d2..c8997ea742 100644 --- a/tests/sonic_package_manager/test_constraint.py +++ b/tests/sonic_package_manager/test_constraint.py @@ -1,8 +1,22 @@ #!/usr/bin/env python +import pytest + from sonic_package_manager import version -from sonic_package_manager.constraint import PackageConstraint -from sonic_package_manager.version import Version, VersionRange +from sonic_package_manager.constraint import PackageConstraint, VersionConstraint +from sonic_package_manager.version import Version + + +@pytest.mark.parametrize('invalid_version', ['1.2.3-0123', '1.2', '1.0.0+artiary+version']) +def test_invalid_version(invalid_version): + with pytest.raises(Exception): + Version.parse(invalid_version) + + +@pytest.mark.parametrize(('newer', 'older'), + [('0.1.1', '0.1.1-alpha')]) +def test_version_comparison(newer, older): + assert Version.parse(newer) > Version.parse(older) def test_constraint(): @@ -28,7 +42,7 @@ def test_constraint_strict(): def test_constraint_match(): - package_constraint = PackageConstraint.parse('swss==1.2*.*') + package_constraint = PackageConstraint.parse('swss==1.2.*') assert package_constraint.name == 'swss' assert not package_constraint.constraint.allows(Version.parse('1.1.1')) assert package_constraint.constraint.allows(Version.parse('1.2.0')) @@ -47,7 +61,7 @@ def test_constraint_multiple(): def test_constraint_only_name(): package_constraint = PackageConstraint.parse('swss') assert package_constraint.name == 'swss' - assert package_constraint.constraint == VersionRange() + assert package_constraint.constraint == VersionConstraint('*') def test_constraint_from_dict(): diff --git a/tests/sonic_package_manager/test_database.py b/tests/sonic_package_manager/test_database.py index 1c565d6f4c..3ae8ec5ad0 100644 --- a/tests/sonic_package_manager/test_database.py +++ b/tests/sonic_package_manager/test_database.py @@ -17,7 +17,7 @@ def test_database_get_package(fake_db): assert swss_package.built_in assert swss_package.repository == 'docker-orchagent' assert swss_package.default_reference == '1.0.0' - assert swss_package.version == Version(1, 0, 0) + assert swss_package.version == Version.parse('1.0.0') def test_database_get_package_not_builtin(fake_db): @@ -52,11 +52,11 @@ def test_database_add_package_existing(fake_db): def test_database_update_package(fake_db): test_package = fake_db.get_package('test-package-2') test_package.installed = True - test_package.version = Version(1, 2, 3) + test_package.version = Version.parse('1.2.3') fake_db.update_package(test_package) test_package = fake_db.get_package('test-package-2') assert test_package.installed - assert test_package.version == Version(1, 2, 3) + assert test_package.version == Version.parse('1.2.3') def test_database_update_package_non_existing(fake_db): diff --git a/tests/sonic_package_manager/test_manager.py b/tests/sonic_package_manager/test_manager.py index 48ac6dfda8..a1348514be 100644 --- a/tests/sonic_package_manager/test_manager.py +++ b/tests/sonic_package_manager/test_manager.py @@ -1,5 +1,6 @@ #!/usr/bin/env python +import re from unittest.mock import Mock, call import pytest @@ -26,8 +27,8 @@ def test_installation_dependencies(package_manager, fake_metadata_resolver, mock manifest = fake_metadata_resolver.metadata_store['Azure/docker-test']['1.6.0']['manifest'] manifest['package']['depends'] = ['swss^2.0.0'] with pytest.raises(PackageInstallationError, - match='Package test-package requires swss>=2.0.0,<3.0.0 ' - 'but version 1.0.0 is installed'): + match=re.escape('Package test-package requires swss^2.0.0 ' + 'but version 1.0.0 is installed')): package_manager.install('test-package') @@ -80,8 +81,8 @@ def test_installation_components_dependencies_not_satisfied(package_manager, fak }, ] with pytest.raises(PackageInstallationError, - match='Package test-package requires libswsscommon >=1.1.0,<2.0.0 ' - 'in package swss>=1.0.0 but version 1.0.0 is installed'): + match=re.escape('Package test-package requires libswsscommon ^1.1.0 ' + 'in package swss>=1.0.0 but version 1.0.0 is installed')): package_manager.install('test-package') @@ -98,8 +99,8 @@ def test_installation_components_dependencies_implicit(package_manager, fake_met }, ] with pytest.raises(PackageInstallationError, - match='Package test-package requires libswsscommon >=2.1.0,<3.0.0 ' - 'in package swss>=1.0.0 but version 1.0.0 is installed'): + match=re.escape('Package test-package requires libswsscommon ^2.1.0 ' + 'in package swss>=1.0.0 but version 1.0.0 is installed')): package_manager.install('test-package') @@ -125,8 +126,8 @@ def test_installation_breaks(package_manager, fake_metadata_resolver): manifest = fake_metadata_resolver.metadata_store['Azure/docker-test']['1.6.0']['manifest'] manifest['package']['breaks'] = ['swss^1.0.0'] with pytest.raises(PackageInstallationError, - match='Package test-package conflicts with ' - 'swss>=1.0.0,<2.0.0 but version 1.0.0 is installed'): + match=re.escape('Package test-package conflicts with ' + 'swss^1.0.0 but version 1.0.0 is installed')): package_manager.install('test-package') @@ -294,7 +295,7 @@ def test_manager_upgrade(package_manager, sonic_fs): package_manager.install('test-package-6=2.0.0') upgraded_package = package_manager.get_installed_package('test-package-6') - assert upgraded_package.entry.version == Version(2, 0, 0) + assert upgraded_package.entry.version == Version.parse('2.0.0') assert upgraded_package.entry.default_reference == package.entry.default_reference @@ -304,7 +305,7 @@ def test_manager_package_reset(package_manager, sonic_fs): package_manager.reset('test-package-6') upgraded_package = package_manager.get_installed_package('test-package-6') - assert upgraded_package.entry.version == Version(1, 5, 0) + assert upgraded_package.entry.version == Version.parse('1.5.0') def test_manager_migration(package_manager, fake_db_for_migration): diff --git a/tests/sonic_package_manager/test_manifest.py b/tests/sonic_package_manager/test_manifest.py index 2f201b8107..009895991a 100644 --- a/tests/sonic_package_manager/test_manifest.py +++ b/tests/sonic_package_manager/test_manifest.py @@ -4,7 +4,6 @@ from sonic_package_manager.constraint import ComponentConstraints from sonic_package_manager.manifest import Manifest, ManifestError -from sonic_package_manager.version import VersionRange def test_manifest_v1_defaults(): From dbcc6fd9145414e0bafccf8a727968b28f84cc3a Mon Sep 17 00:00:00 2001 From: Guohan Lu Date: Mon, 16 Aug 2021 22:17:40 -0700 Subject: [PATCH 264/342] [config reload]: fix the condition for checking if system is starting (#1766) When systemd services finished, the systemd status could running or degraded. Therefore, compare system status with starting directly. Here is what is happening on kvm switch. Some services cannot be started. Then, the system state is in degraded state. ``` admin@ARISTA01T1:~$ systemctl is-system-running starting admin@ARISTA01T1:~$ systemctl is-system-running degraded ``` Signed-off-by: Guohan Lu --- config/main.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/config/main.py b/config/main.py index ebec8bd1f6..a80283f7ee 100644 --- a/config/main.py +++ b/config/main.py @@ -43,7 +43,7 @@ from . import vxlan from . import plugins from .config_mgmt import ConfigMgmtDPB -from . import mclag +from . import mclag # mock masic APIs for unit test try: @@ -727,9 +727,9 @@ def _swss_ready(): else: return False -def _system_running(): +def _is_system_starting(): out = clicommon.run_command("sudo systemctl is-system-running", return_cmd=True) - return out.strip() == "running" + return out.strip() == "starting" def interface_is_in_vlan(vlan_member_table, interface_name): """ Check if an interface is in a vlan """ @@ -1233,7 +1233,7 @@ def reload(db, filename, yes, load_sysinfo, no_service_restart, disable_arp_cach : Names of configuration file(s) to load, separated by comma with no spaces in between """ if not force and not no_service_restart: - if not _system_running(): + if _is_system_starting(): click.echo("System is not up. Retry later or use -f to avoid system checks") return @@ -1491,10 +1491,10 @@ def load_port_config(config_db, port_config_path): # Validate if the input is an array if not isinstance(port_config_input, list): raise Exception("Bad format: port_config is not an array") - + if len(port_config_input) == 0 or 'PORT' not in port_config_input[0]: raise Exception("Bad format: PORT table not exists") - + port_config = port_config_input[0]['PORT'] # Ensure all ports are exist From 0a145e8027380e8d4decb36bdfc647062c722612 Mon Sep 17 00:00:00 2001 From: Guohan Lu Date: Tue, 17 Aug 2021 09:10:24 -0700 Subject: [PATCH 265/342] Revert "[config][generic-update] Implementing patch sorting (#1599)" This reverts commit 920bb878fd9be37d62d3237ba3ea97d4cfe5c2d8. --- generic_config_updater/generic_updater.py | 8 +- generic_config_updater/gu_common.py | 539 +---- generic_config_updater/patch_sorter.py | 1010 ---------- setup.py | 1 - .../files/any_config_db.json | 2 - .../files/any_other_config_db.json | 4 - .../files/config_db_after_multi_patch.json | 2 +- .../config_db_after_single_operation.json | 83 - .../files/config_db_choice.json | 17 - .../files/config_db_no_dependencies.json | 39 - .../files/config_db_with_crm.json | 9 - .../files/config_db_with_device_metadata.json | 16 - .../files/config_db_with_interface.json | 20 - .../config_db_with_portchannel_and_acl.json | 25 - .../config_db_with_portchannel_interface.json | 10 - .../contrainer_with_container_config_db.json | 7 - .../files/dpb_1_split_full_config.json | 35 - .../files/dpb_1_to_4.json-patch | 88 - .../files/dpb_4_splits_full_config.json | 65 - .../files/dpb_4_to_1.json-patch | 58 - .../files/empty_config_db.json | 2 - .../files/simple_config_db_inc_deps.json | 20 - .../generic_config_updater/gu_common_test.py | 310 +-- .../patch_sorter_test.py | 1730 ----------------- 24 files changed, 23 insertions(+), 4077 deletions(-) delete mode 100644 generic_config_updater/patch_sorter.py delete mode 100644 tests/generic_config_updater/files/any_config_db.json delete mode 100644 tests/generic_config_updater/files/any_other_config_db.json delete mode 100644 tests/generic_config_updater/files/config_db_after_single_operation.json delete mode 100644 tests/generic_config_updater/files/config_db_choice.json delete mode 100644 tests/generic_config_updater/files/config_db_no_dependencies.json delete mode 100644 tests/generic_config_updater/files/config_db_with_crm.json delete mode 100644 tests/generic_config_updater/files/config_db_with_device_metadata.json delete mode 100644 tests/generic_config_updater/files/config_db_with_interface.json delete mode 100644 tests/generic_config_updater/files/config_db_with_portchannel_and_acl.json delete mode 100644 tests/generic_config_updater/files/config_db_with_portchannel_interface.json delete mode 100644 tests/generic_config_updater/files/contrainer_with_container_config_db.json delete mode 100644 tests/generic_config_updater/files/dpb_1_split_full_config.json delete mode 100644 tests/generic_config_updater/files/dpb_1_to_4.json-patch delete mode 100644 tests/generic_config_updater/files/dpb_4_splits_full_config.json delete mode 100644 tests/generic_config_updater/files/dpb_4_to_1.json-patch delete mode 100644 tests/generic_config_updater/files/empty_config_db.json delete mode 100644 tests/generic_config_updater/files/simple_config_db_inc_deps.json delete mode 100644 tests/generic_config_updater/patch_sorter_test.py diff --git a/generic_config_updater/generic_updater.py b/generic_config_updater/generic_updater.py index 061376b032..079d7ab742 100644 --- a/generic_config_updater/generic_updater.py +++ b/generic_config_updater/generic_updater.py @@ -3,7 +3,6 @@ from enum import Enum from .gu_common import GenericConfigUpdaterError, ConfigWrapper, \ DryRunConfigWrapper, PatchWrapper -from .patch_sorter import PatchSorter CHECKPOINTS_DIR = "/etc/sonic/checkpoints" CHECKPOINT_EXT = ".cp.json" @@ -17,6 +16,11 @@ def release_lock(self): # TODO: Implement ConfigLock pass +class PatchSorter: + def sort(self, patch): + # TODO: Implement patch sorter + raise NotImplementedError("PatchSorter.sort(patch) is not implemented yet") + class ChangeApplier: def apply(self, change): # TODO: Implement change applier @@ -32,7 +36,7 @@ def __init__(self, changeapplier=None, config_wrapper=None, patch_wrapper=None): - self.patchsorter = patchsorter if patchsorter is not None else PatchSorter(config_wrapper, patch_wrapper) + self.patchsorter = patchsorter if patchsorter is not None else PatchSorter() self.changeapplier = changeapplier if changeapplier is not None else ChangeApplier() self.config_wrapper = config_wrapper if config_wrapper is not None else ConfigWrapper() self.patch_wrapper = patch_wrapper if patch_wrapper is not None else PatchWrapper() diff --git a/generic_config_updater/gu_common.py b/generic_config_updater/gu_common.py index 66d9b0d7d9..2aa6a36d8a 100644 --- a/generic_config_updater/gu_common.py +++ b/generic_config_updater/gu_common.py @@ -1,12 +1,8 @@ import json import jsonpatch -from jsonpointer import JsonPointer import sonic_yang import subprocess -import yang as ly import copy -import re -from enum import Enum YANG_DIR = "/usr/local/yang-models" @@ -14,26 +10,8 @@ class GenericConfigUpdaterError(Exception): pass class JsonChange: - """ - A class that describes a partial change to a JSON object. - It is is similar to JsonPatch, but the order of updating the configs is unknown. - Only the final outcome of the update can be retrieved. - It provides a single function to apply the change to a given JSON object. - """ - def __init__(self, patch): - self.patch = patch - - def apply(self, config): - return self.patch.apply(config) - - def __str__(self): - return f'{self.patch}' - - def __eq__(self, other): - """Overrides the default implementation""" - if isinstance(other, JsonChange): - return self.patch == other.patch - return False + # TODO: Implement JsonChange + pass class ConfigWrapper: def __init__(self, yang_dir = YANG_DIR): @@ -132,6 +110,14 @@ def crop_tables_without_yang(self, config_db_as_json): return sy.jIn + def _create_and_connect_config_db(self): + if self.default_config_db_connector != None: + return self.default_config_db_connector + + config_db = ConfigDBConnector() + config_db.connect() + return config_db + class DryRunConfigWrapper(ConfigWrapper): # TODO: implement DryRunConfigWrapper # This class will simulate all read/write operations to ConfigDB on a virtual storage unit. @@ -140,12 +126,11 @@ class DryRunConfigWrapper(ConfigWrapper): class PatchWrapper: def __init__(self, config_wrapper=None): self.config_wrapper = config_wrapper if config_wrapper is not None else ConfigWrapper() - self.path_addressing = PathAddressing() def validate_config_db_patch_has_yang_models(self, patch): config_db = {} for operation in patch: - tokens = self.path_addressing.get_path_tokens(operation[OperationWrapper.PATH_KEYWORD]) + tokens = operation['path'].split('/')[1:] if len(tokens) == 0: # Modifying whole config_db tables_dict = {table_name: {} for table_name in operation['value']} config_db.update(tables_dict) @@ -189,505 +174,3 @@ def convert_sonic_yang_patch_to_config_db_patch(self, patch): target_config_db = self.config_wrapper.convert_sonic_yang_to_config_db(target_yang) return self.generate_patch(current_config_db, target_config_db) - -class OperationType(Enum): - ADD = 1 - REMOVE = 2 - REPLACE = 3 - -class OperationWrapper: - OP_KEYWORD = "op" - PATH_KEYWORD = "path" - VALUE_KEYWORD = "value" - - def create(self, operation_type, path, value=None): - op_type = operation_type.name.lower() - - operation = {OperationWrapper.OP_KEYWORD: op_type, OperationWrapper.PATH_KEYWORD: path} - - if operation_type in [OperationType.ADD, OperationType.REPLACE]: - operation[OperationWrapper.VALUE_KEYWORD] = value - - return operation - -class PathAddressing: - """ - Path refers to the 'path' in JsonPatch operations: https://tools.ietf.org/html/rfc6902 - The path corresponds to JsonPointer: https://tools.ietf.org/html/rfc6901 - - All xpath operations in this class are only relevent to ConfigDb and the conversion to YANG xpath. - It is not meant to support all the xpath functionalities, just the ones relevent to ConfigDb/YANG. - """ - PATH_SEPARATOR = "/" - XPATH_SEPARATOR = "/" - def get_path_tokens(self, path): - return JsonPointer(path).parts - - def create_path(self, tokens): - return JsonPointer.from_parts(tokens).path - - def get_xpath_tokens(self, xpath): - """ - Splits the given xpath into tokens by '/'. - - Example: - xpath: /sonic-vlan:sonic-vlan/VLAN_MEMBER/VLAN_MEMBER_LIST[name='Vlan1000'][port='Ethernet8']/tagging_mode - tokens: sonic-vlan:sonic-vlan, VLAN_MEMBER, VLAN_MEMBER_LIST[name='Vlan1000'][port='Ethernet8'], tagging_mode - """ - if xpath == "": - raise ValueError("xpath cannot be empty") - - if xpath == "/": - return [] - - idx = 0 - tokens = [] - while idx < len(xpath): - end = self._get_xpath_token_end(idx+1, xpath) - token = xpath[idx+1:end] - tokens.append(token) - idx = end - - return tokens - - def _get_xpath_token_end(self, start, xpath): - idx = start - while idx < len(xpath): - if xpath[idx] == PathAddressing.XPATH_SEPARATOR: - break - elif xpath[idx] == "[": - idx = self._get_xpath_predicate_end(idx, xpath) - idx = idx+1 - - return idx - - def _get_xpath_predicate_end(self, start, xpath): - idx = start - while idx < len(xpath): - if xpath[idx] == "]": - break - elif xpath[idx] == "'": - idx = self._get_xpath_single_quote_str_end(idx, xpath) - elif xpath[idx] == '"': - idx = self._get_xpath_double_quote_str_end(idx, xpath) - - idx = idx+1 - - return idx - - def _get_xpath_single_quote_str_end(self, start, xpath): - idx = start+1 # skip first single quote - while idx < len(xpath): - if xpath[idx] == "'": - break - # libyang implements XPATH 1.0 which does not escape single quotes - # libyang src: https://netopeer.liberouter.org/doc/libyang/master/html/howtoxpath.html - # XPATH 1.0 src: https://www.w3.org/TR/1999/REC-xpath-19991116/#NT-Literal - idx = idx+1 - - return idx - - def _get_xpath_double_quote_str_end(self, start, xpath): - idx = start+1 # skip first single quote - while idx < len(xpath): - if xpath[idx] == '"': - break - # libyang implements XPATH 1.0 which does not escape double quotes - # libyang src: https://netopeer.liberouter.org/doc/libyang/master/html/howtoxpath.html - # XPATH 1.0 src: https://www.w3.org/TR/1999/REC-xpath-19991116/#NT-Literal - idx = idx+1 - - return idx - - def create_xpath(self, tokens): - """ - Creates an xpath by combining the given tokens using '/' - Example: - tokens: module, container, list[key='value'], leaf - xpath: /module/container/list[key='value']/leaf - """ - if len(tokens) == 0: - return "/" - - return f"{PathAddressing.XPATH_SEPARATOR}{PathAddressing.XPATH_SEPARATOR.join(str(t) for t in tokens)}" - - def find_ref_paths(self, path, config): - """ - Finds the paths referencing any line under the given 'path' within the given 'config'. - Example: - path: /PORT - config: - { - "VLAN_MEMBER": { - "Vlan1000|Ethernet0": {}, - "Vlan1000|Ethernet4": {} - }, - "ACL_TABLE": { - "EVERFLOW": { - "ports": [ - "Ethernet4" - ], - }, - "EVERFLOWV6": { - "ports": [ - "Ethernet4", - "Ethernet8" - ] - } - }, - "PORT": { - "Ethernet0": {}, - "Ethernet4": {}, - "Ethernet8": {} - } - } - return: - /VLAN_MEMBER/Vlan1000|Ethernet0 - /VLAN_MEMBER/Vlan1000|Ethernet4 - /ACL_TABLE/EVERFLOW/ports/0 - /ACL_TABLE/EVERFLOW6/ports/0 - /ACL_TABLE/EVERFLOW6/ports/1 - """ - # TODO: Also fetch references by must statement (check similar statements) - return self._find_leafref_paths(path, config) - - def _find_leafref_paths(self, path, config): - sy = sonic_yang.SonicYang(YANG_DIR) - sy.loadYangModel() - - sy.loadData(config) - - xpath = self.convert_path_to_xpath(path, config, sy) - - leaf_xpaths = self._get_inner_leaf_xpaths(xpath, sy) - - ref_xpaths = [] - for xpath in leaf_xpaths: - ref_xpaths.extend(sy.find_data_dependencies(xpath)) - - ref_paths = [] - for ref_xpath in ref_xpaths: - ref_path = self.convert_xpath_to_path(ref_xpath, config, sy) - ref_paths.append(ref_path) - - return set(ref_paths) - - def _get_inner_leaf_xpaths(self, xpath, sy): - if xpath == "/": # Point to Root element which contains all xpaths - nodes = sy.root.tree_for() - else: # Otherwise get all nodes that match xpath - nodes = sy.root.find_path(xpath).data() - - for node in nodes: - for inner_node in node.tree_dfs(): - # TODO: leaflist also can be used as the 'path' argument in 'leafref' so add support to leaflist - if self._is_leaf_node(inner_node): - yield inner_node.path() - - def _is_leaf_node(self, node): - schema = node.schema() - return ly.LYS_LEAF == schema.nodetype() - - def convert_path_to_xpath(self, path, config, sy): - """ - Converts the given JsonPatch path (i.e. JsonPointer) to XPATH. - Example: - path: /VLAN_MEMBER/Vlan1000|Ethernet8/tagging_mode - xpath: /sonic-vlan:sonic-vlan/VLAN_MEMBER/VLAN_MEMBER_LIST[name='Vlan1000'][port='Ethernet8']/tagging_mode - """ - self.convert_xpath_to_path - tokens = self.get_path_tokens(path) - if len(tokens) == 0: - return self.create_xpath(tokens) - - xpath_tokens = [] - table = tokens[0] - - cmap = sy.confDbYangMap[table] - - # getting the top level element : - xpath_tokens.append(cmap['module']+":"+cmap['topLevelContainer']) - - xpath_tokens.extend(self._get_xpath_tokens_from_container(cmap['container'], 0, tokens, config)) - - return self.create_xpath(xpath_tokens) - - def _get_xpath_tokens_from_container(self, model, token_index, path_tokens, config): - token = path_tokens[token_index] - xpath_tokens = [token] - - if len(path_tokens)-1 == token_index: - return xpath_tokens - - # check if the configdb token is referring to a list - list_model = self._get_list_model(model, token_index, path_tokens) - if list_model: - new_xpath_tokens = self._get_xpath_tokens_from_list(list_model, token_index+1, path_tokens, config[path_tokens[token_index]]) - xpath_tokens.extend(new_xpath_tokens) - return xpath_tokens - - # check if it is targetting a child container - child_container_model = self._get_model(model.get('container'), path_tokens[token_index+1]) - if child_container_model: - new_xpath_tokens = self._get_xpath_tokens_from_container(child_container_model, token_index+1, path_tokens, config[path_tokens[token_index]]) - xpath_tokens.extend(new_xpath_tokens) - return xpath_tokens - - new_xpath_tokens = self._get_xpath_tokens_from_leaf(model, token_index+1, path_tokens, config[path_tokens[token_index]]) - xpath_tokens.extend(new_xpath_tokens) - - return xpath_tokens - - def _get_xpath_tokens_from_list(self, model, token_index, path_tokens, config): - list_name = model['@name'] - - tableKey = path_tokens[token_index] - listKeys = model['key']['@value'] - keyDict = self._extractKey(tableKey, listKeys) - keyTokens = [f"[{key}='{keyDict[key]}']" for key in keyDict] - item_token = f"{list_name}{''.join(keyTokens)}" - - xpath_tokens = [item_token] - - # if whole list-item is needed i.e. if in the path is not referencing child leaf items - # Example: - # path: /VLAN/Vlan1000 - # xpath: /sonic-vlan:sonic-vlan/VLAN/VLAN_LIST[name='Vlan1000'] - if len(path_tokens)-1 == token_index: - return xpath_tokens - - new_xpath_tokens = self._get_xpath_tokens_from_leaf(model, token_index+1, path_tokens,config[path_tokens[token_index]]) - xpath_tokens.extend(new_xpath_tokens) - return xpath_tokens - - def _get_xpath_tokens_from_leaf(self, model, token_index, path_tokens, config): - token = path_tokens[token_index] - - # checking all leaves - leaf_model = self._get_model(model.get('leaf'), token) - if leaf_model: - return [token] - - # checking choice - choices = model.get('choice') - if choices: - for choice in choices: - cases = choice['case'] - for case in cases: - leaf_model = self._get_model(case.get('leaf'), token) - if leaf_model: - return [token] - - # checking leaf-list (i.e. arrays of string, number or bool) - leaf_list_model = self._get_model(model.get('leaf-list'), token) - if leaf_list_model: - # if whole-list is to be returned, just return the token without checking the list items - # Example: - # path: /VLAN/Vlan1000/dhcp_servers - # xpath: /sonic-vlan:sonic-vlan/VLAN/VLAN_LIST[name='Vlan1000']/dhcp_servers - if len(path_tokens)-1 == token_index: - return [token] - list_config = config[token] - value = list_config[int(path_tokens[token_index+1])] - # To get a leaf-list instance with the value 'val' - # /module-name:container/leaf-list[.='val'] - # Source: Check examples in https://netopeer.liberouter.org/doc/libyang/master/html/howto_x_path.html - return [f"{token}[.='{value}']"] - - raise ValueError("Token not found") - - def _extractKey(self, tableKey, keys): - keyList = keys.split() - # get the value groups - value = tableKey.split("|") - # match lens - if len(keyList) != len(value): - raise ValueError("Value not found for {} in {}".format(keys, tableKey)) - # create the keyDict - keyDict = dict() - for i in range(len(keyList)): - keyDict[keyList[i]] = value[i].strip() - - return keyDict - - def _get_list_model(self, model, token_index, path_tokens): - parent_container_name = path_tokens[token_index] - clist = model.get('list') - # Container contains a single list, just return it - # TODO: check if matching also by name is necessary - if isinstance(clist, dict): - return clist - - if isinstance(clist, list): - configdb_values_str = path_tokens[token_index+1] - # Format: "value1|value2|value|..." - configdb_values = configdb_values_str.split("|") - for list_model in clist: - yang_keys_str = list_model['key']['@value'] - # Format: "key1 key2 key3 ..." - yang_keys = yang_keys_str.split() - # if same number of values and keys, this is the intended list-model - # TODO: Match also on types and not only the length of the keys/values - if len(yang_keys) == len(configdb_values): - return list_model - raise GenericConfigUpdaterError(f"Container {parent_container_name} has multiple lists, " - f"but none of them match the config_db value {configdb_values_str}") - - return None - - def convert_xpath_to_path(self, xpath, config, sy): - """ - Converts the given XPATH to JsonPatch path (i.e. JsonPointer). - Example: - xpath: /sonic-vlan:sonic-vlan/VLAN_MEMBER/VLAN_MEMBER_LIST[name='Vlan1000'][port='Ethernet8']/tagging_mode - path: /VLAN_MEMBER/Vlan1000|Ethernet8/tagging_mode - """ - tokens = self.get_xpath_tokens(xpath) - if len(tokens) == 0: - return self.create_path([]) - - if len(tokens) == 1: - raise GenericConfigUpdaterError("xpath cannot be just the module-name, there is no mapping to path") - - table = tokens[1] - cmap = sy.confDbYangMap[table] - - path_tokens = self._get_path_tokens_from_container(cmap['container'], 1, tokens, config) - return self.create_path(path_tokens) - - def _get_path_tokens_from_container(self, model, token_index, xpath_tokens, config): - token = xpath_tokens[token_index] - path_tokens = [token] - - if len(xpath_tokens)-1 == token_index: - return path_tokens - - # check child list - list_name = xpath_tokens[token_index+1].split("[")[0] - list_model = self._get_model(model.get('list'), list_name) - if list_model: - new_path_tokens = self._get_path_tokens_from_list(list_model, token_index+1, xpath_tokens, config[token]) - path_tokens.extend(new_path_tokens) - return path_tokens - - container_name = xpath_tokens[token_index+1] - container_model = self._get_model(model.get('container'), container_name) - if container_model: - new_path_tokens = self._get_path_tokens_from_container(container_model, token_index+1, xpath_tokens, config[token]) - path_tokens.extend(new_path_tokens) - return path_tokens - - new_path_tokens = self._get_path_tokens_from_leaf(model, token_index+1, xpath_tokens, config[token]) - path_tokens.extend(new_path_tokens) - - return path_tokens - - def _get_path_tokens_from_list(self, model, token_index, xpath_tokens, config): - token = xpath_tokens[token_index] - key_dict = self._extract_key_dict(token) - - # If no keys specified return empty tokens, as we are already inside the correct table. - # Also note that the list name in SonicYang has no correspondence in ConfigDb and is ignored. - # Example where VLAN_MEMBER_LIST has no specific key/value: - # xpath: /sonic-vlan:sonic-vlan/VLAN_MEMBER/VLAN_MEMBER_LIST - # path: /VLAN_MEMBER - if not(key_dict): - return [] - - listKeys = model['key']['@value'] - key_list = listKeys.split() - - if len(key_list) != len(key_dict): - raise GenericConfigUpdaterError(f"Keys in configDb not matching keys in SonicYang. ConfigDb keys: {key_dict.keys()}. SonicYang keys: {key_list}") - - values = [key_dict[k] for k in key_list] - path_token = '|'.join(values) - path_tokens = [path_token] - - if len(xpath_tokens)-1 == token_index: - return path_tokens - - next_token = xpath_tokens[token_index+1] - # if the target node is a key, then it does not have a correspondene to path. - # Just return the current 'key1|key2|..' token as it already refers to the keys - # Example where the target node is 'name' which is a key in VLAN_MEMBER_LIST: - # xpath: /sonic-vlan:sonic-vlan/VLAN_MEMBER/VLAN_MEMBER_LIST[name='Vlan1000'][port='Ethernet8']/name - # path: /VLAN_MEMBER/Vlan1000|Ethernet8 - if next_token in key_dict: - return path_tokens - - new_path_tokens = self._get_path_tokens_from_leaf(model, token_index+1, xpath_tokens, config[path_token]) - path_tokens.extend(new_path_tokens) - return path_tokens - - def _get_path_tokens_from_leaf(self, model, token_index, xpath_tokens, config): - token = xpath_tokens[token_index] - - # checking all leaves - leaf_model = self._get_model(model.get('leaf'), token) - if leaf_model: - return [token] - - # checking choices - choices = model.get('choice') - if choices: - for choice in choices: - cases = choice['case'] - for case in cases: - leaf_model = self._get_model(case.get('leaf'), token) - if leaf_model: - return [token] - - # checking leaf-list - leaf_list_tokens = token.split("[", 1) # split once on the first '[', a regex is used later to fetch keys/values - leaf_list_name = leaf_list_tokens[0] - leaf_list_model = self._get_model(model.get('leaf-list'), leaf_list_name) - if leaf_list_model: - # if whole-list is to be returned, just return the list-name without checking the list items - # Example: - # xpath: /sonic-vlan:sonic-vlan/VLAN/VLAN_LIST[name='Vlan1000']/dhcp_servers - # path: /VLAN/Vlan1000/dhcp_servers - if len(leaf_list_tokens) == 1: - return [leaf_list_name] - leaf_list_pattern = "^[^\[]+(?:\[\.='([^']*)'\])?$" - leaf_list_regex = re.compile(leaf_list_pattern) - match = leaf_list_regex.match(token) - # leaf_list_name = match.group(1) - leaf_list_value = match.group(1) - list_config = config[leaf_list_name] - list_idx = list_config.index(leaf_list_value) - return [leaf_list_name, list_idx] - - raise Exception("no leaf") - - def _extract_key_dict(self, list_token): - # Example: VLAN_MEMBER_LIST[name='Vlan1000'][port='Ethernet8'] - # the groups would be ('VLAN_MEMBER'), ("[name='Vlan1000'][port='Ethernet8']") - table_keys_pattern = "^([^\[]+)(.*)$" - text = list_token - table_keys_regex = re.compile(table_keys_pattern) - match = table_keys_regex.match(text) - # list_name = match.group(1) - all_key_value = match.group(2) - - # Example: [name='Vlan1000'][port='Ethernet8'] - # the findall groups would be ('name', 'Vlan1000'), ('port', 'Ethernet8') - key_value_pattern = "\[([^=]+)='([^']*)'\]" - matches = re.findall(key_value_pattern, all_key_value) - key_dict = {} - for item in matches: - key = item[0] - value = item[1] - key_dict[key] = value - - return key_dict - - def _get_model(self, model, name): - if isinstance(model, dict) and model['@name'] == name: - return model - if isinstance(model, list): - for submodel in model: - if submodel['@name'] == name: - return submodel - - return None diff --git a/generic_config_updater/patch_sorter.py b/generic_config_updater/patch_sorter.py deleted file mode 100644 index 8bf99ba004..0000000000 --- a/generic_config_updater/patch_sorter.py +++ /dev/null @@ -1,1010 +0,0 @@ -import copy -import json -import jsonpatch -from collections import deque -from enum import Enum -from .gu_common import OperationWrapper, OperationType, GenericConfigUpdaterError, JsonChange, PathAddressing - -class Diff: - """ - A class that contains the diff info between current and target configs. - """ - def __init__(self, current_config, target_config): - self.current_config = current_config - self.target_config = target_config - - def __hash__(self): - cc = json.dumps(self.current_config, sort_keys=True) - tc = json.dumps(self.target_config, sort_keys=True) - return hash((cc,tc)) - - def __eq__(self, other): - """Overrides the default implementation""" - if isinstance(other, Diff): - return self.current_config == other.current_config and self.target_config == other.target_config - - return False - - # TODO: Can be optimized to apply the move in place. JsonPatch supports that using the option 'in_place=True' - # Check: https://python-json-patch.readthedocs.io/en/latest/tutorial.html#applying-a-patch - # NOTE: in case move is applied in place, we will need to support `undo_move` as well. - def apply_move(self, move): - new_current_config = move.apply(self.current_config) - return Diff(new_current_config, self.target_config) - - def has_no_diff(self): - return self.current_config == self.target_config - -class JsonMove: - """ - A class similar to JsonPatch operation, but it allows the path to refer to non-existing middle elements. - - JsonPatch operation fails to update json if the path in the patch refers to element that do not exist. - For example, assume json to be: - {} - The following path will be rejected: - /elem1/key1 - The reason is 'elem1' does not exist in the json - - JsonMove on the other hand allows that given the target_config_tokens i.e. the target_config path, - and current_config_tokens i.e. current_config path where the update needs to happen. - """ - def __init__(self, diff, op_type, current_config_tokens, target_config_tokens=None): - operation = JsonMove._to_jsonpatch_operation(diff, op_type, current_config_tokens, target_config_tokens) - self.patch = jsonpatch.JsonPatch([operation]) - self.op_type = operation[OperationWrapper.OP_KEYWORD] - self.path = operation[OperationWrapper.PATH_KEYWORD] - self.value = operation.get(OperationWrapper.VALUE_KEYWORD, None) - - self.op_type = op_type - self.current_config_tokens = current_config_tokens - self.target_config_tokens = target_config_tokens - - @staticmethod - def _to_jsonpatch_operation(diff, op_type, current_config_tokens, target_config_tokens): - operation_wrapper = OperationWrapper() - path_addressing = PathAddressing() - - if op_type == OperationType.REMOVE: - path = path_addressing.create_path(current_config_tokens) - return operation_wrapper.create(op_type, path) - - if op_type == OperationType.REPLACE: - path = path_addressing.create_path(current_config_tokens) - value = JsonMove._get_value(diff.target_config, target_config_tokens) - return operation_wrapper.create(op_type, path, value) - - if op_type == OperationType.ADD: - return JsonMove._to_jsonpatch_add_operation(diff, current_config_tokens, target_config_tokens) - - raise ValueError(f"OperationType {op_type} is not supported") - - @staticmethod - def _get_value(config, tokens): - for token in tokens: - config = config[token] - - return copy.deepcopy(config) - - @staticmethod - def _to_jsonpatch_add_operation(diff, current_config_tokens, target_config_tokens): - """ - Check description of JsonMove class first. - - ADD operation path can refer to elements that do not exist, so to convert JsonMove to JsonPatch operation - We need to remove the non-existing tokens from the current_config path and move them to the value. - - Example: - Assume Target Config: - { - "dict1":{ - "key11": "value11" - } - } - Assume Current Config: - { - } - Assume JsonMove: - op_type=add, current_config_tokens=[dict1, key11], target_config_tokens=[dict1, key11] - - Converting this to operation directly would result in: - {"op":"add", "path":"/dict1/key11", "value":"value11"} - BUT this is not correct since 'dict1' which does not exist in Current Config. - Instead we convert to: - {"op":"add", "path":"/dict1", "value":{"key11": "value11"}} - """ - operation_wrapper = OperationWrapper() - path_addressing = PathAddressing() - - # if path refers to whole config i.e. no tokens, then just create the operation - if not current_config_tokens: - path = path_addressing.create_path(current_config_tokens) - value = JsonMove._get_value(diff.target_config, target_config_tokens) - return operation_wrapper.create(OperationType.ADD, path, value) - - # Start with getting target-config that match the path all the way to the value in json format - # Example: - # Assume target-config: - # { - # "dict1":{ - # "key11": "value11", - # "list12": [ - # "value121", - # "value122" - # ] - # }, - # "dict2":{ - # "key21": "value21" - # } - # } - # Assume target config tokens: - # dict1, list12, 1 - # filtered_config will be - # { - # "dict1":{ - # "list12": [ - # "value122" - # ] - # } - # } - target_ptr = diff.target_config - filtered_config = {} - filtered_config_ptr = filtered_config - for token_index in range(len(target_config_tokens)): - token = target_config_tokens[token_index] - - # Tokens are expected to be of the correct data-type i.e. string, int (list-index) - # So not checking the type of the token before consuming it - target_ptr = target_ptr[token] - - # if it is the last item, then just return the last target_ptr - if token_index == len(target_config_tokens)-1: - filtered_value = target_ptr - elif isinstance(target_ptr, list): - filtered_value = [] - else: - filtered_value = {} - - if isinstance(filtered_config_ptr, list): - filtered_config_ptr.append(filtered_value) # filtered_config list will contain only 1 value - else: # otherwise it is a dict - filtered_config_ptr[token] = filtered_value - - filtered_config_ptr = filtered_value - - # Then from the filtered_config get the all the tokens that exist in current_config - # This will be the new path, and the new value will be the corresponding filtered_config - # Example: - # Assume filtered_config - # { - # "dict1":{ - # "key11": "value11" - # } - # } - # Assume current-config - # { - # "dict1":{ - # "list12": [ - # "value122" - # ] - # } - # } - # Then the JsonPatch path would be: - # /dict1/list12 - # And JsonPatch value would be: - # [ "value122" ] - current_ptr = diff.current_config - new_tokens = [] - for token in current_config_tokens: - new_tokens.append(token) - was_list = isinstance(filtered_config, list) - if was_list: - # filtered_config list can only have 1 item - filtered_config = filtered_config[0] - else: - filtered_config = filtered_config[token] - - if was_list and token >= len(current_ptr): - break - if not(was_list) and token not in current_ptr: - break - current_ptr = current_ptr[token] - - op_type = OperationType.ADD - new_path = path_addressing.create_path(new_tokens) - new_value = copy.deepcopy(filtered_config) - - return operation_wrapper.create(op_type, new_path, new_value) - - @staticmethod - def from_patch(patch): - ops = list(patch) - if len(ops) != 1: - raise GenericConfigUpdaterError( - f"Only a patch of a single operation be converted to JsonMove. Patch has {len(ops)} operation/s") - - return JsonMove.from_operation(ops[0]) - - @staticmethod - def from_operation(operation): - path_addressing = PathAddressing() - op_type = OperationType[operation[OperationWrapper.OP_KEYWORD].upper()] - path = operation[OperationWrapper.PATH_KEYWORD] - if op_type in [OperationType.ADD, OperationType.REPLACE]: - value = operation[OperationWrapper.VALUE_KEYWORD] - else: - value = None - - tokens = path_addressing.get_path_tokens(path) - - target_config = {} - target_config_ptr = target_config - current_config = {} - current_config_ptr = current_config - for token in tokens[:-1]: - target_config_ptr[token] = {} - current_config_ptr[token] = {} - target_config_ptr = target_config_ptr[token] - current_config_ptr = current_config_ptr[token] - - if tokens: - target_config_ptr[tokens[-1]] = value - else: - # whole-config, just use value - target_config = value - - current_config_tokens = tokens - if op_type in [OperationType.ADD, OperationType.REPLACE]: - target_config_tokens = tokens - else: - target_config_tokens = None - - diff = Diff(current_config, target_config) - - return JsonMove(diff, op_type, current_config_tokens, target_config_tokens) - - def apply(self, config): - return self.patch.apply(config) - - def __str__(self): - return str(self.patch) - - def __repr__(self): - return str(self.patch) - - def __eq__(self, other): - """Overrides the default implementation""" - if isinstance(other, JsonMove): - return self.patch == other.patch - return False - - def __hash__(self): - return hash((self.op_type, self.path, json.dumps(self.value))) - -class MoveWrapper: - def __init__(self, move_generators, move_extenders, move_validators): - self.move_generators = move_generators - self.move_extenders = move_extenders - self.move_validators = move_validators - - def generate(self, diff): - processed_moves = set() - moves = deque([]) - - for move in self._generate_moves(diff): - if move in processed_moves: - continue - processed_moves.add(move) - yield move - moves.extend(self._extend_moves(move, diff)) - - while moves: - move = moves.popleft() - if move in processed_moves: - continue - processed_moves.add(move) - yield move - moves.extend(self._extend_moves(move, diff)) - - def validate(self, move, diff): - for validator in self.move_validators: - if not validator.validate(move, diff): - return False - return True - - def simulate(self, move, diff): - return diff.apply_move(move) - - def _generate_moves(self, diff): - for generator in self.move_generators: - for move in generator.generate(diff): - yield move - - def _extend_moves(self, move, diff): - for extender in self.move_extenders: - for newmove in extender.extend(move, diff): - yield newmove - -class DeleteWholeConfigMoveValidator: - """ - A class to validate not deleting whole config as it is not supported by JsonPatch lib. - """ - def validate(self, move, diff): - if move.op_type == OperationType.REMOVE and move.path == "": - return False - return True - -class FullConfigMoveValidator: - """ - A class to validate that full config is valid according to YANG models after applying the move. - """ - def __init__(self, config_wrapper): - self.config_wrapper = config_wrapper - - def validate(self, move, diff): - simulated_config = move.apply(diff.current_config) - return self.config_wrapper.validate_config_db_config(simulated_config) - -# TODO: Add this validation to YANG models instead -class UniqueLanesMoveValidator: - """ - A class to validate lanes and any port are unique between all ports. - """ - def validate(self, move, diff): - simulated_config = move.apply(diff.current_config) - - if "PORT" not in simulated_config: - return True - - ports = simulated_config["PORT"] - existing = set() - for port in ports: - attrs = ports[port] - if "lanes" in attrs: - lanes_str = attrs["lanes"] - lanes = lanes_str.split(", ") - for lane in lanes: - if lane in existing: - return False - existing.add(lane) - return True - -class CreateOnlyMoveValidator: - """ - A class to validate create-only fields are only added/removed but never replaced. - Parents of create-only fields are also only added/removed but never replaced when they contain - a modified create-only field. - """ - def __init__(self, path_addressing): - self.path_addressing = path_addressing - - def validate(self, move, diff): - if move.op_type != OperationType.REPLACE: - return True - - # The 'create-only' field needs to be common between current and simulated anyway but different. - # This means it is enough to just get the paths from current_config, paths that are not common can be ignored. - paths = self._get_create_only_paths(diff.current_config) - simulated_config = move.apply(diff.current_config) - - for path in paths: - tokens = self.path_addressing.get_path_tokens(path) - if self._value_exist_but_different(tokens, diff.current_config, simulated_config): - return False - - return True - - # TODO: create-only fields are hard-coded for now, it should be moved to YANG models - def _get_create_only_paths(self, config): - if "PORT" not in config: - return - - ports = config["PORT"] - - for port in ports: - attrs = ports[port] - if "lanes" in attrs: - yield f"/PORT/{port}/lanes" - - def _value_exist_but_different(self, tokens, current_config_ptr, simulated_config_ptr): - for token in tokens: - mod_token = int(token) if isinstance(current_config_ptr, list) else token - - if mod_token not in current_config_ptr: - return False - - if mod_token not in simulated_config_ptr: - return False - - current_config_ptr = current_config_ptr[mod_token] - simulated_config_ptr = simulated_config_ptr[mod_token] - - return current_config_ptr != simulated_config_ptr - -class NoDependencyMoveValidator: - """ - A class to validate that the modified configs do not have dependency on each other. This should prevent - moves that update whole config in a single step where multiple changed nodes are dependent on each. This - way dependent configs are never updated together. - """ - def __init__(self, path_addressing, config_wrapper): - self.path_addressing = path_addressing - self.config_wrapper = config_wrapper - - def validate(self, move, diff): - operation_type = move.op_type - path = move.path - - if operation_type == OperationType.ADD: - simulated_config = move.apply(diff.current_config) - # For add operation, we check the simulated config has no dependencies between nodes under the added path - if not self._validate_paths_config([path], simulated_config): - return False - elif operation_type == OperationType.REMOVE: - # For remove operation, we check the current config has no dependencies between nodes under the removed path - if not self._validate_paths_config([path], diff.current_config): - return False - elif operation_type == OperationType.REPLACE: - if not self._validate_replace(move, diff): - return False - - return True - - # NOTE: this function can be used for validating JsonChange as well which might have more than one move. - def _validate_replace(self, move, diff): - """ - The table below shows how mixed deletion/addition within replace affect this validation. - - The table is answring the question whether the change is valid: - Y = Yes - N = No - n/a = not applicable as the change itself is not valid - - symbols meaning; - +A, -A: adding, removing config A - +refA, -refA: adding, removing a reference to A config - - - +refA|-refA|refA - --|-----|-----|---- - +A| N | n/a | n/a - -A| n/a | N | n/a - A| Y | Y | Y - - The conclusion is that: - +A, +refA is invalid because there is a dependency and a single move should not have dependency - -A, -refA is invalid because there is a dependency and a single move should not have dependency - A kept unchanged can be ignored, as it is always OK regardless of what happens to its reference - Other states are all non applicable since they are invalid to begin with - - So verification would be: - if A is deleted and refA is deleted: return False - if A is added and refA is added: return False - return True - """ - simulated_config = move.apply(diff.current_config) - deleted_paths, added_paths = self._get_paths(diff.current_config, simulated_config, []) - - if not self._validate_paths_config(deleted_paths, diff.current_config): - return False - - if not self._validate_paths_config(added_paths, diff.target_config): - return False - - return True - - def _get_paths(self, current_ptr, target_ptr, tokens): - deleted_paths = [] - added_paths = [] - - if isinstance(current_ptr, list) or isinstance(target_ptr, list): - tmp_deleted_paths, tmp_added_paths = self._get_list_paths(current_ptr, target_ptr, tokens) - deleted_paths.extend(tmp_deleted_paths) - added_paths.extend(tmp_added_paths) - return deleted_paths, added_paths - - if isinstance(current_ptr, dict): - for token in current_ptr: - tokens.append(token) - if token not in target_ptr: - deleted_paths.append(self.path_addressing.create_path(tokens)) - else: - tmp_deleted_paths, tmp_added_paths = self._get_paths(current_ptr[token], target_ptr[token], tokens) - deleted_paths.extend(tmp_deleted_paths) - added_paths.extend(tmp_added_paths) - tokens.pop() - - for token in target_ptr: - tokens.append(token) - if token not in current_ptr: - added_paths.append(self.path_addressing.create_path(tokens)) - tokens.pop() - - return deleted_paths, added_paths - - # current/target configs are not dict nor list, so handle them as string, int, bool, float - if current_ptr != target_ptr: - # tokens.append(token) - deleted_paths.append(self.path_addressing.create_path(tokens)) - added_paths.append(self.path_addressing.create_path(tokens)) - # tokens.pop() - - return deleted_paths, added_paths - - def _get_list_paths(self, current_list, target_list, tokens): - """ - Gets all paths within the given list, assume list items are unique - """ - deleted_paths = [] - added_paths = [] - - hashed_target = set(target_list) - for index, value in enumerate(current_list): - if value not in hashed_target: - tokens.append(index) - deleted_paths.append(self.path_addressing.create_path(tokens)) - tokens.pop() - - hashed_current = set(current_list) - for index, value in enumerate(target_list): - if value not in hashed_current: - tokens.append(index) - # added_paths refer to paths in the target config and not necessarily the current config - added_paths.append(self.path_addressing.create_path(tokens)) - tokens.pop() - - return deleted_paths, added_paths - - def _validate_paths_config(self, paths, config): - """ - validates all config under paths do not have config and its references - """ - refs = self._find_ref_paths(paths, config) - for ref in refs: - for path in paths: - if ref.startswith(path): - return False - - return True - - def _find_ref_paths(self, paths, config): - refs = [] - for path in paths: - refs.extend(self.path_addressing.find_ref_paths(path, config)) - return refs - -class LowLevelMoveGenerator: - """ - A class to generate the low level moves i.e. moves corresponding to differences between current/target config - where the path of the move does not have children. - """ - def __init__(self, path_addressing): - self.path_addressing = path_addressing - def generate(self, diff): - single_run_generator = SingleRunLowLevelMoveGenerator(diff, self.path_addressing) - for move in single_run_generator.generate(): - yield move - -class SingleRunLowLevelMoveGenerator: - """ - A class that can only run once to assist LowLevelMoveGenerator with generating the moves. - """ - def __init__(self, diff, path_addressing): - self.diff = diff - self.path_addressing = path_addressing - - def generate(self): - current_ptr = self.diff.current_config - target_ptr = self.diff.target_config - current_tokens = [] - target_tokens = [] - - for move in self._traverse(current_ptr, target_ptr, current_tokens, target_tokens): - yield move - - def _traverse(self, current_ptr, target_ptr, current_tokens, target_tokens): - """ - Traverses the current/target config trees. - The given ptrs can be: - dict - list of string, number, boolean, int - string, number, boolean, int - - list of dict is not allowed - """ - if isinstance(current_ptr, list) or isinstance(target_ptr, list): - for move in self._traverse_list(current_ptr, target_ptr, current_tokens, target_tokens): - yield move - return - - if isinstance(current_ptr, dict) or isinstance(target_ptr, dict): - for key in current_ptr: - current_tokens.append(key) - if key in target_ptr: - target_tokens.append(key) - for move in self._traverse(current_ptr[key], target_ptr[key], current_tokens, target_tokens): - yield move - target_tokens.pop() - else: - for move in self._traverse_current(current_ptr[key], current_tokens): - yield move - - current_tokens.pop() - - for key in target_ptr: - if key in current_ptr: - continue # Already tried in the previous loop - - target_tokens.append(key) - current_tokens.append(key) - for move in self._traverse_target(target_ptr[key], current_tokens, target_tokens): - yield move - current_tokens.pop() - target_tokens.pop() - - return - - # The current/target ptr are neither dict nor list, so they might be string, int, float, bool - for move in self._traverse_value(current_ptr, target_ptr, current_tokens, target_tokens): - yield move - - def _traverse_list(self, current_ptr, target_ptr, current_tokens, target_tokens): - # if same elements different order, just sort by replacing whole list - # Example: - # current: [1, 2, 3, 4] - # target: [4, 3, 2, 1] - # returned move: REPLACE, current, target - current_dict_cnts = self._list_to_dict_with_count(current_ptr) - target_dict_cnts = self._list_to_dict_with_count(target_ptr) - if current_dict_cnts == target_dict_cnts: - for move in self._traverse_value(current_ptr, target_ptr, current_tokens, target_tokens): - yield move - return - - # Otherwise try add missing and remove additional elements - # Try remove - if current_ptr is not None: - for current_index, current_item in enumerate(current_ptr): - if current_dict_cnts[current_item] > target_dict_cnts.get(current_item, 0): - current_tokens.append(current_index) - for move in self._traverse_current_value(current_item, current_tokens): - yield move - current_tokens.pop() - # Try add - if target_ptr is not None: - current_cnt = len(current_ptr) if current_ptr is not None else 0 - for target_index, target_item in enumerate(target_ptr): - if target_dict_cnts[target_item] > current_dict_cnts.get(target_item, 0): - index = min(current_cnt, target_index) - current_tokens.append(index) - target_tokens.append(target_index) - for move in self._traverse_target_value(target_item, current_tokens, target_tokens): - yield move - target_tokens.pop() - current_tokens.pop() - - # Try replace - if current_ptr is not None and target_ptr is not None: - for current_index, current_item in enumerate(current_ptr): - for target_index, target_item in enumerate(target_ptr): - if current_dict_cnts[current_item] > target_dict_cnts.get(current_item, 0) and \ - target_dict_cnts[target_item] > current_dict_cnts.get(target_item, 0): - current_tokens.append(current_index) - target_tokens.append(target_index) - for move in self._traverse_value(current_item, target_item, current_tokens, target_tokens): - yield move - target_tokens.pop() - current_tokens.pop() - - def _traverse_value(self, current_value, target_value, current_tokens, target_tokens): - if current_value == target_value: - return - - yield JsonMove(self.diff, OperationType.REPLACE, current_tokens, target_tokens) - - def _traverse_current(self, ptr, current_tokens): - if isinstance(ptr, list): - for move in self._traverse_current_list(ptr, current_tokens): - yield move - return - - if isinstance(ptr, dict): - if len(ptr) == 0: - yield JsonMove(self.diff, OperationType.REMOVE, current_tokens) - return - - for key in ptr: - current_tokens.append(key) - for move in self._traverse_current(ptr[key], current_tokens): - yield move - current_tokens.pop() - - return - - # ptr is not a dict nor a list, it can be string, int, float, bool - for move in self._traverse_current_value(ptr, current_tokens): - yield move - - def _traverse_current_list(self, ptr, current_tokens): - if len(ptr) == 0: - yield JsonMove(self.diff, OperationType.REMOVE, current_tokens) - return - - for index, val in enumerate(ptr): - current_tokens.append(index) - for move in self._traverse_current_value(val, current_tokens): - yield move - current_tokens.pop() - - def _traverse_current_value(self, val, current_tokens): - yield JsonMove(self.diff, OperationType.REMOVE, current_tokens) - - def _traverse_target(self, ptr, current_tokens, target_tokens): - if isinstance(ptr, list): - for move in self._traverse_target_list(ptr, current_tokens, target_tokens): - yield move - return - - if isinstance(ptr, dict): - if len(ptr) == 0: - yield JsonMove(self.diff, OperationType.ADD, current_tokens, target_tokens) - return - - for key in ptr: - current_tokens.append(key) - target_tokens.append(key) - for move in self._traverse_target(ptr[key], current_tokens, target_tokens): - yield move - target_tokens.pop() - current_tokens.pop() - - return - - # target configs are not dict nor list, so handle them as string, int, bool, float - for move in self._traverse_target_value(ptr, current_tokens, target_tokens): - yield move - - def _traverse_target_list(self, ptr, current_tokens, target_tokens): - if len(ptr) == 0: - yield JsonMove(self.diff, OperationType.ADD, current_tokens, target_tokens) - return - - for index, val in enumerate(ptr): - # _traverse_target_list is called when the whole list is missing - # in such case any item should be added at first location i.e. 0 - current_tokens.append(0) - target_tokens.append(index) - for move in self._traverse_target_value(val, current_tokens, target_tokens): - yield move - target_tokens.pop() - current_tokens.pop() - - def _traverse_target_value(self, val, current_tokens, target_tokens): - yield JsonMove(self.diff, OperationType.ADD, current_tokens, target_tokens) - - def _list_to_dict_with_count(self, items): - counts = dict() - - if items is None: - return counts - - for item in items: - counts[item] = counts.get(item, 0) + 1 - - return counts - -class UpperLevelMoveExtender: - """ - A class to extend the given move by including its parent. It has 3 cases: - 1) If parent was in current and target, then replace the parent - 2) If parent was in current but not target, then delete the parent - 3) If parent was in target but not current, then add the parent - """ - def extend(self, move, diff): - # if no tokens i.e. whole config - if not move.current_config_tokens: - return - - upper_current_tokens = move.current_config_tokens[:-1] - operation_type = self._get_upper_operation(upper_current_tokens, diff) - - upper_target_tokens = None - if operation_type in [OperationType.ADD, OperationType.REPLACE]: - upper_target_tokens = upper_current_tokens - - yield JsonMove(diff, operation_type, upper_current_tokens, upper_target_tokens) - - # get upper operation assumes ConfigDb to not have list-of-objects, only list-of-values - def _get_upper_operation(self, tokens, diff): - current_ptr = diff.current_config - target_ptr = diff.target_config - - for token in tokens: - if token not in current_ptr: - return OperationType.ADD - current_ptr = current_ptr[token] - if token not in target_ptr: - return OperationType.REMOVE - target_ptr = target_ptr[token] - - return OperationType.REPLACE - -class DeleteInsteadOfReplaceMoveExtender: - """ - A class to extend the given REPLACE move by adding a REMOVE move. - """ - def extend(self, move, diff): - operation_type = move.op_type - - if operation_type != OperationType.REPLACE: - return - - new_move = JsonMove(diff, OperationType.REMOVE, move.current_config_tokens) - - yield new_move - -class DeleteRefsMoveExtender: - """ - A class to extend the given DELETE move by adding DELETE moves to configs referring to the path in the move. - """ - def __init__(self, path_addressing): - self.path_addressing = path_addressing - - def extend(self, move, diff): - operation_type = move.op_type - - if operation_type != OperationType.REMOVE: - return - - for ref_path in self.path_addressing.find_ref_paths(move.path, diff.current_config): - yield JsonMove(diff, OperationType.REMOVE, self.path_addressing.get_path_tokens(ref_path)) - -class DfsSorter: - def __init__(self, move_wrapper): - self.visited = {} - self.move_wrapper = move_wrapper - - def sort(self, diff): - if diff.has_no_diff(): - return [] - - diff_hash = hash(diff) - if diff_hash in self.visited: - return None - self.visited[diff_hash] = True - - moves = self.move_wrapper.generate(diff) - - for move in moves: - if self.move_wrapper.validate(move, diff): - new_diff = self.move_wrapper.simulate(move, diff) - new_moves = self.sort(new_diff) - if new_moves is not None: - return [move] + new_moves - - return None - -class BfsSorter: - def __init__(self, move_wrapper): - self.visited = {} - self.move_wrapper = move_wrapper - - def sort(self, diff): - diff_queue = deque([]) - prv_moves_queue = deque([]) - - diff_queue.append(diff) - prv_moves_queue.append([]) - - while len(diff_queue): - diff = diff_queue.popleft() - prv_moves = prv_moves_queue.popleft() - - diff_hash = hash(diff) - if diff_hash in self.visited: - continue - self.visited[diff_hash] = True - - if diff.has_no_diff(): - return prv_moves - - moves = self.move_wrapper.generate(diff) - for move in moves: - if self.move_wrapper.validate(move, diff): - new_diff = self.move_wrapper.simulate(move, diff) - new_prv_moves = prv_moves + [move] - - diff_queue.append(new_diff) - prv_moves_queue.append(new_prv_moves) - - return None - -class MemoizationSorter: - def __init__(self, move_wrapper): - self.visited = {} - self.move_wrapper = move_wrapper - self.mem = {} - - def rec(self, diff): - if diff.has_no_diff(): - return [] - - diff_hash = hash(diff) - if diff_hash in self.mem: - return self.mem[diff_hash] - if diff_hash in self.visited: - return None - self.visited[diff_hash] = True - - moves = self.move_wrapper.generate(diff) - - bst_moves = None - for move in moves: - if self.move_wrapper.validate(move, diff): - new_diff = self.move_wrapper.simulate(move, diff) - new_moves = self.sort(new_diff) - if new_moves != None and (bst_moves is None or len(bst_moves) > len(new_moves)+1): - bst_moves = [move] + new_moves - - self.mem[diff_hash] = bst_moves - return bst_moves - -class Algorithm(Enum): - DFS = 1 - BFS = 2 - MEMOIZATION = 3 - -class SortAlgorithmFactory: - def __init__(self, operation_wrapper, config_wrapper, path_addressing): - self.operation_wrapper = operation_wrapper - self.config_wrapper = config_wrapper - self.path_addressing = path_addressing - - def create(self, algorithm=Algorithm.DFS): - move_generators = [LowLevelMoveGenerator(self.path_addressing)] - move_extenders = [UpperLevelMoveExtender(), - DeleteInsteadOfReplaceMoveExtender(), - DeleteRefsMoveExtender(self.path_addressing)] - move_validators = [DeleteWholeConfigMoveValidator(), - FullConfigMoveValidator(self.config_wrapper), - NoDependencyMoveValidator(self.path_addressing, self.config_wrapper), - UniqueLanesMoveValidator(), - CreateOnlyMoveValidator(self.path_addressing) ] - - move_wrapper = MoveWrapper(move_generators, move_extenders, move_validators) - - if algorithm == Algorithm.DFS: - sorter = DfsSorter(move_wrapper) - elif algorithm == Algorithm.BFS: - sorter = BfsSorter(move_wrapper) - elif algorithm == Algorithm.MEMOIZATION: - sorter = MemoizationSorter(move_wrapper) - else: - raise ValueError(f"Algorithm {algorithm} is not supported") - - return sorter - -class PatchSorter: - def __init__(self, config_wrapper, patch_wrapper, sort_algorithm_factory=None): - self.config_wrapper = config_wrapper - self.patch_wrapper = patch_wrapper - self.operation_wrapper = OperationWrapper() - self.path_addressing = PathAddressing() - self.sort_algorithm_factory = sort_algorithm_factory if sort_algorithm_factory else \ - SortAlgorithmFactory(self.operation_wrapper, config_wrapper, self.path_addressing) - - def sort(self, patch, algorithm=Algorithm.DFS): - current_config = self.config_wrapper.get_config_db_as_json() - target_config = self.patch_wrapper.simulate_patch(patch, current_config) - - diff = Diff(current_config, target_config) - - sort_algorithm = self.sort_algorithm_factory.create(algorithm) - moves = sort_algorithm.sort(diff) - - if moves is None: - raise GenericConfigUpdaterError("There is no possible sorting") - - changes = [JsonChange(move.patch) for move in moves] - - return changes diff --git a/setup.py b/setup.py index 9d43d76ca1..e4b5e36fa3 100644 --- a/setup.py +++ b/setup.py @@ -175,7 +175,6 @@ 'jinja2>=2.11.3', 'jsondiff>=1.2.0', 'jsonpatch>=1.32.0', - 'jsonpointer>=1.9', 'm2crypto>=0.31.0', 'natsort>=6.2.1', # 6.2.1 is the last version which supports Python 2. Can update once we no longer support Python 2 'netaddr>=0.8.0', diff --git a/tests/generic_config_updater/files/any_config_db.json b/tests/generic_config_updater/files/any_config_db.json deleted file mode 100644 index 2c63c08510..0000000000 --- a/tests/generic_config_updater/files/any_config_db.json +++ /dev/null @@ -1,2 +0,0 @@ -{ -} diff --git a/tests/generic_config_updater/files/any_other_config_db.json b/tests/generic_config_updater/files/any_other_config_db.json deleted file mode 100644 index c258f768cf..0000000000 --- a/tests/generic_config_updater/files/any_other_config_db.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "VLAN": { - } -} diff --git a/tests/generic_config_updater/files/config_db_after_multi_patch.json b/tests/generic_config_updater/files/config_db_after_multi_patch.json index 39dff7d688..042bf1d51b 100644 --- a/tests/generic_config_updater/files/config_db_after_multi_patch.json +++ b/tests/generic_config_updater/files/config_db_after_multi_patch.json @@ -119,4 +119,4 @@ "key12": "value12" } } -} +} \ No newline at end of file diff --git a/tests/generic_config_updater/files/config_db_after_single_operation.json b/tests/generic_config_updater/files/config_db_after_single_operation.json deleted file mode 100644 index 0f2f447537..0000000000 --- a/tests/generic_config_updater/files/config_db_after_single_operation.json +++ /dev/null @@ -1,83 +0,0 @@ -{ - "VLAN_MEMBER": { - "Vlan1000|Ethernet0": { - "tagging_mode": "untagged" - }, - "Vlan1000|Ethernet4": { - "tagging_mode": "untagged" - } - }, - "VLAN": { - "Vlan1000": { - "vlanid": "1000", - "dhcp_servers": [ - "192.0.0.1", - "192.0.0.2", - "192.0.0.3", - "192.0.0.4" - ] - } - }, - "ACL_TABLE": { - "NO-NSW-PACL-V4": { - "type": "L3", - "policy_desc": "NO-NSW-PACL-V4", - "ports": [ - "Ethernet0" - ] - }, - "DATAACL": { - "policy_desc": "DATAACL", - "ports": [ - "Ethernet4" - ], - "stage": "ingress", - "type": "L3" - }, - "EVERFLOW": { - "policy_desc": "EVERFLOW", - "ports": [ - "Ethernet8" - ], - "stage": "ingress", - "type": "MIRROR" - }, - "EVERFLOWV6": { - "policy_desc": "EVERFLOWV6", - "ports": [ - "Ethernet4", - "Ethernet8" - ], - "stage": "ingress", - "type": "MIRRORV6" - } - }, - "PORT": { - "Ethernet0": { - "alias": "Eth1", - "lanes": "65, 66, 67, 68", - "description": "Ethernet0 100G link", - "speed": "100000" - }, - "Ethernet4": { - "admin_status": "up", - "alias": "fortyGigE0/4", - "description": "Servers0:eth0", - "index": "1", - "lanes": "29,30,31,32", - "mtu": "9100", - "pfc_asym": "off", - "speed": "40000" - }, - "Ethernet8": { - "admin_status": "up", - "alias": "fortyGigE0/8", - "description": "Servers1:eth0", - "index": "2", - "lanes": "33,34,35,36", - "mtu": "9100", - "pfc_asym": "off", - "speed": "40000" - } - } -} diff --git a/tests/generic_config_updater/files/config_db_choice.json b/tests/generic_config_updater/files/config_db_choice.json deleted file mode 100644 index eaece3248f..0000000000 --- a/tests/generic_config_updater/files/config_db_choice.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "ACL_RULE": { - "SSH_ONLY|RULE1": { - "L4_SRC_PORT":"65174-6530" - } - }, - "ACL_TABLE": { - "SSH_ONLY": { - "policy_desc": "SSH_ONLY", - "type": "CTRLPLANE", - "stage": "ingress", - "services": [ - "SSH" - ] - } - } -} diff --git a/tests/generic_config_updater/files/config_db_no_dependencies.json b/tests/generic_config_updater/files/config_db_no_dependencies.json deleted file mode 100644 index 12bdd464a5..0000000000 --- a/tests/generic_config_updater/files/config_db_no_dependencies.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "VLAN": { - "Vlan1000": { - "vlanid": "1000", - "dhcp_servers": [ - "192.0.0.1", - "192.0.0.2", - "192.0.0.3", - "192.0.0.4" - ] - } - }, - "ACL_TABLE": { - "EVERFLOW": { - "policy_desc": "EVERFLOW", - "ports": [ - "" - ], - "stage": "ingress", - "type": "MIRROR" - }, - "EVERFLOWV6": { - "policy_desc": "EVERFLOWV6", - "ports": [ - "" - ], - "stage": "ingress", - "type": "MIRRORV6" - } - }, - "PORT": { - "Ethernet0": { - "alias": "Eth1", - "lanes": "65, 66, 67, 68", - "description": "Ethernet0 100G link", - "speed": "100000" - } - } -} diff --git a/tests/generic_config_updater/files/config_db_with_crm.json b/tests/generic_config_updater/files/config_db_with_crm.json deleted file mode 100644 index 5fd324d988..0000000000 --- a/tests/generic_config_updater/files/config_db_with_crm.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "CRM": { - "Config": { - "acl_counter_high_threshold": "90", - "acl_counter_low_threshold": "70", - "acl_counter_threshold_type": "free" - } - } -} \ No newline at end of file diff --git a/tests/generic_config_updater/files/config_db_with_device_metadata.json b/tests/generic_config_updater/files/config_db_with_device_metadata.json deleted file mode 100644 index 34def579f6..0000000000 --- a/tests/generic_config_updater/files/config_db_with_device_metadata.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "DEVICE_METADATA": { - "localhost": { - "default_bgp_status": "up", - "default_pfcwd_status": "disable", - "bgp_asn": "65100", - "deployment_id": "1", - "docker_routing_config_mode": "separated", - "hostname": "vlab-01", - "hwsku": "Force10-S6000", - "type": "ToRRouter", - "platform": "x86_64-kvm_x86_64-r0", - "mac": "52:54:00:99:7e:85" - } - } -} \ No newline at end of file diff --git a/tests/generic_config_updater/files/config_db_with_interface.json b/tests/generic_config_updater/files/config_db_with_interface.json deleted file mode 100644 index 2e1c488a4a..0000000000 --- a/tests/generic_config_updater/files/config_db_with_interface.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "INTERFACE": { - "Ethernet8": {}, - "Ethernet8|10.0.0.1/30": { - "family": "IPv4", - "scope": "global" - } - }, - "PORT": { - "Ethernet8": { - "admin_status": "up", - "alias": "eth8", - "description": "Ethernet8", - "fec": "rs", - "lanes": "65", - "mtu": "9000", - "speed": "25000" - } - } -} diff --git a/tests/generic_config_updater/files/config_db_with_portchannel_and_acl.json b/tests/generic_config_updater/files/config_db_with_portchannel_and_acl.json deleted file mode 100644 index 23d33890f3..0000000000 --- a/tests/generic_config_updater/files/config_db_with_portchannel_and_acl.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "PORT": { - "Ethernet0": { - "alias": "Eth1/1", - "lanes": "65", - "description": "", - "speed": "10000" - } - }, - "PORTCHANNEL": { - "PortChannel0001": { - "admin_status": "up" - } - }, - "ACL_TABLE": { - "NO-NSW-PACL-V4": { - "type": "L3", - "policy_desc": "NO-NSW-PACL-V4", - "ports": [ - "Ethernet0", - "PortChannel0001" - ] - } - } -} diff --git a/tests/generic_config_updater/files/config_db_with_portchannel_interface.json b/tests/generic_config_updater/files/config_db_with_portchannel_interface.json deleted file mode 100644 index 4e05639dc5..0000000000 --- a/tests/generic_config_updater/files/config_db_with_portchannel_interface.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "PORTCHANNEL": { - "PortChannel0001": { - "admin_status": "up" - } - }, - "PORTCHANNEL_INTERFACE": { - "PortChannel0001|1.1.1.1/24": {} - } -} diff --git a/tests/generic_config_updater/files/contrainer_with_container_config_db.json b/tests/generic_config_updater/files/contrainer_with_container_config_db.json deleted file mode 100644 index b0680b22b5..0000000000 --- a/tests/generic_config_updater/files/contrainer_with_container_config_db.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "FLEX_COUNTER_TABLE": { - "BUFFER_POOL_WATERMARK": { - "FLEX_COUNTER_STATUS": "enable" - } - } -} diff --git a/tests/generic_config_updater/files/dpb_1_split_full_config.json b/tests/generic_config_updater/files/dpb_1_split_full_config.json deleted file mode 100644 index 2097289606..0000000000 --- a/tests/generic_config_updater/files/dpb_1_split_full_config.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "PORT": { - "Ethernet0": { - "alias": "Eth1", - "lanes": "65, 66, 67, 68", - "description": "Ethernet0 100G link", - "speed": "100000" - } - }, - "ACL_TABLE": { - "NO-NSW-PACL-V4": { - "type": "L3", - "policy_desc": "NO-NSW-PACL-V4", - "ports": [ - "Ethernet0" - ] - } - }, - "VLAN_MEMBER": { - "Vlan100|Ethernet0": { - "tagging_mode": "untagged" - } - }, - "VLAN": { - "Vlan100": { - "vlanid": "100", - "dhcp_servers": [ - "192.0.0.1", - "192.0.0.2", - "192.0.0.3", - "192.0.0.4" - ] - } - } -} diff --git a/tests/generic_config_updater/files/dpb_1_to_4.json-patch b/tests/generic_config_updater/files/dpb_1_to_4.json-patch deleted file mode 100644 index 8eddd7a19d..0000000000 --- a/tests/generic_config_updater/files/dpb_1_to_4.json-patch +++ /dev/null @@ -1,88 +0,0 @@ -[ - { - "op": "add", - "path": "/PORT/Ethernet3", - "value": { - "alias": "Eth1/4", - "lanes": "68", - "description": "", - "speed": "10000" - } - }, - { - "op": "add", - "path": "/PORT/Ethernet1", - "value": { - "alias": "Eth1/2", - "lanes": "66", - "description": "", - "speed": "10000" - } - }, - { - "op": "add", - "path": "/PORT/Ethernet2", - "value": { - "alias": "Eth1/3", - "lanes": "67", - "description": "", - "speed": "10000" - } - }, - { - "op": "replace", - "path": "/PORT/Ethernet0/lanes", - "value": "65" - }, - { - "op": "replace", - "path": "/PORT/Ethernet0/alias", - "value": "Eth1/1" - }, - { - "op": "replace", - "path": "/PORT/Ethernet0/description", - "value": "" - }, - { - "op": "replace", - "path": "/PORT/Ethernet0/speed", - "value": "10000" - }, - { - "op": "add", - "path": "/VLAN_MEMBER/Vlan100|Ethernet2", - "value": { - "tagging_mode": "untagged" - } - }, - { - "op": "add", - "path": "/VLAN_MEMBER/Vlan100|Ethernet3", - "value": { - "tagging_mode": "untagged" - } - }, - { - "op": "add", - "path": "/VLAN_MEMBER/Vlan100|Ethernet1", - "value": { - "tagging_mode": "untagged" - } - }, - { - "op": "add", - "path": "/ACL_TABLE/NO-NSW-PACL-V4/ports/1", - "value": "Ethernet1" - }, - { - "op": "add", - "path": "/ACL_TABLE/NO-NSW-PACL-V4/ports/2", - "value": "Ethernet2" - }, - { - "op": "add", - "path": "/ACL_TABLE/NO-NSW-PACL-V4/ports/3", - "value": "Ethernet3" - } -] diff --git a/tests/generic_config_updater/files/dpb_4_splits_full_config.json b/tests/generic_config_updater/files/dpb_4_splits_full_config.json deleted file mode 100644 index 23d1b9ecfc..0000000000 --- a/tests/generic_config_updater/files/dpb_4_splits_full_config.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "PORT": { - "Ethernet0": { - "alias": "Eth1/1", - "lanes": "65", - "description": "", - "speed": "10000" - }, - "Ethernet1": { - "alias": "Eth1/2", - "lanes": "66", - "description": "", - "speed": "10000" - }, - "Ethernet2": { - "alias": "Eth1/3", - "lanes": "67", - "description": "", - "speed": "10000" - }, - "Ethernet3": { - "alias": "Eth1/4", - "lanes": "68", - "description": "", - "speed": "10000" - } - }, - "ACL_TABLE": { - "NO-NSW-PACL-V4": { - "type": "L3", - "policy_desc": "NO-NSW-PACL-V4", - "ports": [ - "Ethernet0", - "Ethernet1", - "Ethernet2", - "Ethernet3" - ] - } - }, - "VLAN_MEMBER": { - "Vlan100|Ethernet0": { - "tagging_mode": "untagged" - }, - "Vlan100|Ethernet1": { - "tagging_mode": "untagged" - }, - "Vlan100|Ethernet2": { - "tagging_mode": "untagged" - }, - "Vlan100|Ethernet3": { - "tagging_mode": "untagged" - } - }, - "VLAN": { - "Vlan100": { - "vlanid": "100", - "dhcp_servers": [ - "192.0.0.1", - "192.0.0.2", - "192.0.0.3", - "192.0.0.4" - ] - } - } -} diff --git a/tests/generic_config_updater/files/dpb_4_to_1.json-patch b/tests/generic_config_updater/files/dpb_4_to_1.json-patch deleted file mode 100644 index 33addd290d..0000000000 --- a/tests/generic_config_updater/files/dpb_4_to_1.json-patch +++ /dev/null @@ -1,58 +0,0 @@ -[ - { - "op": "remove", - "path": "/PORT/Ethernet2" - }, - { - "op": "remove", - "path": "/PORT/Ethernet1" - }, - { - "op": "remove", - "path": "/PORT/Ethernet3" - }, - { - "op": "replace", - "path": "/PORT/Ethernet0/alias", - "value": "Eth1" - }, - { - "op": "replace", - "path": "/PORT/Ethernet0/lanes", - "value": "65, 66, 67, 68" - }, - { - "op": "replace", - "path": "/PORT/Ethernet0/description", - "value": "Ethernet0 100G link" - }, - { - "op": "replace", - "path": "/PORT/Ethernet0/speed", - "value": "100000" - }, - { - "op": "remove", - "path": "/VLAN_MEMBER/Vlan100|Ethernet1" - }, - { - "op": "remove", - "path": "/VLAN_MEMBER/Vlan100|Ethernet3" - }, - { - "op": "remove", - "path": "/VLAN_MEMBER/Vlan100|Ethernet2" - }, - { - "op": "remove", - "path": "/ACL_TABLE/NO-NSW-PACL-V4/ports/1" - }, - { - "op": "remove", - "path": "/ACL_TABLE/NO-NSW-PACL-V4/ports/1" - }, - { - "op": "remove", - "path": "/ACL_TABLE/NO-NSW-PACL-V4/ports/1" - } -] diff --git a/tests/generic_config_updater/files/empty_config_db.json b/tests/generic_config_updater/files/empty_config_db.json deleted file mode 100644 index 2c63c08510..0000000000 --- a/tests/generic_config_updater/files/empty_config_db.json +++ /dev/null @@ -1,2 +0,0 @@ -{ -} diff --git a/tests/generic_config_updater/files/simple_config_db_inc_deps.json b/tests/generic_config_updater/files/simple_config_db_inc_deps.json deleted file mode 100644 index 4554582103..0000000000 --- a/tests/generic_config_updater/files/simple_config_db_inc_deps.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "ACL_TABLE": { - "EVERFLOW": { - "policy_desc": "EVERFLOW", - "ports": [ - "Ethernet0" - ], - "stage": "ingress", - "type": "MIRROR" - } - }, - "PORT": { - "Ethernet0": { - "alias": "Eth1", - "lanes": "65, 66, 67, 68", - "description": "Ethernet0 100G link", - "speed": "100000" - } - } -} diff --git a/tests/generic_config_updater/gu_common_test.py b/tests/generic_config_updater/gu_common_test.py index f69ec08030..f18ad45799 100644 --- a/tests/generic_config_updater/gu_common_test.py +++ b/tests/generic_config_updater/gu_common_test.py @@ -1,12 +1,15 @@ import json import jsonpatch -import sonic_yang import unittest from unittest.mock import MagicMock, Mock - from .gutest_helpers import create_side_effect_dict, Files + import generic_config_updater.gu_common as gu_common +# import sys +# sys.path.insert(0,'../../generic_config_updater') +# import gu_common + class TestConfigWrapper(unittest.TestCase): def setUp(self): self.config_wrapper_mock = gu_common.ConfigWrapper() @@ -330,306 +333,3 @@ def __assert_same_patch(self, config_db_patch, sonic_yang_patch, config_wrapper, config_wrapper.convert_sonic_yang_to_config_db(after_update_sonic_yang) self.assertTrue(patch_wrapper.verify_same_json(after_update_config_db_cropped, after_update_sonic_yang_as_config_db)) - -class TestPathAddressing(unittest.TestCase): - def setUp(self): - self.path_addressing = gu_common.PathAddressing() - self.sy_only_models = sonic_yang.SonicYang(gu_common.YANG_DIR) - self.sy_only_models.loadYangModel() - - def test_get_path_tokens(self): - def check(path, tokens): - expected=tokens - actual=self.path_addressing.get_path_tokens(path) - self.assertEqual(expected, actual) - - check("", []) - check("/", [""]) - check("/token", ["token"]) - check("/more/than/one/token", ["more", "than", "one", "token"]) - check("/has/numbers/0/and/symbols/^", ["has", "numbers", "0", "and", "symbols", "^"]) - check("/~0/this/is/telda", ["~", "this", "is", "telda"]) - check("/~1/this/is/forward-slash", ["/", "this", "is", "forward-slash"]) - check("/\\\\/no-escaping", ["\\\\", "no-escaping"]) - check("////empty/tokens/are/ok", ["", "", "", "empty", "tokens", "are", "ok"]) - - def test_create_path(self): - def check(tokens, path): - expected=path - actual=self.path_addressing.create_path(tokens) - self.assertEqual(expected, actual) - - check([], "",) - check([""], "/",) - check(["token"], "/token") - check(["more", "than", "one", "token"], "/more/than/one/token") - check(["has", "numbers", "0", "and", "symbols", "^"], "/has/numbers/0/and/symbols/^") - check(["~", "this", "is", "telda"], "/~0/this/is/telda") - check(["/", "this", "is", "forward-slash"], "/~1/this/is/forward-slash") - check(["\\\\", "no-escaping"], "/\\\\/no-escaping") - check(["", "", "", "empty", "tokens", "are", "ok"], "////empty/tokens/are/ok") - check(["~token", "telda-not-followed-by-0-or-1"], "/~0token/telda-not-followed-by-0-or-1") - - def test_get_xpath_tokens(self): - def check(path, tokens): - expected=tokens - actual=self.path_addressing.get_xpath_tokens(path) - self.assertEqual(expected, actual) - - self.assertRaises(ValueError, check, "", []) - check("/", []) - check("/token", ["token"]) - check("/more/than/one/token", ["more", "than", "one", "token"]) - check("/multi/tokens/with/empty/last/token/", ["multi", "tokens", "with", "empty", "last", "token", ""]) - check("/has/numbers/0/and/symbols/^", ["has", "numbers", "0", "and", "symbols", "^"]) - check("/has[a='predicate']/in/the/beginning", ["has[a='predicate']", "in", "the", "beginning"]) - check("/ha/s[a='predicate']/in/the/middle", ["ha", "s[a='predicate']", "in", "the", "middle"]) - check("/ha/s[a='predicate-in-the-end']", ["ha", "s[a='predicate-in-the-end']"]) - check("/it/has[more='than'][one='predicate']/somewhere", ["it", "has[more='than'][one='predicate']", "somewhere"]) - check("/ha/s[a='predicate\"with']/double-quotes/inside", ["ha", "s[a='predicate\"with']", "double-quotes", "inside"]) - check('/a/predicate[with="double"]/quotes', ["a", 'predicate[with="double"]', "quotes"]) - check('/multiple["predicate"][with="double"]/quotes', ['multiple["predicate"][with="double"]', "quotes"]) - check('/multiple["predicate"][with="double"]/quotes', ['multiple["predicate"][with="double"]', "quotes"]) - check('/ha/s[a="predicate\'with"]/single-quote/inside', ["ha", 's[a="predicate\'with"]', "single-quote", "inside"]) - # XPATH 1.0 does not support single-quote within single-quoted string. str literal can be '[^']*' - # Not validating no single-quote within single-quoted string - check("/a/mix['of''quotes\"does']/not/work/well", ["a", "mix['of''quotes\"does']", "not", "work", "well"]) - # XPATH 1.0 does not support double-quotes within double-quoted string. str literal can be "[^"]*" - # Not validating no double-quotes within double-quoted string - check('/a/mix["of""quotes\'does"]/not/work/well', ["a", 'mix["of""quotes\'does"]', "not", "work", "well"]) - - def test_create_xpath(self): - def check(tokens, xpath): - expected=xpath - actual=self.path_addressing.create_xpath(tokens) - self.assertEqual(expected, actual) - - check([], "/") - check(["token"], "/token") - check(["more", "than", "one", "token"], "/more/than/one/token") - check(["multi", "tokens", "with", "empty", "last", "token", ""], "/multi/tokens/with/empty/last/token/") - check(["has", "numbers", "0", "and", "symbols", "^"], "/has/numbers/0/and/symbols/^") - check(["has[a='predicate']", "in", "the", "beginning"], "/has[a='predicate']/in/the/beginning") - check(["ha", "s[a='predicate']", "in", "the", "middle"], "/ha/s[a='predicate']/in/the/middle") - check(["ha", "s[a='predicate-in-the-end']"], "/ha/s[a='predicate-in-the-end']") - check(["it", "has[more='than'][one='predicate']", "somewhere"], "/it/has[more='than'][one='predicate']/somewhere") - check(["ha", "s[a='predicate\"with']", "double-quotes", "inside"], "/ha/s[a='predicate\"with']/double-quotes/inside") - check(["a", 'predicate[with="double"]', "quotes"], '/a/predicate[with="double"]/quotes') - check(['multiple["predicate"][with="double"]', "quotes"], '/multiple["predicate"][with="double"]/quotes') - check(['multiple["predicate"][with="double"]', "quotes"], '/multiple["predicate"][with="double"]/quotes') - check(["ha", 's[a="predicate\'with"]', "single-quote", "inside"], '/ha/s[a="predicate\'with"]/single-quote/inside') - # XPATH 1.0 does not support single-quote within single-quoted string. str literal can be '[^']*' - # Not validating no single-quote within single-quoted string - check(["a", "mix['of''quotes\"does']", "not", "work", "well"], "/a/mix['of''quotes\"does']/not/work/well", ) - # XPATH 1.0 does not support double-quotes within double-quoted string. str literal can be "[^"]*" - # Not validating no double-quotes within double-quoted string - check(["a", 'mix["of""quotes\'does"]', "not", "work", "well"], '/a/mix["of""quotes\'does"]/not/work/well') - - def test_find_ref_paths__ref_is_the_whole_key__returns_ref_paths(self): - # Arrange - path = "/PORT/Ethernet0" - expected = [ - "/ACL_TABLE/NO-NSW-PACL-V4/ports/0", - "/VLAN_MEMBER/Vlan1000|Ethernet0", - ] - - # Act - actual = self.path_addressing.find_ref_paths(path, Files.CROPPED_CONFIG_DB_AS_JSON) - - # Assert - self.assertCountEqual(expected, actual) - - def test_find_ref_paths__ref_is_a_part_of_key__returns_ref_paths(self): - # Arrange - path = "/VLAN/Vlan1000" - expected = [ - "/VLAN_MEMBER/Vlan1000|Ethernet0", - "/VLAN_MEMBER/Vlan1000|Ethernet4", - "/VLAN_MEMBER/Vlan1000|Ethernet8", - ] - - # Act - actual = self.path_addressing.find_ref_paths(path, Files.CROPPED_CONFIG_DB_AS_JSON) - - # Assert - self.assertCountEqual(expected, actual) - - def test_find_ref_paths__ref_is_in_multilist__returns_ref_paths(self): - # Arrange - path = "/PORT/Ethernet8" - expected = [ - "/INTERFACE/Ethernet8", - "/INTERFACE/Ethernet8|10.0.0.1~130", - ] - - # Act - actual = self.path_addressing.find_ref_paths(path, Files.CONFIG_DB_WITH_INTERFACE) - - # Assert - self.assertCountEqual(expected, actual) - - def test_find_ref_paths__ref_is_in_leafref_union__returns_ref_paths(self): - # Arrange - path = "/PORTCHANNEL/PortChannel0001" - expected = [ - "/ACL_TABLE/NO-NSW-PACL-V4/ports/1", - ] - - # Act - actual = self.path_addressing.find_ref_paths(path, Files.CONFIG_DB_WITH_PORTCHANNEL_AND_ACL) - - # Assert - self.assertCountEqual(expected, actual) - - def test_find_ref_paths__path_is_table__returns_ref_paths(self): - # Arrange - path = "/PORT" - expected = [ - "/ACL_TABLE/DATAACL/ports/0", - "/ACL_TABLE/EVERFLOW/ports/0", - "/ACL_TABLE/EVERFLOWV6/ports/0", - "/ACL_TABLE/EVERFLOWV6/ports/1", - "/ACL_TABLE/NO-NSW-PACL-V4/ports/0", - "/VLAN_MEMBER/Vlan1000|Ethernet0", - "/VLAN_MEMBER/Vlan1000|Ethernet4", - "/VLAN_MEMBER/Vlan1000|Ethernet8", - ] - - # Act - actual = self.path_addressing.find_ref_paths(path, Files.CROPPED_CONFIG_DB_AS_JSON) - - # Assert - self.assertCountEqual(expected, actual) - - def test_find_ref_paths__whole_config_path__returns_all_refs(self): - # Arrange - path = "" - expected = [ - "/ACL_TABLE/DATAACL/ports/0", - "/ACL_TABLE/EVERFLOW/ports/0", - "/ACL_TABLE/EVERFLOWV6/ports/0", - "/ACL_TABLE/EVERFLOWV6/ports/1", - "/ACL_TABLE/NO-NSW-PACL-V4/ports/0", - "/VLAN_MEMBER/Vlan1000|Ethernet0", - "/VLAN_MEMBER/Vlan1000|Ethernet4", - "/VLAN_MEMBER/Vlan1000|Ethernet8", - ] - - # Act - actual = self.path_addressing.find_ref_paths(path, Files.CROPPED_CONFIG_DB_AS_JSON) - - # Assert - self.assertCountEqual(expected, actual) - - def test_convert_path_to_xpath(self): - def check(path, xpath, config=None): - if not config: - config = Files.CROPPED_CONFIG_DB_AS_JSON - - expected=xpath - actual=self.path_addressing.convert_path_to_xpath(path, config, self.sy_only_models) - self.assertEqual(expected, actual) - - check(path="", xpath="/") - check(path="/VLAN_MEMBER", xpath="/sonic-vlan:sonic-vlan/VLAN_MEMBER") - check(path="/VLAN/Vlan1000/dhcp_servers", - xpath="/sonic-vlan:sonic-vlan/VLAN/VLAN_LIST[name='Vlan1000']/dhcp_servers") - check(path="/VLAN/Vlan1000/dhcp_servers/0", - xpath="/sonic-vlan:sonic-vlan/VLAN/VLAN_LIST[name='Vlan1000']/dhcp_servers[.='192.0.0.1']") - check(path="/PORT/Ethernet0/lanes", xpath="/sonic-port:sonic-port/PORT/PORT_LIST[name='Ethernet0']/lanes") - check(path="/ACL_TABLE/NO-NSW-PACL-V4/ports/0", - xpath="/sonic-acl:sonic-acl/ACL_TABLE/ACL_TABLE_LIST[ACL_TABLE_NAME='NO-NSW-PACL-V4']/ports[.='Ethernet0']") - check(path="/ACL_TABLE/NO-NSW-PACL-V4/ports/0", - xpath="/sonic-acl:sonic-acl/ACL_TABLE/ACL_TABLE_LIST[ACL_TABLE_NAME='NO-NSW-PACL-V4']/ports[.='Ethernet0']") - check(path="/VLAN_MEMBER/Vlan1000|Ethernet8/tagging_mode", - xpath="/sonic-vlan:sonic-vlan/VLAN_MEMBER/VLAN_MEMBER_LIST[name='Vlan1000'][port='Ethernet8']/tagging_mode") - check(path="/VLAN_MEMBER/Vlan1000|Ethernet8", - xpath="/sonic-vlan:sonic-vlan/VLAN_MEMBER/VLAN_MEMBER_LIST[name='Vlan1000'][port='Ethernet8']") - check(path="/DEVICE_METADATA/localhost/hwsku", - xpath="/sonic-device_metadata:sonic-device_metadata/DEVICE_METADATA/localhost/hwsku", - config=Files.CONFIG_DB_WITH_DEVICE_METADATA) - check(path="/FLEX_COUNTER_TABLE/BUFFER_POOL_WATERMARK/FLEX_COUNTER_STATUS", - xpath="/sonic-flex_counter:sonic-flex_counter/FLEX_COUNTER_TABLE/BUFFER_POOL_WATERMARK/FLEX_COUNTER_STATUS", - config=Files.CONTRAINER_WITH_CONTAINER_CONFIG_DB) - check(path="/ACL_RULE/SSH_ONLY|RULE1/L4_SRC_PORT", - xpath="/sonic-acl:sonic-acl/ACL_RULE/ACL_RULE_LIST[ACL_TABLE_NAME='SSH_ONLY'][RULE_NAME='RULE1']/L4_SRC_PORT", - config=Files.CONFIG_DB_CHOICE) - check(path="/INTERFACE/Ethernet8", - xpath="/sonic-interface:sonic-interface/INTERFACE/INTERFACE_LIST[name='Ethernet8']", - config=Files.CONFIG_DB_WITH_INTERFACE) - check(path="/INTERFACE/Ethernet8|10.0.0.1~130", - xpath="/sonic-interface:sonic-interface/INTERFACE/INTERFACE_IPPREFIX_LIST[name='Ethernet8'][ip-prefix='10.0.0.1/30']", - config=Files.CONFIG_DB_WITH_INTERFACE) - check(path="/INTERFACE/Ethernet8|10.0.0.1~130/scope", - xpath="/sonic-interface:sonic-interface/INTERFACE/INTERFACE_IPPREFIX_LIST[name='Ethernet8'][ip-prefix='10.0.0.1/30']/scope", - config=Files.CONFIG_DB_WITH_INTERFACE) - check(path="/PORTCHANNEL_INTERFACE", - xpath="/sonic-portchannel:sonic-portchannel/PORTCHANNEL_INTERFACE", - config=Files.CONFIG_DB_WITH_PORTCHANNEL_INTERFACE) - check(path="/PORTCHANNEL_INTERFACE/PortChannel0001|1.1.1.1~124", - xpath="/sonic-portchannel:sonic-portchannel/PORTCHANNEL_INTERFACE/PORTCHANNEL_INTERFACE_IPPREFIX_LIST[name='PortChannel0001'][ip_prefix='1.1.1.1/24']", - config=Files.CONFIG_DB_WITH_PORTCHANNEL_INTERFACE) - - def test_convert_xpath_to_path(self): - def check(xpath, path, config=None): - if not config: - config = Files.CROPPED_CONFIG_DB_AS_JSON - - expected=path - actual=self.path_addressing.convert_xpath_to_path(xpath, config, self.sy_only_models) - self.assertEqual(expected, actual) - - check(xpath="/",path="") - check(xpath="/sonic-vlan:sonic-vlan/VLAN_MEMBER", path="/VLAN_MEMBER") - check(xpath="/sonic-vlan:sonic-vlan/VLAN_MEMBER/VLAN_MEMBER_LIST",path="/VLAN_MEMBER") - check(xpath="/sonic-vlan:sonic-vlan/VLAN_MEMBER/VLAN_MEMBER_LIST[name='Vlan1000'][port='Ethernet8']", - path="/VLAN_MEMBER/Vlan1000|Ethernet8") - check(xpath="/sonic-vlan:sonic-vlan/VLAN_MEMBER/VLAN_MEMBER_LIST[name='Vlan1000'][port='Ethernet8']/name", - path="/VLAN_MEMBER/Vlan1000|Ethernet8") - check(xpath="/sonic-vlan:sonic-vlan/VLAN_MEMBER/VLAN_MEMBER_LIST[name='Vlan1000'][port='Ethernet8']/port", - path="/VLAN_MEMBER/Vlan1000|Ethernet8") - check(xpath="/sonic-vlan:sonic-vlan/VLAN_MEMBER/VLAN_MEMBER_LIST[name='Vlan1000'][port='Ethernet8']/tagging_mode", - path="/VLAN_MEMBER/Vlan1000|Ethernet8/tagging_mode") - check(xpath="/sonic-vlan:sonic-acl/ACL_RULE", path="/ACL_RULE") - check(xpath="/sonic-vlan:sonic-acl/ACL_RULE/ACL_RULE_LIST[ACL_TABLE_NAME='SSH_ONLY'][RULE_NAME='RULE1']", - path="/ACL_RULE/SSH_ONLY|RULE1", - config=Files.CONFIG_DB_CHOICE) - check(xpath="/sonic-acl:sonic-acl/ACL_RULE/ACL_RULE_LIST[ACL_TABLE_NAME='SSH_ONLY'][RULE_NAME='RULE1']/L4_SRC_PORT", - path="/ACL_RULE/SSH_ONLY|RULE1/L4_SRC_PORT", - config=Files.CONFIG_DB_CHOICE) - check(xpath="/sonic-vlan:sonic-vlan/VLAN/VLAN_LIST[name='Vlan1000']/dhcp_servers", - path="/VLAN/Vlan1000/dhcp_servers") - check(xpath="/sonic-vlan:sonic-vlan/VLAN/VLAN_LIST[name='Vlan1000']/dhcp_servers[.='192.0.0.1']", - path="/VLAN/Vlan1000/dhcp_servers/0") - check(xpath="/sonic-port:sonic-port/PORT/PORT_LIST[name='Ethernet0']/lanes", path="/PORT/Ethernet0/lanes") - check(xpath="/sonic-acl:sonic-acl/ACL_TABLE/ACL_TABLE_LIST[ACL_TABLE_NAME='NO-NSW-PACL-V4']/ports[.='Ethernet0']", - path="/ACL_TABLE/NO-NSW-PACL-V4/ports/0") - check(xpath="/sonic-vlan:sonic-vlan/VLAN_MEMBER/VLAN_MEMBER_LIST[name='Vlan1000'][port='Ethernet8']/tagging_mode", - path="/VLAN_MEMBER/Vlan1000|Ethernet8/tagging_mode") - check(xpath="/sonic-vlan:sonic-vlan/VLAN_MEMBER/VLAN_MEMBER_LIST[name='Vlan1000'][port='Ethernet8']", - path="/VLAN_MEMBER/Vlan1000|Ethernet8") - check(xpath="/sonic-device_metadata:sonic-device_metadata/DEVICE_METADATA/localhost/hwsku", - path="/DEVICE_METADATA/localhost/hwsku", - config=Files.CONFIG_DB_WITH_DEVICE_METADATA) - check(xpath="/sonic-flex_counter:sonic-flex_counter/FLEX_COUNTER_TABLE/BUFFER_POOL_WATERMARK", - path="/FLEX_COUNTER_TABLE/BUFFER_POOL_WATERMARK", - config=Files.CONTRAINER_WITH_CONTAINER_CONFIG_DB) - check(xpath="/sonic-flex_counter:sonic-flex_counter/FLEX_COUNTER_TABLE/BUFFER_POOL_WATERMARK/FLEX_COUNTER_STATUS", - path="/FLEX_COUNTER_TABLE/BUFFER_POOL_WATERMARK/FLEX_COUNTER_STATUS", - config=Files.CONTRAINER_WITH_CONTAINER_CONFIG_DB) - check(xpath="/sonic-interface:sonic-interface/INTERFACE/INTERFACE_LIST[name='Ethernet8']", - path="/INTERFACE/Ethernet8", - config=Files.CONFIG_DB_WITH_INTERFACE) - check(xpath="/sonic-interface:sonic-interface/INTERFACE/INTERFACE_IPPREFIX_LIST[name='Ethernet8'][ip-prefix='10.0.0.1/30']", - path="/INTERFACE/Ethernet8|10.0.0.1~130", - config=Files.CONFIG_DB_WITH_INTERFACE) - check(xpath="/sonic-interface:sonic-interface/INTERFACE/INTERFACE_IPPREFIX_LIST[name='Ethernet8'][ip-prefix='10.0.0.1/30']/scope", - path="/INTERFACE/Ethernet8|10.0.0.1~130/scope", - config=Files.CONFIG_DB_WITH_INTERFACE) - check(xpath="/sonic-portchannel:sonic-portchannel/PORTCHANNEL_INTERFACE", - path="/PORTCHANNEL_INTERFACE", - config=Files.CONFIG_DB_WITH_PORTCHANNEL_INTERFACE) - check(xpath="/sonic-portchannel:sonic-portchannel/PORTCHANNEL_INTERFACE/PORTCHANNEL_INTERFACE_IPPREFIX_LIST[name='PortChannel0001'][ip_prefix='1.1.1.1/24']", - path="/PORTCHANNEL_INTERFACE/PortChannel0001|1.1.1.1~124", - config=Files.CONFIG_DB_WITH_PORTCHANNEL_INTERFACE) - diff --git a/tests/generic_config_updater/patch_sorter_test.py b/tests/generic_config_updater/patch_sorter_test.py deleted file mode 100644 index 4da9fb901b..0000000000 --- a/tests/generic_config_updater/patch_sorter_test.py +++ /dev/null @@ -1,1730 +0,0 @@ -import jsonpatch -import unittest -from unittest.mock import MagicMock, Mock - -import generic_config_updater.patch_sorter as ps -from .gutest_helpers import Files, create_side_effect_dict -from generic_config_updater.gu_common import ConfigWrapper, PatchWrapper, OperationWrapper, \ - GenericConfigUpdaterError, OperationType, JsonChange, PathAddressing - -class TestDiff(unittest.TestCase): - def test_apply_move__updates_current_config(self): - # Arrange - diff = ps.Diff(current_config=Files.CROPPED_CONFIG_DB_AS_JSON, target_config=Files.ANY_CONFIG_DB) - move = ps.JsonMove.from_patch(Files.SINGLE_OPERATION_CONFIG_DB_PATCH) - - expected = ps.Diff(current_config=Files.CONFIG_DB_AFTER_SINGLE_OPERATION, target_config=Files.ANY_CONFIG_DB) - - # Act - actual = diff.apply_move(move) - - # Assert - self.assertEqual(expected.current_config, actual.current_config) - self.assertEqual(expected.target_config, actual.target_config) - - def test_has_no_diff__diff_exists__returns_false(self): - # Arrange - diff = ps.Diff(current_config=Files.CROPPED_CONFIG_DB_AS_JSON, - target_config=Files.CONFIG_DB_AFTER_SINGLE_OPERATION) - - # Act and Assert - self.assertFalse(diff.has_no_diff()) - - def test_has_no_diff__no_diff__returns_true(self): - # Arrange - diff = ps.Diff(current_config=Files.CROPPED_CONFIG_DB_AS_JSON, - target_config=Files.CROPPED_CONFIG_DB_AS_JSON) - - # Act and Assert - self.assertTrue(diff.has_no_diff()) - - def test_hash__different_current_config__different_hashes(self): - # Arrange - diff1 = ps.Diff(current_config=Files.CROPPED_CONFIG_DB_AS_JSON, target_config=Files.ANY_CONFIG_DB) - diff2 = ps.Diff(current_config=Files.CROPPED_CONFIG_DB_AS_JSON, target_config=Files.ANY_CONFIG_DB) - diff3 = ps.Diff(current_config=Files.CONFIG_DB_AFTER_SINGLE_OPERATION, target_config=Files.ANY_CONFIG_DB) - - # Act - hash1 = hash(diff1) - hash2 = hash(diff2) - hash3 = hash(diff3) - - # Assert - self.assertEqual(hash1, hash2) # same current config - self.assertNotEqual(hash1, hash3) - - def test_hash__different_target_config__different_hashes(self): - # Arrange - diff1 = ps.Diff(current_config=Files.ANY_CONFIG_DB, target_config=Files.CROPPED_CONFIG_DB_AS_JSON) - diff2 = ps.Diff(current_config=Files.ANY_CONFIG_DB, target_config=Files.CROPPED_CONFIG_DB_AS_JSON) - diff3 = ps.Diff(current_config=Files.ANY_CONFIG_DB, target_config=Files.CONFIG_DB_AFTER_SINGLE_OPERATION) - - # Act - hash1 = hash(diff1) - hash2 = hash(diff2) - hash3 = hash(diff3) - - # Assert - self.assertEqual(hash1, hash2) # same target config - self.assertNotEqual(hash1, hash3) - - def test_hash__swapped_current_and_target_configs__different_hashes(self): - # Arrange - diff1 = ps.Diff(current_config=Files.ANY_CONFIG_DB, target_config=Files.ANY_OTHER_CONFIG_DB) - diff2 = ps.Diff(current_config=Files.ANY_OTHER_CONFIG_DB, target_config=Files.ANY_CONFIG_DB) - - # Act - hash1 = hash(diff1) - hash2 = hash(diff2) - - # Assert - self.assertNotEqual(hash1, hash2) - - def test_eq__different_current_config__returns_false(self): - # Arrange - diff = ps.Diff(Files.ANY_CONFIG_DB, Files.ANY_CONFIG_DB) - other_diff = ps.Diff(Files.ANY_OTHER_CONFIG_DB, Files.ANY_CONFIG_DB) - - # Act and assert - self.assertNotEqual(diff, other_diff) - self.assertFalse(diff == other_diff) - - def test_eq__different_target_config__returns_false(self): - # Arrange - diff = ps.Diff(Files.ANY_CONFIG_DB, Files.ANY_CONFIG_DB) - other_diff = ps.Diff(Files.ANY_CONFIG_DB, Files.ANY_OTHER_CONFIG_DB) - - # Act and assert - self.assertNotEqual(diff, other_diff) - self.assertFalse(diff == other_diff) - - def test_eq__different_target_config__returns_true(self): - # Arrange - diff = ps.Diff(Files.ANY_CONFIG_DB, Files.ANY_CONFIG_DB) - other_diff = ps.Diff(Files.ANY_CONFIG_DB, Files.ANY_CONFIG_DB) - - # Act and assert - self.assertEqual(diff, other_diff) - self.assertTrue(diff == other_diff) - -class TestJsonMove(unittest.TestCase): - def setUp(self): - self.operation_wrapper = OperationWrapper() - self.any_op_type = OperationType.REPLACE - self.any_tokens = ["table1", "key11"] - self.any_path = "/table1/key11" - self.any_config = { - "table1": { - "key11": "value11" - } - } - self.any_value = "value11" - self.any_operation = self.operation_wrapper.create(self.any_op_type, self.any_path, self.any_value) - self.any_diff = ps.Diff(self.any_config, self.any_config) - - def test_ctor__delete_op_whole_config__none_value_and_empty_path(self): - # Arrange - path = "" - diff = ps.Diff(current_config={}, target_config=self.any_config) - - # Act - jsonmove = ps.JsonMove(diff, OperationType.REMOVE, []) - - # Assert - self.verify_jsonmove(self.operation_wrapper.create(OperationType.REMOVE, path), - OperationType.REMOVE, - [], - None, - jsonmove) - def test_ctor__remove_op__operation_created_directly(self): - # Arrange and Act - jsonmove = ps.JsonMove(self.any_diff, OperationType.REMOVE, self.any_tokens) - - # Assert - self.verify_jsonmove(self.operation_wrapper.create(OperationType.REMOVE, self.any_path), - OperationType.REMOVE, - self.any_tokens, - None, - jsonmove) - - def test_ctor__replace_op_whole_config__whole_config_value_and_empty_path(self): - # Arrange - path = "" - diff = ps.Diff(current_config={}, target_config=self.any_config) - - # Act - jsonmove = ps.JsonMove(diff, OperationType.REPLACE, [], []) - - # Assert - self.verify_jsonmove(self.operation_wrapper.create(OperationType.REPLACE, path, self.any_config), - OperationType.REPLACE, - [], - [], - jsonmove) - - def test_ctor__replace_op__operation_created_directly(self): - # Arrange and Act - jsonmove = ps.JsonMove(self.any_diff, OperationType.REPLACE, self.any_tokens, self.any_tokens) - - # Assert - self.verify_jsonmove(self.operation_wrapper.create(OperationType.REPLACE, self.any_path, self.any_value), - OperationType.REPLACE, - self.any_tokens, - self.any_tokens, - jsonmove) - - def test_ctor__add_op_whole_config__whole_config_value_and_empty_path(self): - # Arrange - path = "" - diff = ps.Diff(current_config={}, target_config=self.any_config) - - # Act - jsonmove = ps.JsonMove(diff, OperationType.ADD, [], []) - - # Assert - self.verify_jsonmove(self.operation_wrapper.create(OperationType.ADD, path, self.any_config), - OperationType.ADD, - [], - [], - jsonmove) - - def test_ctor__add_op_path_exist__same_value_and_path(self): - # Arrange and Act - jsonmove = ps.JsonMove(self.any_diff, OperationType.ADD, self.any_tokens, self.any_tokens) - - # Assert - self.verify_jsonmove(self.operation_wrapper.create(OperationType.ADD, self.any_path, self.any_value), - OperationType.ADD, - self.any_tokens, - self.any_tokens, - jsonmove) - - def test_ctor__add_op_path_exist_include_list__same_value_and_path(self): - # Arrange - current_config = { - "table1": { - "list1": ["value11", "value13"] - } - } - target_config = { - "table1": { - "list1": ["value11", "value12", "value13", "value14"] - } - } - diff = ps.Diff(current_config, target_config) - op_type = OperationType.ADD - current_config_tokens = ["table1", "list1", 1] # Index is 1 which does not exist in target - target_config_tokens = ["table1", "list1", 1] - expected_jsonpatch_path = "/table1/list1/1" - expected_jsonpatch_value = "value12" - # NOTE: the target config can contain more diff than the given move. - - # Act - jsonmove = ps.JsonMove(diff, op_type, current_config_tokens, target_config_tokens) - - # Assert - self.verify_jsonmove(self.operation_wrapper.create(op_type, expected_jsonpatch_path, expected_jsonpatch_value), - op_type, - current_config_tokens, - target_config_tokens, - jsonmove) - - def test_ctor__add_op_path_exist_list_index_doesnot_exist_in_target___same_value_and_path(self): - # Arrange - current_config = { - "table1": { - "list1": ["value11"] - } - } - target_config = { - "table1": { - "list1": ["value12"] - } - } - diff = ps.Diff(current_config, target_config) - op_type = OperationType.ADD - current_config_tokens = ["table1", "list1", 1] # Index is 1 which does not exist in target - target_config_tokens = ["table1", "list1", 0] - expected_jsonpatch_path = "/table1/list1/1" - expected_jsonpatch_value = "value12" - # NOTE: the target config can contain more diff than the given move. - - # Act - jsonmove = ps.JsonMove(diff, op_type, current_config_tokens, target_config_tokens) - - # Assert - self.verify_jsonmove(self.operation_wrapper.create(op_type, expected_jsonpatch_path, expected_jsonpatch_value), - op_type, - current_config_tokens, - target_config_tokens, - jsonmove) - - def test_ctor__add_op_path_doesnot_exist__value_and_path_of_parent(self): - # Arrange - current_config = { - } - target_config = { - "table1": { - "key11": { - "key111": "value111" - } - } - } - diff = ps.Diff(current_config, target_config) - op_type = OperationType.ADD - current_config_tokens = ["table1", "key11", "key111"] - target_config_tokens = ["table1", "key11", "key111"] - expected_jsonpatch_path = "/table1" - expected_jsonpatch_value = { - "key11": { - "key111": "value111" - } - } - # NOTE: the target config can contain more diff than the given move. - - # Act - jsonmove = ps.JsonMove(diff, op_type, current_config_tokens, target_config_tokens) - - # Assert - self.verify_jsonmove(self.operation_wrapper.create(op_type, expected_jsonpatch_path, expected_jsonpatch_value), - op_type, - current_config_tokens, - target_config_tokens, - jsonmove) - - def test_ctor__add_op_path_doesnot_exist_include_list__value_and_path_of_parent(self): - # Arrange - current_config = { - } - target_config = { - "table1": { - "list1": ["value11", "value12", "value13", "value14"] - } - } - diff = ps.Diff(current_config, target_config) - op_type = OperationType.ADD - current_config_tokens = ["table1", "list1", 0] - target_config_tokens = ["table1", "list1", 1] - expected_jsonpatch_path = "/table1" - expected_jsonpatch_value = { - "list1": ["value12"] - } - # NOTE: the target config can contain more diff than the given move. - - # Act - jsonmove = ps.JsonMove(diff, op_type, current_config_tokens, target_config_tokens) - - # Assert - self.verify_jsonmove(self.operation_wrapper.create(op_type, expected_jsonpatch_path, expected_jsonpatch_value), - op_type, - current_config_tokens, - target_config_tokens, - jsonmove) - - def test_from_patch__more_than_1_op__failure(self): - # Arrange - patch = jsonpatch.JsonPatch([self.any_operation, self.any_operation]) - - # Act and Assert - self.assertRaises(GenericConfigUpdaterError, ps.JsonMove.from_patch, patch) - - def test_from_patch__delete_op__delete_jsonmove(self): - # Arrange - operation = self.operation_wrapper.create(OperationType.REMOVE, self.any_path) - patch = jsonpatch.JsonPatch([operation]) - - # Act - jsonmove = ps.JsonMove.from_patch(patch) - - # Assert - self.verify_jsonmove(operation, - OperationType.REMOVE, - self.any_tokens, - None, - jsonmove) - - def test_from_patch__replace_op__replace_jsonmove(self): - # Arrange - operation = self.operation_wrapper.create(OperationType.REPLACE, self.any_path, self.any_value) - patch = jsonpatch.JsonPatch([operation]) - - # Act - jsonmove = ps.JsonMove.from_patch(patch) - - # Assert - self.verify_jsonmove(operation, - OperationType.REPLACE, - self.any_tokens, - self.any_tokens, - jsonmove) - - def test_from_patch__add_op__add_jsonmove(self): - # Arrange - operation = self.operation_wrapper.create(OperationType.ADD, self.any_path, self.any_value) - patch = jsonpatch.JsonPatch([operation]) - - # Act - jsonmove = ps.JsonMove.from_patch(patch) - - # Assert - self.verify_jsonmove(operation, - OperationType.ADD, - self.any_tokens, - self.any_tokens, - jsonmove) - - def test_from_patch__add_op_with_list_indexes__add_jsonmove(self): - # Arrange - path = "/table1/key11/list1111/3" - value = "value11111" - # From a JsonPatch it is not possible to figure out if the '3' is an item in a list or a dictionary, - # will assume by default a dictionary for simplicity. - tokens = ["table1", "key11", "list1111", "3"] - operation = self.operation_wrapper.create(OperationType.ADD, path, value) - patch = jsonpatch.JsonPatch([operation]) - - # Act - jsonmove = ps.JsonMove.from_patch(patch) - - # Assert - self.verify_jsonmove(operation, - OperationType.ADD, - tokens, - tokens, - jsonmove) - - def test_from_patch__replace_whole_config__whole_config_jsonmove(self): - # Arrange - tokens = [] - path = "" - value = {"table1": {"key1": "value1"} } - operation = self.operation_wrapper.create(OperationType.REPLACE, path, value) - patch = jsonpatch.JsonPatch([operation]) - - # Act - jsonmove = ps.JsonMove.from_patch(patch) - - # Assert - self.verify_jsonmove(operation, - OperationType.REPLACE, - tokens, - tokens, - jsonmove) - - def verify_jsonmove(self, - expected_operation, - expected_op_type, - expected_current_config_tokens, - expected_target_config_tokens, - jsonmove): - expected_patch = jsonpatch.JsonPatch([expected_operation]) - self.assertEqual(expected_patch, jsonmove.patch) - self.assertEqual(expected_op_type, jsonmove.op_type) - self.assertListEqual(expected_current_config_tokens, jsonmove.current_config_tokens) - self.assertEqual(expected_target_config_tokens, jsonmove.target_config_tokens) - -class TestMoveWrapper(unittest.TestCase): - def setUp(self): - self.any_current_config = {} - self.any_target_config = {} - self.any_diff = ps.Diff(self.any_current_config, self.any_target_config) - self.any_move = Mock() - self.any_other_move1 = Mock() - self.any_other_move2 = Mock() - self.any_extended_move = Mock() - self.any_other_extended_move1 = Mock() - self.any_other_extended_move2 = Mock() - - self.single_move_generator = Mock() - self.single_move_generator.generate.side_effect = \ - create_side_effect_dict({(str(self.any_diff),): [self.any_move]}) - - self.another_single_move_generator = Mock() - self.another_single_move_generator.generate.side_effect = \ - create_side_effect_dict({(str(self.any_diff),): [self.any_other_move1]}) - - self.multiple_move_generator = Mock() - self.multiple_move_generator.generate.side_effect = create_side_effect_dict( - {(str(self.any_diff),): [self.any_move, self.any_other_move1, self.any_other_move2]}) - - self.single_move_extender = Mock() - self.single_move_extender.extend.side_effect = create_side_effect_dict( - { - (str(self.any_move), str(self.any_diff)): [self.any_extended_move], - (str(self.any_extended_move), str(self.any_diff)): [], # As first extended move will be extended - (str(self.any_other_extended_move1), str(self.any_diff)): [] # Needed when mixed with other extenders - }) - - self.another_single_move_extender = Mock() - self.another_single_move_extender.extend.side_effect = create_side_effect_dict( - { - (str(self.any_move), str(self.any_diff)): [self.any_other_extended_move1], - (str(self.any_other_extended_move1), str(self.any_diff)): [], # As first extended move will be extended - (str(self.any_extended_move), str(self.any_diff)): [] # Needed when mixed with other extenders - }) - - self.multiple_move_extender = Mock() - self.multiple_move_extender.extend.side_effect = create_side_effect_dict( - { - (str(self.any_move), str(self.any_diff)): \ - [self.any_extended_move, self.any_other_extended_move1, self.any_other_extended_move2], - # All extended moves will be extended - (str(self.any_extended_move), str(self.any_diff)): [], - (str(self.any_other_extended_move1), str(self.any_diff)): [], - (str(self.any_other_extended_move2), str(self.any_diff)): [], - }) - - self.mixed_move_extender = Mock() - self.mixed_move_extender.extend.side_effect = create_side_effect_dict( - { - (str(self.any_move), str(self.any_diff)): [self.any_extended_move], - (str(self.any_other_move1), str(self.any_diff)): [self.any_other_extended_move1], - (str(self.any_extended_move), str(self.any_diff)): \ - [self.any_other_extended_move1, self.any_other_extended_move2], - # All extended moves will be extended - (str(self.any_other_extended_move1), str(self.any_diff)): [], - (str(self.any_other_extended_move2), str(self.any_diff)): [], - }) - - self.fail_move_validator = Mock() - self.fail_move_validator.validate.side_effect = create_side_effect_dict( - {(str(self.any_move), str(self.any_diff)): False}) - - self.success_move_validator = Mock() - self.success_move_validator.validate.side_effect = create_side_effect_dict( - {(str(self.any_move), str(self.any_diff)): True}) - - def test_ctor__assigns_values_correctly(self): - # Arrange - move_generators = Mock() - move_extenders = Mock() - move_validators = Mock() - - # Act - move_wrapper = ps.MoveWrapper(move_generators, move_extenders, move_validators) - - # Assert - self.assertIs(move_generators, move_wrapper.move_generators) - self.assertIs(move_extenders, move_wrapper.move_extenders) - self.assertIs(move_validators, move_wrapper.move_validators) - - def test_generate__single_move_generator__single_move_returned(self): - # Arrange - move_generators = [self.single_move_generator] - move_wrapper = ps.MoveWrapper(move_generators, [], []) - expected = [self.any_move] - - # Act - actual = list(move_wrapper.generate(self.any_diff)) - - # Assert - self.assertListEqual(expected, actual) - - def test_generate__multiple_move_generator__multiple_move_returned(self): - # Arrange - move_generators = [self.multiple_move_generator] - move_wrapper = ps.MoveWrapper(move_generators, [], []) - expected = [self.any_move, self.any_other_move1, self.any_other_move2] - - # Act - actual = list(move_wrapper.generate(self.any_diff)) - - # Assert - self.assertListEqual(expected, actual) - - def test_generate__different_move_generators__different_moves_returned(self): - # Arrange - move_generators = [self.single_move_generator, self.another_single_move_generator] - move_wrapper = ps.MoveWrapper(move_generators, [], []) - expected = [self.any_move, self.any_other_move1] - - # Act - actual = list(move_wrapper.generate(self.any_diff)) - - # Assert - self.assertListEqual(expected, actual) - - def test_generate__duplicate_generated_moves__unique_moves_returned(self): - # Arrange - move_generators = [self.single_move_generator, self.single_move_generator] - move_wrapper = ps.MoveWrapper(move_generators, [], []) - expected = [self.any_move] - - # Act - actual = list(move_wrapper.generate(self.any_diff)) - - # Assert - self.assertListEqual(expected, actual) - - def test_generate__single_move_extender__one_extended_move_returned(self): - # Arrange - move_generators = [self.single_move_generator] - move_extenders = [self.single_move_extender] - move_wrapper = ps.MoveWrapper(move_generators, move_extenders, []) - expected = [self.any_move, self.any_extended_move] - - # Act - actual = list(move_wrapper.generate(self.any_diff)) - - # Assert - self.assertListEqual(expected, actual) - - def test_generate__multiple_move_extender__multiple_extended_move_returned(self): - # Arrange - move_generators = [self.single_move_generator] - move_extenders = [self.multiple_move_extender] - move_wrapper = ps.MoveWrapper(move_generators, move_extenders, []) - expected = [self.any_move, self.any_extended_move, self.any_other_extended_move1, self.any_other_extended_move2] - - # Act - actual = list(move_wrapper.generate(self.any_diff)) - - # Assert - self.assertListEqual(expected, actual) - - def test_generate__different_move_extenders__different_extended_moves_returned(self): - # Arrange - move_generators = [self.single_move_generator] - move_extenders = [self.single_move_extender, self.another_single_move_extender] - move_wrapper = ps.MoveWrapper(move_generators, move_extenders, []) - expected = [self.any_move, self.any_extended_move, self.any_other_extended_move1] - - # Act - actual = list(move_wrapper.generate(self.any_diff)) - - # Assert - self.assertListEqual(expected, actual) - - def test_generate__duplicate_extended_moves__unique_moves_returned(self): - # Arrange - move_generators = [self.single_move_generator] - move_extenders = [self.single_move_extender, self.single_move_extender] - move_wrapper = ps.MoveWrapper(move_generators, move_extenders, []) - expected = [self.any_move, self.any_extended_move] - - # Act - actual = list(move_wrapper.generate(self.any_diff)) - - # Assert - self.assertListEqual(expected, actual) - - def test_generate__mixed_extended_moves__unique_moves_returned(self): - # Arrange - move_generators = [self.single_move_generator, self.another_single_move_generator] - move_extenders = [self.mixed_move_extender] - move_wrapper = ps.MoveWrapper(move_generators, move_extenders, []) - expected = [self.any_move, - self.any_other_move1, - self.any_extended_move, - self.any_other_extended_move1, - self.any_other_extended_move2] - - # Act - actual = list(move_wrapper.generate(self.any_diff)) - - # Assert - self.assertListEqual(expected, actual) - - def test_validate__validation_fail__false_returned(self): - # Arrange - move_validators = [self.fail_move_validator] - move_wrapper = ps.MoveWrapper([], [], move_validators) - - # Act and assert - self.assertFalse(move_wrapper.validate(self.any_move, self.any_diff)) - - def test_validate__validation_succeed__true_returned(self): - # Arrange - move_validators = [self.success_move_validator] - move_wrapper = ps.MoveWrapper([], [], move_validators) - - # Act and assert - self.assertTrue(move_wrapper.validate(self.any_move, self.any_diff)) - - def test_validate__multiple_validators_last_fail___false_returned(self): - # Arrange - move_validators = [self.success_move_validator, self.success_move_validator, self.fail_move_validator] - move_wrapper = ps.MoveWrapper([], [], move_validators) - - # Act and assert - self.assertFalse(move_wrapper.validate(self.any_move, self.any_diff)) - - def test_validate__multiple_validators_succeed___true_returned(self): - # Arrange - move_validators = [self.success_move_validator, self.success_move_validator, self.success_move_validator] - move_wrapper = ps.MoveWrapper([], [], move_validators) - - # Act and assert - self.assertTrue(move_wrapper.validate(self.any_move, self.any_diff)) - - def test_simulate__applies_move(self): - # Arrange - diff = Mock() - diff.apply_move.side_effect = create_side_effect_dict({(str(self.any_move), ): self.any_diff}) - move_wrapper = ps.MoveWrapper(None, None, None) - - # Act - actual = move_wrapper.simulate(self.any_move, diff) - - # Assert - self.assertIs(self.any_diff, actual) - -class TestDeleteWholeConfigMoveValidator(unittest.TestCase): - def setUp(self): - self.operation_wrapper = OperationWrapper() - self.validator = ps.DeleteWholeConfigMoveValidator() - self.any_diff = Mock() - self.any_non_whole_config_path = "/table1" - self.whole_config_path = "" - - def test_validate__non_remove_op_non_whole_config__success(self): - self.verify(OperationType.REPLACE, self.any_non_whole_config_path, True) - self.verify(OperationType.ADD, self.any_non_whole_config_path, True) - - def test_validate__remove_op_non_whole_config__success(self): - self.verify(OperationType.REMOVE, self.any_non_whole_config_path, True) - - def test_validate__non_remove_op_whole_config__success(self): - self.verify(OperationType.REPLACE, self.whole_config_path, True) - self.verify(OperationType.ADD, self.whole_config_path, True) - - def test_validate__remove_op_whole_config__failure(self): - self.verify(OperationType.REMOVE, self.whole_config_path, False) - - def verify(self, operation_type, path, expected): - # Arrange - value = None - if operation_type in [OperationType.ADD, OperationType.REPLACE]: - value = Mock() - - operation = self.operation_wrapper.create(operation_type, path, value) - move = ps.JsonMove.from_operation(operation) - - # Act - actual = self.validator.validate(move, self.any_diff) - - # Assert - self.assertEqual(expected, actual) - -class TestUniqueLanesMoveValidator(unittest.TestCase): - def setUp(self): - self.validator = ps.UniqueLanesMoveValidator() - - def test_validate__no_port_table__success(self): - config = {"ACL_TABLE": {}} - self.validate_target_config(config) - - def test_validate__empty_port_table__success(self): - config = {"PORT": {}} - self.validate_target_config(config) - - def test_validate__single_lane__success(self): - config = {"PORT": {"Ethernet0": {"lanes": "66", "speed":"10000"}}} - self.validate_target_config(config) - - def test_validate__different_lanes_single_port___success(self): - config = {"PORT": {"Ethernet0": {"lanes": "66, 67, 68", "speed":"10000"}}} - self.validate_target_config(config) - - def test_validate__different_lanes_multi_ports___success(self): - config = {"PORT": { - "Ethernet0": {"lanes": "64, 65", "speed":"10000"}, - "Ethernet1": {"lanes": "66, 67, 68", "speed":"10000"}, - }} - self.validate_target_config(config) - - def test_validate__same_lanes_single_port___success(self): - config = {"PORT": {"Ethernet0": {"lanes": "65, 65", "speed":"10000"}}} - self.validate_target_config(config, False) - - def validate_target_config(self, target_config, expected=True): - # Arrange - current_config = {} - diff = ps.Diff(current_config, target_config) - move = ps.JsonMove(diff, OperationType.REPLACE, [], []) - - # Act - actual = self.validator.validate(move, diff) - - # Assert - self.assertEqual(expected, actual) - -class TestFullConfigMoveValidator(unittest.TestCase): - def setUp(self): - self.any_current_config = Mock() - self.any_target_config = Mock() - self.any_simulated_config = Mock() - self.any_diff = ps.Diff(self.any_current_config, self.any_target_config) - self.any_move = Mock() - self.any_move.apply.side_effect = \ - create_side_effect_dict({(str(self.any_current_config),): self.any_simulated_config}) - - def test_validate__invalid_config_db_after_applying_move__failure(self): - # Arrange - config_wrapper = Mock() - config_wrapper.validate_config_db_config.side_effect = \ - create_side_effect_dict({(str(self.any_simulated_config),): False}) - validator = ps.FullConfigMoveValidator(config_wrapper) - - # Act and assert - self.assertFalse(validator.validate(self.any_move, self.any_diff)) - - def test_validate__valid_config_db_after_applying_move__success(self): - # Arrange - config_wrapper = Mock() - config_wrapper.validate_config_db_config.side_effect = \ - create_side_effect_dict({(str(self.any_simulated_config),): True}) - validator = ps.FullConfigMoveValidator(config_wrapper) - - # Act and assert - self.assertTrue(validator.validate(self.any_move, self.any_diff)) - -class TestCreateOnlyMoveValidator(unittest.TestCase): - def setUp(self): - self.validator = ps.CreateOnlyMoveValidator(ps.PathAddressing()) - self.any_diff = ps.Diff({}, {}) - - def test_validate__non_replace_operation__success(self): - # Assert - self.assertTrue(self.validator.validate( \ - ps.JsonMove(self.any_diff, OperationType.ADD, [], []), self.any_diff)) - self.assertTrue(self.validator.validate( \ - ps.JsonMove(self.any_diff, OperationType.REMOVE, [], []), self.any_diff)) - - def test_validate__no_create_only_field__success(self): - current_config = {"PORT": {}} - target_config = {"PORT": {}, "ACL_TABLE": {}} - self.verify_diff(current_config, target_config) - - def test_validate__same_create_only_field__success(self): - current_config = {"PORT": {"Ethernet0":{"lanes":"65"}}} - target_config = {"PORT": {"Ethernet0":{"lanes":"65"}}, "ACL_TABLE": {}} - self.verify_diff(current_config, target_config) - - def test_validate__different_create_only_field__failure(self): - current_config = {"PORT": {"Ethernet0":{"lanes":"65"}}} - target_config = {"PORT": {"Ethernet0":{"lanes":"66"}}, "ACL_TABLE": {}} - self.verify_diff(current_config, target_config, expected=False) - - def test_validate__different_create_only_field_directly_updated__failure(self): - current_config = {"PORT": {"Ethernet0":{"lanes":"65"}}} - target_config = {"PORT": {"Ethernet0":{"lanes":"66"}}, "ACL_TABLE": {}} - self.verify_diff(current_config, - target_config, - ["PORT", "Ethernet0", "lanes"], - ["PORT", "Ethernet0", "lanes"], - False) - - def test_validate__different_create_only_field_updating_parent__failure(self): - current_config = {"PORT": {"Ethernet0":{"lanes":"65"}}} - target_config = {"PORT": {"Ethernet0":{"lanes":"66"}}, "ACL_TABLE": {}} - self.verify_diff(current_config, - target_config, - ["PORT", "Ethernet0"], - ["PORT", "Ethernet0"], - False) - - def test_validate__different_create_only_field_updating_grandparent__failure(self): - current_config = {"PORT": {"Ethernet0":{"lanes":"65"}}} - target_config = {"PORT": {"Ethernet0":{"lanes":"66"}}, "ACL_TABLE": {}} - self.verify_diff(current_config, - target_config, - ["PORT"], - ["PORT"], - False) - - def test_validate__same_create_only_field_directly_updated__failure(self): - current_config = {"PORT": {"Ethernet0":{"lanes":"65"}}} - target_config = {"PORT": {"Ethernet0":{"lanes":"65"}}, "ACL_TABLE": {}} - self.verify_diff(current_config, - target_config, - ["PORT", "Ethernet0", "lanes"], - ["PORT", "Ethernet0", "lanes"]) - - def test_validate__same_create_only_field_updating_parent__failure(self): - current_config = {"PORT": {"Ethernet0":{"lanes":"65"}}} - target_config = {"PORT": {"Ethernet0":{"lanes":"65"}}, "ACL_TABLE": {}} - self.verify_diff(current_config, - target_config, - ["PORT", "Ethernet0"], - ["PORT", "Ethernet0"]) - - def test_validate__same_create_only_field_updating_grandparent__failure(self): - current_config = {"PORT": {"Ethernet0":{"lanes":"65"}}} - target_config = {"PORT": {"Ethernet0":{"lanes":"65"}}, "ACL_TABLE": {}} - self.verify_diff(current_config, - target_config, - ["PORT"], - ["PORT"]) - - def verify_diff(self, current_config, target_config, current_config_tokens=None, target_config_tokens=None, expected=True): - # Arrange - current_config_tokens = current_config_tokens if current_config_tokens else [] - target_config_tokens = target_config_tokens if target_config_tokens else [] - diff = ps.Diff(current_config, target_config) - move = ps.JsonMove(diff, OperationType.REPLACE, current_config_tokens, target_config_tokens) - - # Act - actual = self.validator.validate(move, diff) - - # Assert - self.assertEqual(expected, actual) - -class TestNoDependencyMoveValidator(unittest.TestCase): - def setUp(self): - path_addressing = ps.PathAddressing() - config_wrapper = ConfigWrapper() - self.validator = ps.NoDependencyMoveValidator(path_addressing, config_wrapper) - - def test_validate__add_full_config_has_dependencies__failure(self): - # Arrange - # CROPPED_CONFIG_DB_AS_JSON has dependencies between PORT and ACL_TABLE - diff = ps.Diff(Files.EMPTY_CONFIG_DB, Files.CROPPED_CONFIG_DB_AS_JSON) - move = ps.JsonMove(diff, OperationType.ADD, [], []) - - # Act and assert - self.assertFalse(self.validator.validate(move, diff)) - - def test_validate__add_full_config_no_dependencies__success(self): - # Arrange - diff = ps.Diff(Files.EMPTY_CONFIG_DB, Files.CONFIG_DB_NO_DEPENDENCIES) - move = ps.JsonMove(diff, OperationType.ADD, [], []) - - # Act and assert - self.assertTrue(self.validator.validate(move, diff)) - - def test_validate__add_table_has_no_dependencies__success(self): - # Arrange - target_config = Files.CROPPED_CONFIG_DB_AS_JSON - # prepare current config by removing ACL_TABLE from current config - current_config = self.prepare_config(target_config, jsonpatch.JsonPatch([ - {"op": "remove", "path":"/ACL_TABLE"} - ])) - diff = ps.Diff(current_config, target_config) - move = ps.JsonMove(diff, OperationType.ADD, ["ACL_TABLE"], ["ACL_TABLE"]) - - # Act and assert - self.assertTrue(self.validator.validate(move, diff)) - - def test_validate__remove_full_config_has_dependencies__failure(self): - # Arrange - # CROPPED_CONFIG_DB_AS_JSON has dependencies between PORT and ACL_TABLE - diff = ps.Diff(Files.CROPPED_CONFIG_DB_AS_JSON, Files.EMPTY_CONFIG_DB) - move = ps.JsonMove(diff, OperationType.REMOVE, [], []) - - # Act and assert - self.assertFalse(self.validator.validate(move, diff)) - - def test_validate__remove_full_config_no_dependencies__success(self): - # Arrange - diff = ps.Diff(Files.EMPTY_CONFIG_DB, Files.CONFIG_DB_NO_DEPENDENCIES) - move = ps.JsonMove(diff, OperationType.REMOVE, [], []) - - # Act and assert - self.assertTrue(self.validator.validate(move, diff)) - - def test_validate__remove_table_has_no_dependencies__success(self): - # Arrange - current_config = Files.CROPPED_CONFIG_DB_AS_JSON - target_config = self.prepare_config(current_config, jsonpatch.JsonPatch([ - {"op": "remove", "path":"/ACL_TABLE"} - ])) - diff = ps.Diff(current_config, target_config) - move = ps.JsonMove(diff, OperationType.REMOVE, ["ACL_TABLE"]) - - # Act and assert - self.assertTrue(self.validator.validate(move, diff)) - - def test_validate__replace_whole_config_item_added_ref_added__failure(self): - # Arrange - target_config = Files.SIMPLE_CONFIG_DB_INC_DEPS - # prepare current config by removing an item and its ref from target config - current_config = self.prepare_config(target_config, jsonpatch.JsonPatch([ - {"op": "replace", "path":"/ACL_TABLE/EVERFLOW/ports/0", "value":""}, - {"op": "remove", "path":"/PORT/Ethernet0"} - ])) - - diff = ps.Diff(current_config, target_config) - move = ps.JsonMove(diff, OperationType.REPLACE, [], []) - - # Act and assert - self.assertFalse(self.validator.validate(move, diff)) - - def test_validate__replace_whole_config_item_removed_ref_removed__false(self): - # Arrange - current_config = Files.SIMPLE_CONFIG_DB_INC_DEPS - # prepare target config by removing an item and its ref from current config - target_config = self.prepare_config(current_config, jsonpatch.JsonPatch([ - {"op": "replace", "path":"/ACL_TABLE/EVERFLOW/ports/0", "value":""}, - {"op": "remove", "path":"/PORT/Ethernet0"} - ])) - - diff = ps.Diff(current_config, target_config) - move = ps.JsonMove(diff, OperationType.REPLACE, [], []) - - # Act and assert - self.assertFalse(self.validator.validate(move, diff)) - - def test_validate__replace_whole_config_item_same_ref_added__true(self): - # Arrange - target_config = Files.SIMPLE_CONFIG_DB_INC_DEPS - # prepare current config by removing ref from target config - current_config = self.prepare_config(target_config, jsonpatch.JsonPatch([ - {"op": "replace", "path":"/ACL_TABLE/EVERFLOW/ports/0", "value":""} - ])) - - diff = ps.Diff(current_config, target_config) - move = ps.JsonMove(diff, OperationType.REPLACE, [], []) - - # Act and assert - self.assertTrue(self.validator.validate(move, diff)) - - def test_validate__replace_whole_config_item_same_ref_removed__true(self): - # Arrange - current_config= Files.SIMPLE_CONFIG_DB_INC_DEPS - # prepare target config by removing ref from current config - target_config = self.prepare_config(current_config, jsonpatch.JsonPatch([ - {"op": "replace", "path":"/ACL_TABLE/EVERFLOW/ports/0", "value":""} - ])) - - diff = ps.Diff(current_config, target_config) - move = ps.JsonMove(diff, OperationType.REPLACE, [], []) - - # Act and assert - self.assertTrue(self.validator.validate(move, diff)) - - def test_validate__replace_whole_config_item_same_ref_same__true(self): - # Arrange - current_config= Files.SIMPLE_CONFIG_DB_INC_DEPS - # prepare target config by removing ref from current config - target_config = current_config - - diff = ps.Diff(current_config, target_config) - move = ps.JsonMove(diff, OperationType.REPLACE, [], []) - - # Act and assert - self.assertTrue(self.validator.validate(move, diff)) - - def prepare_config(self, config, patch): - return patch.apply(config) - -class TestLowLevelMoveGenerator(unittest.TestCase): - def setUp(self): - path_addressing = PathAddressing() - self.generator = ps.LowLevelMoveGenerator(path_addressing) - - def test_generate__no_diff__no_moves(self): - self.verify() - - def test_generate__replace_key__replace_move(self): - self.verify(tc_ops=[{"op": "replace", 'path': '/PORT/Ethernet0/description', 'value':'any-desc'}]) - - def test_generate__leaf_key_missing__add_move(self): - self.verify( - cc_ops=[{"op": "remove", 'path': '/ACL_TABLE/EVERFLOW/policy_desc'}], - ex_ops=[{"op": "add", 'path': '/ACL_TABLE/EVERFLOW/policy_desc', 'value':'EVERFLOW'}] - ) - - def test_generate__leaf_key_additional__remove_move(self): - self.verify( - tc_ops=[{"op": "remove", 'path': '/ACL_TABLE/EVERFLOW/policy_desc'}] - ) - - def test_generate__table_missing__add_leafs_moves(self): - self.verify( - cc_ops=[{"op": "remove", 'path': '/VLAN'}], - ex_ops=[{'op': 'add', 'path': '/VLAN', 'value': {'Vlan1000': {'vlanid': '1000'}}}, - {'op': 'add', 'path': '/VLAN', 'value': {'Vlan1000': {'dhcp_servers': ['192.0.0.1']}}}, - {'op': 'add', 'path': '/VLAN', 'value': {'Vlan1000': {'dhcp_servers': ['192.0.0.2']}}}, - {'op': 'add', 'path': '/VLAN', 'value': {'Vlan1000': {'dhcp_servers': ['192.0.0.3']}}}, - {'op': 'add', 'path': '/VLAN', 'value': {'Vlan1000': {'dhcp_servers': ['192.0.0.4']}}}] - ) - - def test_generate__table_additional__remove_leafs_moves(self): - self.verify( - tc_ops=[{"op": "remove", 'path': '/VLAN'}], - ex_ops=[{'op': 'remove', 'path': '/VLAN/Vlan1000/vlanid'}, - {'op': 'remove', 'path': '/VLAN/Vlan1000/dhcp_servers/0'}, - {'op': 'remove', 'path': '/VLAN/Vlan1000/dhcp_servers/1'}, - {'op': 'remove', 'path': '/VLAN/Vlan1000/dhcp_servers/2'}, - {'op': 'remove', 'path': '/VLAN/Vlan1000/dhcp_servers/3'}] - ) - - def test_generate__leaf_table_missing__add_table(self): - self.verify( - tc_ops=[{"op": "add", 'path': '/NEW_TABLE', 'value':{}}] - ) - - def test_generate__leaf_table_additional__remove_table(self): - self.verify( - cc_ops=[{"op": "add", 'path': '/NEW_TABLE', 'value':{}}], - ex_ops=[{"op": "remove", 'path': '/NEW_TABLE'}] - ) - - def test_generate__replace_list_item__remove_add_replace_moves(self): - self.verify( - tc_ops=[{"op": "replace", 'path': '/ACL_TABLE/EVERFLOW/ports/0', 'value':'Ethernet0'}], - ex_ops=[ - {"op": "remove", 'path': '/ACL_TABLE/EVERFLOW/ports/0'}, - {"op": "add", 'path': '/ACL_TABLE/EVERFLOW/ports/0', 'value':'Ethernet0'}, - {"op": "replace", 'path': '/ACL_TABLE/EVERFLOW/ports/0', 'value':'Ethernet0'}, - ]) - - def test_generate__remove_list_item__remove_move(self): - self.verify( - tc_ops=[{"op": "remove", 'path': '/VLAN/Vlan1000/dhcp_servers/0'}]) - - def test_generate__remove_multiple_list_items__multiple_remove_moves(self): - self.verify( - tc_ops=[{"op": "remove", 'path': '/VLAN/Vlan1000/dhcp_servers/0'}, - {"op": "remove", 'path': '/VLAN/Vlan1000/dhcp_servers/0'}], - ex_ops=[{"op": "remove", 'path': '/VLAN/Vlan1000/dhcp_servers/0'}, - {"op": "remove", 'path': '/VLAN/Vlan1000/dhcp_servers/1'}] - ) - - def test_generate__remove_all_list_items__multiple_remove_moves(self): - self.verify( - tc_ops=[{"op": "replace", 'path': '/VLAN/Vlan1000/dhcp_servers', 'value':[]}], - ex_ops=[{"op": "remove", 'path': '/VLAN/Vlan1000/dhcp_servers/0'}, - {"op": "remove", 'path': '/VLAN/Vlan1000/dhcp_servers/2'}, - {"op": "remove", 'path': '/VLAN/Vlan1000/dhcp_servers/3'}, - {"op": "remove", 'path': '/VLAN/Vlan1000/dhcp_servers/1'}] - ) - - def test_generate__add_list_items__add_move(self): - self.verify( - tc_ops=[{"op": "add", 'path': '/VLAN/Vlan1000/dhcp_servers/0', 'value':'192.168.1.5'}] - ) - - def test_generate__add_multiple_list_items__multiple_add_moves(self): - self.verify( - tc_ops=[{"op": "add", 'path': '/VLAN/Vlan1000/dhcp_servers/0', 'value':'192.168.1.5'}, - {"op": "add", 'path': '/VLAN/Vlan1000/dhcp_servers/3', 'value':'192.168.1.6'}] - ) - - def test_generate__add_all_list_items__multiple_add_moves(self): - self.verify( - cc_ops=[{"op": "replace", 'path': '/VLAN/Vlan1000/dhcp_servers', 'value':[]}], - ex_ops=[{"op": "add", 'path': '/VLAN/Vlan1000/dhcp_servers/0', 'value':'192.0.0.1'}, - {"op": "add", 'path': '/VLAN/Vlan1000/dhcp_servers/0', 'value':'192.0.0.2'}, - {"op": "add", 'path': '/VLAN/Vlan1000/dhcp_servers/0', 'value':'192.0.0.3'}, - {"op": "add", 'path': '/VLAN/Vlan1000/dhcp_servers/0', 'value':'192.0.0.4'}] - ) - - def test_generate__replace_multiple_list_items__multiple_remove_add_replace_moves(self): - self.verify( - tc_ops=[{"op": "replace", 'path': '/VLAN/Vlan1000/dhcp_servers/0', 'value':'192.168.1.5'}, - {"op": "replace", 'path': '/VLAN/Vlan1000/dhcp_servers/3', 'value':'192.168.1.6'}], - ex_ops=[{"op": "remove", 'path': '/VLAN/Vlan1000/dhcp_servers/0'}, - {"op": "remove", 'path': '/VLAN/Vlan1000/dhcp_servers/3'}, - {"op": "add", 'path': '/VLAN/Vlan1000/dhcp_servers/0', 'value':'192.168.1.5'}, - {"op": "add", 'path': '/VLAN/Vlan1000/dhcp_servers/3', 'value':'192.168.1.6'}, - {"op": "replace", 'path': '/VLAN/Vlan1000/dhcp_servers/0', 'value':'192.168.1.5'}, - {"op": "replace", 'path': '/VLAN/Vlan1000/dhcp_servers/3', 'value':'192.168.1.6'}, - {"op": "replace", 'path': '/VLAN/Vlan1000/dhcp_servers/3', 'value':'192.168.1.5'}, - {"op": "replace", 'path': '/VLAN/Vlan1000/dhcp_servers/0', 'value':'192.168.1.6'}] - ) - - def test_generate__different_order_list_items__whole_list_replace_move(self): - self.verify( - tc_ops=[{"op": "replace", 'path': '/VLAN/Vlan1000/dhcp_servers', 'value':[ - "192.0.0.4", - "192.0.0.3", - "192.0.0.2", - "192.0.0.1" - ]}]) - - def test_generate__whole_list_missing__add_items_moves(self): - self.verify( - cc_ops=[{"op": "remove", 'path': '/VLAN/Vlan1000/dhcp_servers'}], - ex_ops=[{'op': 'add', 'path': '/VLAN/Vlan1000/dhcp_servers', 'value': ['192.0.0.1']}, - {'op': 'add', 'path': '/VLAN/Vlan1000/dhcp_servers', 'value': ['192.0.0.2']}, - {'op': 'add', 'path': '/VLAN/Vlan1000/dhcp_servers', 'value': ['192.0.0.3']}, - {'op': 'add', 'path': '/VLAN/Vlan1000/dhcp_servers', 'value': ['192.0.0.4']}]) - - def test_generate__whole_list_additional__remove_items_moves(self): - self.verify( - tc_ops=[{"op": "remove", 'path': '/VLAN/Vlan1000/dhcp_servers'}], - ex_ops=[{'op': 'remove', 'path': '/VLAN/Vlan1000/dhcp_servers/0'}, - {'op': 'remove', 'path': '/VLAN/Vlan1000/dhcp_servers/1'}, - {'op': 'remove', 'path': '/VLAN/Vlan1000/dhcp_servers/2'}, - {'op': 'remove', 'path': '/VLAN/Vlan1000/dhcp_servers/3'}]) - - def test_generate__empty_list_missing__add_whole_list(self): - self.verify( - tc_ops=[{"op": "replace", 'path': '/VLAN/Vlan1000/dhcp_servers', 'value':[]}], - cc_ops=[{"op": "remove", 'path': '/VLAN/Vlan1000/dhcp_servers'}], - ex_ops=[{'op': 'add', 'path': '/VLAN/Vlan1000/dhcp_servers', 'value':[]}]) - - def test_generate__empty_list_additional__remove_whole_list(self): - self.verify( - tc_ops=[{"op": "remove", 'path': '/VLAN/Vlan1000/dhcp_servers'}], - cc_ops=[{"op": "replace", 'path': '/VLAN/Vlan1000/dhcp_servers', 'value':[]}], - ex_ops=[{'op': 'remove', 'path': '/VLAN/Vlan1000/dhcp_servers'}]) - - def test_generate__dpb_1_to_4_example(self): - # Arrange - diff = ps.Diff(Files.DPB_1_SPLIT_FULL_CONFIG, Files.DPB_4_SPLITS_FULL_CONFIG) - - # Act - moves = list(self.generator.generate(diff)) - - # Assert - self.verify_moves([{'op': 'replace', 'path': '/PORT/Ethernet0/alias', 'value': 'Eth1/1'}, - {'op': 'replace', 'path': '/PORT/Ethernet0/lanes', 'value': '65'}, - {'op': 'replace', 'path': '/PORT/Ethernet0/description', 'value': ''}, - {'op': 'replace', 'path': '/PORT/Ethernet0/speed', 'value': '10000'}, - {'op': 'add', 'path': '/PORT/Ethernet1', 'value': {'alias': 'Eth1/2'}}, - {'op': 'add', 'path': '/PORT/Ethernet1', 'value': {'lanes': '66'}}, - {'op': 'add', 'path': '/PORT/Ethernet1', 'value': {'description': ''}}, - {'op': 'add', 'path': '/PORT/Ethernet1', 'value': {'speed': '10000'}}, - {'op': 'add', 'path': '/PORT/Ethernet2', 'value': {'alias': 'Eth1/3'}}, - {'op': 'add', 'path': '/PORT/Ethernet2', 'value': {'lanes': '67'}}, - {'op': 'add', 'path': '/PORT/Ethernet2', 'value': {'description': ''}}, - {'op': 'add', 'path': '/PORT/Ethernet2', 'value': {'speed': '10000'}}, - {'op': 'add', 'path': '/PORT/Ethernet3', 'value': {'alias': 'Eth1/4'}}, - {'op': 'add', 'path': '/PORT/Ethernet3', 'value': {'lanes': '68'}}, - {'op': 'add', 'path': '/PORT/Ethernet3', 'value': {'description': ''}}, - {'op': 'add', 'path': '/PORT/Ethernet3', 'value': {'speed': '10000'}}, - {'op': 'add', 'path': '/ACL_TABLE/NO-NSW-PACL-V4/ports/1', 'value': 'Ethernet1'}, - {'op': 'add', 'path': '/ACL_TABLE/NO-NSW-PACL-V4/ports/1', 'value': 'Ethernet2'}, - {'op': 'add', 'path': '/ACL_TABLE/NO-NSW-PACL-V4/ports/1', 'value': 'Ethernet3'}, - {'op': 'add', 'path': '/VLAN_MEMBER/Vlan100|Ethernet1', 'value': {'tagging_mode': 'untagged'}}, - {'op': 'add', 'path': '/VLAN_MEMBER/Vlan100|Ethernet2', 'value': {'tagging_mode': 'untagged'}}, - {'op': 'add', 'path': '/VLAN_MEMBER/Vlan100|Ethernet3', 'value': {'tagging_mode': 'untagged'}}], - moves) - - def test_generate__dpb_4_to_1_example(self): - # Arrange - diff = ps.Diff(Files.DPB_4_SPLITs_FULL_CONFIG, Files.DPB_1_SPLIT_FULL_CONFIG) - - # Act - moves = list(self.generator.generate(diff)) - - # Assert - self.verify_moves([{'op': 'replace', 'path': '/PORT/Ethernet0/alias', 'value': 'Eth1'}, - {'op': 'replace', 'path': '/PORT/Ethernet0/lanes', 'value': '65, 66, 67, 68'}, - {'op': 'replace', 'path': '/PORT/Ethernet0/description', 'value': 'Ethernet0 100G link'}, - {'op': 'replace', 'path': '/PORT/Ethernet0/speed', 'value': '100000'}, - {'op': 'remove', 'path': '/PORT/Ethernet1/alias'}, - {'op': 'remove', 'path': '/PORT/Ethernet1/lanes'}, - {'op': 'remove', 'path': '/PORT/Ethernet1/description'}, - {'op': 'remove', 'path': '/PORT/Ethernet1/speed'}, - {'op': 'remove', 'path': '/PORT/Ethernet2/alias'}, - {'op': 'remove', 'path': '/PORT/Ethernet2/lanes'}, - {'op': 'remove', 'path': '/PORT/Ethernet2/description'}, - {'op': 'remove', 'path': '/PORT/Ethernet2/speed'}, - {'op': 'remove', 'path': '/PORT/Ethernet3/alias'}, - {'op': 'remove', 'path': '/PORT/Ethernet3/lanes'}, - {'op': 'remove', 'path': '/PORT/Ethernet3/description'}, - {'op': 'remove', 'path': '/PORT/Ethernet3/speed'}, - {'op': 'remove', 'path': '/ACL_TABLE/NO-NSW-PACL-V4/ports/1'}, - {'op': 'remove', 'path': '/ACL_TABLE/NO-NSW-PACL-V4/ports/2'}, - {'op': 'remove', 'path': '/ACL_TABLE/NO-NSW-PACL-V4/ports/3'}, - {'op': 'remove', 'path': '/VLAN_MEMBER/Vlan100|Ethernet1/tagging_mode'}, - {'op': 'remove', 'path': '/VLAN_MEMBER/Vlan100|Ethernet2/tagging_mode'}, - {'op': 'remove', 'path': '/VLAN_MEMBER/Vlan100|Ethernet3/tagging_mode'}], - moves) - - def verify(self, tc_ops=None, cc_ops=None, ex_ops=None): - """ - Generate a diff where target config is modified using the given tc_ops. - The expected low level moves should ex_ops if it is not None, otherwise tc_ops - """ - # Arrange - diff = self.get_diff(target_config_ops=tc_ops, current_config_ops=cc_ops) - expected = ex_ops if ex_ops is not None else \ - tc_ops if tc_ops is not None else \ - [] - - # Act - actual = self.generator.generate(diff) - - # Assert - self.verify_moves(expected, actual) - - def verify_moves(self, ops, moves): - moves_ops = [list(move.patch)[0] for move in moves] - self.assertCountEqual(ops, moves_ops) - - def get_diff(self, target_config_ops = None, current_config_ops = None): - current_config = Files.CROPPED_CONFIG_DB_AS_JSON - if current_config_ops: - cc_patch = jsonpatch.JsonPatch(current_config_ops) - current_config = cc_patch.apply(current_config) - - target_config = Files.CROPPED_CONFIG_DB_AS_JSON - if target_config_ops: - tc_patch = jsonpatch.JsonPatch(target_config_ops) - target_config = tc_patch.apply(target_config) - - return ps.Diff(current_config, target_config) - -class TestUpperLevelMoveExtender(unittest.TestCase): - def setUp(self): - self.extender = ps.UpperLevelMoveExtender() - self.any_diff = ps.Diff(Files.ANY_CONFIG_DB, Files.ANY_CONFIG_DB) - - def test_extend__root_level_move__no_extended_moves(self): - self.verify(OperationType.REMOVE, []) - self.verify(OperationType.ADD, [], []) - self.verify(OperationType.REPLACE, [], []) - - def test_extend__remove_key_upper_level_does_not_exist__remove_upper_level(self): - self.verify(OperationType.REMOVE, - ["ACL_TABLE", "EVERFLOW", "policy_desc"], - tc_ops=[{'op':'remove', 'path':'/ACL_TABLE/EVERFLOW'}], - ex_ops=[{'op':'remove', 'path':'/ACL_TABLE/EVERFLOW'}]) - - def test_extend__remove_key_upper_level_does_exist__replace_upper_level(self): - self.verify(OperationType.REMOVE, - ["ACL_TABLE", "EVERFLOW", "policy_desc"], - tc_ops=[{'op':'remove', 'path':'/ACL_TABLE/EVERFLOW/policy_desc'}], - ex_ops=[{'op':'replace', 'path':'/ACL_TABLE/EVERFLOW', 'value':{ - "ports": [ - "Ethernet8" - ], - "stage": "ingress", - "type": "MIRROR" - }}]) - - def test_extend__remove_list_item_upper_level_does_not_exist__remove_upper_level(self): - self.verify(OperationType.REMOVE, - ["VLAN", "Vlan1000", "dhcp_servers", 1], - tc_ops=[{'op':'remove', 'path':'/VLAN/Vlan1000/dhcp_servers'}], - ex_ops=[{'op':'remove', 'path':'/VLAN/Vlan1000/dhcp_servers'}]) - - def test_extend__remove_list_item_upper_level_does_exist__replace_upper_level(self): - self.verify(OperationType.REMOVE, - ["VLAN", "Vlan1000", "dhcp_servers", 1], - tc_ops=[{'op':'remove', 'path':'/VLAN/Vlan1000/dhcp_servers/1'}], - ex_ops=[{'op':'replace', 'path':'/VLAN/Vlan1000/dhcp_servers', 'value':[ - "192.0.0.1", - "192.0.0.3", - "192.0.0.4" - ]}]) - - def test_extend__add_key_upper_level_missing__add_upper_level(self): - self.verify(OperationType.ADD, - ["ACL_TABLE", "EVERFLOW", "policy_desc"], - ["ACL_TABLE", "EVERFLOW", "policy_desc"], - cc_ops=[{'op':'remove', 'path':'/ACL_TABLE/EVERFLOW'}], - ex_ops=[{'op':'add', 'path':'/ACL_TABLE/EVERFLOW', 'value':{ - "policy_desc": "EVERFLOW", - "ports": [ - "Ethernet8" - ], - "stage": "ingress", - "type": "MIRROR" - }}]) - - def test_extend__add_key_upper_level_exist__replace_upper_level(self): - self.verify(OperationType.ADD, - ["ACL_TABLE", "EVERFLOW", "policy_desc"], - ["ACL_TABLE", "EVERFLOW", "policy_desc"], - cc_ops=[{'op':'remove', 'path':'/ACL_TABLE/EVERFLOW/policy_desc'}], - ex_ops=[{'op':'replace', 'path':'/ACL_TABLE/EVERFLOW', 'value':{ - "policy_desc": "EVERFLOW", - "ports": [ - "Ethernet8" - ], - "stage": "ingress", - "type": "MIRROR" - }}]) - - def test_extend__add_list_item_upper_level_missing__add_upper_level(self): - self.verify(OperationType.ADD, - ["VLAN", "Vlan1000", "dhcp_servers", 1], - ["VLAN", "Vlan1000", "dhcp_servers", 1], - cc_ops=[{'op':'remove', 'path':'/VLAN/Vlan1000/dhcp_servers'}], - ex_ops=[{'op':'add', 'path':'/VLAN/Vlan1000/dhcp_servers', 'value':[ - "192.0.0.1", - "192.0.0.2", - "192.0.0.3", - "192.0.0.4" - ]}]) - - def test_extend__add_list_item_upper_level_exist__replace_upper_level(self): - self.verify(OperationType.ADD, - ["VLAN", "Vlan1000", "dhcp_servers", 1], - ["VLAN", "Vlan1000", "dhcp_servers", 1], - cc_ops=[{'op':'remove', 'path':'/VLAN/Vlan1000/dhcp_servers/1'}], - ex_ops=[{'op':'replace', 'path':'/VLAN/Vlan1000/dhcp_servers', 'value':[ - "192.0.0.1", - "192.0.0.2", - "192.0.0.3", - "192.0.0.4" - ]}]) - - def test_extend__add_table__replace_whole_config(self): - self.verify(OperationType.ADD, - ["ACL_TABLE"], - ["ACL_TABLE"], - cc_ops=[{'op':'remove', 'path':'/ACL_TABLE'}], - ex_ops=[{'op':'replace', 'path':'', 'value':Files.CROPPED_CONFIG_DB_AS_JSON}]) - - def test_extend__replace_key__replace_upper_level(self): - self.verify(OperationType.REPLACE, - ["ACL_TABLE", "EVERFLOW", "policy_desc"], - ["ACL_TABLE", "EVERFLOW", "policy_desc"], - cc_ops=[{'op':'replace', 'path':'/ACL_TABLE/EVERFLOW/policy_desc', 'value':'old_desc'}], - ex_ops=[{'op':'replace', 'path':'/ACL_TABLE/EVERFLOW', 'value':{ - "policy_desc": "EVERFLOW", - "ports": [ - "Ethernet8" - ], - "stage": "ingress", - "type": "MIRROR" - }}]) - - def test_extend__replace_list_item__replace_upper_level(self): - self.verify(OperationType.REPLACE, - ["VLAN", "Vlan1000", "dhcp_servers", 1], - ["VLAN", "Vlan1000", "dhcp_servers", 1], - cc_ops=[{'op':'replace', 'path':'/VLAN/Vlan1000/dhcp_servers/1', 'value':'192.0.0.7'}], - ex_ops=[{'op':'replace', 'path':'/VLAN/Vlan1000/dhcp_servers', 'value':[ - "192.0.0.1", - "192.0.0.2", - "192.0.0.3", - "192.0.0.4" - ]}]) - - def test_extend__replace_table__replace_whole_config(self): - self.verify(OperationType.REPLACE, - ["VLAN"], - ["VLAN"], - cc_ops=[{'op':'replace', 'path':'/VLAN/Vlan1000/dhcp_servers/1', 'value':'192.0.0.7'}], - ex_ops=[{'op':'replace', 'path':'', 'value':Files.CROPPED_CONFIG_DB_AS_JSON}]) - - def verify(self, op_type, ctokens, ttokens=None, cc_ops=[], tc_ops=[], ex_ops=[]): - """ - cc_ops, tc_ops are used to build the diff object. - diff, op_type, ctokens, ttokens are used to build the move. - move is extended and the result should match ex_ops. - """ - # Arrange - current_config=jsonpatch.JsonPatch(cc_ops).apply(Files.CROPPED_CONFIG_DB_AS_JSON) - target_config=jsonpatch.JsonPatch(tc_ops).apply(Files.CROPPED_CONFIG_DB_AS_JSON) - diff = ps.Diff(current_config, target_config) - move = ps.JsonMove(diff, op_type, ctokens, ttokens) - - # Act - moves = self.extender.extend(move, diff) - - # Assert - self.verify_moves(ex_ops, moves) - - def verify_moves(self, ex_ops, moves): - moves_ops = [list(move.patch)[0] for move in moves] - self.assertCountEqual(ex_ops, moves_ops) - -class TestDeleteInsteadOfReplaceMoveExtender(unittest.TestCase): - def setUp(self): - self.extender = ps.DeleteInsteadOfReplaceMoveExtender() - - def test_extend__non_replace__no_extended_moves(self): - self.verify(OperationType.REMOVE, - ["ACL_TABLE"], - tc_ops=[{'op':'remove', 'path':'/ACL_TABLE'}], - ex_ops=[]) - self.verify(OperationType.ADD, - ["ACL_TABLE"], - ["ACL_TABLE"], - cc_ops=[{'op':'remove', 'path':'/ACL_TABLE'}], - ex_ops=[]) - - def test_extend__replace_key__delete_key(self): - self.verify(OperationType.REPLACE, - ["ACL_TABLE", "EVERFLOW", "policy_desc"], - ["ACL_TABLE", "EVERFLOW", "policy_desc"], - cc_ops=[{'op':'replace', 'path':'/ACL_TABLE/EVERFLOW/policy_desc', 'value':'old_desc'}], - ex_ops=[{'op':'remove', 'path':'/ACL_TABLE/EVERFLOW/policy_desc'}]) - - def test_extend__replace_list_item__delete_list_item(self): - self.verify(OperationType.REPLACE, - ["VLAN", "Vlan1000", "dhcp_servers", 1], - ["VLAN", "Vlan1000", "dhcp_servers", 1], - cc_ops=[{'op':'replace', 'path':'/VLAN/Vlan1000/dhcp_servers/1', 'value':'192.0.0.7'}], - ex_ops=[{'op':'remove', 'path':'/VLAN/Vlan1000/dhcp_servers/1'}]) - - def test_extend__replace_table__delete_table(self): - self.verify(OperationType.REPLACE, - ["ACL_TABLE"], - ["ACL_TABLE"], - cc_ops=[{'op':'replace', 'path':'/ACL_TABLE/EVERFLOW/policy_desc', 'value':'old_desc'}], - ex_ops=[{'op':'remove', 'path':'/ACL_TABLE'}]) - - def test_extend__replace_whole_config__delete_whole_config(self): - self.verify(OperationType.REPLACE, - [], - [], - cc_ops=[{'op':'replace', 'path':'/ACL_TABLE/EVERFLOW/policy_desc', 'value':'old_desc'}], - ex_ops=[{'op':'remove', 'path':''}]) - - def verify(self, op_type, ctokens, ttokens=None, cc_ops=[], tc_ops=[], ex_ops=[]): - """ - cc_ops, tc_ops are used to build the diff object. - diff, op_type, ctokens, ttokens are used to build the move. - move is extended and the result should match ex_ops. - """ - # Arrange - current_config=jsonpatch.JsonPatch(cc_ops).apply(Files.CROPPED_CONFIG_DB_AS_JSON) - target_config=jsonpatch.JsonPatch(tc_ops).apply(Files.CROPPED_CONFIG_DB_AS_JSON) - diff = ps.Diff(current_config, target_config) - move = ps.JsonMove(diff, op_type, ctokens, ttokens) - - # Act - moves = self.extender.extend(move, diff) - - # Assert - self.verify_moves(ex_ops, moves) - - def verify_moves(self, ex_ops, moves): - moves_ops = [list(move.patch)[0] for move in moves] - self.assertCountEqual(ex_ops, moves_ops) - -class DeleteRefsMoveExtender(unittest.TestCase): - def setUp(self): - self.extender = ps.DeleteRefsMoveExtender(PathAddressing()) - - def test_extend__non_delete_ops__no_extended_moves(self): - self.verify(OperationType.ADD, - ["ACL_TABLE"], - ["ACL_TABLE"], - cc_ops=[{'op':'remove', 'path':'/ACL_TABLE'}], - ex_ops=[]) - self.verify(OperationType.REPLACE, - ["ACL_TABLE"], - ["ACL_TABLE"], - cc_ops=[{'op':'remove', 'path':'/ACL_TABLE/EVERFLOW'}], - ex_ops=[]) - - def test_extend__path_with_no_refs__no_extended_moves(self): - self.verify(OperationType.REMOVE, - ["ACL_TABLE"], - tc_ops=[{'op':'remove', 'path':'/ACL_TABLE'}], - ex_ops=[]) - - def test_extend__path_with_direct_refs__extended_moves(self): - self.verify(OperationType.REMOVE, - ["PORT", "Ethernet0"], - tc_ops=[{'op':'remove', 'path':'/PORT/Ethernet0'}], - ex_ops=[{'op': 'remove', 'path': '/VLAN_MEMBER/Vlan1000|Ethernet0'}, - {'op': 'remove', 'path': '/ACL_TABLE/NO-NSW-PACL-V4/ports/0'}]) - - def test_extend__path_with_refs_to_children__extended_moves(self): - self.verify(OperationType.REMOVE, - ["PORT"], - tc_ops=[{'op':'remove', 'path':'/PORT/Ethernet0'}], - ex_ops=[{'op': 'remove', 'path': '/VLAN_MEMBER/Vlan1000|Ethernet0'}, - {'op': 'remove', 'path': '/ACL_TABLE/NO-NSW-PACL-V4/ports/0'}, - {'op': 'remove', 'path': '/VLAN_MEMBER/Vlan1000|Ethernet4'}, - {'op': 'remove', 'path': '/ACL_TABLE/DATAACL/ports/0'}, - {'op': 'remove', 'path': '/VLAN_MEMBER/Vlan1000|Ethernet8'}, - {'op': 'remove', 'path': '/ACL_TABLE/EVERFLOWV6/ports/0'}, - {'op': 'remove', 'path': '/ACL_TABLE/EVERFLOW/ports/0'}, - {'op': 'remove', 'path': '/ACL_TABLE/EVERFLOWV6/ports/1'}]) - - def verify(self, op_type, ctokens, ttokens=None, cc_ops=[], tc_ops=[], ex_ops=[]): - """ - cc_ops, tc_ops are used to build the diff object. - diff, op_type, ctokens, ttokens are used to build the move. - move is extended and the result should match ex_ops. - """ - # Arrange - current_config=jsonpatch.JsonPatch(cc_ops).apply(Files.CROPPED_CONFIG_DB_AS_JSON) - target_config=jsonpatch.JsonPatch(tc_ops).apply(Files.CROPPED_CONFIG_DB_AS_JSON) - diff = ps.Diff(current_config, target_config) - move = ps.JsonMove(diff, op_type, ctokens, ttokens) - - # Act - moves = self.extender.extend(move, diff) - - # Assert - self.verify_moves(ex_ops, moves) - - def verify_moves(self, ex_ops, moves): - moves_ops = [list(move.patch)[0] for move in moves] - self.assertCountEqual(ex_ops, moves_ops) - -class TestSortAlgorithmFactory(unittest.TestCase): - def test_dfs_sorter(self): - self.verify(ps.Algorithm.DFS, ps.DfsSorter) - - def test_bfs_sorter(self): - self.verify(ps.Algorithm.BFS, ps.BfsSorter) - - def test_memoization_sorter(self): - self.verify(ps.Algorithm.MEMOIZATION, ps.MemoizationSorter) - - def verify(self, algo, algo_class): - # Arrange - factory = ps.SortAlgorithmFactory(OperationWrapper(), ConfigWrapper(), PathAddressing()) - expected_generators = [ps.LowLevelMoveGenerator] - expected_extenders = [ps.UpperLevelMoveExtender, ps.DeleteInsteadOfReplaceMoveExtender, ps.DeleteRefsMoveExtender] - expected_validator = [ps.DeleteWholeConfigMoveValidator, - ps.FullConfigMoveValidator, - ps.NoDependencyMoveValidator, - ps.UniqueLanesMoveValidator, - ps.CreateOnlyMoveValidator] - - # Act - sorter = factory.create(algo) - actual_generators = [type(item) for item in sorter.move_wrapper.move_generators] - actual_extenders = [type(item) for item in sorter.move_wrapper.move_extenders] - actual_validators = [type(item) for item in sorter.move_wrapper.move_validators] - - # Assert - self.assertIsInstance(sorter, algo_class) - self.assertCountEqual(expected_generators, actual_generators) - self.assertCountEqual(expected_extenders, actual_extenders) - self.assertCountEqual(expected_validator, actual_validators) - -class TestPatchSorter(unittest.TestCase): - def create_patch_sorter(self, config=None): - if config is None: - config=Files.CROPPED_CONFIG_DB_AS_JSON - config_wrapper = ConfigWrapper() - config_wrapper.get_config_db_as_json = MagicMock(return_value=config) - patch_wrapper = PatchWrapper(config_wrapper) - operation_wrapper = OperationWrapper() - path_addressing= ps.PathAddressing() - sort_algorithm_factory = ps.SortAlgorithmFactory(operation_wrapper, config_wrapper, path_addressing) - - return ps.PatchSorter(config_wrapper, patch_wrapper, sort_algorithm_factory) - - def test_sort__empty_patch__returns_empty_changes_list(self): - # Arrange - patch = jsonpatch.JsonPatch([]) - expected = [] - - # Act - actual = self.create_patch_sorter().sort(patch) - - # Assert - self.assertCountEqual(expected, actual) - - def test_sort__patch_with_single_simple_operation__returns_one_change(self): - # Arrange - patch = jsonpatch.JsonPatch([{"op":"remove", "path":"/VLAN/Vlan1000/dhcp_servers/0"}]) - expected = [JsonChange(patch)] - - # Act - actual = self.create_patch_sorter().sort(patch) - - # Assert - self.assertCountEqual(expected, actual) - - def test_sort__replacing_create_only_field__success(self): - # Arrange - patch = jsonpatch.JsonPatch([{"op":"replace", "path": "/PORT/Ethernet0/lanes", "value":"67"}]) - - # Act - actual = self.create_patch_sorter(Files.DPB_1_SPLIT_FULL_CONFIG).sort(patch) - - # Assert - self.assertNotEqual(None, actual) - - def test_sort__inter_dependency_within_same_table__success(self): - # Arrange - patch = jsonpatch.JsonPatch([{"op":"add", "path":"/VLAN_INTERFACE", "value": { - "Vlan1000|fc02:1000::1/64": {}, - "Vlan1000|192.168.0.1/21": {}, - "Vlan1000": {} - }}]) - expected = [ - JsonChange(jsonpatch.JsonPatch([{"op": "add", "path": "/VLAN_INTERFACE", "value": {"Vlan1000": {}}}])), - JsonChange(jsonpatch.JsonPatch([{"op": "add", "path": "/VLAN_INTERFACE/Vlan1000|fc02:1000::1~164", "value": {}}])), - JsonChange(jsonpatch.JsonPatch([{"op": "add", "path": "/VLAN_INTERFACE/Vlan1000|192.168.0.1~121", "value": {}}])) - ] - - # Act - actual = self.create_patch_sorter().sort(patch) - - # Assert - self.assertListEqual(expected, actual) - - def test_sort__add_table__success(self): - self.verify(cc_ops=[{"op":"remove", "path":"/ACL_TABLE"}]) - - def test_sort__remove_table__success(self): - self.verify(tc_ops=[{"op":"remove", "path":"/ACL_TABLE"}]) - - def test_sort__modify_value_in_existing_table__success(self): - self.verify(tc_ops=[{"op":"replace", "path":"/ACL_TABLE/EVERFLOW/stage", "value":"egress"}]) - - def test_sort__modify_value_in_existing_array__success(self): - self.verify(tc_ops=[{"op":"replace", "path":"/ACL_TABLE/EVERFLOWV6/ports/0", "value":"Ethernet0"}]) - - def test_sort__add_value_to_existing_array__success(self): - self.verify(tc_ops=[{"op":"add", "path":"/ACL_TABLE/EVERFLOWV6/ports/0", "value":"Ethernet0"}]) - - def test_sort__add_new_key_to_existing_table__success(self): - self.verify(cc_ops=[{"op":"remove", "path":"/ACL_TABLE/EVERFLOWV6"}]) - - def test_sort__remove_2_items_with_dependency_from_different_tables__success(self): - self.verify(tc_ops=[{"op":"remove", "path":"/PORT/Ethernet0"}, - {"op":"remove", "path":"/VLAN_MEMBER/Vlan1000|Ethernet0"}, - {"op":"remove", "path":"/ACL_TABLE/NO-NSW-PACL-V4"}], # removing ACL from current and target - cc_ops=[{"op":"remove", "path":"/ACL_TABLE/NO-NSW-PACL-V4"}]) - - def test_sort__add_2_items_with_dependency_from_different_tables__success(self): - self.verify(tc_ops=[{"op":"remove", "path":"/ACL_TABLE/NO-NSW-PACL-V4"}], # removing ACL from current and target - cc_ops=[{"op":"remove", "path":"/PORT/Ethernet0"}, - {"op":"remove", "path":"/VLAN_MEMBER/Vlan1000|Ethernet0"}, - {"op":"remove", "path":"/ACL_TABLE/NO-NSW-PACL-V4"}]) - - def test_sort__remove_2_items_with_dependency_from_same_table__success(self): - self.verify(tc_ops=[{"op":"replace", "path":"", "value":Files.CONFIG_DB_WITH_INTERFACE}, - {"op":"remove", "path":"/INTERFACE/Ethernet8"}, - {"op":"remove", "path":"/INTERFACE/Ethernet8|10.0.0.1~130"}], - cc_ops=[{"op":"replace", "path":"", "value":Files.CONFIG_DB_WITH_INTERFACE}]) - - def test_sort__add_2_items_with_dependency_from_same_table__success(self): - self.verify(tc_ops=[{"op":"replace", "path":"", "value":Files.CONFIG_DB_WITH_INTERFACE}], - cc_ops=[{"op":"replace", "path":"", "value":Files.CONFIG_DB_WITH_INTERFACE}, - {"op":"remove", "path":"/INTERFACE/Ethernet8"}, - {"op":"remove", "path":"/INTERFACE/Ethernet8|10.0.0.1~130"}]) - - def test_sort__replace_mandatory_item__success(self): - self.verify(tc_ops=[{"op":"replace", "path":"/ACL_TABLE/EVERFLOWV6/type", "value":"L2"}]) - - def test_sort__dpb_1_to_4__success(self): - self.verify(tc_ops=[{"op":"replace", "path":"", "value":Files.DPB_4_SPLITS_FULL_CONFIG}], - cc_ops=[{"op":"replace", "path":"", "value":Files.DPB_1_SPLIT_FULL_CONFIG}]) - - def test_sort__dpb_4_to_1__success(self): - self.verify(tc_ops=[{"op":"replace", "path":"", "value":Files.DPB_1_SPLIT_FULL_CONFIG}], - cc_ops=[{"op":"replace", "path":"", "value":Files.DPB_4_SPLITS_FULL_CONFIG}]) - - def test_sort__remove_an_item_with_default_value__success(self): - self.verify(tc_ops=[{"op":"remove", "path":"/ACL_TABLE/EVERFLOW/stage"}]) - - def test_sort__modify_items_with_dependencies_using_must__success(self): - self.verify(tc_ops=[{"op":"replace", "path":"", "value":Files.CONFIG_DB_WITH_CRM}, - {"op":"replace", "path":"/CRM/Config/acl_counter_high_threshold", "value":"60"}, - {"op":"replace", "path":"/CRM/Config/acl_counter_low_threshold", "value":"50"}], - cc_ops=[{"op":"replace", "path":"", "value":Files.CONFIG_DB_WITH_CRM}]) - - # in the following example, it is possible to start with acl_counter_high_threshold - self.verify(tc_ops=[{"op":"replace", "path":"", "value":Files.CONFIG_DB_WITH_CRM}, - {"op":"replace", "path":"/CRM/Config/acl_counter_high_threshold", "value":"80"}, - {"op":"replace", "path":"/CRM/Config/acl_counter_low_threshold", "value":"60"}], - cc_ops=[{"op":"replace", "path":"", "value":Files.CONFIG_DB_WITH_CRM}]) - - def verify(self, cc_ops=[], tc_ops=[]): - # Arrange - config_wrapper=ConfigWrapper() - target_config=jsonpatch.JsonPatch(tc_ops).apply(Files.CROPPED_CONFIG_DB_AS_JSON) - current_config=jsonpatch.JsonPatch(cc_ops).apply(Files.CROPPED_CONFIG_DB_AS_JSON) - patch=jsonpatch.make_patch(current_config, target_config) - - # Act - actual = self.create_patch_sorter(current_config).sort(patch) - - # Assert - simulated_config = current_config - for move in actual: - simulated_config = move.apply(simulated_config) - self.assertTrue(config_wrapper.validate_config_db_config(simulated_config)) - self.assertEqual(target_config, simulated_config) From 5002745beb89a99a1cdf420f34a495c2c0cb31bd Mon Sep 17 00:00:00 2001 From: SuvarnaMeenakshi <50386592+SuvarnaMeenakshi@users.noreply.github.com> Date: Tue, 17 Aug 2021 11:02:23 -0700 Subject: [PATCH 266/342] Load the database global_db. (#1752) What I did Recent change was done to remove call to load database global_db which expects the clients to load global_db. [https://github.com/Azure/sonic-buildimage/pull/8173] The load global_db was missing in multi_asic.py which was causing "show interfaces cli" to fail. While testing on multi-asic VS image: How I did it load global_db config in multi_asic.py. How to verify it Load multi-asic VS image with the fix. Signed-off-by: Suvarna Meenakshi --- utilities_common/multi_asic.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/utilities_common/multi_asic.py b/utilities_common/multi_asic.py index 920b5eebe5..2586d216bf 100644 --- a/utilities_common/multi_asic.py +++ b/utilities_common/multi_asic.py @@ -7,6 +7,7 @@ from natsort import natsorted from sonic_py_common import multi_asic from utilities_common import constants +from utilities_common.general import load_db_config class MultiAsic(object): @@ -15,6 +16,8 @@ def __init__( self, display_option=constants.DISPLAY_ALL, namespace_option=None, db=None ): + # Load database config files + load_db_config() self.namespace_option = namespace_option self.display_option = display_option self.current_namespace = None From a99d56da132019c94b89d17524ab66bc7504f7e8 Mon Sep 17 00:00:00 2001 From: Qi Luo Date: Wed, 18 Aug 2021 03:33:34 -0700 Subject: [PATCH 267/342] Improve config error handling on version_info (#1760) #### What I did `get_sonic_version_info()` may return `None` if `/etc/sonic/sonic_version.yml` does not exist. Previously the `config` exit without any useful information. Some `config` subcommands do not depend on sonic version info, we should allow them to run. --- config/main.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/config/main.py b/config/main.py index a80283f7ee..14aae25e62 100644 --- a/config/main.py +++ b/config/main.py @@ -950,8 +950,12 @@ def config(ctx): try: version_info = device_info.get_sonic_version_info() - asic_type = version_info['asic_type'] - except (KeyError, TypeError): + if version_info: + asic_type = version_info['asic_type'] + else: + asic_type = None + except (KeyError, TypeError) as e: + print("Caught an exception: " + str(e)) raise click.Abort() # Load database config files From 29f4a1642024050a104d07316c15e012905f7d32 Mon Sep 17 00:00:00 2001 From: Akhilesh Samineni <47657796+AkhileshSamineni@users.noreply.github.com> Date: Thu, 19 Aug 2021 00:10:44 +0530 Subject: [PATCH 268/342] Global and Interface commands for IPv6 Link local address enhancements (#1159) * Global and Interface commands for IPv6 Link local feature * SONiC CLI per interface configuration command to enable and disable the IPv6 link-local address mode when addresses are not configured manually. Signed-off-by: Akhilesh Samineni --- config/main.py | 253 ++++++++++++++++++++++++++++++- doc/Command-Reference.md | 93 ++++++++++++ show/main.py | 29 ++++ tests/ipv6_link_local_test.py | 153 +++++++++++++++++++ tests/mock_tables/config_db.json | 4 +- 5 files changed, 529 insertions(+), 3 deletions(-) create mode 100644 tests/ipv6_link_local_test.py diff --git a/config/main.py b/config/main.py index 14aae25e62..c4782ebfe0 100644 --- a/config/main.py +++ b/config/main.py @@ -498,6 +498,16 @@ def set_interface_naming_mode(mode): f.close() click.echo("Please logout and log back in for changes take effect.") +def get_intf_ipv6_link_local_mode(ctx, interface_name, table_name): + config_db = ctx.obj["config_db"] + intf = config_db.get_table(table_name) + if interface_name in intf: + if 'ipv6_use_link_local_only' in intf[interface_name]: + return intf[interface_name]['ipv6_use_link_local_only'] + else: + return "disable" + else: + return "" def _is_neighbor_ipaddress(config_db, ipaddress): """Returns True if a neighbor has the IP address , False if not @@ -3698,7 +3708,7 @@ def remove(ctx, interface_name, ip_addr): ctx.fail("Cannot remove the last IP entry of interface {}. A static {} route is still bound to the RIF.".format(interface_name, ip_ver)) config_db.set_entry(table_name, (interface_name, ip_addr), None) interface_dependent = interface_ipaddr_dependent_on_interface(config_db, interface_name) - if len(interface_dependent) == 0 and is_interface_bind_to_vrf(config_db, interface_name) is False: + if len(interface_dependent) == 0 and is_interface_bind_to_vrf(config_db, interface_name) is False and get_intf_ipv6_link_local_mode(ctx, interface_name, table_name) != "enable": config_db.set_entry(table_name, interface_name, None) if multi_asic.is_multi_asic(): @@ -4133,6 +4143,130 @@ def unbind(ctx, interface_name): config_db.set_entry(table_name, interface_name, None) +# +# 'ipv6' subgroup ('config interface ipv6 ...') +# + +@interface.group() +@click.pass_context +def ipv6(ctx): + """Enable or Disable IPv6 processing on interface""" + pass + +@ipv6.group('enable') +def enable(): + """Enable IPv6 processing on interface""" + pass + +@ipv6.group('disable') +def disable(): + """Disble IPv6 processing on interface""" + pass + +# +# 'config interface ipv6 enable use-link-local-only ' +# + +@enable.command('use-link-local-only') +@click.pass_context +@click.argument('interface_name', metavar='', required=True) +def enable_use_link_local_only(ctx, interface_name): + """Enable IPv6 link local address on interface""" + config_db = ConfigDBConnector() + config_db.connect() + ctx.obj = {} + ctx.obj['config_db'] = config_db + db = ctx.obj["config_db"] + + if clicommon.get_interface_naming_mode() == "alias": + interface_name = interface_alias_to_name(db, interface_name) + if interface_name is None: + ctx.fail("'interface_name' is None!") + + if interface_name.startswith("Ethernet"): + interface_type = "INTERFACE" + elif interface_name.startswith("PortChannel"): + interface_type = "PORTCHANNEL_INTERFACE" + elif interface_name.startswith("Vlan"): + interface_type = "VLAN_INTERFACE" + else: + ctx.fail("'interface_name' is not valid. Valid names [Ethernet/PortChannel/Vlan]") + + if (interface_type == "INTERFACE" ) or (interface_type == "PORTCHANNEL_INTERFACE"): + if interface_name_is_valid(db, interface_name) is False: + ctx.fail("Interface name %s is invalid. Please enter a valid interface name!!" %(interface_name)) + + if (interface_type == "VLAN_INTERFACE"): + if not clicommon.is_valid_vlan_interface(db, interface_name): + ctx.fail("Interface name %s is invalid. Please enter a valid interface name!!" %(interface_name)) + + portchannel_member_table = db.get_table('PORTCHANNEL_MEMBER') + + if interface_is_in_portchannel(portchannel_member_table, interface_name): + ctx.fail("{} is configured as a member of portchannel. Cannot configure the IPv6 link local mode!" + .format(interface_name)) + + vlan_member_table = db.get_table('VLAN_MEMBER') + + if interface_is_in_vlan(vlan_member_table, interface_name): + ctx.fail("{} is configured as a member of vlan. Cannot configure the IPv6 link local mode!" + .format(interface_name)) + + interface_dict = db.get_table(interface_type) + set_ipv6_link_local_only_on_interface(db, interface_dict, interface_type, interface_name, "enable") + +# +# 'config interface ipv6 disable use-link-local-only ' +# + +@disable.command('use-link-local-only') +@click.pass_context +@click.argument('interface_name', metavar='', required=True) +def disable_use_link_local_only(ctx, interface_name): + """Disable IPv6 link local address on interface""" + config_db = ConfigDBConnector() + config_db.connect() + ctx.obj = {} + ctx.obj['config_db'] = config_db + db = ctx.obj["config_db"] + + if clicommon.get_interface_naming_mode() == "alias": + interface_name = interface_alias_to_name(db, interface_name) + if interface_name is None: + ctx.fail("'interface_name' is None!") + + interface_type = "" + if interface_name.startswith("Ethernet"): + interface_type = "INTERFACE" + elif interface_name.startswith("PortChannel"): + interface_type = "PORTCHANNEL_INTERFACE" + elif interface_name.startswith("Vlan"): + interface_type = "VLAN_INTERFACE" + else: + ctx.fail("'interface_name' is not valid. Valid names [Ethernet/PortChannel/Vlan]") + + if (interface_type == "INTERFACE" ) or (interface_type == "PORTCHANNEL_INTERFACE"): + if interface_name_is_valid(db, interface_name) is False: + ctx.fail("Interface name %s is invalid. Please enter a valid interface name!!" %(interface_name)) + + if (interface_type == "VLAN_INTERFACE"): + if not clicommon.is_valid_vlan_interface(db, interface_name): + ctx.fail("Interface name %s is invalid. Please enter a valid interface name!!" %(interface_name)) + + portchannel_member_table = db.get_table('PORTCHANNEL_MEMBER') + + if interface_is_in_portchannel(portchannel_member_table, interface_name): + ctx.fail("{} is configured as a member of portchannel. Cannot configure the IPv6 link local mode!" + .format(interface_name)) + + vlan_member_table = db.get_table('VLAN_MEMBER') + if interface_is_in_vlan(vlan_member_table, interface_name): + ctx.fail("{} is configured as a member of vlan. Cannot configure the IPv6 link local mode!" + .format(interface_name)) + + interface_dict = db.get_table(interface_type) + set_ipv6_link_local_only_on_interface(db, interface_dict, interface_type, interface_name, "disable") + # # 'vrf' group ('config vrf ...') # @@ -5554,6 +5688,123 @@ def delete(ctx): sflow_tbl['global'].pop('agent_id') config_db.set_entry('SFLOW', 'global', sflow_tbl['global']) +# +# set ipv6 link local mode on a given interface +# +def set_ipv6_link_local_only_on_interface(config_db, interface_dict, interface_type, interface_name, mode): + + curr_mode = config_db.get_entry(interface_type, interface_name).get('ipv6_use_link_local_only') + if curr_mode is not None: + if curr_mode == mode: + return + else: + if mode == "disable": + return + + if mode == "enable": + config_db.mod_entry(interface_type, interface_name, {"ipv6_use_link_local_only": mode}) + return + + # If we are disabling the ipv6 link local on an interface, and if no other interface + # attributes/ip addresses are configured on the interface, delete the interface from the interface table + exists = False + for key in interface_dict.keys(): + if not isinstance(key, tuple): + if interface_name == key: + #Interface bound to non-default-vrf do not delete the entry + if 'vrf_name' in interface_dict[key]: + if len(interface_dict[key]['vrf_name']) > 0: + exists = True + break + continue + if interface_name in key: + exists = True + break + + if exists: + config_db.mod_entry(interface_type, interface_name, {"ipv6_use_link_local_only": mode}) + else: + config_db.set_entry(interface_type, interface_name, None) + +# +# 'ipv6' group ('config ipv6 ...') +# + +@config.group() +@click.pass_context +def ipv6(ctx): + """IPv6 configuration""" + +# +# 'enable' command ('config ipv6 enable ...') +# +@ipv6.group() +@click.pass_context +def enable(ctx): + """Enable IPv6 on all interfaces """ + +# +# 'link-local' command ('config ipv6 enable link-local') +# +@enable.command('link-local') +@click.pass_context +def enable_link_local(ctx): + """Enable IPv6 link-local on all interfaces """ + config_db = ConfigDBConnector() + config_db.connect() + vlan_member_table = config_db.get_table('VLAN_MEMBER') + portchannel_member_table = config_db.get_table('PORTCHANNEL_MEMBER') + + mode = "enable" + + # Enable ipv6 link local on VLANs + vlan_dict = config_db.get_table('VLAN') + for key in vlan_dict.keys(): + set_ipv6_link_local_only_on_interface(config_db, vlan_dict, 'VLAN_INTERFACE', key, mode) + + # Enable ipv6 link local on PortChannels + portchannel_dict = config_db.get_table('PORTCHANNEL') + for key in portchannel_dict.keys(): + if interface_is_in_vlan(vlan_member_table, key): + continue + set_ipv6_link_local_only_on_interface(config_db, portchannel_dict, 'PORTCHANNEL_INTERFACE', key, mode) + + port_dict = config_db.get_table('PORT') + for key in port_dict.keys(): + if interface_is_in_portchannel(portchannel_member_table, key) or interface_is_in_vlan(vlan_member_table, key): + continue + set_ipv6_link_local_only_on_interface(config_db, port_dict, 'INTERFACE', key, mode) + +# +# 'disable' command ('config ipv6 disable ...') +# +@ipv6.group() +@click.pass_context +def disable(ctx): + """Disable IPv6 on all interfaces """ + +# +# 'link-local' command ('config ipv6 disable link-local') +# +@disable.command('link-local') +@click.pass_context +def disable_link_local(ctx): + """Disable IPv6 link local on all interfaces """ + config_db = ConfigDBConnector() + config_db.connect() + + mode = "disable" + + tables = ['INTERFACE', 'VLAN_INTERFACE', 'PORTCHANNEL_INTERFACE'] + + for table_type in tables: + table_dict = config_db.get_table(table_type) + if table_dict: + for key in table_dict.keys(): + if isinstance(key, str) is False: + continue + set_ipv6_link_local_only_on_interface(config_db, table_dict, table_type, key, mode) + # Load plugins and register them helper = util_base.UtilHelper() diff --git a/doc/Command-Reference.md b/doc/Command-Reference.md index b6248a7816..5582bc9b56 100644 --- a/doc/Command-Reference.md +++ b/doc/Command-Reference.md @@ -65,6 +65,9 @@ * [IP / IPv6](#ip--ipv6) * [IP show commands](#ip-show-commands) * [IPv6 show commands](#ipv6-show-commands) +* [IPv6 Link Local](#ipv6-link-local) + * [IPv6 Link Local config commands](#ipv6-link-local-config-commands) + * [IPv6 Link Local show commands](#ipv6-link-local-show-commands) * [Kubernetes](#Kubernetes) * [Kubernetes show commands](#Kubernetes-show-commands) * [Kubernetes config commands](#Kubernetes-config-commands) @@ -4407,6 +4410,96 @@ Refer the routing stack [Quagga Command Reference](https://www.quagga.net/docs/q Go Back To [Beginning of the document](#) or [Beginning of this section](#ip--ipv6) +## IPv6 Link Local + +### IPv6 Link Local config commands + +This section explains all the commands that are supported in SONiC to configure IPv6 Link-local. + +**config interface ipv6 enable use-link-local-only ** + +This command enables user to enable an interface to forward L3 traffic with out configuring an address. This command creates the routing interface based on the auto generated IPv6 link-local address. This command can be used even if an address is configured on the interface. + +- Usage: + ``` + config interface ipv6 enable use-link-local-only + ``` + +- Example: + ``` + admin@sonic:~$ sudo config interface ipv6 enable use-link-local-only Vlan206 + admin@sonic:~$ sudo config interface ipv6 enable use-link-local-only PortChannel007 + admin@sonic:~$ sudo config interface ipv6 enable use-link-local-only Ethernet52 + ``` + +**config interface ipv6 disable use-link-local-only ** + +This command enables user to disable use-link-local-only configuration on an interface. + +- Usage: + ``` + config interface ipv6 disable use-link-local-only + ``` + +- Example: + ``` + admin@sonic:~$ sudo config interface ipv6 disable use-link-local-only Vlan206 + admin@sonic:~$ sudo config interface ipv6 disable use-link-local-only PortChannel007 + admin@sonic:~$ sudo config interface ipv6 disable use-link-local-only Ethernet52 + ``` + +**config ipv6 enable link-local** + +This command enables user to enable use-link-local-only command on all the interfaces globally. + +- Usage: + ``` + sudo config ipv6 enable link-local + ``` + +- Example: + ``` + admin@sonic:~$ sudo config ipv6 enable link-local + ``` + +**config ipv6 disable link-local** + +This command enables user to disable use-link-local-only command on all the interfaces globally. + +- Usage: + ``` + sudo config ipv6 disable link-local + ``` + +- Example: + ``` + admin@sonic:~$ sudo config ipv6 disable link-local + ``` + +### IPv6 Link Local show commands + +**show ipv6 link-local-mode** + +This command displays the link local mode of all the interfaces. + +- Usage: + ``` + show ipv6 link-local-mode + ``` + +- Example: + ``` + root@sonic:/home/admin# show ipv6 link-local-mode + +------------------+----------+ + | Interface Name | Mode | + +==================+==========+ + | Ethernet16 | Disabled | + +------------------+----------+ + | Ethernet18 | Enabled | + +------------------+----------+ + ``` + +Go Back To [Beginning of the document](#) or [Beginning of this section](#ipv6-link-local) ## Kubernetes diff --git a/show/main.py b/show/main.py index 024f488010..7840e9c83c 100755 --- a/show/main.py +++ b/show/main.py @@ -905,6 +905,35 @@ def protocol(verbose): from .bgp_frr_v6 import bgp ipv6.add_command(bgp) +# +# 'link-local-mode' subcommand ("show ipv6 link-local-mode") +# + +@ipv6.command('link-local-mode') +@click.option('--verbose', is_flag=True, help="Enable verbose output") +def link_local_mode(verbose): + """show ipv6 link-local-mode""" + header = ['Interface Name', 'Mode'] + body = [] + interfaces = ['INTERFACE', 'PORTCHANNEL_INTERFACE', 'VLAN_INTERFACE'] + config_db = ConfigDBConnector() + config_db.connect() + + for i in interfaces: + interface_dict = config_db.get_table(i) + link_local_data = {} + + if interface_dict: + for interface,value in interface_dict.items(): + if 'ipv6_use_link_local_only' in value: + link_local_data[interface] = interface_dict[interface]['ipv6_use_link_local_only'] + if link_local_data[interface] == 'enable': + body.append([interface, 'Enabled']) + else: + body.append([interface, 'Disabled']) + + click.echo(tabulate(body, header, tablefmt="grid")) + # # 'lldp' group ("show lldp ...") # diff --git a/tests/ipv6_link_local_test.py b/tests/ipv6_link_local_test.py new file mode 100644 index 0000000000..c7e614bacc --- /dev/null +++ b/tests/ipv6_link_local_test.py @@ -0,0 +1,153 @@ +import os + +from click.testing import CliRunner + +import config.main as config +import show.main as show +from utilities_common.db import Db + +show_ipv6_link_local_mode_output="""\ ++------------------+----------+ +| Interface Name | Mode | ++==================+==========+ +| Ethernet0 | Disabled | ++------------------+----------+ +| PortChannel0001 | Disabled | ++------------------+----------+ +""" + +class TestIPv6LinkLocal(object): + @classmethod + def setup_class(cls): + os.environ['UTILITIES_UNIT_TESTING'] = "1" + print("SETUP") + + def test_show_ipv6_link_local_mode(self): + runner = CliRunner() + db = Db() + obj = {'db':db.cfgdb} + + # show ipv6 link-local-mode output + result = runner.invoke(show.cli.commands["ipv6"].commands["link-local-mode"], [], obj=obj) + print(result.output) + assert result.output == show_ipv6_link_local_mode_output + + def test_config_enable_disable_ipv6_link_local_on_physical_interface(self): + runner = CliRunner() + db = Db() + obj = {'db':db.cfgdb} + + # Enable ipv6 link local on Ethernet0 + result = runner.invoke(config.config.commands["interface"].commands["ipv6"].commands["enable"].commands["use-link-local-only"], ["Ethernet0"], obj=obj) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == '' + + # Disable ipv6 link local on Ethernet0 + result = runner.invoke(config.config.commands["interface"].commands["ipv6"].commands["disable"].commands["use-link-local-only"], ["Ethernet0"], obj=obj) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == '' + + def test_config_enable_disable_ipv6_link_local_on_portchannel_interface(self): + runner = CliRunner() + db = Db() + obj = {'db':db.cfgdb} + + # Enable ipv6 link local on PortChannel0001 + result = runner.invoke(config.config.commands["interface"].commands["ipv6"].commands["enable"].commands["use-link-local-only"], ["PortChannel0001"], obj=obj) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == '' + + # Disable ipv6 link local on PortChannel0001 + result = runner.invoke(config.config.commands["interface"].commands["ipv6"].commands["disable"].commands["use-link-local-only"], ["PortChannel0001"], obj=obj) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == '' + + def test_config_enable_disable_ipv6_link_local_on_invalid_interface(self): + runner = CliRunner() + db = Db() + obj = {'db':db.cfgdb} + + # Enable ipv6 link local on PortChannel1 + result = runner.invoke(config.config.commands["interface"].commands["ipv6"].commands["enable"].commands["use-link-local-only"], ["PortChannel1"], obj=obj) + print(result.exit_code) + print(result.output) + assert result.exit_code != 0 + assert 'Error: Interface name PortChannel1 is invalid. Please enter a valid interface name!!' in result.output + + # Disable ipv6 link local on Ethernet500 + result = runner.invoke(config.config.commands["interface"].commands["ipv6"].commands["disable"].commands["use-link-local-only"], ["Ethernet500"], obj=obj) + print(result.exit_code) + print(result.output) + assert result.exit_code != 0 + assert 'Error: Interface name Ethernet500 is invalid. Please enter a valid interface name!!' in result.output + + def test_config_enable_disable_ipv6_link_local_on_interface_which_is_member_of_vlan(self): + runner = CliRunner() + db = Db() + obj = {'db':db.cfgdb} + + # Enable ipv6 link local on Ethernet16 + result = runner.invoke(config.config.commands["interface"].commands["ipv6"].commands["enable"].commands["use-link-local-only"], ["Ethernet16"], obj=obj) + print(result.exit_code) + print(result.output) + assert result.exit_code != 0 + assert 'Error: Ethernet16 is configured as a member of vlan. Cannot configure the IPv6 link local mode!' in result.output + + # Disable ipv6 link local on Ethernet16 + result = runner.invoke(config.config.commands["interface"].commands["ipv6"].commands["disable"].commands["use-link-local-only"], ["Ethernet16"], obj=obj) + print(result.exit_code) + print(result.output) + assert result.exit_code != 0 + assert 'Error: Ethernet16 is configured as a member of vlan. Cannot configure the IPv6 link local mode!' in result.output + + def test_config_enable_disable_ipv6_link_local_on_interface_which_is_member_of_portchannel(self): + runner = CliRunner() + db = Db() + obj = {'db':db.cfgdb} + + # Enable ipv6 link local on Ethernet32 + result = runner.invoke(config.config.commands["interface"].commands["ipv6"].commands["enable"].commands["use-link-local-only"], ["Ethernet32"], obj=obj) + print(result.exit_code) + print(result.output) + assert result.exit_code != 0 + assert 'Error: Ethernet32 is configured as a member of portchannel. Cannot configure the IPv6 link local mode!' in result.output + + # Disable ipv6 link local on Ethernet32 + result = runner.invoke(config.config.commands["interface"].commands["ipv6"].commands["disable"].commands["use-link-local-only"], ["Ethernet32"], obj=obj) + print(result.exit_code) + print(result.output) + assert result.exit_code != 0 + assert 'Error: Ethernet32 is configured as a member of portchannel. Cannot configure the IPv6 link local mode!' in result.output + + def test_config_enable_disable_ipv6_link_local_on_all_valid_interfaces(self): + runner = CliRunner() + db = Db() + obj = {'db':db.cfgdb} + + # Enable ipv6 link local on all interfaces + result = runner.invoke(config.config.commands["ipv6"].commands["enable"].commands["link-local"], obj=obj) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == '' + + # Disable ipv6 link local on all interfaces + result = runner.invoke(config.config.commands["ipv6"].commands["disable"].commands["link-local"], obj=obj) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + assert result.output == '' + + @classmethod + def teardown_class(cls): + os.environ['UTILITIES_UNIT_TESTING'] = "0" + print("TEARDOWN") + diff --git a/tests/mock_tables/config_db.json b/tests/mock_tables/config_db.json index 4c60cf992a..4fe3ecc36b 100644 --- a/tests/mock_tables/config_db.json +++ b/tests/mock_tables/config_db.json @@ -622,7 +622,7 @@ "NULL": "NULL" }, "PORTCHANNEL_INTERFACE|PortChannel0001": { - "NULL": "NULL" + "ipv6_use_link_local_only": "disable" }, "PORTCHANNEL_INTERFACE|PortChannel0002": { "NULL": "NULL" @@ -658,7 +658,7 @@ "NULL": "NULL" }, "INTERFACE|Ethernet0": { - "NULL": "NULL" + "ipv6_use_link_local_only": "disable" }, "INTERFACE|Ethernet0|14.14.0.1/24": { "NULL": "NULL" From 9395ebdedf92891293820183f3d6fc514614d871 Mon Sep 17 00:00:00 2001 From: Alexander Allen Date: Thu, 19 Aug 2021 10:12:35 -0700 Subject: [PATCH 269/342] [show][platform] Revise chassis info fallback to only fall back on pmon crash (#1751) What I did Changed the behavior of the get_chassis_info() function which is used by show version and show platform summary to report the serial / model / revision of the switch to only attempt to call the platform API if pmon completely failed to provision STATE_DB with CHASSIS_INFO How I did it Altered get_chassis_info() according to the above behavior. See changelog for details. How to verify it Verify show platform summary and show version correctly report chassis info. Delete the CHASSIS_INFO table from STATE_DB Verify show platform summary and show version still correctly report the info. --- show/platform.py | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/show/platform.py b/show/platform.py index 94d1d8bd63..e70b4e92e1 100644 --- a/show/platform.py +++ b/show/platform.py @@ -12,23 +12,27 @@ def get_chassis_info(): """ - Attempts to get the chassis info via STATE_DB and falls back to direct Platform API calls. + Attempts to retrieve chassis information from CHASSIS_INFO table in STATE_DB if this table does + not exist then we assume pmon has crashed and will attempt to call the platform API directly. If this + call fails we simply return N/A. """ - chassis_info = device_info.get_chassis_info() - required_keys = ['serial', 'model', 'revision'] - failed_vals = ['', 'N/A'] - platform_chassis = None + keys = ["serial", "model", "revision"] - for k in required_keys: - if chassis_info.get(k, '') in failed_vals: - if platform_chassis is None: + def try_get(platform, attr, fallback): + try: + if platform["chassis"] is None: import sonic_platform - platform_chassis = sonic_platform.platform.Platform().get_chassis() - try: - chassis_info[k] = getattr(platform_chassis, "get_".format(k))() - except AttributeError: - chassis_info[k] = 'N/A' + platform["chassis"] = sonic_platform.platform.Platform().get_chassis() + return getattr(platform["chassis"], "get_{}".format(attr))() + except Exception: + return 'N/A' + + chassis_info = device_info.get_chassis_info() + + if all(v is None for k, v in chassis_info.items()): + platform_cache = {"chassis": None} + chassis_info = {k:try_get(platform_cache, k, "N/A") for k in keys} return chassis_info From 04cc04700bf83f099388e3ad1719bad3ab02e9a8 Mon Sep 17 00:00:00 2001 From: Volodymyr Samotiy Date: Fri, 20 Aug 2021 03:26:29 +0300 Subject: [PATCH 270/342] [route_check] Filter out VNET routes (#1612) * Filter out VNET routes, Fix errors related to VNET routes printed by route_check script Signed-off-by: Volodymyr Samotiy --- scripts/route_check.py | 31 ++++++++++++++++++++++++++++++ tests/route_check_test.py | 40 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 71 insertions(+) diff --git a/scripts/route_check.py b/scripts/route_check.py index 1e03a9c6bd..8beaf42c8b 100755 --- a/scripts/route_check.py +++ b/scripts/route_check.py @@ -413,6 +413,36 @@ def filter_out_default_routes(lst): return upd +def filter_out_vnet_routes(routes): + """ + Helper to filter out VNET routes + :param routes: list of routes to filter + :return filtered list of routes. + """ + db = swsscommon.DBConnector('APPL_DB', 0) + + vnet_route_table = swsscommon.Table(db, 'VNET_ROUTE_TABLE') + vnet_route_tunnel_table = swsscommon.Table(db, 'VNET_ROUTE_TUNNEL_TABLE') + + vnet_routes_db_keys = vnet_route_table.getKeys() + vnet_route_tunnel_table.getKeys() + + vnet_routes = [] + + for vnet_route_db_key in vnet_routes_db_keys: + vnet_route_attrs = vnet_route_db_key.split(':') + vnet_name = vnet_route_attrs[0] + vnet_route = vnet_route_attrs[1] + vnet_routes.append(vnet_route) + + updated_routes = [] + + for route in routes: + if not (route in vnet_routes): + updated_routes.append(route) + + return updated_routes + + def check_routes(): """ The heart of this script which runs the checks. @@ -448,6 +478,7 @@ def check_routes(): # Check missed ASIC routes against APPL-DB INTF_TABLE _, rt_asic_miss = diff_sorted_lists(intf_appl, rt_asic_miss) rt_asic_miss = filter_out_default_routes(rt_asic_miss) + rt_asic_miss = filter_out_vnet_routes(rt_asic_miss) # Check APPL-DB INTF_TABLE with ASIC table route entries intf_appl_miss, _ = diff_sorted_lists(intf_appl, rt_asic) diff --git a/tests/route_check_test.py b/tests/route_check_test.py index a39015c07f..7dd4035640 100644 --- a/tests/route_check_test.py +++ b/tests/route_check_test.py @@ -24,6 +24,7 @@ OP_DEL = "DEL" ROUTE_TABLE = 'ROUTE_TABLE' +VNET_ROUTE_TABLE = 'VNET_ROUTE_TABLE' INTF_TABLE = 'INTF_TABLE' RT_ENTRY_TABLE = 'ASIC_STATE' SEPARATOR = ":" @@ -252,6 +253,45 @@ "10.10.196.30/31" ] } + }, + "6": { + DESCR: "Good one with VNET routes", + ARGS: "route_check", + PRE: { + APPL_DB: { + ROUTE_TABLE: { + "0.0.0.0/0" : { "ifname": "portchannel0" }, + "10.10.196.12/31" : { "ifname": "portchannel0" }, + "10.10.196.20/31" : { "ifname": "portchannel0" }, + "10.10.196.30/31" : { "ifname": "lo" } + }, + VNET_ROUTE_TABLE: { + "Vnet1:30.1.10.0/24": { "ifname": "Vlan3001" }, + "Vnet1:50.1.1.0/24": { "ifname": "Vlan3001" }, + "Vnet1:50.2.2.0/24": { "ifname": "Vlan3001" } + }, + INTF_TABLE: { + "PortChannel1013:10.10.196.24/31": {}, + "PortChannel1023:2603:10b0:503:df4::5d/126": {}, + "PortChannel1024": {}, + "Vlan3001": { "vnet_name": "Vnet1" }, + "Vlan3001:30.1.10.1/24": {} + } + }, + ASIC_DB: { + RT_ENTRY_TABLE: { + RT_ENTRY_KEY_PREFIX + "10.10.196.12/31" + RT_ENTRY_KEY_SUFFIX: {}, + RT_ENTRY_KEY_PREFIX + "10.10.196.20/31" + RT_ENTRY_KEY_SUFFIX: {}, + RT_ENTRY_KEY_PREFIX + "10.10.196.24/32" + RT_ENTRY_KEY_SUFFIX: {}, + RT_ENTRY_KEY_PREFIX + "2603:10b0:503:df4::5d/128" + RT_ENTRY_KEY_SUFFIX: {}, + RT_ENTRY_KEY_PREFIX + "0.0.0.0/0" + RT_ENTRY_KEY_SUFFIX: {}, + RT_ENTRY_KEY_PREFIX + "30.1.10.1/32" + RT_ENTRY_KEY_SUFFIX: {}, + RT_ENTRY_KEY_PREFIX + "30.1.10.0/24" + RT_ENTRY_KEY_SUFFIX: {}, + RT_ENTRY_KEY_PREFIX + "50.1.1.0/24" + RT_ENTRY_KEY_SUFFIX: {}, + RT_ENTRY_KEY_PREFIX + "50.2.2.0/24" + RT_ENTRY_KEY_SUFFIX: {} + } + } + } } } From 103de86a3dbe2199fea7cb209fd985f07eebf84c Mon Sep 17 00:00:00 2001 From: Dev Ojha <47282568+devadityaojha@users.noreply.github.com> Date: Thu, 19 Aug 2021 17:58:54 -0700 Subject: [PATCH 271/342] =?UTF-8?q?[CLI][MPLS][Show]=20Fixed=20show=20and?= =?UTF-8?q?=20config=20mpls=20cli=20bug=20where=20invalid=20interfaces=20w?= =?UTF-8?q?ould=20pas=E2=80=A6=20(#1770)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Added unit tests for both single and multi ASIC platform --- config/main.py | 8 +- show/interfaces/__init__.py | 19 +++-- tests/mpls_test.py | 148 ++++++++++++++++++++++++++++++++++-- utilities_common/cli.py | 11 +++ 4 files changed, 171 insertions(+), 15 deletions(-) diff --git a/config/main.py b/config/main.py index c4782ebfe0..786ae67d40 100644 --- a/config/main.py +++ b/config/main.py @@ -4039,7 +4039,9 @@ def add(ctx, interface_name): if interface_name is None: ctx.fail("'interface_name' is None!") - table_name = get_interface_table_name(interface_name) + table_name = get_interface_table_name(interface_name) + if not clicommon.is_interface_in_config_db(config_db, interface_name): + ctx.fail('interface {} doesn`t exist'.format(interface_name)) if table_name == "": ctx.fail("'interface_name' is not valid. Valid names [Ethernet/PortChannel/Vlan]") config_db.set_entry(table_name, interface_name, {"mpls": "enable"}) @@ -4059,7 +4061,9 @@ def remove(ctx, interface_name): if interface_name is None: ctx.fail("'interface_name' is None!") - table_name = get_interface_table_name(interface_name) + table_name = get_interface_table_name(interface_name) + if not clicommon.is_interface_in_config_db(config_db, interface_name): + ctx.fail('interface {} doesn`t exist'.format(interface_name)) if table_name == "": ctx.fail("'interface_name' is not valid. Valid names [Ethernet/PortChannel/Vlan]") config_db.set_entry(table_name, interface_name, {"mpls": "disable"}) diff --git a/show/interfaces/__init__.py b/show/interfaces/__init__.py index 458d3cc251..6cb2febc19 100644 --- a/show/interfaces/__init__.py +++ b/show/interfaces/__init__.py @@ -340,9 +340,11 @@ def mpls(ctx, interfacename, namespace, display): print("Error: Invalid display option command for single asic") return + display = "all" if interfacename else display masic = multi_asic_util.MultiAsic(display_option=display, namespace_option=namespace) ns_list = masic.get_ns_list_based_on_options() intfs_data = {} + intf_found = False for ns in ns_list: @@ -360,11 +362,14 @@ def mpls(ctx, interfacename, namespace, display): if len(tokens) != 2: continue - if (interfacename is not None) and (interfacename != tokens[1]): - continue + if (interfacename is not None): + if (interfacename != ifname): + continue + + intf_found = True if (display != "all"): - if ("Loopback" in tokens[1]): + if ("Loopback" in ifname): continue if ifname.startswith("Ethernet") and multi_asic.is_port_internal(ifname, ns): @@ -377,9 +382,13 @@ def mpls(ctx, interfacename, namespace, display): mpls_intf = appl_db.get_all(appl_db.APPL_DB, key) if 'mpls' not in mpls_intf or mpls_intf['mpls'] == 'disable': - intfs_data.update({tokens[1]: 'disable'}) + intfs_data.update({ifname: 'disable'}) else: - intfs_data.update({tokens[1]: mpls_intf['mpls']}) + intfs_data.update({ifname: mpls_intf['mpls']}) + + # Check if interface is valid + if (interfacename is not None and not intf_found): + ctx.fail('interface {} doesn`t exist'.format(interfacename)) header = ['Interface', 'MPLS State'] body = [] diff --git a/tests/mpls_test.py b/tests/mpls_test.py index b0c2d4fb80..57336cd63f 100644 --- a/tests/mpls_test.py +++ b/tests/mpls_test.py @@ -50,7 +50,39 @@ Ethernet-BP4 disable """ +show_interfaces_mpls_output_interface="""\ +Interface MPLS State +----------- ------------ +Ethernet4 enable +""" + +show_interfaces_mpls_masic_output_interface="""\ +Interface MPLS State +----------- ------------ +Ethernet4 disable +""" + +invalid_interface_remove_output = """\ +Usage: remove [OPTIONS] +Try "remove --help" for help. + +Error: interface Ethernet8 doesn`t exist +""" +invalid_interface_add_output = """\ +Usage: add [OPTIONS] +Try "add --help" for help. + +Error: interface Ethernet8 doesn`t exist +""" + +invalid_interface_show_output = """\ +Usage: mpls [OPTIONS] [INTERFACENAME] +Try "mpls --help" for help. + +Error: interface Ethernet100 doesn`t exist +""" + modules_path = os.path.join(os.path.dirname(__file__), "..") test_path = os.path.join(modules_path, "tests") scripts_path = os.path.join(modules_path, "scripts") @@ -72,12 +104,27 @@ def test_config_mpls_add(self): result = runner.invoke( config.config.commands["interface"].commands["mpls"].commands["add"], - ["Ethernet8"], obj=obj + ["Ethernet0"], obj=obj ) print(result.exit_code) print(result.output) assert result.exit_code == 0 - assert db.cfgdb.get_entry("INTERFACE", "Ethernet8") == {"mpls": "enable"} + assert db.cfgdb.get_entry("INTERFACE", "Ethernet0") == {"mpls": "enable"} + + def test_config_mpls_invalid_interface_add(self): + runner = CliRunner() + db = Db() + obj = {'config_db':db.cfgdb} + + result = runner.invoke( + config.config.commands["interface"].commands["mpls"].commands["add"], + ["Ethernet8"], obj=obj + ) + print(result.exit_code) + print(result.output) + assert result.exit_code == 2 + assert result.output == invalid_interface_add_output + def test_show_interfaces_mpls_frontend(self): @@ -111,6 +158,26 @@ def test_show_interfaces_mpls_dall(self): assert result.exit_code == 0 assert result.output == show_interfaces_mpls_output_frontend + def test_show_interfaces_mpls_asic_interface(self): + runner = CliRunner() + result = runner.invoke( + show.cli.commands["interfaces"].commands["mpls"], + ["Ethernet4"] + ) + print(result.output) + assert result.exit_code == 0 + assert result.output == show_interfaces_mpls_output_interface + + def test_show_interfaces_mpls_asic_invalid_interface(self): + runner = CliRunner() + result = runner.invoke( + show.cli.commands["interfaces"].commands["mpls"], + ["Ethernet100"] + ) + print(result.output) + assert result.exit_code == 2 + assert result.output == invalid_interface_show_output + def test_config_mpls_remove(self): runner = CliRunner() db = Db() @@ -118,12 +185,27 @@ def test_config_mpls_remove(self): result = runner.invoke( config.config.commands["interface"].commands["mpls"].commands["remove"], - ["Ethernet8"], obj=obj + ["Ethernet0"], obj=obj ) print(result.exit_code) print(result.output) assert result.exit_code == 0 - assert db.cfgdb.get_entry("INTERFACE", "Ethernet8") == {"mpls": "disable"} + assert db.cfgdb.get_entry("INTERFACE", "Ethernet0") == {"mpls": "disable"} + + def test_config_mpls_invalid_interface_remove(self): + runner = CliRunner() + db = Db() + obj = {'config_db':db.cfgdb} + + result = runner.invoke( + config.config.commands["interface"].commands["mpls"].commands["remove"], + ["Ethernet8"], obj=obj + ) + print(result.exit_code) + print(result.output) + assert result.exit_code == 2 + assert result.output == invalid_interface_remove_output + @classmethod def teardown_class(cls): @@ -152,12 +234,27 @@ def test_config_mpls_masic_add(self): result = runner.invoke( config.config.commands["interface"].commands["mpls"].commands["add"], - ["Ethernet8"], obj=obj + ["Ethernet0"], obj=obj ) print(result.exit_code) print(result.output) assert result.exit_code == 0 - assert db.cfgdb.get_entry("INTERFACE", "Ethernet8") == {"mpls": "enable"} + assert db.cfgdb.get_entry("INTERFACE", "Ethernet0") == {"mpls": "enable"} + + + def test_config_mpls_masic_invalid_interface_add(self): + runner = CliRunner() + db = Db() + obj = {'config_db':db.cfgdb, 'namespace':'asic0'} + + result = runner.invoke( + config.config.commands["interface"].commands["mpls"].commands["add"], + ["Ethernet8"], obj=obj + ) + print(result.exit_code) + print(result.output) + assert result.exit_code == 2 + assert result.output == invalid_interface_add_output def test_show_interfaces_mpls_masic_frontend(self): @@ -202,6 +299,26 @@ def test_show_interfaces_mpls_masic_asic_all(self): assert result.exit_code == 0 assert result.output == show_interfaces_mpls_masic_output_asic_all + def test_show_interfaces_mpls_masic_asic_interface(self): + runner = CliRunner() + result = runner.invoke( + show.cli.commands["interfaces"].commands["mpls"], + ["Ethernet4"] + ) + print(result.output) + assert result.exit_code == 0 + assert result.output == show_interfaces_mpls_masic_output_interface + + def test_show_interfaces_mpls_masic_asic_invalid_interface(self): + runner = CliRunner() + result = runner.invoke( + show.cli.commands["interfaces"].commands["mpls"], + ["Ethernet100"] + ) + print(result.output) + assert result.exit_code == 2 + assert result.output == invalid_interface_show_output + def test_config_mpls_masic_remove(self): runner = CliRunner() db = Db() @@ -209,12 +326,27 @@ def test_config_mpls_masic_remove(self): result = runner.invoke( config.config.commands["interface"].commands["mpls"].commands["remove"], - ["Ethernet8"], obj=obj + ["Ethernet0"], obj=obj ) print(result.exit_code) print(result.output) assert result.exit_code == 0 - assert db.cfgdb.get_entry("INTERFACE", "Ethernet8") == {"mpls": "disable"} + assert db.cfgdb.get_entry("INTERFACE", "Ethernet0") == {"mpls": "disable"} + + def test_config_mpls_masic_invalid_interface_remove(self): + runner = CliRunner() + db = Db() + obj = {'config_db':db.cfgdb, 'namespace':'asic0'} + + result = runner.invoke( + config.config.commands["interface"].commands["mpls"].commands["remove"], + ["Ethernet8"], obj=obj + ) + print(result.exit_code) + print(result.output) + assert result.exit_code == 2 + assert result.output == invalid_interface_remove_output + @classmethod def teardown_class(cls): diff --git a/utilities_common/cli.py b/utilities_common/cli.py index 15941e28b3..59aa36a7c0 100644 --- a/utilities_common/cli.py +++ b/utilities_common/cli.py @@ -576,3 +576,14 @@ def interface_is_untagged_member(db, interface_name): if (val['tagging_mode'] == 'untagged'): return True return False + +def is_interface_in_config_db(config_db, interface_name): + """ Check if an interface is in CONFIG DB """ + if (not interface_name in config_db.get_keys('VLAN_INTERFACE') and + not interface_name in config_db.get_keys('INTERFACE') and + not interface_name in config_db.get_keys('PORTCHANNEL_INTERFACE') and + not interface_name == 'null'): + return False + + return True + From c03342fe7afeea830ffc9201902f7de4b986bc03 Mon Sep 17 00:00:00 2001 From: Prince George <45705344+prgeor@users.noreply.github.com> Date: Fri, 20 Aug 2021 09:08:40 -0700 Subject: [PATCH 272/342] [sfputil] Gracefully handle improper 'specification_compliance' field (#1741) Signed-off-by: Prince George --- sfputil/main.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/sfputil/main.py b/sfputil/main.py index fd86d95337..3556eed76f 100644 --- a/sfputil/main.py +++ b/sfputil/main.py @@ -264,10 +264,15 @@ def convert_sfp_info_to_output_string(sfp_info_dict): output += '{}{}: {}\n'.format(indent, QSFP_DATA_MAP[key], sfp_info_dict[key]) else: output += '{}{}:\n'.format(indent, QSFP_DATA_MAP['specification_compliance']) - spefic_compliance_dict = eval(sfp_info_dict['specification_compliance']) - sorted_compliance_key_table = natsorted(spefic_compliance_dict) + + spec_compliance_dict = {} + try: + spec_compliance_dict = ast.literal_eval(sfp_info_dict['specification_compliance']) + sorted_compliance_key_table = natsorted(spec_compliance_dict) for compliance_key in sorted_compliance_key_table: - output += '{}{}: {}\n'.format((indent * 2), compliance_key, spefic_compliance_dict[compliance_key]) + output += '{}{}: {}\n'.format((indent * 2), compliance_key, spec_compliance_dict[compliance_key]) + except ValueError as e: + output += '{}N/A\n'.format((indent * 2)) else: output += '{}{}: {}\n'.format(indent, QSFP_DATA_MAP[key], sfp_info_dict[key]) From 4cb3b72b43c2f94c868ad4257da56a6a63f91f1b Mon Sep 17 00:00:00 2001 From: yozhao101 <56170650+yozhao101@users.noreply.github.com> Date: Sun, 22 Aug 2021 09:54:46 -0700 Subject: [PATCH 273/342] [Show] Update the subcommands of Kdump. (#1682) Signed-off-by: Yong Zhao yozhao@microsoft.com What I did This PR fixed the following issues: Initially we need add prefix sudo when ran the show command of Kdump. This is unnecessary. I re-organized the logic of implementing show command and also update the script sonic-kdump-config. How I did it Since the script sonic-kdump-config can only be executed by root user, I moved some functions from this file to the kdump.py such that we do not need run the show command with sudo. How to verify it I verified this change on the DuT str-msn2700-03. --- doc/Command-Reference.md | 116 ++++++++++++++++++ scripts/sonic-kdump-config | 99 --------------- show/kdump.py | 244 ++++++++++++++++++++++++++----------- 3 files changed, 290 insertions(+), 169 deletions(-) diff --git a/doc/Command-Reference.md b/doc/Command-Reference.md index 5582bc9b56..35d7b28aef 100644 --- a/doc/Command-Reference.md +++ b/doc/Command-Reference.md @@ -71,6 +71,9 @@ * [Kubernetes](#Kubernetes) * [Kubernetes show commands](#Kubernetes-show-commands) * [Kubernetes config commands](#Kubernetes-config-commands) +* [Linux Kernel Dump](#kdump) + * [Linux Kernel Dump show commands](#kdump-show-commands) + * [Linux Kernel Dump config commands](#kdump-config-commands) * [LLDP](#lldp) * [LLDP show commands](#lldp-show-commands) * [Loading, Reloading And Saving Configuration](#loading-reloading-and-saving-configuration) @@ -4538,6 +4541,119 @@ This command displays the kubernetes server status. ----------- ------ ----------- ------------------- 10.3.157.24 6443 true 2020-11-15 18:25:05 ``` +Go Back To [Beginning of the document](#) or [Beginning of this section](#Kubernetes) + +## Linux Kernel Dump + +This section demonstrates the show commands and configuration commands of Linux kernel dump mechanism in SONiC. + +### Linux Kernel Dump show commands + +**show kdump config** + +This command shows the configuration of Linux kernel dump. + +- Usage: + ``` + show kdump config + ``` + +- Example: + ``` + admin@sonic:$ show kdump config + Kdump administrative mode: Disabled + Kdump operational mode: Unready + Kdump memory researvation: 0M-2G:256M,2G-4G:320M,4G-8G:384M,8G-:448M + Maximum number of Kdump files: 3 + ``` + +**show kdump files** + +This command shows the Linux kernel core dump files and dmesg files which are +generated by kernel dump tool. + +- Usage: + ``` + show kdump files + ``` + +- Example: + ``` + admin@sonic:~$ show kdump files + Kernel core dump files Kernel dmesg files + ------------------------------------------ ------------------------------------------ + /var/crash/202106242344/kdump.202106242344 /var/crash/202106242344/dmesg.202106242344 + /var/crash/202106242337/kdump.202106242337 /var/crash/202106242337/dmesg.202106242337 + ``` + +**show kdump logging ** + +By default, this command will show the last 10 lines of latest dmesg file. +This command can also accept a specific file name and number of lines as arguments. + +- Usage: + ``` + show kdump logging + ``` + +- Example: + ``` + admin@sonic:~$ show kdump logging + [ 157.642053] RSP: 002b:00007fff1beee708 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 + [ 157.732635] RAX: ffffffffffffffda RBX: 0000000000000002 RCX: 00007fc3887d4504 + [ 157.818015] RDX: 0000000000000002 RSI: 000055d388eceb40 RDI: 0000000000000001 + [ 157.903401] RBP: 000055d388eceb40 R08: 000000000000000a R09: 00007fc3888255f0 + [ 157.988784] R10: 000000000000000a R11: 0000000000000246 R12: 00007fc3888a6760 + [ 158.074166] R13: 0000000000000002 R14: 00007fc3888a1760 R15: 0000000000000002 + [ 158.159553] Modules linked in: nft_chain_route_ipv6(E) nft_chain_route_ipv4(E) xt_TCPMSS(E) dummy(E) team_mode_loadbalance(E) team(E) sx_bfd(OE) sx_netdev(OE) psample(E) sx_core(OE) 8021q(E) garp(E) mrp(E) mst_pciconf(OE) mst_pci(OE) xt_hl(E) xt_tcpudp(E) ip6_tables(E) nft_compat(E) nft_chain_nat_ipv4(E) nf_nat_ipv4(E) nft_counter(E) xt_conntrack(E) nf_nat(E) jc42(E) nf_conntrack_netlink(E) nf_conntrack(E) nf_defrag_ipv6(E) nf_defrag_ipv4(E) libcrc32c(E) xfrm_user(E) xfrm_algo(E) mlxsw_minimal(E) mlxsw_i2c(E) i2c_mux_reg(E) i2c_mux(E) i2c_mlxcpld(E) leds_mlxreg(E) mlxreg_io(E) mlxreg_hotplug(E) mei_wdt(E) evdev(E) intel_rapl(E) x86_pkg_temp_thermal(E) intel_powerclamp(E) kvm_intel(E) mlx_platform(E) kvm(E) irqbypass(E) crct10dif_pclmul(E) crc32_pclmul(E) ghash_clmulni_intel(E) intel_cstate(E) intel_uncore(E) + [ 159.016731] intel_rapl_perf(E) pcspkr(E) sg(E) iTCO_wdt(E) iTCO_vendor_support(E) mei_me(E) mei(E) bonding(E) pcc_cpufreq(E) video(E) button(E) ebt_vlan(E) ebtable_broute(E) bridge(E) stp(E) llc(E) ebtable_nat(E) ebtable_filter(E) ebtables(E) nf_tables(E) nfnetlink(E) xdpe12284(E) at24(E) ledtrig_timer(E) tmp102(E) lm75(E) drm(E) coretemp(E) max1363(E) industrialio_triggered_buffer(E) kfifo_buf(E) industrialio(E) tps53679(E) fuse(E) pmbus(E) pmbus_core(E) i2c_dev(E) configfs(E) ip_tables(E) x_tables(E) autofs4(E) loop(E) ext4(E) crc16(E) mbcache(E) jbd2(E) crc32c_generic(E) fscrypto(E) ecb(E) crypto_simd(E) cryptd(E) glue_helper(E) aes_x86_64(E) nvme(E) nvme_core(E) nls_utf8(E) nls_cp437(E) nls_ascii(E) vfat(E) fat(E) overlay(E) squashfs(E) zstd_decompress(E) xxhash(E) sd_mod(E) gpio_ich(E) ahci(E) + [ 159.864532] libahci(E) mlxsw_core(E) devlink(E) ehci_pci(E) ehci_hcd(E) crc32c_intel(E) libata(E) i2c_i801(E) scsi_mod(E) usbcore(E) usb_common(E) lpc_ich(E) mfd_core(E) e1000e(E) fan(E) thermal(E) + [ 160.075846] CR2: 0000000000000000 + ``` +You can specify a file name in order to show its +last 10 lines. + +- Example: + ``` + admin@sonic:~$ show kdump logging dmesg.202106242337 + [ 654.120195] RSP: 002b:00007ffe697690f8 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 + [ 654.210778] RAX: ffffffffffffffda RBX: 0000000000000002 RCX: 00007fcfca27b504 + [ 654.296157] RDX: 0000000000000002 RSI: 000055a6e4d1b3f0 RDI: 0000000000000001 + [ 654.381543] RBP: 000055a6e4d1b3f0 R08: 000000000000000a R09: 00007fcfca2cc5f0 + [ 654.466925] R10: 000000000000000a R11: 0000000000000246 R12: 00007fcfca34d760 + [ 654.552310] R13: 0000000000000002 R14: 00007fcfca348760 R15: 0000000000000002 + [ 654.637694] Modules linked in: binfmt_misc(E) nft_chain_route_ipv6(E) nft_chain_route_ipv4(E) xt_TCPMSS(E) dummy(E) team_mode_loadbalance(E) team(E) sx_bfd(OE) sx_netdev(OE) psample(E) sx_core(OE) 8021q(E) garp(E) mrp(E) mst_pciconf(OE) mst_pci(OE) xt_hl(E) xt_tcpudp(E) ip6_tables(E) nft_chain_nat_ipv4(E) nf_nat_ipv4(E) nft_compat(E) nft_counter(E) xt_conntrack(E) nf_nat(E) jc42(E) nf_conntrack_netlink(E) nf_conntrack(E) nf_defrag_ipv6(E) nf_defrag_ipv4(E) libcrc32c(E) xfrm_user(E) xfrm_algo(E) mlxsw_minimal(E) mlxsw_i2c(E) i2c_mux_reg(E) i2c_mux(E) mlxreg_hotplug(E) mlxreg_io(E) i2c_mlxcpld(E) leds_mlxreg(E) mei_wdt(E) evdev(E) intel_rapl(E) x86_pkg_temp_thermal(E) intel_powerclamp(E) kvm_intel(E) kvm(E) mlx_platform(E) irqbypass(E) crct10dif_pclmul(E) crc32_pclmul(E) ghash_clmulni_intel(E) intel_cstate(E) + [ 655.493833] intel_uncore(E) intel_rapl_perf(E) pcspkr(E) sg(E) iTCO_wdt(E) iTCO_vendor_support(E) mei_me(E) mei(E) bonding(E) video(E) button(E) pcc_cpufreq(E) ebt_vlan(E) ebtable_broute(E) bridge(E) stp(E) llc(E) ebtable_nat(E) ebtable_filter(E) ebtables(E) nf_tables(E) nfnetlink(E) xdpe12284(E) at24(E) ledtrig_timer(E) tmp102(E) drm(E) lm75(E) coretemp(E) max1363(E) industrialio_triggered_buffer(E) kfifo_buf(E) industrialio(E) fuse(E) tps53679(E) pmbus(E) pmbus_core(E) i2c_dev(E) configfs(E) ip_tables(E) x_tables(E) autofs4(E) loop(E) ext4(E) crc16(E) mbcache(E) jbd2(E) crc32c_generic(E) fscrypto(E) ecb(E) crypto_simd(E) cryptd(E) glue_helper(E) aes_x86_64(E) nvme(E) nvme_core(E) nls_utf8(E) nls_cp437(E) nls_ascii(E) vfat(E) fat(E) overlay(E) squashfs(E) zstd_decompress(E) xxhash(E) sd_mod(E) + [ 656.337476] gpio_ich(E) ahci(E) mlxsw_core(E) libahci(E) devlink(E) crc32c_intel(E) libata(E) i2c_i801(E) scsi_mod(E) lpc_ich(E) mfd_core(E) ehci_pci(E) ehci_hcd(E) usbcore(E) e1000e(E) usb_common(E) fan(E) thermal(E) + [ 656.569590] CR2: 0000000000000000 + ``` +You can also specify a file name and number of lines in order to show the +last number of lines. + +- Example: + ``` + admin@sonic:~$ show kdump logging dmesg.202106242337 -l 20 + [ 653.525427] __handle_sysrq.cold.9+0x45/0xf2 + [ 653.576487] write_sysrq_trigger+0x2b/0x30 + [ 653.625472] proc_reg_write+0x39/0x60 + [ 653.669252] vfs_write+0xa5/0x1a0 + [ 653.708881] ksys_write+0x57/0xd0 + [ 653.748501] do_syscall_64+0x53/0x110 + [ 653.792287] entry_SYSCALL_64_after_hwframe+0x44/0xa9 + [ 653.852707] RIP: 0033:0x7fcfca27b504 + [ 653.895452] Code: 00 f7 d8 64 89 02 48 c7 c0 ff ff ff ff eb b3 0f 1f 80 00 00 00 00 48 8d 05 f9 61 0d 00 8b 00 85 c0 75 13 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 54 c3 0f 1f 00 41 54 49 89 d4 55 48 89 f5 53 + [ 654.120195] RSP: 002b:00007ffe697690f8 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 + [ 654.210778] RAX: ffffffffffffffda RBX: 0000000000000002 RCX: 00007fcfca27b504 + [ 654.296157] RDX: 0000000000000002 RSI: 000055a6e4d1b3f0 RDI: 0000000000000001 + [ 654.381543] RBP: 000055a6e4d1b3f0 R08: 000000000000000a R09: 00007fcfca2cc5f0 + [ 654.466925] R10: 000000000000000a R11: 0000000000000246 R12: 00007fcfca34d760 + [ 654.552310] R13: 0000000000000002 R14: 00007fcfca348760 R15: 0000000000000002 + [ 654.637694] Modules linked in: binfmt_misc(E) nft_chain_route_ipv6(E) nft_chain_route_ipv4(E) xt_TCPMSS(E) dummy(E) team_mode_loadbalance(E) team(E) sx_bfd(OE) sx_netdev(OE) psample(E) sx_core(OE) 8021q(E) garp(E) mrp(E) mst_pciconf(OE) mst_pci(OE) xt_hl(E) xt_tcpudp(E) ip6_tables(E) nft_chain_nat_ipv4(E) nf_nat_ipv4(E) nft_compat(E) nft_counter(E) xt_conntrack(E) nf_nat(E) jc42(E) nf_conntrack_netlink(E) nf_conntrack(E) nf_defrag_ipv6(E) nf_defrag_ipv4(E) libcrc32c(E) xfrm_user(E) xfrm_algo(E) mlxsw_minimal(E) mlxsw_i2c(E) i2c_mux_reg(E) i2c_mux(E) mlxreg_hotplug(E) mlxreg_io(E) i2c_mlxcpld(E) leds_mlxreg(E) mei_wdt(E) evdev(E) intel_rapl(E) x86_pkg_temp_thermal(E) intel_powerclamp(E) kvm_intel(E) kvm(E) mlx_platform(E) irqbypass(E) crct10dif_pclmul(E) crc32_pclmul(E) ghash_clmulni_intel(E) intel_cstate(E) + [ 655.493833] intel_uncore(E) intel_rapl_perf(E) pcspkr(E) sg(E) iTCO_wdt(E) iTCO_vendor_support(E) mei_me(E) mei(E) bonding(E) video(E) button(E) pcc_cpufreq(E) ebt_vlan(E) ebtable_broute(E) bridge(E) stp(E) llc(E) ebtable_nat(E) ebtable_filter(E) ebtables(E) nf_tables(E) nfnetlink(E) xdpe12284(E) at24(E) ledtrig_timer(E) tmp102(E) drm(E) lm75(E) coretemp(E) max1363(E) industrialio_triggered_buffer(E) kfifo_buf(E) industrialio(E) fuse(E) tps53679(E) pmbus(E) pmbus_core(E) i2c_dev(E) configfs(E) ip_tables(E) x_tables(E) autofs4(E) loop(E) ext4(E) crc16(E) mbcache(E) jbd2(E) crc32c_generic(E) fscrypto(E) ecb(E) crypto_simd(E) cryptd(E) glue_helper(E) aes_x86_64(E) nvme(E) nvme_core(E) nls_utf8(E) nls_cp437(E) nls_ascii(E) vfat(E) fat(E) overlay(E) squashfs(E) zstd_decompress(E) xxhash(E) sd_mod(E) + [ 656.337476] gpio_ich(E) ahci(E) mlxsw_core(E) libahci(E) devlink(E) crc32c_intel(E) libata(E) i2c_i801(E) scsi_mod(E) lpc_ich(E) mfd_core(E) ehci_pci(E) ehci_hcd(E) usbcore(E) e1000e(E) usb_common(E) fan(E) thermal(E) + [ 656.569590] CR2: 0000000000000000 + ``` +Go Back To [Beginning of the document](#) or [Beginning of this section](#kdump) ## LLDP diff --git a/scripts/sonic-kdump-config b/scripts/sonic-kdump-config index 8dc1a553b1..26fa652dc2 100755 --- a/scripts/sonic-kdump-config +++ b/scripts/sonic-kdump-config @@ -607,86 +607,6 @@ def cmd_kdump_num_dumps(verbose, num_dumps): kdump_memory = get_kdump_memory() save_config(kdump_enabled, kdump_memory, num_dumps) -## Command: Display kdump status -def cmd_kdump_status(): - print('Kdump Administrative Mode: ', end='') - kdump_enabled = get_kdump_administrative_mode() - if kdump_enabled: - print('Enabled') - else: - print('Disabled') - - print('Kdump Operational State: ', end='') - (rc, lines, err_str) = run_command("/usr/sbin/kdump-config status", use_shell=False); - if len(lines) >= 1 and ": ready to kdump" in lines[0]: - use_kdump_in_cfg = read_use_kdump() - if use_kdump_in_cfg: - print('Ready') - else: - print('Not Ready') - elif not kdump_enabled: - print('Disabled') - else: - print('Ready after Reboot') - -## Get the current number of kernel dump files stored -# -# @param The number of kdump files stored in /var/crash -def get_nb_dumps_in_var_crash(): - (rc, lines, err_str) = run_command("find /var/crash/ -name 'kdump.*'", use_shell=False); - if rc == 0: - return len(lines) - return 0 - -## Command: Display kdump files -def cmd_kdump_files(): - nb_dumps = get_nb_dumps_in_var_crash() - if nb_dumps == 0: - print("No kernel core dump files") - else: - (rc1, lines1, err_str) = run_command("find /var/crash/ -name 'dmesg.*'", use_shell=False); - lines1.sort(reverse=True) - (rc2, lines2, err_str) = run_command("find /var/crash/ -name 'kdump.*'", use_shell=False); - lines2.sort(reverse=True) - print("Record Key Filename") - print("-------------------------------------------------------------") - for n in range(len(lines1)): - print("%6d %s %s\n %s" % (n+1, lines1[n][11:23], lines1[n], lines2[n])) - -## Command: Display kdump file (kernel log) -# -# @param num_lines Number of last lines displayed -# @param filename Name or index of the kernel log file (dmesg) -def cmd_kdump_file(num_lines, filename): - fname = None - nb_dumps = get_nb_dumps_in_var_crash() - if nb_dumps == 0: - print("Kernel crash log not found") - else: - (rc, lines, err_str) = run_command("find /var/crash/ -name 'dmesg.*'", use_shell=False); - if rc == 0 and nb_dumps == len(lines): - if filename.isdigit() and len(filename) <= 2: - num = int(filename) - if num < 1 or num > nb_dumps: - if nb_dumps == 1: - print("Invalid record number - Should be 1") - else: - print("Invalid record number - Should be between 1 and %d" % nb_dumps) - sys.exit(1) - fname = sorted(lines, reverse=True)[num-1] - else: - lines.sort(reverse=True) - for x in lines: - if x.find(filename) != -1: - fname = x - break - if fname is None: - print("Invalid key") - sys.exit(1) - (rc, lines, err_str) = run_command("/usr/bin/tail -n %d %s" % (num_lines, fname), use_shell=False); - if rc == 0: - print('File: %s' % fname) - print('\n'.join(lines)) def main(): @@ -714,10 +634,6 @@ def main(): parser.add_argument('--disable', action='store_true', help='Disable kdump') - # kdump status on Current Image - parser.add_argument('--status', action='store_true', - help='Show kdump status') - # kdump status on Current Image parser.add_argument('--status-json', action='store_true', help='Show kdump status in json format') @@ -726,7 +642,6 @@ def main(): parser.add_argument('--kdump-records-json', action='store_true', help='Show kdump records in json format') - # kdump config on Current Image # kdump config on Current Image parser.add_argument('--config-json', action='store_true', help='Show kdump config in json format') @@ -739,14 +654,6 @@ def main(): parser.add_argument('--memory', nargs='?', type=str, action='store', default=False, help='Amount of memory reserved for the capture kernel') - # Capture kernel files - parser.add_argument('--files', action='store_true', - help='Show stored capture kernel files') - - # Capture kernel file - parser.add_argument('--file', nargs=1, type=str, - help='Show stored capture kernel file') - # Show more information (used for sonic-kdump-config status) parser.add_argument("-v", "--verbose", action='store_true', help='displays detailed kdump status information. Used with status command.') @@ -776,12 +683,6 @@ def main(): cmd_kdump_memory(options.verbose, options.memory) elif options.num_dumps != False: cmd_kdump_num_dumps(options.verbose, options.num_dumps) - elif options.status: - cmd_kdump_status() - elif options.files != False: - cmd_kdump_files() - elif options.file: - cmd_kdump_file(options.lines, options.file[0]) elif options.dump_db: cmd_dump_db() elif options.status_json: diff --git a/show/kdump.py b/show/kdump.py index d846792797..c0eb609a1d 100644 --- a/show/kdump.py +++ b/show/kdump.py @@ -1,85 +1,189 @@ +import itertools +import os +import sys + import click +from tabulate import tabulate + import utilities_common.cli as clicommon from swsscommon.swsscommon import ConfigDBConnector # -# 'kdump command ("show kdump ...") +# 'kdump' group (show kdump ...) # @click.group(cls=clicommon.AliasedGroup, name="kdump") def kdump(): - """Show kdump configuration, status and information """ + """Show kdump configuration, dump files and dmesg logs""" pass -@kdump.command('enabled') -def enabled(): - """Show if kdump is enabled or disabled""" - kdump_is_enabled = False + +def get_kdump_config(field_name): + """Fetches the configuration of Kdump from `CONFIG_DB`. + + Args: + field_name: A string contains the field name in the sub-table of 'config'. + + Returns: + field_value: If field name was found, then returns the corresponding value. + Otherwise, returns "Unknown". + """ + field_value = "Unknown" config_db = ConfigDBConnector() - if config_db is not None: - config_db.connect() - table_data = config_db.get_table('KDUMP') - if table_data is not None: - config_data = table_data.get('config') - if config_data is not None: - if config_data.get('enabled').lower() == 'true': - kdump_is_enabled = True - if kdump_is_enabled: - click.echo("kdump is enabled") + config_db.connect() + kdump_table = config_db.get_table("KDUMP") + if kdump_table and "config" in kdump_table and field_name in kdump_table["config"]: + field_value = kdump_table["config"][field_name] + + return field_value + + +def get_kdump_oper_mode(): + """Fetches the operational mode of Kdump from the execution result of command + `/usr/sbin/kdump-config status`. + + Args: + None. + + Returns: + admin_mode: If Kdump is ready, returns "Ready"; If Kdump is not ready, + returns "Not Ready"; + """ + oper_mode = "Not Ready" + command_stdout = clicommon.run_command("/usr/sbin/kdump-config status", return_cmd=True) + + for line in command_stdout.splitlines(): + if ": ready to kdump" in line: + oper_mode = "Ready" + break + + return oper_mode + + +# +# 'config' subcommand (show kdump config) +# +@kdump.command(name="config", short_help="Show the configuration of Linux kernel dump") +def config(): + admin_mode = "Disabled" + admin_enabled = get_kdump_config("enabled") + if admin_enabled == "true": + admin_mode = "Enabled" + + oper_mode = get_kdump_oper_mode() + + click.echo("Kdump administrative mode: {}".format(admin_mode)) + if admin_mode == "Enabled" and oper_mode == "Not Ready": + click.echo("Kdump operational mode: Ready after reboot") else: - click.echo("kdump is disabled") - -@kdump.command('status') -def status(): - """Show kdump status""" - clicommon.run_command("sonic-kdump-config --status") - clicommon.run_command("sonic-kdump-config --memory") - clicommon.run_command("sonic-kdump-config --num_dumps") - clicommon.run_command("sonic-kdump-config --files") - -@kdump.command('memory') -def memory(): - """Show kdump memory information""" - kdump_memory = "0M-2G:256M,2G-4G:320M,4G-8G:384M,8G-:448M" - config_db = ConfigDBConnector() - if config_db is not None: - config_db.connect() - table_data = config_db.get_table('KDUMP') - if table_data is not None: - config_data = table_data.get('config') - if config_data is not None: - kdump_memory_from_db = config_data.get('memory') - if kdump_memory_from_db is not None: - kdump_memory = kdump_memory_from_db - click.echo("Memory Reserved: {}".format(kdump_memory)) - -@kdump.command('num_dumps') -def num_dumps(): - """Show kdump max number of dump files""" - kdump_num_dumps = "3" - config_db = ConfigDBConnector() - if config_db is not None: - config_db.connect() - table_data = config_db.get_table('KDUMP') - if table_data is not None: - config_data = table_data.get('config') - if config_data is not None: - kdump_num_dumps_from_db = config_data.get('num_dumps') - if kdump_num_dumps_from_db is not None: - kdump_num_dumps = kdump_num_dumps_from_db - click.echo("Maximum number of Kernel Core files Stored: {}".format(kdump_num_dumps)) - -@kdump.command('files') + click.echo("Kdump operational mode: {}".format(oper_mode)) + + mem_config = get_kdump_config("memory") + click.echo("Kdump memory researvation: {}".format(mem_config)) + + num_files_config = get_kdump_config("num_dumps") + click.echo("Maximum number of Kdump files: {}".format(num_files_config)) + + +def get_kdump_core_files(): + """Retrieves the kernel core dump files from directory '/var/crash/'. + + Args: + None. + + Returns: + cmd_message: A string contains the information showing the execution result + of 'find' command. + dump_file_list: A list contains kernel core dump files. + """ + find_core_dump_files = "find /var/crash -name 'kdump.*'" + dump_file_list = [] + cmd_message = None + + command_stdout = clicommon.run_command(find_core_dump_files, return_cmd=True) + + dump_file_list = command_stdout.splitlines() + if not dump_file_list: + cmd_message = "No kernel core dump file available!" + + return cmd_message, dump_file_list + + +def get_kdump_dmesg_files(): + """Retrieves the kernel dmesg files from directory '/var/crash/'. + + Args: + None. + + Returns: + cmd_message: A string contains the information showing the execution result + of 'find' command. + dmesg_file_list: A list contains kernel dmesg files. + """ + find_dmesg_files = "find /var/crash -name 'dmesg.*'" + dmesg_file_list = [] + cmd_message = None + + command_stdout = clicommon.run_command(find_dmesg_files, return_cmd=True) + + dmesg_file_list = command_stdout.splitlines() + if not dmesg_file_list: + cmd_message = "No kernel dmesg file available!" + + return cmd_message, dmesg_file_list + + +# +# 'files' subcommand (show kdump files) +# +@kdump.command(name="files", short_help="Show kernel core dump and dmesg files") def files(): - """Show kdump kernel core dump files""" - clicommon.run_command("sonic-kdump-config --files") - -@kdump.command() -@click.argument('record', required=True) -@click.argument('lines', metavar='', required=False) -def log(record, lines): - """Show kdump kernel core dump file kernel log""" - cmd = "sonic-kdump-config --file {}".format(record) - if lines is not None: - cmd += " --lines {}".format(lines) + core_file_result = [] + dmesg_file_result = [] + body = [] + + cmd_message, core_file_result = get_kdump_core_files() + if not core_file_result: + core_file_result.append(cmd_message) + + cmd_message, dmesg_file_result = get_kdump_dmesg_files() + if not dmesg_file_result: + dmesg_file_result.append(cmd_message) + + core_file_result.sort(reverse=True) + dmesg_file_result.sort(reverse=True) + + header = ["Kernel core dump files", "Kernel dmesg files"] + + for (core_file, dmesg_file) in itertools.zip_longest(core_file_result, dmesg_file_result, fillvalue=""): + body.append([core_file, dmesg_file]) + + click.echo(tabulate(body, header, stralign="center")) + + +# +# 'logging' subcommand (show kdump logging) +# +@kdump.command(name="logging", short_help="Show last 10 lines of lastest kernel dmesg file") +@click.argument('filename', required=False) +@click.option('-l', '--lines', default=10, show_default=True) +def logging(filename, lines): + cmd = "sudo tail -{}".format(lines) + + if filename: + timestamp = filename.strip().split(".")[-1] + file_path = "/var/crash/{}/{}".format(timestamp, filename) + if os.path.isfile(file_path): + cmd += " {}".format(file_path) + else: + click.echo("Invalid filename: '{}'!".format(filename)) + sys.exit(1) + else: + cmd_message, dmesg_file_result = get_kdump_dmesg_files() + if len(dmesg_file_result) == 0: + click.echo(cmd_message) + sys.exit(2) + + dmesg_file_result.sort(reverse=True) + cmd += " {}".format(dmesg_file_result[0]) clicommon.run_command(cmd) From cd3ee788d14a5395f4797b1d8092e372dacead26 Mon Sep 17 00:00:00 2001 From: yozhao101 <56170650+yozhao101@users.noreply.github.com> Date: Sun, 22 Aug 2021 09:55:16 -0700 Subject: [PATCH 274/342] [Config] Update config command of kdump (#1700) Signed-off-by: Yong Zhao yozhao@microsoft.com What I did This PR aims to update the config command of Kdump (Linux kernel dump) mechanism. How I did it Before updating the value of a field in the table of KDUMP, we need decide whether the KDUMP table and corresponding field does exist in the table. How to verify it I verifies this on device str-msn2700-03 and unit test passed. tests/kdump_test.py::TestKdump::test_config_kdump_disable PASSED tests/kdump_test.py::TestKdump::test_config_kdump_enable PASSED tests/kdump_test.py::TestKdump::test_config_kdump_memory PASSED tests/kdump_test.py::TestKdump::test_config_kdump_num_dumps PASSED --- config/kdump.py | 120 +++++++++++++++++++++---------- tests/kdump_test.py | 74 +++++++++++++++++++ tests/mock_tables/config_db.json | 5 ++ 3 files changed, 160 insertions(+), 39 deletions(-) create mode 100644 tests/kdump_test.py diff --git a/config/kdump.py b/config/kdump.py index 61806428d1..1349e8f105 100644 --- a/config/kdump.py +++ b/config/kdump.py @@ -1,44 +1,86 @@ -import os +import sys + import click -import utilities_common.cli as clicommon -from swsscommon.swsscommon import ConfigDBConnector +from utilities_common.cli import AbbreviationGroup, pass_db + -@click.group(cls=clicommon.AbbreviationGroup, name="kdump") +# +# 'kdump' group ('sudo config kdump ...') +# +@click.group(cls=AbbreviationGroup, name="kdump") def kdump(): - """ Configure kdump """ - if os.geteuid() != 0: - exit("Root privileges are required for this operation") - -@kdump.command() -def disable(): - """Disable kdump operation""" - config_db = ConfigDBConnector() - if config_db is not None: - config_db.connect() - config_db.mod_entry("KDUMP", "config", {"enabled": "false"}) - -@kdump.command() -def enable(): - """Enable kdump operation""" - config_db = ConfigDBConnector() - if config_db is not None: - config_db.connect() - config_db.mod_entry("KDUMP", "config", {"enabled": "true"}) - -@kdump.command() + """Configure the KDUMP mechanism""" + pass + + +def check_kdump_table_existence(kdump_table): + """Checks whether the 'KDUMP' table is configured in Config DB. + + Args: + kdump_table: A dictionary represents the key-value pair in sub-table + of 'KDUMP'. + + Returns: + None. + """ + if not kdump_table: + click.echo("Unable to retrieve 'KDUMP' table from Config DB.") + sys.exit(1) + + if "config" not in kdump_table: + click.echo("Unable to retrieve key 'config' from KDUMP table.") + sys.exit(2) + + +# +# 'disable' command ('sudo config kdump disable') +# +@kdump.command(name="disable", short_help="Disable the KDUMP mechanism") +@pass_db +def kdump_disable(db): + """Disable the KDUMP mechanism""" + kdump_table = db.cfgdb.get_table("KDUMP") + check_kdump_table_existence(kdump_table) + + db.cfgdb.mod_entry("KDUMP", "config", {"enabled": "false"}) + + +# +# 'enable' command ('sudo config kdump enable') +# +@kdump.command(name="enable", short_help="Enable the KDUMP mechanism") +@pass_db +def kdump_enable(db): + """Enable the KDUMP mechanism""" + kdump_table = db.cfgdb.get_table("KDUMP") + check_kdump_table_existence(kdump_table) + + db.cfgdb.mod_entry("KDUMP", "config", {"enabled": "true"}) + + +# +# 'memory' command ('sudo config kdump memory ...') +# +@kdump.command(name="memory", short_help="Configure the memory for KDUMP mechanism") @click.argument('kdump_memory', metavar='', required=True) -def memory(kdump_memory): - """Set memory allocated for kdump capture kernel""" - config_db = ConfigDBConnector() - if config_db is not None: - config_db.connect() - config_db.mod_entry("KDUMP", "config", {"memory": kdump_memory}) - -@kdump.command('num-dumps') +@pass_db +def kdump_memory(db, kdump_memory): + """Reserve memory for kdump capture kernel""" + kdump_table = db.cfgdb.get_table("KDUMP") + check_kdump_table_existence(kdump_table) + + db.cfgdb.mod_entry("KDUMP", "config", {"memory": kdump_memory}) + + +# +# 'num_dumps' command ('sudo config keump num_dumps ...') +# +@kdump.command(name="num_dumps", short_help="Configure the maximum dump files of KDUMP mechanism") @click.argument('kdump_num_dumps', metavar='', required=True, type=int) -def num_dumps(kdump_num_dumps): - """Set max number of dump files for kdump""" - config_db = ConfigDBConnector() - if config_db is not None: - config_db.connect() - config_db.mod_entry("KDUMP", "config", {"num_dumps": kdump_num_dumps}) +@pass_db +def kdump_num_dumps(db, kdump_num_dumps): + """Set maximum number of dump files for kdump""" + kdump_table = db.cfgdb.get_table("KDUMP") + check_kdump_table_existence(kdump_table) + + db.cfgdb.mod_entry("KDUMP", "config", {"num_dumps": kdump_num_dumps}) diff --git a/tests/kdump_test.py b/tests/kdump_test.py new file mode 100644 index 0000000000..18f14181b3 --- /dev/null +++ b/tests/kdump_test.py @@ -0,0 +1,74 @@ +import importlib + +from click.testing import CliRunner +from utilities_common.db import Db + + +class TestKdump(object): + @classmethod + def setup_class(cls): + print("SETUP") + + def test_config_kdump_disable(self, get_cmd_module): + (config, show) = get_cmd_module + db = Db() + runner = CliRunner() + result = runner.invoke(config.config.commands["kdump"].commands["disable"], obj=db) + print(result.exit_code) + assert result.exit_code == 0 + + # Delete the 'KDUMP' table. + db.cfgdb.delete_table("KDUMP") + + result = runner.invoke(config.config.commands["kdump"].commands["disable"], obj=db) + print(result.exit_code) + assert result.exit_code == 1 + + def test_config_kdump_enable(self, get_cmd_module): + (config, show) = get_cmd_module + db = Db() + runner = CliRunner() + result = runner.invoke(config.config.commands["kdump"].commands["enable"], obj=db) + print(result.exit_code) + assert result.exit_code == 0 + + # Delete the 'KDUMP' table. + db.cfgdb.delete_table("KDUMP") + + result = runner.invoke(config.config.commands["kdump"].commands["enable"], obj=db) + print(result.exit_code) + assert result.exit_code == 1 + + def test_config_kdump_memory(self, get_cmd_module): + (config, show) = get_cmd_module + db = Db() + runner = CliRunner() + result = runner.invoke(config.config.commands["kdump"].commands["memory"], ["256MB"], obj=db) + print(result.exit_code) + assert result.exit_code == 0 + + # Delete the 'KDUMP' table. + db.cfgdb.delete_table("KDUMP") + + result = runner.invoke(config.config.commands["kdump"].commands["memory"], ["256MB"], obj=db) + print(result.exit_code) + assert result.exit_code == 1 + + def test_config_kdump_num_dumps(self, get_cmd_module): + (config, show) = get_cmd_module + db = Db() + runner = CliRunner() + result = runner.invoke(config.config.commands["kdump"].commands["num_dumps"], ["10"], obj=db) + print(result.exit_code) + assert result.exit_code == 0 + + # Delete the 'KDUMP' table. + db.cfgdb.delete_table("KDUMP") + + result = runner.invoke(config.config.commands["kdump"].commands["num_dumps"], ["10"], obj=db) + print(result.exit_code) + assert result.exit_code == 1 + + @classmethod + def teardown_class(cls): + print("TEARDOWN") diff --git a/tests/mock_tables/config_db.json b/tests/mock_tables/config_db.json index 4fe3ecc36b..dc279092c8 100644 --- a/tests/mock_tables/config_db.json +++ b/tests/mock_tables/config_db.json @@ -684,6 +684,11 @@ "DEBUG_COUNTER_DROP_REASON|DEBUG_2|IP_HEADER_ERROR": {}, "DEBUG_COUNTER_DROP_REASON|DEBUG_2|NO_L3_HEADER": {}, "DEBUG_COUNTER_DROP_REASON|lowercase_counter|L2_ANY": {}, + "KDUMP|config": { + "enabled": "false", + "memory": "256MB", + "num_dumps": "3" + }, "FEATURE|bgp": { "state": "enabled", "auto_restart": "enabled", From 27502f0e2f58c742dfa508b260a59d45092114ae Mon Sep 17 00:00:00 2001 From: shlomibitton <60430976+shlomibitton@users.noreply.github.com> Date: Mon, 23 Aug 2021 13:26:15 +0300 Subject: [PATCH 275/342] [dhcp_relay] Update CLI reference document and add a new API for ip address type (#1717) #### What I did Update CLI reference document following PR : https://github.com/Azure/sonic-buildimage/pull/8211 Add a new API on utilities_common to get IP type. #### How I did it - Update doc/Command-Reference.md with new DHCP CLI. - Add ipaddress_type API to utilities_common/cli.py #### How to verify it - Build an image with PR https://github.com/Azure/sonic-buildimage/pull/8211 and this PR. - Run DHCP CLI commands --- doc/Command-Reference.md | 20 +++++++++++++++----- utilities_common/cli.py | 12 ++++++++++++ 2 files changed, 27 insertions(+), 5 deletions(-) diff --git a/doc/Command-Reference.md b/doc/Command-Reference.md index 35d7b28aef..26b23ac31c 100644 --- a/doc/Command-Reference.md +++ b/doc/Command-Reference.md @@ -2231,27 +2231,32 @@ This sub-section of commands is used to add or remove the DHCP Relay Destination **config vlan dhcp_relay add** -This command is used to add a DHCP Relay Destination IP address to the a VLAN. Note that more that one DHCP Relay Destination IP address can be added on a VLAN interface. +This command is used to add a DHCP Relay Destination IP address or multiple IP addresses to a VLAN. Note that more than one DHCP Relay Destination IP address can be added on a VLAN interface. - Usage: ``` - config vlan dhcp_relay add + config vlan dhcp_relay add ``` - Example: ``` admin@sonic:~$ sudo config vlan dhcp_relay add 1000 7.7.7.7 - Added DHCP relay destination address 7.7.7.7 to Vlan1000 + Added DHCP relay destination address ['7.7.7.7'] to Vlan1000 + Restarting DHCP relay service... + ``` + ``` + admin@sonic:~$ sudo config vlan dhcp_relay add 1000 7.7.7.7 1.1.1.1 + Added DHCP relay destination address ['7.7.7.7', '1.1.1.1'] to Vlan1000 Restarting DHCP relay service... ``` **config vlan dhcp_relay delete** -This command is used to delete a configured DHCP Relay Destination IP address from a VLAN interface. +This command is used to delete a configured DHCP Relay Destination IP address or multiple IP addresses from a VLAN interface. - Usage: ``` - config vlan dhcp_relay del + config vlan dhcp_relay del ``` - Example: @@ -2260,6 +2265,11 @@ This command is used to delete a configured DHCP Relay Destination IP address fr Removed DHCP relay destination address 7.7.7.7 from Vlan1000 Restarting DHCP relay service... ``` + ``` + admin@sonic:~$ sudo config vlan dhcp_relay del 1000 7.7.7.7 1.1.1.1 + Removed DHCP relay destination address ('7.7.7.7', '1.1.1.1') from Vlan1000 + Restarting DHCP relay service... + ``` Go Back To [Beginning of the document](#) or [Beginning of this section](#dhcp-relay) diff --git a/utilities_common/cli.py b/utilities_common/cli.py index 59aa36a7c0..9c0d0afe67 100644 --- a/utilities_common/cli.py +++ b/utilities_common/cli.py @@ -7,6 +7,7 @@ import click import json +import netaddr from natsort import natsorted from sonic_py_common import multi_asic @@ -203,6 +204,17 @@ def is_ipaddress(val): return False return True +def ipaddress_type(val): + """ Return the IP address type """ + if not val: + return None + + try: + ip_version = netaddr.IPAddress(str(val)) + except netaddr.core.AddrFormatError: + return None + + return ip_version.version def is_ip_prefix_in_key(key): ''' From e12c1c82c26bc67f887c4324066af002b30119ad Mon Sep 17 00:00:00 2001 From: Renuka Manavalan <47282725+renukamanavalan@users.noreply.github.com> Date: Mon, 23 Aug 2021 20:50:21 -0700 Subject: [PATCH 276/342] disk_check: Script updated to run good in 201811 & 201911 (#1747) What I did Have independent subdirs for each mounted dir to avoid any collisions of files/dirs by same name. Adopt for older version of python3 How I did it Changes: Individual subdirs for each dir to be mounted subprocess args made compatible with older version of python3 (tested in version 3.5.3) How to verify it Simulate read-only state Run this script Test ssh via new tacacs user (who had not logged in earlier) --- scripts/disk_check.py | 19 +++++++++++++++---- tests/disk_check_test.py | 8 ++++++-- 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/scripts/disk_check.py b/scripts/disk_check.py index b13f1335f0..4fa8d69746 100644 --- a/scripts/disk_check.py +++ b/scripts/disk_check.py @@ -21,6 +21,11 @@ Monit may be used to invoke it periodically, to help scan & fix and report via syslog. +Tidbit: + If you would like to test this script, you could simulate a RO disk + with the following command. Reboot will revert the effect. + sudo bash -c "echo u > /proc/sysrq-trigger" + """ import argparse @@ -64,7 +69,7 @@ def test_writable(dirs): def run_cmd(cmd): - proc = subprocess.run(cmd, shell=True, text=True, capture_output=True) + proc = subprocess.run(cmd, shell=True, stdout=subprocess.PIPE) ret = proc.returncode if ret: log_err("failed: ret={} cmd={}".format(ret, cmd)) @@ -72,9 +77,9 @@ def run_cmd(cmd): log_info("ret={} cmd: {}".format(ret, cmd)) if proc.stdout: - log_info("stdout: {}".format(str(proc.stdout))) + log_info("stdout: {}".format(proc.stdout.decode("utf-8"))) if proc.stderr: - log_info("stderr: {}".format(str(proc.stderr))) + log_info("stderr: {}".format(proc.stderr.decode("utf-8"))) return ret @@ -95,9 +100,15 @@ def do_mnt(dirs): return 1 for d in dirs: + d_name = get_dname(d) + d_upper = os.path.join(UPPER_DIR, d_name) + d_work = os.path.join(WORK_DIR, d_name) + os.mkdir(d_upper) + os.mkdir(d_work) + ret = run_cmd("mount -t overlay overlay_{} -o lowerdir={}," "upperdir={},workdir={} {}".format( - get_dname(d), d, UPPER_DIR, WORK_DIR, d)) + d_name, d, d_upper, d_work, d)) if ret: break diff --git a/tests/disk_check_test.py b/tests/disk_check_test.py index b5ad7a489c..ce4faad900 100644 --- a/tests/disk_check_test.py +++ b/tests/disk_check_test.py @@ -2,6 +2,7 @@ import syslog from unittest.mock import patch import pytest +import subprocess sys.path.append("scripts") import disk_check @@ -26,7 +27,7 @@ "workdir": "/tmp/tmpy", "mounts": "overlay_tmpx blahblah", "err": "/tmpx is not read-write|READ-ONLY: Mounted ['/tmpx'] to make Read-Write", - "cmds": ['mount -t overlay overlay_tmpx -o lowerdir=/tmpx,upperdir=/tmp/tmpx,workdir=/tmp/tmpy /tmpx'] + "cmds": ['mount -t overlay overlay_tmpx -o lowerdir=/tmpx,upperdir=/tmp/tmpx/tmpx,workdir=/tmp/tmpy/tmpx /tmpx'] }, "3": { "desc": "Not good as /tmpx is not read-write; mount fail as create of upper fails", @@ -90,9 +91,12 @@ def __init__(self, proc_upd = None): self.stderr = proc_upd.get("stderr", None) -def mock_subproc_run(cmd, shell, text, capture_output): +def mock_subproc_run(cmd, shell, stdout): global cmds + assert shell == True + assert stdout == subprocess.PIPE + upd = (current_tc["proc"][len(cmds)] if len(current_tc.get("proc", [])) > len(cmds) else None) cmds.append(cmd) From 37039f588f33e722c8a35ad29fac42f6bc358968 Mon Sep 17 00:00:00 2001 From: vdahiya12 <67608553+vdahiya12@users.noreply.github.com> Date: Tue, 24 Aug 2021 23:04:12 -0700 Subject: [PATCH 277/342] [show][config] cli refactor for muxcable with abstract class implementation from vendors (#1722) Signed-off-by: vaibhav-dahiya vdahiya@microsoft.com What I did this PR adds support for cli refactor which is done for abstract class implementation of muxcable which is provided by vendors. detailed design doc can be found Azure/SONiC#757 How I did it Added the changes in muxcable.py in show and config . How to verify it add unit-tests as well as run on a Arista-7050cx3 switch, run unit tests. no change in outputs, just the functionality has changed. Signed-off-by: vaibhav-dahiya --- config/muxcable.py | 825 +++++++++++++++++++---------------------- show/muxcable.py | 803 ++++++++++++++++++++------------------- tests/muxcable_test.py | 86 +++++ 3 files changed, 901 insertions(+), 813 deletions(-) diff --git a/config/muxcable.py b/config/muxcable.py index bd6fb7d4b7..2817252971 100644 --- a/config/muxcable.py +++ b/config/muxcable.py @@ -1,18 +1,25 @@ import json import os import sys +import time import click import re import utilities_common.cli as clicommon from sonic_py_common import multi_asic from swsscommon.swsscommon import SonicV2Connector, ConfigDBConnector +from swsscommon import swsscommon from tabulate import tabulate from utilities_common import platform_sfputil_helper platform_sfputil = None REDIS_TIMEOUT_MSECS = 0 +SELECT_TIMEOUT = 1000 + +# The empty namespace refers to linux host namespace. +EMPTY_NAMESPACE = '' + CONFIG_SUCCESSFUL = 0 CONFIG_FAIL = 1 @@ -22,6 +29,9 @@ # Helper functions +def db_connect(db_name, namespace=EMPTY_NAMESPACE): + return swsscommon.DBConnector(db_name, REDIS_TIMEOUT_MSECS, True, namespace) + def get_value_for_key_in_dict(mdict, port, key, table_name): value = mdict.get(key, None) if value is None: @@ -29,10 +39,152 @@ def get_value_for_key_in_dict(mdict, port, key, table_name): sys.exit(CONFIG_FAIL) return value -# -# 'muxcable' command ("config muxcable") -# +def delete_all_keys_in_db_table(db_type, table_name): + + redis_db = {} + table = {} + table_keys = {} + + namespaces = multi_asic.get_front_end_namespaces() + for namespace in namespaces: + asic_id = multi_asic.get_asic_index_from_namespace(namespace) + redis_db[asic_id] = db_connect(db_type, namespace) + table[asic_id] = swsscommon.Table(redis_db[asic_id], table_name) + table_keys[asic_id] = table[asic_id].getKeys() + for key in table_keys[asic_id]: + table[asic_id]._del(key) + + +def update_and_get_response_for_xcvr_cmd(cmd_name, rsp_name, exp_rsp, cmd_table_name, rsp_table_name, port, cmd_timeout_secs, arg=None): + + res_dict = {} + state_db, appl_db = {}, {} + firmware_rsp_tbl, firmware_rsp_tbl_keys = {}, {} + firmware_rsp_sub_tbl = {} + firmware_cmd_tbl = {} + + CMD_TIMEOUT_SECS = cmd_timeout_secs + + time_start = time.time() + + sel = swsscommon.Select() + namespaces = multi_asic.get_front_end_namespaces() + for namespace in namespaces: + asic_id = multi_asic.get_asic_index_from_namespace(namespace) + state_db[asic_id] = db_connect("STATE_DB", namespace) + appl_db[asic_id] = db_connect("APPL_DB", namespace) + firmware_cmd_tbl[asic_id] = swsscommon.Table(appl_db[asic_id], cmd_table_name) + firmware_rsp_sub_tbl[asic_id] = swsscommon.SubscriberStateTable(state_db[asic_id], rsp_table_name) + firmware_rsp_tbl[asic_id] = swsscommon.Table(state_db[asic_id], rsp_table_name) + firmware_rsp_tbl_keys[asic_id] = firmware_rsp_tbl[asic_id].getKeys() + for key in firmware_rsp_tbl_keys[asic_id]: + firmware_rsp_tbl[asic_id]._del(key) + sel.addSelectable(firmware_rsp_sub_tbl[asic_id]) + + rc = CONFIG_FAIL + res_dict[0] = CONFIG_FAIL + res_dict[1] = 'unknown' + + logical_port_list = platform_sfputil_helper.get_logical_list() + if port not in logical_port_list: + click.echo("ERR: This is not a valid port, valid ports ({})".format(", ".join(logical_port_list))) + res_dict[0] = rc + return res_dict + + asic_index = None + if platform_sfputil is not None: + asic_index = platform_sfputil_helper.get_asic_id_for_logical_port(port) + if asic_index is None: + # TODO this import is only for unit test purposes, and should be removed once sonic_platform_base + # is fully mocked + import sonic_platform_base.sonic_sfp.sfputilhelper + asic_index = sonic_platform_base.sonic_sfp.sfputilhelper.SfpUtilHelper().get_asic_id_for_logical_port(port) + if asic_index is None: + click.echo("Got invalid asic index for port {}, cant perform firmware cmd".format(port)) + res_dict[0] = rc + return res_dict + + if arg is None: + cmd_arg = "null" + else: + cmd_arg = str(arg) + + fvs = swsscommon.FieldValuePairs([(cmd_name, cmd_arg)]) + firmware_cmd_tbl[asic_index].set(port, fvs) + + # Listen indefinitely for changes to the HW_MUX_CABLE_TABLE in the Application DB's + while True: + # Use timeout to prevent ignoring the signals we want to handle + # in signal_handler() (e.g. SIGTERM for graceful shutdown) + + (state, selectableObj) = sel.select(SELECT_TIMEOUT) + + time_now = time.time() + time_diff = time_now - time_start + if time_diff >= CMD_TIMEOUT_SECS: + return res_dict + + if state == swsscommon.Select.TIMEOUT: + # Do not flood log when select times out + continue + if state != swsscommon.Select.OBJECT: + click.echo("sel.select() did not return swsscommon.Select.OBJECT for sonic_y_cable updates") + continue + + # Get the redisselect object from selectable object + redisSelectObj = swsscommon.CastSelectableToRedisSelectObj( + selectableObj) + # Get the corresponding namespace from redisselect db connector object + namespace = redisSelectObj.getDbConnector().getNamespace() + asic_index = multi_asic.get_asic_index_from_namespace(namespace) + + (port_m, op_m, fvp_m) = firmware_rsp_sub_tbl[asic_index].pop() + + if not port_m: + click.echo("Did not receive a port response {}".format(port)) + res_dict[1] = 'unknown' + res_dict[0] = CONFIG_FAIL + firmware_rsp_tbl[asic_index]._del(port) + break + + if port_m != port: + + res_dict[1] = 'unknown' + res_dict[0] = CONFIG_FAIL + firmware_rsp_tbl[asic_index]._del(port) + continue + + if fvp_m: + + fvp_dict = dict(fvp_m) + if rsp_name in fvp_dict: + # check if xcvrd got a probe command + result = fvp_dict[rsp_name] + + + if result == exp_rsp: + res_dict[1] = result + res_dict[0] = 0 + else: + res_dict[1] = result + res_dict[0] = CONFIG_FAIL + + firmware_rsp_tbl[asic_index]._del(port) + break + else: + res_dict[1] = 'unknown' + res_dict[0] = CONFIG_FAIL + firmware_rsp_tbl[asic_index]._del(port) + break + else: + res_dict[1] = 'unknown' + res_dict[0] = CONFIG_FAIL + firmware_rsp_tbl[asic_index]._del(port) + break + + delete_all_keys_in_db_table("STATE_DB", rsp_table_name) + return res_dict def get_value_for_key_in_config_tbl(config_db, port, key, table): info_dict = {} @@ -45,6 +197,9 @@ def get_value_for_key_in_config_tbl(config_db, port, key, table): return value +# +# 'muxcable' command ("config muxcable") +# @click.group(name='muxcable', cls=clicommon.AliasedGroup) def muxcable(): @@ -266,152 +421,46 @@ def state(db, state, port): port = platform_sfputil_helper.get_interface_alias(port, db) - per_npu_statedb = {} - transceiver_table_keys = {} - transceiver_dict = {} - - # Getting all front asic namespace and correspding config and state DB connector - - namespaces = multi_asic.get_front_end_namespaces() - for namespace in namespaces: - asic_id = multi_asic.get_asic_index_from_namespace(namespace) - per_npu_statedb[asic_id] = SonicV2Connector(use_unix_socket_path=False, namespace=namespace) - per_npu_statedb[asic_id].connect(per_npu_statedb[asic_id].STATE_DB) - - transceiver_table_keys[asic_id] = per_npu_statedb[asic_id].keys( - per_npu_statedb[asic_id].STATE_DB, 'TRANSCEIVER_INFO|*') + delete_all_keys_in_db_table("APPL_DB", "XCVRD_CONFIG_HWMODE_DIR_CMD") + delete_all_keys_in_db_table("STATE_DB", "XCVRD_CONFIG_HWMODE_DIR_RSP") if port is not None and port != "all": click.confirm(('Muxcable at port {} will be changed to {} state. Continue?'.format(port, state)), abort=True) - logical_port_list = platform_sfputil_helper.get_logical_list() - if port not in logical_port_list: - click.echo("ERR: This is not a valid port, valid ports ({})".format(", ".join(logical_port_list))) - sys.exit(CONFIG_FAIL) - asic_index = None - if platform_sfputil is not None: - asic_index = platform_sfputil_helper.get_asic_id_for_logical_port(port) - if asic_index is None: - # TODO this import is only for unit test purposes, and should be removed once sonic_platform_base - # is fully mocked - import sonic_platform_base.sonic_sfp.sfputilhelper - asic_index = sonic_platform_base.sonic_sfp.sfputilhelper.SfpUtilHelper().get_asic_id_for_logical_port(port) - if asic_index is None: - click.echo("Got invalid asic index for port {}, cant retreive mux status".format(port)) - sys.exit(CONFIG_FAIL) - - if platform_sfputil is not None: - physical_port_list = platform_sfputil_helper.logical_port_name_to_physical_port_list(port) - - if not isinstance(physical_port_list, list): - click.echo(("ERR: Unable to locate physical port information for {}".format(port))) - sys.exit(CONFIG_FAIL) - if len(physical_port_list) != 1: - click.echo("ERR: Found multiple physical ports ({}) associated with {}".format( - ", ".join(physical_port_list), port)) - sys.exit(CONFIG_FAIL) - - transceiver_dict[asic_index] = per_npu_statedb[asic_index].get_all( - per_npu_statedb[asic_index].STATE_DB, 'TRANSCEIVER_INFO|{}'.format(port)) - - vendor_value = get_value_for_key_in_dict(transceiver_dict[asic_index], port, "manufacturer", "TRANSCEIVER_INFO") - model_value = get_value_for_key_in_dict(transceiver_dict[asic_index], port, "model", "TRANSCEIVER_INFO") - - """ This check is required for checking whether or not this port is connected to a Y cable - or not. The check gives a way to differentiate between non Y cable ports and Y cable ports. - TODO: this should be removed once their is support for multiple vendors on Y cable""" - - if vendor_value != VENDOR_NAME or not re.match(VENDOR_MODEL_REGEX, model_value): - click.echo("ERR: Got invalid vendor value and model for port {}".format(port)) - sys.exit(CONFIG_FAIL) - - physical_port = physical_port_list[0] - - logical_port_list_for_physical_port = platform_sfputil_helper.get_physical_to_logical() - - logical_port_list_per_port = logical_port_list_for_physical_port.get(physical_port, None) - - """ This check is required for checking whether or not this logical port is the one which is - actually mapped to physical port and by convention it is always the first port. - TODO: this should be removed with more logic to check which logical port maps to actual physical port - being used""" + res_dict = {} + res_dict [0] = CONFIG_FAIL + res_dict [1] = "unknown" + res_dict = update_and_get_response_for_xcvr_cmd("config","result", "True", "XCVRD_CONFIG_HWMODE_DIR_CMD", "XCVRD_CONFIG_HWMODE_DIR_RSP", port, 1, state) - if port != logical_port_list_per_port[0]: - click.echo("ERR: This logical Port {} is not on a muxcable".format(port)) - sys.exit(CONFIG_FAIL) + rc = res_dict[0] - import sonic_y_cable.y_cable - read_side = sonic_y_cable.y_cable.check_read_side(physical_port) - if read_side == False or read_side == -1: - click.echo(("ERR: Unable to get read_side for the cable port {}".format(port))) - sys.exit(CONFIG_FAIL) + delete_all_keys_in_db_table("APPL_DB", "XCVRD_CONFIG_HWMODE_DIR_CMD") + delete_all_keys_in_db_table("STATE_DB", "XCVRD_CONFIG_HWMODE_DIR_RSP") - mux_direction = sonic_y_cable.y_cable.check_mux_direction(physical_port) - if mux_direction == False or mux_direction == -1: - click.echo(("ERR: Unable to get mux direction for the cable port {}".format(port))) - sys.exit(CONFIG_FAIL) - - if int(read_side) == 1: - if state == "active": - res = sonic_y_cable.y_cable.toggle_mux_to_torA(physical_port) - elif state == "standby": - res = sonic_y_cable.y_cable.toggle_mux_to_torB(physical_port) - click.echo("Success in toggling port {} to {}".format(port, state)) - elif int(read_side) == 2: - if state == "active": - res = sonic_y_cable.y_cable.toggle_mux_to_torB(physical_port) - elif state == "standby": - res = sonic_y_cable.y_cable.toggle_mux_to_torA(physical_port) + if rc == 0: click.echo("Success in toggling port {} to {}".format(port, state)) - - if res == False: + else: click.echo("ERR: Unable to toggle port {} to {}".format(port, state)) sys.exit(CONFIG_FAIL) - elif port == "all" and port is not None: + elif port == "all": + click.confirm(('Muxcable at all ports will be changed to {} state. Continue?'.format(state)), abort=True) - click.confirm(('Muxcables at all ports will be changed to {} state. Continue?'.format(state)), abort=True) logical_port_list = platform_sfputil_helper.get_logical_list() - rc = True + rc_exit = 0 + for port in logical_port_list: - if platform_sfputil is not None: - physical_port_list = platform_sfputil_helper.logical_port_name_to_physical_port_list(port) - asic_index = None if platform_sfputil is not None: - asic_index = platform_sfputil_helper.get_asic_id_for_logical_port(port) - if asic_index is None: - # TODO this import is only for unit test purposes, and should be removed once sonic_platform_base - # is fully mocked - import sonic_platform_base.sonic_sfp.sfputilhelper - asic_index = sonic_platform_base.sonic_sfp.sfputilhelper.SfpUtilHelper().get_asic_id_for_logical_port(port) - if asic_index is None: - click.echo("Got invalid asic index for port {}, cant retreive mux status".format(port)) + physical_port_list = platform_sfputil_helper.logical_port_name_to_physical_port_list(port) if not isinstance(physical_port_list, list): - click.echo(("ERR: Unable to locate physical port information for {}".format(port))) continue - if len(physical_port_list) != 1: - click.echo("ERR: Found multiple physical ports ({}) associated with {}".format( - ", ".join(physical_port_list), port)) - continue - - transceiver_dict[asic_index] = per_npu_statedb[asic_index].get_all( - per_npu_statedb[asic_index].STATE_DB, 'TRANSCEIVER_INFO|{}'.format(port)) - vendor_value = transceiver_dict[asic_index].get("manufacturer", None) - model_value = transceiver_dict[asic_index].get("model", None) - - """ This check is required for checking whether or not this port is connected to a Y cable - or not. The check gives a way to differentiate between non Y cable ports and Y cable ports. - TODO: this should be removed once their is support for multiple vendors on Y cable""" - - if vendor_value != VENDOR_NAME or not re.match(VENDOR_MODEL_REGEX, model_value): continue physical_port = physical_port_list[0] - logical_port_list_for_physical_port = platform_sfputil_helper.get_physical_to_logical() logical_port_list_per_port = logical_port_list_for_physical_port.get(physical_port, None) @@ -424,39 +473,24 @@ def state(db, state, port): if port != logical_port_list_per_port[0]: continue - import sonic_y_cable.y_cable - read_side = sonic_y_cable.y_cable.check_read_side(physical_port) - if read_side == False or read_side == -1: - click.echo(("ERR: Unable to get read side for the cable port {}".format(port))) - rc = False - continue + res_dict = {} + res_dict [0] = CONFIG_FAIL + res_dict [1] = 'unknown' - mux_direction = sonic_y_cable.y_cable.check_mux_direction(physical_port) - if mux_direction == False or mux_direction == -1: - click.echo(("ERR: Unable to get mux direction for the cable port {}".format(port))) - rc = False - continue + res_dict = update_and_get_response_for_xcvr_cmd("config","result", "True", "XCVRD_CONFIG_HWMODE_DIR_CMD", "XCVRD_CONFIG_HWMODE_DIR_RSP", port, 1, state) - if int(read_side) == 1: - if state == "active": - res = sonic_y_cable.y_cable.toggle_mux_to_torA(physical_port) - elif state == "standby": - res = sonic_y_cable.y_cable.toggle_mux_to_torB(physical_port) - click.echo("Success in toggling port {} to {}".format(port, state)) - elif int(read_side) == 2: - if state == "active": - res = sonic_y_cable.y_cable.toggle_mux_to_torB(physical_port) - elif state == "standby": - res = sonic_y_cable.y_cable.toggle_mux_to_torA(physical_port) - click.echo("Success in toggling port {} to {}".format(port, state)) + rc = res_dict[0] + + delete_all_keys_in_db_table("APPL_DB", "XCVRD_CONFIG_HWMODE_DIR_CMD") + delete_all_keys_in_db_table("STATE_DB", "XCVRD_CONFIG_HWMODE_DIR_RSP") - if res == False: - rc = False + if rc == 0: + click.echo("Success in toggling port {} to {}".format(port, state)) + else: click.echo("ERR: Unable to toggle port {} to {}".format(port, state)) + rc_exit = CONFIG_FAIL - if rc == False: - click.echo("ERR: Unable to toggle one or more ports to {}".format(state)) - sys.exit(CONFIG_FAIL) + sys.exit(rc_exit) @hwmode.command() @@ -468,132 +502,48 @@ def setswitchmode(db, state, port): port = platform_sfputil_helper.get_interface_alias(port, db) - per_npu_statedb = {} - transceiver_dict = {} - - # Getting all front asic namespace and correspding config and state DB connector - namespaces = multi_asic.get_front_end_namespaces() - for namespace in namespaces: - asic_id = multi_asic.get_asic_index_from_namespace(namespace) - per_npu_statedb[asic_id] = SonicV2Connector(use_unix_socket_path=False, namespace=namespace) - per_npu_statedb[asic_id].connect(per_npu_statedb[asic_id].STATE_DB) + delete_all_keys_in_db_table("APPL_DB", "XCVRD_CONFIG_HWMODE_SWMODE_CMD") + delete_all_keys_in_db_table("STATE_DB", "XCVRD_CONFIG_HWMODE_SWMODE_RSP") if port is not None and port != "all": click.confirm(('Muxcable at port {} will be changed to {} switching mode. Continue?'.format(port, state)), abort=True) - logical_port_list = platform_sfputil_helper.get_logical_list() - if port not in logical_port_list: - click.echo("ERR: This is not a valid port, valid ports ({})".format(", ".join(logical_port_list))) - sys.exit(CONFIG_FAIL) - - asic_index = None - if platform_sfputil is not None: - asic_index = platform_sfputil_helper.get_asic_id_for_logical_port(port) - if asic_index is None: - # TODO this import is only for unit test purposes, and should be removed once sonic_platform_base - # is fully mocked - import sonic_platform_base.sonic_sfp.sfputilhelper - asic_index = sonic_platform_base.sonic_sfp.sfputilhelper.SfpUtilHelper().get_asic_id_for_logical_port(port) - if asic_index is None: - click.echo("Got invalid asic index for port {}, cant retreive mux status".format(port)) - sys.exit(CONFIG_FAIL) - - if platform_sfputil is not None: - physical_port_list = platform_sfputil_helper.logical_port_name_to_physical_port_list(port) - - if not isinstance(physical_port_list, list): - click.echo(("ERR: Unable to locate physical port information for {}".format(port))) - sys.exit(CONFIG_FAIL) - if len(physical_port_list) != 1: - click.echo("ERR: Found multiple physical ports ({}) associated with {}".format( - ", ".join(physical_port_list), port)) - sys.exit(CONFIG_FAIL) - - transceiver_dict[asic_index] = per_npu_statedb[asic_index].get_all( - per_npu_statedb[asic_index].STATE_DB, 'TRANSCEIVER_INFO|{}'.format(port)) - - vendor_value = get_value_for_key_in_dict(transceiver_dict[asic_index], port, "manufacturer", "TRANSCEIVER_INFO") - model_value = get_value_for_key_in_dict(transceiver_dict[asic_index], port, "model", "TRANSCEIVER_INFO") - """ This check is required for checking whether or not this port is connected to a Y cable - or not. The check gives a way to differentiate between non Y cable ports and Y cable ports. - TODO: this should be removed once their is support for multiple vendors on Y cable""" + res_dict = {} + res_dict [0] = CONFIG_FAIL + res_dict [1] = "unknown" + res_dict = update_and_get_response_for_xcvr_cmd("config", "result", "True", "XCVRD_CONFIG_HWMODE_SWMODE_CMD", "XCVRD_CONFIG_HWMODE_SWMODE_RSP", port, 1, state) - if vendor_value != VENDOR_NAME or not re.match(VENDOR_MODEL_REGEX, model_value): - click.echo("ERR: Got invalid vendor value and model for port {}".format(port)) - sys.exit(CONFIG_FAIL) - - physical_port = physical_port_list[0] - - logical_port_list_for_physical_port = platform_sfputil_helper.get_physical_to_logical() - logical_port_list_per_port = logical_port_list_for_physical_port.get(physical_port, None) + rc = res_dict[0] - """ This check is required for checking whether or not this logical port is the one which is - actually mapped to physical port and by convention it is always the first port. - TODO: this should be removed with more logic to check which logical port maps to actual physical port - being used""" + delete_all_keys_in_db_table("APPL_DB", "XCVRD_CONFIG_HWMODE_SWMODE_CMD") + delete_all_keys_in_db_table("STATE_DB", "XCVRD_CONFIG_HWMODE_SWMODE_RSP") - if port != logical_port_list_per_port[0]: - click.echo("ERR: This logical Port {} is not on a muxcable".format(port)) - sys.exit(CONFIG_FAIL) - - if state == "auto": - mode = sonic_y_cable.y_cable.SWITCHING_MODE_AUTO - elif state == "manual": - mode = sonic_y_cable.y_cable.SWITCHING_MODE_MANUAL - import sonic_y_cable.y_cable - result = sonic_y_cable.y_cable.set_switching_mode(physical_port, mode) - if result == False: - click.echo(("ERR: Unable to set switching mode for the cable port {}".format(port))) + if rc == 0: + click.echo("Success in switch muxcable mode port {} to {}".format(port, state)) + else: + click.echo("ERR: Unable to switch muxcable mode port {} to {}".format(port, state)) sys.exit(CONFIG_FAIL) - click.echo("Success in switching mode on port {} to {}".format(port, state)) + elif port == "all": + click.confirm(('Muxcable at all ports will be changed to {} switching mode. Continue?'.format(state)), abort=True) - elif port == "all" and port is not None: - - click.confirm(('Muxcable at port {} will be changed to {} switching mode. Continue?'.format(port, state)), abort=True) logical_port_list = platform_sfputil_helper.get_logical_list() - rc = True + rc_exit = 0 + for port in logical_port_list: - if platform_sfputil is not None: - physical_port_list = platform_sfputil_helper.logical_port_name_to_physical_port_list(port) - asic_index = None if platform_sfputil is not None: - asic_index = platform_sfputil_helper.get_asic_id_for_logical_port(port) - if asic_index is None: - # TODO this import is only for unit test purposes, and should be removed once sonic_platform_base - # is fully mocked - import sonic_platform_base.sonic_sfp.sfputilhelper - asic_index = sonic_platform_base.sonic_sfp.sfputilhelper.SfpUtilHelper().get_asic_id_for_logical_port(port) - if asic_index is None: - click.echo("Got invalid asic index for port {}, cant retreive mux status".format(port)) + physical_port_list = platform_sfputil_helper.logical_port_name_to_physical_port_list(port) if not isinstance(physical_port_list, list): - click.echo(("ERR: Unable to locate physical port information for {}".format(port))) continue - if len(physical_port_list) != 1: - click.echo("ERR: Found multiple physical ports ({}) associated with {}".format( - ", ".join(physical_port_list), port)) - continue - - transceiver_dict[asic_index] = per_npu_statedb[asic_index].get_all( - per_npu_statedb[asic_index].STATE_DB, 'TRANSCEIVER_INFO|{}'.format(port)) - vendor_value = transceiver_dict[asic_index].get("manufacturer", None) - model_value = transceiver_dict[asic_index].get("model", None) - - """ This check is required for checking whether or not this port is connected to a Y cable - or not. The check gives a way to differentiate between non Y cable ports and Y cable ports. - TODO: this should be removed once their is support for multiple vendors on Y cable""" - - if vendor_value != VENDOR_NAME or not re.match(VENDOR_MODEL_REGEX, model_value): continue physical_port = physical_port_list[0] - logical_port_list_for_physical_port = platform_sfputil_helper.get_physical_to_logical() logical_port_list_per_port = logical_port_list_for_physical_port.get(physical_port, None) @@ -606,98 +556,23 @@ def setswitchmode(db, state, port): if port != logical_port_list_per_port[0]: continue - if state == "auto": - mode = sonic_y_cable.y_cable.SWITCHING_MODE_AUTO - elif state == "manual": - mode = sonic_y_cable.y_cable.SWITCHING_MODE_MANUAL - import sonic_y_cable.y_cable - result = sonic_y_cable.y_cable.set_switching_mode(physical_port, mode) - if result == False: - rc = False - click.echo("ERR: Unable to set switching mode on port {} to {}".format(port, state)) + res_dict = {} + res_dict [0] = CONFIG_FAIL + res_dict [1] = "unknown" + res_dict = update_and_get_response_for_xcvr_cmd("config", "result", "True", "XCVRD_CONFIG_HWMODE_SWMODE_CMD", "XCVRD_CONFIG_HWMODE_SWMODE_RSP", port, 1, state) - click.echo("Success in switching mode on port {} to {}".format(port, state)) - - if rc == False: - click.echo("ERR: Unable to set switching mode one or more ports to {}".format(state)) - sys.exit(CONFIG_FAIL) + rc = res_dict[0] + delete_all_keys_in_db_table("APPL_DB", "XCVRD_CONFIG_HWMODE_SWMODE_CMD") + delete_all_keys_in_db_table("STATE_DB", "XCVRD_CONFIG_HWMODE_SWMODE_RSP") -def get_per_npu_statedb(per_npu_statedb, port_table_keys): - - # Getting all front asic namespace and correspding config and state DB connector - - namespaces = multi_asic.get_front_end_namespaces() - for namespace in namespaces: - asic_id = multi_asic.get_asic_index_from_namespace(namespace) - # replace these with correct macros - per_npu_statedb[asic_id] = SonicV2Connector(use_unix_socket_path=True, namespace=namespace) - per_npu_statedb[asic_id].connect(per_npu_statedb[asic_id].STATE_DB) - - port_table_keys[asic_id] = per_npu_statedb[asic_id].keys( - per_npu_statedb[asic_id].STATE_DB, 'MUX_CABLE_TABLE|*') - - -def get_physical_port_list(port): - - physical_port_list = [] - if platform_sfputil is not None: - physical_port_list = platform_sfputil_helper.logical_port_name_to_physical_port_list(port) - - asic_index = None - if platform_sfputil is not None: - asic_index = platform_sfputil_helper.get_asic_id_for_logical_port(port) - if asic_index is None: - # TODO this import is only for unit test purposes, and should be removed once sonic_platform_base - # is fully mocked - import sonic_platform_base.sonic_sfp.sfputilhelper - asic_index = sonic_platform_base.sonic_sfp.sfputilhelper.SfpUtilHelper().get_asic_id_for_logical_port(port) - if asic_index is None: - click.echo("Got invalid asic index for port {}, cant retreive mux status".format(port)) - - if not isinstance(physical_port_list, list): - click.echo(("ERR: Unable to locate physical port information for {}".format(port))) - sys.exit(CONFIG_FAIL) - - if len(physical_port_list) != 1: - click.echo("ERR: Found multiple physical ports ({}) associated with {}".format( - ", ".join(physical_port_list), port)) - sys.exit(CONFIG_FAIL) - - return (physical_port_list, asic_index) - - -def perform_download_firmware(physical_port, fwfile, port): - import sonic_y_cable.y_cable - result = sonic_y_cable.y_cable.download_firmware(physical_port, fwfile) - if result == sonic_y_cable.y_cable.FIRMWARE_DOWNLOAD_SUCCESS: - click.echo("firmware download successful {}".format(port)) - return True - else: - click.echo("firmware download failure {}".format(port)) - return False - - -def perform_activate_firmware(physical_port, port): - import sonic_y_cable.y_cable - result = sonic_y_cable.y_cable.activate_firmware(physical_port) - if result == sonic_y_cable.y_cable.FIRMWARE_ACTIVATE_SUCCESS: - click.echo("firmware activate successful for {}".format(port)) - return True - else: - click.echo("firmware activate failure for {}".format(port)) - return False - + if rc == 0: + click.echo("Success in toggling port {} to {}".format(port, state)) + else: + click.echo("ERR: Unable to toggle port {} to {}".format(port, state)) + rc_exit = CONFIG_FAIL -def perform_rollback_firmware(physical_port, port): - import sonic_y_cable.y_cable - result = sonic_y_cable.y_cable.rollback_firmware(physical_port) - if result == sonic_y_cable.y_cable.FIRMWARE_ROLLBACK_SUCCESS: - click.echo("firmware rollback successful {}".format(port)) - return True - else: - click.echo("firmware rollback failure {}".format(port)) - return False + sys.exit(rc_exit) @muxcable.group(cls=clicommon.AbbreviationGroup) @@ -715,149 +590,229 @@ def download(db, fwfile, port): port = platform_sfputil_helper.get_interface_alias(port, db) - per_npu_statedb = {} - y_cable_asic_table_keys = {} - port_table_keys = {} - - get_per_npu_statedb(per_npu_statedb, port_table_keys) + delete_all_keys_in_db_table("STATE_DB", "XCVRD_DOWN_FW_RSP") + delete_all_keys_in_db_table("APPL_DB", "XCVRD_DOWN_FW_CMD") if port is not None and port != "all": - physical_port_list = [] - physical_port_list, asic_index = get_physical_port_list(port) - physical_port = physical_port_list[0] - if per_npu_statedb[asic_index] is not None: - y_cable_asic_table_keys = port_table_keys[asic_index] - logical_key = "MUX_CABLE_TABLE|{}".format(port) - if logical_key in y_cable_asic_table_keys: - perform_download_firmware(physical_port, fwfile, port) + res_dict = {} + res_dict [0] = CONFIG_FAIL + res_dict [1] = "unknown" + res_dict = update_and_get_response_for_xcvr_cmd("download_firmware", "status", "0", "XCVRD_DOWN_FW_CMD", "XCVRD_DOWN_FW_RSP", port, 1000, fwfile) - else: - click.echo("this is not a valid port present on mux_cable".format(port)) - sys.exit(CONFIG_FAIL) + rc = res_dict[0] + + delete_all_keys_in_db_table("STATE_DB", "XCVRD_DOWN_FW_RSP") + delete_all_keys_in_db_table("APPL_DB", "XCVRD_DOWN_FW_CMD") + + if rc == 0: + click.echo("Success in downloading firmware port {} {}".format(port, fwfile)) else: - click.echo("there is not a valid asic table for this asic_index".format(asic_index)) + click.echo("ERR: Unable to download firmware port {} {}".format(port, fwfile)) sys.exit(CONFIG_FAIL) - elif port == "all" and port is not None: + elif port == "all": + click.confirm(('Muxcable at all ports will be changed to {} switching mode. Continue?'.format(state)), abort=True) - rc = CONFIG_SUCCESSFUL - for namespace in namespaces: - asic_id = multi_asic.get_asic_index_from_namespace(namespace) - for key in port_table_keys[asic_id]: - port = key.split("|")[1] + logical_port_list = platform_sfputil_helper.get_logical_list() - physical_port_list = [] - (physical_port_list, asic_index) = get_physical_port_list(port) + rc_exit = True - physical_port = physical_port_list[0] + for port in logical_port_list: - status = perform_download_firmware(physical_port, fwfile, port) + if platform_sfputil is not None: + physical_port_list = platform_sfputil_helper.logical_port_name_to_physical_port_list(port) - if status is not True: - rc = CONFIG_FAIL + if not isinstance(physical_port_list, list): + continue + if len(physical_port_list) != 1: + continue - sys.exit(rc) + physical_port = physical_port_list[0] + logical_port_list_for_physical_port = platform_sfputil_helper.get_physical_to_logical() + + logical_port_list_per_port = logical_port_list_for_physical_port.get(physical_port, None) + + """ This check is required for checking whether or not this logical port is the one which is + actually mapped to physical port and by convention it is always the first port. + TODO: this should be removed with more logic to check which logical port maps to actual physical port + being used""" + + if port != logical_port_list_per_port[0]: + continue + + res_dict = {} + + res_dict [0] = CONFIG_FAIL + res_dict [1] = "unknown" + res_dict = update_and_get_response_for_xcvr_cmd("download_firmware", "status", "0", "XCVRD_DOWN_FW_CMD", "XCVRD_DOWN_FW_RSP", port, 1000, fwfile) + + rc = res_dict[0] + + delete_all_keys_in_db_table("STATE_DB", "XCVRD_DOWN_FW_RSP") + delete_all_keys_in_db_table("APPL_DB", "XCVRD_DOWN_FW_CMD") + + if rc == 0: + click.echo("Success in downloading firmware port {} {}".format(port, fwfile)) + else: + click.echo("ERR: Unable to download firmware port {} {}".format(port, fwfile)) + rc_exit = CONFIG_FAIL + + sys.exit(rc_exit) @firmware.command() @click.argument('port', metavar='', required=True, default=None) +@click.argument('fwfile', metavar='', required=False, default=None) @clicommon.pass_db -def activate(db, port): +def activate(db, port, fwfile): """Config muxcable firmware activate""" port = platform_sfputil_helper.get_interface_alias(port, db) - per_npu_statedb = {} - y_cable_asic_table_keys = {} - port_table_keys = {} - - get_per_npu_statedb(per_npu_statedb, port_table_keys) + delete_all_keys_in_db_table("STATE_DB", "XCVRD_ACTI_FW_RSP") + delete_all_keys_in_db_table("APPL_DB", "XCVRD_ACTI_FW_CMD") if port is not None and port != "all": - physical_port_list = [] - (physical_port_list, asic_index) = get_physical_port_list(port) - physical_port = physical_port_list[0] - if per_npu_statedb[asic_index] is not None: - y_cable_asic_table_keys = port_table_keys[asic_index] - logical_key = "MUX_CABLE_TABLE|{}".format(port) - if logical_key in y_cable_asic_table_keys: - perform_activate_firmware(physical_port, port) + res_dict = {} + res_dict [0] = CONFIG_FAIL + res_dict [1] = "unknown" + res_dict = update_and_get_response_for_xcvr_cmd("activate_firmware", "status", "0", "XCVRD_ACTI_FW_CMD", "XCVRD_ACTI_FW_RSP", port, 60, fwfile) - else: - click.echo("this is not a valid port present on mux_cable".format(port)) - sys.exit(CONFIG_FAIL) + rc = res_dict[0] + + delete_all_keys_in_db_table("STATE_DB", "XCVRD_ACTI_FW_RSP") + delete_all_keys_in_db_table("APPL_DB", "XCVRD_ACTI_FW_CMD") + + if rc == 0: + click.echo("Success in activate firmware port {} fwfile {}".format(port, fwfile)) else: - click.echo("there is not a valid asic table for this asic_index".format(asic_index)) + click.echo("ERR: Unable to activate firmware port {} fwfile {}".format(port, fwfile)) sys.exit(CONFIG_FAIL) - elif port == "all" and port is not None: + elif port == "all": - rc = CONFIG_SUCCESSFUL - for namespace in namespaces: - asic_id = multi_asic.get_asic_index_from_namespace(namespace) - for key in port_table_keys[asic_id]: - port = key.split("|")[1] + logical_port_list = platform_sfputil_helper.get_logical_list() - physical_port_list = [] + rc_exit = True - (physical_port_list, asic_index) = get_physical_port_list(port) - physical_port = physical_port_list[0] - status = perform_activate_firmware(physical_port, port) + for port in logical_port_list: - if status is not True: - rc = CONFIG_FAIL + if platform_sfputil is not None: + physical_port_list = platform_sfputil_helper.logical_port_name_to_physical_port_list(port) - sys.exit(rc) + if not isinstance(physical_port_list, list): + continue + if len(physical_port_list) != 1: + continue + + physical_port = physical_port_list[0] + logical_port_list_for_physical_port = platform_sfputil_helper.get_physical_to_logical() + + logical_port_list_per_port = logical_port_list_for_physical_port.get(physical_port, None) + + """ This check is required for checking whether or not this logical port is the one which is + actually mapped to physical port and by convention it is always the first port. + TODO: this should be removed with more logic to check which logical port maps to actual physical port + being used""" + + if port != logical_port_list_per_port[0]: + continue + + res_dict = {} + + res_dict [0] = CONFIG_FAIL + res_dict [1] = "unknown" + res_dict = update_and_get_response_for_xcvr_cmd("activate_firmware", "status", "0", "XCVRD_ACTI_FW_CMD", "XCVRD_ACTI_FW_RSP", port, 60, fwfile) + + delete_all_keys_in_db_table("STATE_DB", "XCVRD_ACTI_FW_RSP") + delete_all_keys_in_db_table("APPL_DB", "XCVRD_ACTI_FW_CMD") + + rc = res_dict[0] + + if rc == 0: + click.echo("Success in activate firmware port {} fwfile {}".format(port, fwfile)) + else: + click.echo("ERR: Unable to activate firmware port {} fwfile {}".format(port, fwfile)) + rc_exit = CONFIG_FAIL + + sys.exit(rc_exit) @firmware.command() @click.argument('port', metavar='', required=True, default=None) +@click.argument('fwfile', metavar='', required=False, default=None) @clicommon.pass_db -def rollback(db, port): +def rollback(db, port, fwfile): """Config muxcable firmware rollback""" port = platform_sfputil_helper.get_interface_alias(port, db) - port_table_keys = {} - y_cable_asic_table_keys = {} - per_npu_statedb = {} - - get_per_npu_statedb(per_npu_statedb, port_table_keys) + delete_all_keys_in_db_table("STATE_DB", "XCVRD_ROLL_FW_RSP") + delete_all_keys_in_db_table("APPL_DB", "XCVRD_ROLL_FW_CMD") if port is not None and port != "all": - physical_port_list = [] - (physical_port_list, asic_index) = get_physical_port_list(port) - physical_port = physical_port_list[0] - if per_npu_statedb[asic_index] is not None: - y_cable_asic_table_keys = port_table_keys[asic_index] - logical_key = "MUX_CABLE_TABLE|{}".format(port) - if logical_key in y_cable_asic_table_keys: - perform_rollback_firmware(physical_port, port) + res_dict = {} + res_dict [0] = CONFIG_FAIL + res_dict [1] = "unknown" + res_dict = update_and_get_response_for_xcvr_cmd("rollback_firmware", "status", "0", "XCVRD_ROLL_FW_CMD", "XCVRD_ROLL_FW_RSP", port, 60, fwfile) - else: - click.echo("this is not a valid port present on mux_cable".format(port)) - sys.exit(CONFIG_FAIL) + delete_all_keys_in_db_table("STATE_DB", "XCVRD_ROLL_FW_RSP") + delete_all_keys_in_db_table("APPL_DB", "XCVRD_ROLL_FW_CMD") + + rc = res_dict[0] + if rc == 0: + click.echo("Success in rollback firmware port {} fwfile {}".format(port, fwfile)) else: - click.echo("there is not a valid asic table for this asic_index".format(asic_index)) + click.echo("ERR: Unable to rollback firmware port {} fwfile {}".format(port, fwfile)) sys.exit(CONFIG_FAIL) - elif port == "all" and port is not None: + elif port == "all": - rc = CONFIG_SUCCESSFUL - for namespace in namespaces: - asic_id = multi_asic.get_asic_index_from_namespace(namespace) - for key in port_table_keys[asic_id]: - port = key.split("|")[1] + logical_port_list = platform_sfputil_helper.get_logical_list() + + rc_exit = True + + for port in logical_port_list: + + if platform_sfputil is not None: + physical_port_list = platform_sfputil_helper.logical_port_name_to_physical_port_list(port) + + if not isinstance(physical_port_list, list): + continue + if len(physical_port_list) != 1: + continue + + physical_port = physical_port_list[0] + logical_port_list_for_physical_port = platform_sfputil_helper.get_physical_to_logical() + + logical_port_list_per_port = logical_port_list_for_physical_port.get(physical_port, None) + + """ This check is required for checking whether or not this logical port is the one which is + actually mapped to physical port and by convention it is always the first port. + TODO: this should be removed with more logic to check which logical port maps to actual physical port + being used""" + + if port != logical_port_list_per_port[0]: + continue + + res_dict = {} + + res_dict [0] = CONFIG_FAIL + res_dict [1] = "unknown" + res_dict = update_and_get_response_for_xcvr_cmd("rollback_firmware", "status", "0", "XCVRD_ROLL_FW_CMD", "XCVRD_ROLL_FW_RSP", port, 60, fwfile) - physical_port_list = [] - (physical_port_list, asic_index) = get_physical_port_list(port) - physical_port = physical_port_list[0] - status = perform_rollback_firmware(physical_port, port) + delete_all_keys_in_db_table("STATE_DB", "XCVRD_ROLL_FW_RSP") + delete_all_keys_in_db_table("APPL_DB", "XCVRD_ROLL_FW_CMD") - if status is not True: - rc = CONFIG_FAIL + rc = res_dict[0] + + if rc == 0: + click.echo("Success in rollback firmware port {} fwfile {}".format(port, fwfile)) + else: + click.echo("ERR: Unable to rollback firmware port {} fwfile {}".format(port, fwfile)) + rc_exit = CONFIG_FAIL - sys.exit(rc) + sys.exit(rc_exit) diff --git a/show/muxcable.py b/show/muxcable.py index 41a3c7c4d5..ec18fe5937 100644 --- a/show/muxcable.py +++ b/show/muxcable.py @@ -1,6 +1,7 @@ import json import os import sys +import time import click import re @@ -17,6 +18,10 @@ platform_sfputil = None REDIS_TIMEOUT_MSECS = 0 +SELECT_TIMEOUT = 1000 + +# The empty namespace refers to linux host namespace. +EMPTY_NAMESPACE = '' CONFIG_SUCCESSFUL = 0 CONFIG_FAIL = 1 @@ -28,6 +33,196 @@ VENDOR_NAME = "Credo" VENDOR_MODEL_REGEX = re.compile(r"CAC\w{3}321P2P\w{2}MS") + +def db_connect(db_name, namespace=EMPTY_NAMESPACE): + return swsscommon.DBConnector(db_name, REDIS_TIMEOUT_MSECS, True, namespace) + + +def delete_all_keys_in_db_table(db_type, table_name): + + redis_db = {} + table = {} + table_keys = {} + + namespaces = multi_asic.get_front_end_namespaces() + for namespace in namespaces: + asic_id = multi_asic.get_asic_index_from_namespace(namespace) + redis_db[asic_id] = db_connect(db_type, namespace) + table[asic_id] = swsscommon.Table(redis_db[asic_id], table_name) + table_keys[asic_id] = table[asic_id].getKeys() + for key in table_keys[asic_id]: + table[asic_id]._del(key) + + +def get_response_for_version(port, mux_info_dict): + state_db = {} + xcvrd_show_fw_res_tbl = {} + + namespaces = multi_asic.get_front_end_namespaces() + for namespace in namespaces: + asic_id = multi_asic.get_asic_index_from_namespace(namespace) + state_db[asic_id] = db_connect("STATE_DB", namespace) + xcvrd_show_fw_res_tbl[asic_id] = swsscommon.Table(state_db[asic_id], "XCVRD_SHOW_FW_RES") + + logical_port_list = platform_sfputil_helper.get_logical_list() + if port not in logical_port_list: + click.echo("ERR: This is not a valid port, valid ports ({})".format(", ".join(logical_port_list))) + rc = EXIT_FAIL + res_dict[1] = rc + return mux_info_dict + + asic_index = None + if platform_sfputil is not None: + asic_index = platform_sfputil_helper.get_asic_id_for_logical_port(port) + if asic_index is None: + # TODO this import is only for unit test purposes, and should be removed once sonic_platform_base + # is fully mocked + import sonic_platform_base.sonic_sfp.sfputilhelper + asic_index = sonic_platform_base.sonic_sfp.sfputilhelper.SfpUtilHelper().get_asic_id_for_logical_port(port) + if asic_index is None: + click.echo("Got invalid asic index for port {}, cant retreive mux status".format(port)) + rc = CONFIG_FAIL + res_dict[1] = rc + return mux_info_dict + + (status, fvp) = xcvrd_show_fw_res_tbl[asic_index].get(port) + res_dir = dict(fvp) + mux_info_dict["version_nic_active"] = res_dir.get("version_nic_active", None) + mux_info_dict["version_nic_inactive"] = res_dir.get("version_nic_inactive", None) + mux_info_dict["version_nic_next"] = res_dir.get("version_nic_next", None) + mux_info_dict["version_peer_active"] = res_dir.get("version_peer_active", None) + mux_info_dict["version_peer_inactive"] = res_dir.get("version_peer_inactive", None) + mux_info_dict["version_peer_next"] = res_dir.get("version_peer_next", None) + mux_info_dict["version_self_active"] = res_dir.get("version_self_active", None) + mux_info_dict["version_self_inactive"] = res_dir.get("version_self_inactive", None) + mux_info_dict["version_self_next"] = res_dir.get("version_self_next", None) + + return mux_info_dict + + +def update_and_get_response_for_xcvr_cmd(cmd_name, rsp_name, exp_rsp, cmd_table_name, rsp_table_name, port, cmd_timeout_secs, arg=None): + + res_dict = {} + state_db, appl_db = {}, {} + firmware_rsp_tbl, firmware_rsp_tbl_keys = {}, {} + firmware_rsp_sub_tbl = {} + firmware_cmd_tbl = {} + + CMD_TIMEOUT_SECS = cmd_timeout_secs + + time_start = time.time() + + sel = swsscommon.Select() + namespaces = multi_asic.get_front_end_namespaces() + for namespace in namespaces: + asic_id = multi_asic.get_asic_index_from_namespace(namespace) + state_db[asic_id] = db_connect("STATE_DB", namespace) + appl_db[asic_id] = db_connect("APPL_DB", namespace) + firmware_cmd_tbl[asic_id] = swsscommon.Table(appl_db[asic_id], cmd_table_name) + firmware_rsp_sub_tbl[asic_id] = swsscommon.SubscriberStateTable(state_db[asic_id], rsp_table_name) + firmware_rsp_tbl[asic_id] = swsscommon.Table(state_db[asic_id], rsp_table_name) + firmware_rsp_tbl_keys[asic_id] = firmware_rsp_tbl[asic_id].getKeys() + for key in firmware_rsp_tbl_keys[asic_id]: + firmware_rsp_tbl[asic_id]._del(key) + sel.addSelectable(firmware_rsp_sub_tbl[asic_id]) + + rc = CONFIG_FAIL + res_dict[0] = CONFIG_FAIL + res_dict[1] = 'unknown' + + logical_port_list = platform_sfputil_helper.get_logical_list() + if port not in logical_port_list: + click.echo("ERR: This is not a valid port, valid ports ({})".format(", ".join(logical_port_list))) + res_dict[0] = rc + return res_dict + + asic_index = None + if platform_sfputil is not None: + asic_index = platform_sfputil_helper.get_asic_id_for_logical_port(port) + if asic_index is None: + # TODO this import is only for unit test purposes, and should be removed once sonic_platform_base + # is fully mocked + import sonic_platform_base.sonic_sfp.sfputilhelper + asic_index = sonic_platform_base.sonic_sfp.sfputilhelper.SfpUtilHelper().get_asic_id_for_logical_port(port) + if asic_index is None: + click.echo("Got invalid asic index for port {}, cant perform firmware cmd".format(port)) + res_dict[0] = rc + return res_dict + + if arg is None: + cmd_arg = "null" + else: + cmd_arg = str(arg) + + fvs = swsscommon.FieldValuePairs([(cmd_name, cmd_arg)]) + firmware_cmd_tbl[asic_index].set(port, fvs) + + # Listen indefinitely for changes to the HW_MUX_CABLE_TABLE in the Application DB's + while True: + # Use timeout to prevent ignoring the signals we want to handle + # in signal_handler() (e.g. SIGTERM for graceful shutdown) + + (state, selectableObj) = sel.select(SELECT_TIMEOUT) + + time_now = time.time() + time_diff = time_now - time_start + if time_diff >= CMD_TIMEOUT_SECS: + return res_dict + + if state == swsscommon.Select.TIMEOUT: + # Do not flood log when select times out + continue + if state != swsscommon.Select.OBJECT: + click.echo("sel.select() did not return swsscommon.Select.OBJECT for sonic_y_cable updates") + continue + + # Get the redisselect object from selectable object + redisSelectObj = swsscommon.CastSelectableToRedisSelectObj( + selectableObj) + # Get the corresponding namespace from redisselect db connector object + namespace = redisSelectObj.getDbConnector().getNamespace() + asic_index = multi_asic.get_asic_index_from_namespace(namespace) + + (port_m, op_m, fvp_m) = firmware_rsp_sub_tbl[asic_index].pop() + + if not port_m: + click.echo("Did not receive a port response {}".format(port)) + res_dict[1] = 'unknown' + res_dict[0] = CONFIG_FAIL + firmware_rsp_tbl[asic_index]._del(port) + break + + if port_m != port: + + res_dict[1] = 'unknown' + res_dict[0] = CONFIG_FAIL + firmware_rsp_tbl[asic_index]._del(port) + continue + + if fvp_m: + + fvp_dict = dict(fvp_m) + if rsp_name in fvp_dict: + # check if xcvrd got a probe command + result = fvp_dict[rsp_name] + + res_dict[1] = result + res_dict[0] = 0 + else: + res_dict[1] = 'unknown' + res_dict[0] = CONFIG_FAIL + firmware_rsp_tbl[asic_index]._del(port) + break + else: + res_dict[1] = 'unknown' + res_dict[0] = CONFIG_FAIL + firmware_rsp_tbl[asic_index]._del(port) + break + + delete_all_keys_in_db_table("STATE_DB", rsp_table_name) + + return res_dict + # 'muxcable' command ("show muxcable") # @@ -459,118 +654,41 @@ def muxdirection(db, port): port = platform_sfputil_helper.get_interface_alias(port, db) - per_npu_statedb = {} - transceiver_table_keys = {} - transceiver_dict = {} - - # Getting all front asic namespace and correspding config and state DB connector - - namespaces = multi_asic.get_front_end_namespaces() - for namespace in namespaces: - asic_id = multi_asic.get_asic_index_from_namespace(namespace) - per_npu_statedb[asic_id] = SonicV2Connector(use_unix_socket_path=False, namespace=namespace) - per_npu_statedb[asic_id].connect(per_npu_statedb[asic_id].STATE_DB) - - transceiver_table_keys[asic_id] = per_npu_statedb[asic_id].keys( - per_npu_statedb[asic_id].STATE_DB, 'TRANSCEIVER_INFO|*') + delete_all_keys_in_db_table("APPL_DB", "XCVRD_SHOW_HWMODE_DIR_CMD") + delete_all_keys_in_db_table("STATE_DB", "XCVRD_SHOW_HWMODE_DIR_RSP") if port is not None: - logical_port_list = platform_sfputil_helper.get_logical_list() - if port not in logical_port_list: - click.echo("ERR: This is not a valid port, valid ports ({})".format(", ".join(logical_port_list))) - sys.exit(EXIT_FAIL) - - asic_index = None - if platform_sfputil is not None: - asic_index = platform_sfputil_helper.get_asic_id_for_logical_port(port) - if asic_index is None: - # TODO this import is only for unit test purposes, and should be removed once sonic_platform_base - # is fully mocked - import sonic_platform_base.sonic_sfp.sfputilhelper - asic_index = sonic_platform_base.sonic_sfp.sfputilhelper.SfpUtilHelper().get_asic_id_for_logical_port(port) - if asic_index is None: - click.echo("Got invalid asic index for port {}, cant retreive mux status".format(port)) - sys.exit(CONFIG_FAIL) - - transceiver_dict[asic_index] = per_npu_statedb[asic_index].get_all( - per_npu_statedb[asic_index].STATE_DB, 'TRANSCEIVER_INFO|{}'.format(port)) - - vendor_value = get_value_for_key_in_dict(transceiver_dict[asic_index], port, "manufacturer", "TRANSCEIVER_INFO") - model_value = get_value_for_key_in_dict(transceiver_dict[asic_index], port, "model", "TRANSCEIVER_INFO") - - """ This check is required for checking whether or not this port is connected to a Y cable - or not. The check gives a way to differentiate between non Y cable ports and Y cable ports. - TODO: this should be removed once their is support for multiple vendors on Y cable""" - - if vendor_value != VENDOR_NAME or not re.match(VENDOR_MODEL_REGEX, model_value): - click.echo("ERR: Got invalid vendor value and model for port {}".format(port)) - sys.exit(EXIT_FAIL) - - if platform_sfputil is not None: - physical_port_list = platform_sfputil_helper.logical_port_name_to_physical_port_list(port) - - if not isinstance(physical_port_list, list): - click.echo(("ERR: Unable to locate physical port information for {}".format(port))) - sys.exit(EXIT_FAIL) - if len(physical_port_list) != 1: - click.echo("ERR: Found multiple physical ports ({}) associated with {}".format( - ", ".join(physical_port_list), port)) - sys.exit(EXIT_FAIL) - - physical_port = physical_port_list[0] - - logical_port_list_for_physical_port = platform_sfputil_helper.get_physical_to_logical() - - logical_port_list_per_port = logical_port_list_for_physical_port.get(physical_port, None) - - """ This check is required for checking whether or not this logical port is the one which is - actually mapped to physical port and by convention it is always the first port. - TODO: this should be removed with more logic to check which logical port maps to actual physical port - being used""" - - if port != logical_port_list_per_port[0]: - click.echo("ERR: This logical Port {} is not on a muxcable".format(port)) - sys.exit(EXIT_FAIL) - - import sonic_y_cable.y_cable - read_side = sonic_y_cable.y_cable.check_read_side(physical_port) - if read_side == False or read_side == -1: - click.echo(("ERR: Unable to get read_side for the cable port {}".format(port))) - sys.exit(EXIT_FAIL) + res_dict = {} + res_dict[0] = CONFIG_FAIL + res_dict[1] = "unknown" + res_dict = update_and_get_response_for_xcvr_cmd( + "state", "state", "True", "XCVRD_SHOW_HWMODE_DIR_CMD", "XCVRD_SHOW_HWMODE_DIR_RSP", port, 1, "probe") - mux_direction = sonic_y_cable.y_cable.check_mux_direction(physical_port) - if mux_direction == False or mux_direction == -1: - click.echo(("ERR: Unable to get mux direction for the cable port {}".format(port))) - sys.exit(EXIT_FAIL) - - if int(read_side) == 1: - if mux_direction == 1: - state = "active" - elif mux_direction == 2: - state = "standby" - elif int(read_side) == 2: - if mux_direction == 1: - state = "standby" - elif mux_direction == 2: - state = "active" - else: - click.echo(("ERR: Unable to get mux direction, port {}".format(port))) - state = "unknown" + body = [] + temp_list = [] headers = ['Port', 'Direction'] + temp_list.append(port) + temp_list.append(res_dict[1]) + body.append(temp_list) - body = [[port, state]] + rc = res_dict[0] click.echo(tabulate(body, headers=headers)) + delete_all_keys_in_db_table("APPL_DB", "XCVRD_SHOW_HWMODE_DIR_CMD") + delete_all_keys_in_db_table("STATE_DB", "XCVRD_SHOW_HWMODE_DIR_RSP") + + return rc + else: logical_port_list = platform_sfputil_helper.get_logical_list() - rc = True + rc_exit = True body = [] + for port in logical_port_list: - temp_list = [] if platform_sfputil is not None: physical_port_list = platform_sfputil_helper.logical_port_name_to_physical_port_list(port) @@ -579,29 +697,6 @@ def muxdirection(db, port): if len(physical_port_list) != 1: continue - asic_index = None - if platform_sfputil is not None: - asic_index = platform_sfputil_helper.get_asic_id_for_logical_port(port) - if asic_index is None: - # TODO this import is only for unit test purposes, and should be removed once sonic_platform_base - # is fully mocked - import sonic_platform_base.sonic_sfp.sfputilhelper - asic_index = sonic_platform_base.sonic_sfp.sfputilhelper.SfpUtilHelper().get_asic_id_for_logical_port(port) - if asic_index is None: - continue - - transceiver_dict[asic_index] = per_npu_statedb[asic_index].get_all( - per_npu_statedb[asic_index].STATE_DB, 'TRANSCEIVER_INFO|{}'.format(port)) - vendor_value = transceiver_dict[asic_index].get("manufacturer", None) - model_value = transceiver_dict[asic_index].get("model", None) - - """ This check is required for checking whether or not this port is connected to a Y cable - or not. The check gives a way to differentiate between non Y cable ports and Y cable ports. - TODO: this should be removed once their is support for multiple vendors on Y cable""" - - if vendor_value != VENDOR_NAME or not re.match(VENDOR_MODEL_REGEX, model_value): - continue - physical_port = physical_port_list[0] logical_port_list_for_physical_port = platform_sfputil_helper.get_physical_to_logical() @@ -615,154 +710,71 @@ def muxdirection(db, port): if port != logical_port_list_per_port[0]: continue - import sonic_y_cable.y_cable - read_side = sonic_y_cable.y_cable.check_read_side(physical_port) - if read_side == False or read_side == -1: - rc = False - temp_list.append(port) - temp_list.append("unknown") - body.append(temp_list) - continue - - mux_direction = sonic_y_cable.y_cable.check_mux_direction(physical_port) - if mux_direction == False or mux_direction == -1: - rc = False - temp_list.append(port) - temp_list.append("unknown") - body.append(temp_list) - continue - - if int(read_side) == 1: - if mux_direction == 1: - state = "active" - elif mux_direction == 2: - state = "standby" - elif int(read_side) == 2: - if mux_direction == 1: - state = "standby" - elif mux_direction == 2: - state = "active" - else: - rc = False - temp_list.append(port) - temp_list.append("unknown") - body.append(temp_list) - continue + temp_list = [] + res_dict = {} + res_dict[0] = CONFIG_FAIL + res_dict[1] = "unknown" + res_dict = update_and_get_response_for_xcvr_cmd( + "state", "state", "True", "XCVRD_SHOW_HWMODE_DIR_CMD", "XCVRD_SHOW_HWMODE_DIR_RSP", port, 1, "probe") temp_list.append(port) - temp_list.append(state) + temp_list.append(res_dict[1]) body.append(temp_list) + rc = res_dict[0] + if rc != 0: + rc_exit = False headers = ['Port', 'Direction'] click.echo(tabulate(body, headers=headers)) - if rc == False: + + delete_all_keys_in_db_table("APPL_DB", "XCVRD_SHOW_HWMODE_DIR_CMD") + delete_all_keys_in_db_table("STATE_DB", "XCVRD_SHOW_HWMODE_DIR_RSP") + if rc_exit == False: sys.exit(EXIT_FAIL) @hwmode.command() @click.argument('port', metavar='', required=False, default=None) +@clicommon.pass_db def switchmode(db, port): """Shows the current switching mode of the muxcable {auto/manual}""" port = platform_sfputil_helper.get_interface_alias(port, db) - - per_npu_statedb = {} - transceiver_dict = {} - - # Getting all front asic namespace and correspding config and state DB connector - - namespaces = multi_asic.get_front_end_namespaces() - for namespace in namespaces: - asic_id = multi_asic.get_asic_index_from_namespace(namespace) - per_npu_statedb[asic_id] = SonicV2Connector(use_unix_socket_path=False, namespace=namespace) - per_npu_statedb[asic_id].connect(per_npu_statedb[asic_id].STATE_DB) + delete_all_keys_in_db_table("APPL_DB", "XCVRD_SHOW_HWMODE_SWMODE_CMD") + delete_all_keys_in_db_table("STATE_DB", "XCVRD_SHOW_HWMODE_SWMODE_RSP") if port is not None: - logical_port_list = platform_sfputil_helper.get_logical_list() - if port not in logical_port_list: - click.echo("ERR: This is not a valid port, valid ports ({})".format(", ".join(logical_port_list))) - sys.exit(EXIT_FAIL) - - asic_index = None - if platform_sfputil is not None: - asic_index = platform_sfputil_helper.get_asic_id_for_logical_port(port) - if asic_index is None: - # TODO this import is only for unit test purposes, and should be removed once sonic_platform_base - # is fully mocked - import sonic_platform_base.sonic_sfp.sfputilhelper - asic_index = sonic_platform_base.sonic_sfp.sfputilhelper.SfpUtilHelper().get_asic_id_for_logical_port(port) - if asic_index is None: - click.echo("Got invalid asic index for port {}, cant retreive mux status".format(port)) - sys.exit(CONFIG_FAIL) - - transceiver_dict[asic_index] = per_npu_statedb[asic_index].get_all( - per_npu_statedb[asic_index].STATE_DB, 'TRANSCEIVER_INFO|{}'.format(port)) - - vendor_value = get_value_for_key_in_dict(transceiver_dict[asic_index], port, "manufacturer", "TRANSCEIVER_INFO") - model_value = get_value_for_key_in_dict(transceiver_dict[asic_index], port, "model", "TRANSCEIVER_INFO") - - """ This check is required for checking whether or not this port is connected to a Y cable - or not. The check gives a way to differentiate between non Y cable ports and Y cable ports. - TODO: this should be removed once their is support for multiple vendors on Y cable""" - - if vendor_value != VENDOR_NAME or not re.match(VENDOR_MODEL_REGEX, model_value): - click.echo("ERR: Got invalid vendor value and model for port {}".format(port)) - sys.exit(EXIT_FAIL) - - if platform_sfputil is not None: - physical_port_list = platform_sfputil_helper.logical_port_name_to_physical_port_list(port) - - if not isinstance(physical_port_list, list): - click.echo(("ERR: Unable to locate physical port information for {}".format(port))) - sys.exit(EXIT_FAIL) - if len(physical_port_list) != 1: - click.echo("ERR: Found multiple physical ports ({}) associated with {}".format( - ", ".join(physical_port_list), port)) - sys.exit(EXIT_FAIL) - - physical_port = physical_port_list[0] - - logical_port_list_for_physical_port = platform_sfputil_helper.get_physical_to_logical() + res_dict = {} + res_dict[0] = CONFIG_FAIL + res_dict[1] = "unknown" + res_dict = update_and_get_response_for_xcvr_cmd( + "state", "state", "True", "XCVRD_SHOW_HWMODE_SWMODE_CMD", "XCVRD_SHOW_HWMODE_SWMODE_RSP", port, 1, "probe") - logical_port_list_per_port = logical_port_list_for_physical_port.get(physical_port, None) - - """ This check is required for checking whether or not this logical port is the one which is - actually mapped to physical port and by convention it is always the first port. - TODO: this should be removed with more logic to check which logical port maps to actual physical port - being used""" - - if port != logical_port_list_per_port[0]: - click.echo("ERR: This logical Port {} is not on a muxcable".format(port)) - sys.exit(EXIT_FAIL) - - import sonic_y_cable.y_cable - switching_mode = sonic_y_cable.y_cable.get_switching_mode(physical_port) - if switching_mode == -1: - click.echo(("ERR: Unable to get switching mode for the cable port {}".format(port))) - sys.exit(EXIT_FAIL) - - if switching_mode == sonic_y_cable.y_cable.SWITCHING_MODE_AUTO: - state = "auto" - elif switching_mode == sonic_y_cable.y_cable.SWITCHING_MODE_MANUAL: - state = "manual" - else: - click.echo(("ERR: Unable to get switching state mode, port {}".format(port))) - state = "unknown" + body = [] + temp_list = [] headers = ['Port', 'Switching'] + temp_list.append(port) + temp_list.append(res_dict[1]) + body.append(temp_list) - body = [[port, state]] + rc = res_dict[0] click.echo(tabulate(body, headers=headers)) + delete_all_keys_in_db_table("APPL_DB", "XCVRD_SHOW_HWMODE_SWMODE_CMD") + delete_all_keys_in_db_table("STATE_DB", "XCVRD_SHOW_HWMODE_SWMODE_RSP") + + return rc + else: logical_port_list = platform_sfputil_helper.get_logical_list() - rc = True + rc_exit = True body = [] + for port in logical_port_list: - temp_list = [] if platform_sfputil is not None: physical_port_list = platform_sfputil_helper.logical_port_name_to_physical_port_list(port) @@ -771,29 +783,6 @@ def switchmode(db, port): if len(physical_port_list) != 1: continue - asic_index = None - if platform_sfputil is not None: - asic_index = platform_sfputil_helper.get_asic_id_for_logical_port(port) - if asic_index is None: - # TODO this import is only for unit test purposes, and should be removed once sonic_platform_base - # is fully mocked - import sonic_platform_base.sonic_sfp.sfputilhelper - asic_index = sonic_platform_base.sonic_sfp.sfputilhelper.SfpUtilHelper().get_asic_id_for_logical_port(port) - if asic_index is None: - continue - - transceiver_dict[asic_index] = per_npu_statedb[asic_index].get_all( - per_npu_statedb[asic_index].STATE_DB, 'TRANSCEIVER_INFO|{}'.format(port)) - vendor_value = transceiver_dict[asic_index].get("manufacturer", None) - model_value = transceiver_dict[asic_index].get("model", None) - - """ This check is required for checking whether or not this port is connected to a Y cable - or not. The check gives a way to differentiate between non Y cable ports and Y cable ports. - TODO: this should be removed once their is support for multiple vendors on Y cable""" - - if vendor_value != VENDOR_NAME or not re.match(VENDOR_MODEL_REGEX, model_value): - continue - physical_port = physical_port_list[0] logical_port_list_for_physical_port = platform_sfputil_helper.get_physical_to_logical() @@ -807,50 +796,155 @@ def switchmode(db, port): if port != logical_port_list_per_port[0]: continue - import sonic_y_cable.y_cable - switching_mode = sonic_y_cable.y_cable.get_switching_mode(physical_port) - if switching_mode == -1: - rc = False - temp_list.append(port) - temp_list.append("unknown") - body.append(temp_list) - continue - - if switching_mode == sonic_y_cable.y_cable.SWITCHING_MODE_AUTO: - state = "auto" - elif switching_mode == sonic_y_cable.y_cable.SWITCHING_MODE_MANUAL: - state = "manual" - else: - rc = False - temp_list.append(port) - temp_list.append("unknown") - body.append(temp_list) - continue + temp_list = [] + res_dict = {} + res_dict[0] = CONFIG_FAIL + res_dict[1] = "unknown" + res_dict = update_and_get_response_for_xcvr_cmd( + "state", "state", "True", "XCVRD_SHOW_HWMODE_SWMODE_CMD", "XCVRD_SHOW_HWMODE_SWMODE_RSP", port, 1, "probe") temp_list.append(port) - temp_list.append(state) + temp_list.append(res_dict[1]) + rc = res_dict[1] + if rc != 0: + rc_exit = False body.append(temp_list) + delete_all_keys_in_db_table("APPL_DB", "XCVRD_SHOW_HWMODE_SWMODE_CMD") + delete_all_keys_in_db_table("STATE_DB", "XCVRD_SHOW_HWMODE_SWMODE_RSP") + headers = ['Port', 'Switching'] click.echo(tabulate(body, headers=headers)) - if rc == False: + if rc_exit == False: sys.exit(EXIT_FAIL) -def get_firmware_dict(physical_port, target, side, mux_info_dict): - import sonic_y_cable.y_cable - result = sonic_y_cable.y_cable.get_firmware_version(physical_port, target) +def get_single_port_firmware_version(port, res_dict, mux_info_dict): - if result is not None and isinstance(result, dict): - mux_info_dict[("version_{}_active".format(side))] = result.get("version_active", None) - mux_info_dict[("version_{}_inactive".format(side))] = result.get("version_inactive", None) - mux_info_dict[("version_{}_next".format(side))] = result.get("version_next", None) + state_db, appl_db = {}, {} + xcvrd_show_fw_rsp_sts_tbl_keys = {} + xcvrd_show_fw_rsp_sts_tbl = {} + xcvrd_show_fw_rsp_tbl = {} + xcvrd_show_fw_cmd_tbl, xcvrd_show_fw_res_tbl = {}, {} - else: - mux_info_dict[("version_{}_active".format(side))] = "N/A" - mux_info_dict[("version_{}_inactive".format(side))] = "N/A" - mux_info_dict[("version_{}_next".format(side))] = "N/A" + sel = swsscommon.Select() + namespaces = multi_asic.get_front_end_namespaces() + for namespace in namespaces: + asic_id = multi_asic.get_asic_index_from_namespace(namespace) + state_db[asic_id] = db_connect("STATE_DB", namespace) + appl_db[asic_id] = db_connect("APPL_DB", namespace) + xcvrd_show_fw_cmd_tbl[asic_id] = swsscommon.Table(appl_db[asic_id], "XCVRD_SHOW_FW_CMD") + xcvrd_show_fw_rsp_tbl[asic_id] = swsscommon.SubscriberStateTable(state_db[asic_id], "XCVRD_SHOW_FW_RSP") + xcvrd_show_fw_rsp_sts_tbl[asic_id] = swsscommon.Table(state_db[asic_id], "XCVRD_SHOW_FW_RSP") + xcvrd_show_fw_res_tbl[asic_id] = swsscommon.Table(state_db[asic_id], "XCVRD_SHOW_FW_RES") + xcvrd_show_fw_rsp_sts_tbl_keys[asic_id] = xcvrd_show_fw_rsp_sts_tbl[asic_id].getKeys() + for key in xcvrd_show_fw_rsp_sts_tbl_keys[asic_id]: + xcvrd_show_fw_rsp_sts_tbl[asic_id]._del(key) + sel.addSelectable(xcvrd_show_fw_rsp_tbl[asic_id]) + + rc = 0 + res_dict[0] = 'unknown' + + logical_port_list = platform_sfputil_helper.get_logical_list() + if port not in logical_port_list: + click.echo("ERR: This is not a valid port, valid ports ({})".format(", ".join(logical_port_list))) + rc = EXIT_FAIL + res_dict[1] = rc + return + + asic_index = None + if platform_sfputil is not None: + asic_index = platform_sfputil_helper.get_asic_id_for_logical_port(port) + if asic_index is None: + # TODO this import is only for unit test purposes, and should be removed once sonic_platform_base + # is fully mocked + import sonic_platform_base.sonic_sfp.sfputilhelper + asic_index = sonic_platform_base.sonic_sfp.sfputilhelper.SfpUtilHelper().get_asic_id_for_logical_port(port) + if asic_index is None: + click.echo("Got invalid asic index for port {}, cant retreive mux status".format(port)) + rc = CONFIG_FAIL + res_dict[1] = rc + return + + fvs = swsscommon.FieldValuePairs([('firmware_version', 'probe')]) + xcvrd_show_fw_cmd_tbl[asic_index].set(port, fvs) + + # Listen indefinitely for changes to the HW_MUX_CABLE_TABLE in the Application DB's + while True: + # Use timeout to prevent ignoring the signals we want to handle + # in signal_handler() (e.g. SIGTERM for graceful shutdown) + + (state, selectableObj) = sel.select(SELECT_TIMEOUT) + + if state == swsscommon.Select.TIMEOUT: + # Do not flood log when select times out + continue + if state != swsscommon.Select.OBJECT: + click.echo("sel.select() did not return swsscommon.Select.OBJECT for sonic_y_cable updates") + continue + + # Get the redisselect object from selectable object + redisSelectObj = swsscommon.CastSelectableToRedisSelectObj( + selectableObj) + # Get the corresponding namespace from redisselect db connector object + namespace = redisSelectObj.getDbConnector().getNamespace() + asic_index = multi_asic.get_asic_index_from_namespace(namespace) + + (port_m, op_m, fvp_m) = xcvrd_show_fw_rsp_tbl[asic_index].pop() + + if not port_m: + click.echo("Did not receive a port response {}".format(port)) + res_dict[0] = 'False' + res_dict[1] = EXIT_FAIL + xcvrd_show_fw_rsp_sts_tbl[asic_index]._del(port) + break + + if port_m != port: + + res_dict[0] = 'False' + res_dict[1] = EXIT_FAIL + xcvrd_show_fw_rsp_sts_tbl[asic_index]._del(port) + continue + + if fvp_m: + + fvp_dict = dict(fvp_m) + if "status" in fvp_dict: + # check if xcvrd got a probe command + state = fvp_dict["status"] + + res_dict[0] = state + res_dict[1] = EXIT_FAIL + xcvrd_show_fw_rsp_sts_tbl[asic_index]._del(port) + (status, fvp) = xcvrd_show_fw_res_tbl[asic_index].get(port) + res_dir = dict(fvp) + mux_info_dict["version_nic_active"] = res_dir.get("version_nic_active", None) + mux_info_dict["version_nic_inactive"] = res_dir.get("version_nic_inactive", None) + mux_info_dict["version_nic_next"] = res_dir.get("version_nic_next", None) + mux_info_dict["version_peer_active"] = res_dir.get("version_peer_active", None) + mux_info_dict["version_peer_inactive"] = res_dir.get("version_peer_inactive", None) + mux_info_dict["version_peer_next"] = res_dir.get("version_peer_next", None) + mux_info_dict["version_self_active"] = res_dir.get("version_self_active", None) + mux_info_dict["version_self_inactive"] = res_dir.get("version_self_inactive", None) + mux_info_dict["version_self_next"] = res_dir.get("version_self_next", None) + break + else: + res_dict[0] = 'False' + res_dict[1] = EXIT_FAIL + xcvrd_show_fw_rsp_sts_tbl[asic_index]._del(port) + break + else: + res_dict[0] = 'False' + res_dict[1] = EXIT_FAIL + xcvrd_show_fw_rsp_sts_tbl[asic_index]._del(port) + break + + + delete_all_keys_in_db_table("STATE_DB", "XCVRD_SHOW_FW_RSP") + delete_all_keys_in_db_table("STATE_DB", "XCVRD_SHOW_FW_RES") + + return @muxcable.group(cls=clicommon.AbbreviationGroup) @@ -867,95 +961,48 @@ def version(db, port, active): """Show muxcable firmware version""" port = platform_sfputil_helper.get_interface_alias(port, db) - - port_table_keys = {} - y_cable_asic_table_keys = {} - per_npu_statedb = {} - physical_port_list = [] - - # Getting all front asic namespace and correspding config and state DB connector - - namespaces = multi_asic.get_front_end_namespaces() - for namespace in namespaces: - asic_id = multi_asic.get_asic_index_from_namespace(namespace) - # replace these with correct macros - per_npu_statedb[asic_id] = swsscommon.SonicV2Connector(use_unix_socket_path=True, namespace=namespace) - per_npu_statedb[asic_id].connect(per_npu_statedb[asic_id].STATE_DB) - - port_table_keys[asic_id] = per_npu_statedb[asic_id].keys( - per_npu_statedb[asic_id].STATE_DB, 'MUX_CABLE_TABLE|*') + delete_all_keys_in_db_table("APPL_DB", "XCVRD_DOWN_FW_CMD") + delete_all_keys_in_db_table("STATE_DB", "XCVRD_DOWN_FW_RSP") + delete_all_keys_in_db_table("APPL_DB", "XCVRD_SHOW_FW_CMD") + delete_all_keys_in_db_table("STATE_DB", "XCVRD_SHOW_FW_RSP") + delete_all_keys_in_db_table("STATE_DB", "XCVRD_SHOW_FW_RES") if port is not None: - logical_port_list = platform_sfputil_helper.get_logical_list() - - if port not in logical_port_list: - click.echo(("ERR: Not a valid logical port for muxcable firmware {}".format(port))) - sys.exit(CONFIG_FAIL) - - asic_index = None - if platform_sfputil is not None: - asic_index = platform_sfputil_helper.get_asic_id_for_logical_port(port) - if asic_index is None: - # TODO this import is only for unit test purposes, and should be removed once sonic_platform_base - # is fully mocked - import sonic_platform_base.sonic_sfp.sfputilhelper - asic_index = sonic_platform_base.sonic_sfp.sfputilhelper.SfpUtilHelper().get_asic_id_for_logical_port(port) - if asic_index is None: - click.echo("Got invalid asic index for port {}, cant retreive mux status".format(port)) - - if platform_sfputil is not None: - physical_port_list = platform_sfputil_helper.logical_port_name_to_physical_port_list(port) - - if not isinstance(physical_port_list, list): - click.echo(("ERR: Unable to locate physical port information for {}".format(port))) - sys.exit(CONFIG_FAIL) - - if len(physical_port_list) != 1: - click.echo("ERR: Found multiple physical ports ({}) associated with {}".format( - ", ".join(physical_port_list), port)) - sys.exit(CONFIG_FAIL) - - mux_info_dict = {} - mux_info_active_dict = {} - physical_port = physical_port_list[0] - if per_npu_statedb[asic_index] is not None: - y_cable_asic_table_keys = port_table_keys[asic_index] - logical_key = "MUX_CABLE_TABLE|{}".format(port) - import sonic_y_cable.y_cable - read_side = sonic_y_cable.y_cable.check_read_side(physical_port) - if logical_key in y_cable_asic_table_keys: - if read_side == 1: - get_firmware_dict(physical_port, 1, "self", mux_info_dict) - get_firmware_dict(physical_port, 2, "peer", mux_info_dict) - get_firmware_dict(physical_port, 0, "nic", mux_info_dict) - if active is True: - for key in mux_info_dict: - if key.endswith("_active"): - mux_info_active_dict[key] = mux_info_dict[key] - click.echo("{}".format(json.dumps(mux_info_active_dict, indent=4))) - else: - click.echo("{}".format(json.dumps(mux_info_dict, indent=4))) - elif read_side == 2: - get_firmware_dict(physical_port, 2, "self", mux_info_dict) - get_firmware_dict(physical_port, 1, "peer", mux_info_dict) - get_firmware_dict(physical_port, 0, "nic", mux_info_dict) - if active is True: - for key in mux_info_dict: - if key.endswith("_active"): - mux_info_active_dict[key] = mux_info_dict[key] - click.echo("{}".format(json.dumps(mux_info_active_dict, indent=4))) - else: - click.echo("{}".format(json.dumps(mux_info_dict, indent=4))) - else: - click.echo("Did not get a valid read_side for muxcable".format(port)) - sys.exit(CONFIG_FAIL) - - else: - click.echo("this is not a valid port present on mux_cable".format(port)) - sys.exit(CONFIG_FAIL) + res_dict = {} + mux_info_dict, mux_info_active_dict = {}, {} + + res_dict[0] = CONFIG_FAIL + res_dict[1] = "unknown" + mux_info_dict["version_nic_active"] = "N/A" + mux_info_dict["version_nic_inactive"] = "N/A" + mux_info_dict["version_nic_next"] = "N/A" + mux_info_dict["version_peer_active"] = "N/A" + mux_info_dict["version_peer_inactive"] = "N/A" + mux_info_dict["version_peer_next"] = "N/A" + mux_info_dict["version_self_active"] = "N/A" + mux_info_dict["version_self_inactive"] = "N/A" + mux_info_dict["version_self_next"] = "N/A" + + res_dict = update_and_get_response_for_xcvr_cmd( + "firmware_version", "status", "True", "XCVRD_SHOW_FW_CMD", "XCVRD_SHOW_FW_RSP", port, 20, "probe") + + if res_dict[1] == "True": + mux_info_dict = get_response_for_version(port, mux_info_dict) + + delete_all_keys_in_db_table("STATE_DB", "XCVRD_SHOW_FW_RSP") + delete_all_keys_in_db_table("STATE_DB", "XCVRD_SHOW_FW_RES") + + if active is True: + for key in mux_info_dict: + if key.endswith("_active"): + mux_info_active_dict[key] = mux_info_dict[key] + click.echo("{}".format(json.dumps(mux_info_active_dict, indent=4))) else: - click.echo("there is not a valid asic table for this asic_index".format(asic_index)) + click.echo("{}".format(json.dumps(mux_info_dict, indent=4))) + else: + click.echo("Did not get a valid Port for mux firmware version".format(port)) + sys.exit(CONFIG_FAIL) @muxcable.command() diff --git a/tests/muxcable_test.py b/tests/muxcable_test.py index fc04fcc075..a8a4f764e9 100644 --- a/tests/muxcable_test.py +++ b/tests/muxcable_test.py @@ -615,6 +615,10 @@ def test_show_muxcable_cableinfo_incorrect_logical_port_return_value(self): ["Ethernet0"], obj=db) assert result.exit_code == 1 + + @mock.patch('show.muxcable.delete_all_keys_in_db_table', mock.MagicMock(return_value=0)) + @mock.patch('show.muxcable.update_and_get_response_for_xcvr_cmd', mock.MagicMock(return_value={0: 0, + 1: "active"})) @mock.patch('utilities_common.platform_sfputil_helper.get_logical_list', mock.MagicMock(return_value=["Ethernet0", "Ethernet12"])) @mock.patch('utilities_common.platform_sfputil_helper.get_asic_id_for_logical_port', mock.MagicMock(return_value=0)) @mock.patch('show.muxcable.platform_sfputil', mock.MagicMock(return_value={0: ["Ethernet12", "Ethernet0"]})) @@ -632,6 +636,9 @@ def test_show_muxcable_hwmode_muxdirection_port_active(self): assert result.exit_code == 0 assert result.output == show_muxcable_hwmode_muxdirection_active_expected_output + @mock.patch('show.muxcable.delete_all_keys_in_db_table', mock.MagicMock(return_value=0)) + @mock.patch('show.muxcable.update_and_get_response_for_xcvr_cmd', mock.MagicMock(return_value={0: 0, + 1: "standby"})) @mock.patch('utilities_common.platform_sfputil_helper.get_logical_list', mock.MagicMock(return_value=["Ethernet0", "Ethernet12"])) @mock.patch('utilities_common.platform_sfputil_helper.get_asic_id_for_logical_port', mock.MagicMock(return_value=0)) @mock.patch('show.muxcable.platform_sfputil', mock.MagicMock(return_value={0: ["Ethernet12", "Ethernet0"]})) @@ -647,6 +654,9 @@ def test_show_muxcable_hwmode_muxdirection_active(self): result = runner.invoke(show.cli.commands["muxcable"].commands["hwmode"].commands["muxdirection"], obj=db) assert result.exit_code == 0 + @mock.patch('show.muxcable.delete_all_keys_in_db_table', mock.MagicMock(return_value=0)) + @mock.patch('show.muxcable.update_and_get_response_for_xcvr_cmd', mock.MagicMock(return_value={0: 0, + 1: "standby"})) @mock.patch('utilities_common.platform_sfputil_helper.get_logical_list', mock.MagicMock(return_value=["Ethernet0", "Ethernet12"])) @mock.patch('utilities_common.platform_sfputil_helper.get_asic_id_for_logical_port', mock.MagicMock(return_value=0)) @mock.patch('show.muxcable.platform_sfputil', mock.MagicMock(return_value={0: ["Ethernet12", "Ethernet0"]})) @@ -664,6 +674,9 @@ def test_show_muxcable_hwmode_muxdirection_port_standby(self): assert result.exit_code == 0 assert result.output == show_muxcable_hwmode_muxdirection_standby_expected_output + @mock.patch('show.muxcable.delete_all_keys_in_db_table', mock.MagicMock(return_value=0)) + @mock.patch('show.muxcable.update_and_get_response_for_xcvr_cmd', mock.MagicMock(return_value={0: 0, + 1: "sucess"})) @mock.patch('utilities_common.platform_sfputil_helper.get_logical_list', mock.MagicMock(return_value=["Ethernet0", "Ethernet12"])) @mock.patch('utilities_common.platform_sfputil_helper.get_asic_id_for_logical_port', mock.MagicMock(return_value=0)) @mock.patch('show.muxcable.platform_sfputil', mock.MagicMock(return_value={0: ["Ethernet12", "Ethernet0"]})) @@ -679,6 +692,13 @@ def test_show_muxcable_hwmode_muxdirection_standby(self): result = runner.invoke(show.cli.commands["muxcable"].commands["hwmode"].commands["muxdirection"], obj=db) assert result.exit_code == 0 + @mock.patch('config.muxcable.delete_all_keys_in_db_table', mock.MagicMock(return_value=0)) + @mock.patch('config.muxcable.update_and_get_response_for_xcvr_cmd', mock.MagicMock(return_value={0: 0, + 1: "sucess"})) + @mock.patch('config.muxcable.swsscommon.DBConnector', mock.MagicMock(return_value=0)) + @mock.patch('config.muxcable.swsscommon.Table', mock.MagicMock(return_value=0)) + @mock.patch('config.muxcable.swsscommon.Select', mock.MagicMock(return_value=0)) + @mock.patch('config.muxcable.swsscommon.SubscriberStateTable', mock.MagicMock(return_value=0)) @mock.patch('utilities_common.platform_sfputil_helper.get_logical_list', mock.MagicMock(return_value=["Ethernet0", "Ethernet12"])) @mock.patch('utilities_common.platform_sfputil_helper.get_asic_id_for_logical_port', mock.MagicMock(return_value=0)) @mock.patch('config.muxcable.platform_sfputil', mock.MagicMock(return_value={0: ["Ethernet12", "Ethernet0"]})) @@ -697,6 +717,13 @@ def test_config_muxcable_hwmode_state_port_active(self): ["active", "Ethernet12"], obj=db) assert result.exit_code == 0 + @mock.patch('config.muxcable.delete_all_keys_in_db_table', mock.MagicMock(return_value=0)) + @mock.patch('config.muxcable.update_and_get_response_for_xcvr_cmd', mock.MagicMock(return_value={0: 0, + 1: "sucess"})) + @mock.patch('config.muxcable.swsscommon.DBConnector', mock.MagicMock(return_value=0)) + @mock.patch('config.muxcable.swsscommon.Table', mock.MagicMock(return_value=0)) + @mock.patch('config.muxcable.swsscommon.Select', mock.MagicMock(return_value=0)) + @mock.patch('config.muxcable.swsscommon.SubscriberStateTable', mock.MagicMock(return_value=0)) @mock.patch('utilities_common.platform_sfputil_helper.get_logical_list', mock.MagicMock(return_value=["Ethernet0", "Ethernet12"])) @mock.patch('utilities_common.platform_sfputil_helper.get_asic_id_for_logical_port', mock.MagicMock(return_value=0)) @mock.patch('config.muxcable.platform_sfputil', mock.MagicMock(return_value={0: ["Ethernet12", "Ethernet0"]})) @@ -715,6 +742,13 @@ def test_config_muxcable_hwmode_state_active(self): ["active", "all"], obj=db) assert result.exit_code == 0 + @mock.patch('config.muxcable.delete_all_keys_in_db_table', mock.MagicMock(return_value=0)) + @mock.patch('config.muxcable.update_and_get_response_for_xcvr_cmd', mock.MagicMock(return_value={0: 0, + 1: "standby"})) + @mock.patch('config.muxcable.swsscommon.DBConnector', mock.MagicMock(return_value=0)) + @mock.patch('config.muxcable.swsscommon.Table', mock.MagicMock(return_value=0)) + @mock.patch('config.muxcable.swsscommon.Select', mock.MagicMock(return_value=0)) + @mock.patch('config.muxcable.swsscommon.SubscriberStateTable', mock.MagicMock(return_value=0)) @mock.patch('utilities_common.platform_sfputil_helper.get_logical_list', mock.MagicMock(return_value=["Ethernet0", "Ethernet12"])) @mock.patch('utilities_common.platform_sfputil_helper.get_asic_id_for_logical_port', mock.MagicMock(return_value=0)) @mock.patch('config.muxcable.platform_sfputil', mock.MagicMock(return_value={0: ["Ethernet12", "Ethernet0"]})) @@ -733,6 +767,13 @@ def test_config_muxcable_hwmode_state_port_standby(self): ["standby", "Ethernet12"], obj=db) assert result.exit_code == 0 + @mock.patch('config.muxcable.delete_all_keys_in_db_table', mock.MagicMock(return_value=0)) + @mock.patch('config.muxcable.update_and_get_response_for_xcvr_cmd', mock.MagicMock(return_value={0: 0, + 1: "standby"})) + @mock.patch('config.muxcable.swsscommon.DBConnector', mock.MagicMock(return_value=0)) + @mock.patch('config.muxcable.swsscommon.Table', mock.MagicMock(return_value=0)) + @mock.patch('config.muxcable.swsscommon.Select', mock.MagicMock(return_value=0)) + @mock.patch('config.muxcable.swsscommon.SubscriberStateTable', mock.MagicMock(return_value=0)) @mock.patch('utilities_common.platform_sfputil_helper.get_logical_list', mock.MagicMock(return_value=["Ethernet0", "Ethernet12"])) @mock.patch('utilities_common.platform_sfputil_helper.get_asic_id_for_logical_port', mock.MagicMock(return_value=0)) @mock.patch('config.muxcable.platform_sfputil', mock.MagicMock(return_value={0: ["Ethernet12", "Ethernet0"]})) @@ -751,6 +792,18 @@ def test_config_muxcable_hwmode_state_standby(self): ["standby", "all"], obj=db) assert result.exit_code == 0 + @mock.patch('show.muxcable.delete_all_keys_in_db_table', mock.MagicMock(return_value=0)) + @mock.patch('show.muxcable.update_and_get_response_for_xcvr_cmd', mock.MagicMock(return_value={0: 0, + 1: "True"})) + @mock.patch('show.muxcable.get_response_for_version', mock.MagicMock(return_value={"version_self_active": "0.6MS", + "version_self_inactive": "0.6MS", + "version_self_next": "0.6MS", + "version_peer_active": "0.6MS", + "version_peer_inactive": "0.6MS", + "version_peer_next": "0.6MS", + "version_nic_active": "0.6MS", + "version_nic_inactive": "0.6MS", + "version_nic_next": "0.6MS"})) @mock.patch('utilities_common.platform_sfputil_helper.get_logical_list', mock.MagicMock(return_value=["Ethernet0", "Ethernet12"])) @mock.patch('utilities_common.platform_sfputil_helper.get_asic_id_for_logical_port', mock.MagicMock(return_value=0)) @mock.patch('show.muxcable.platform_sfputil', mock.MagicMock(return_value={0: ["Ethernet12", "Ethernet0"]})) @@ -770,6 +823,13 @@ def test_show_muxcable_firmware_version(self): assert result.exit_code == 0 assert result.output == show_muxcable_firmware_version_expected_output + @mock.patch('config.muxcable.delete_all_keys_in_db_table', mock.MagicMock(return_value=0)) + @mock.patch('config.muxcable.update_and_get_response_for_xcvr_cmd', mock.MagicMock(return_value={0: 0, + 1: "sucess"})) + @mock.patch('config.muxcable.swsscommon.DBConnector', mock.MagicMock(return_value=0)) + @mock.patch('config.muxcable.swsscommon.Table', mock.MagicMock(return_value=0)) + @mock.patch('config.muxcable.swsscommon.Select', mock.MagicMock(return_value=0)) + @mock.patch('config.muxcable.swsscommon.SubscriberStateTable', mock.MagicMock(return_value=0)) @mock.patch('utilities_common.platform_sfputil_helper.get_logical_list', mock.MagicMock(return_value=["Ethernet0", "Ethernet12"])) @mock.patch('utilities_common.platform_sfputil_helper.get_asic_id_for_logical_port', mock.MagicMock(return_value=0)) @mock.patch('config.muxcable.platform_sfputil', mock.MagicMock(return_value={0: ["Ethernet12", "Ethernet0"]})) @@ -787,6 +847,13 @@ def test_config_muxcable_download_firmware(self): "fwfile", "Ethernet0"], obj=db) assert result.exit_code == 0 + @mock.patch('config.muxcable.delete_all_keys_in_db_table', mock.MagicMock(return_value=0)) + @mock.patch('config.muxcable.update_and_get_response_for_xcvr_cmd', mock.MagicMock(return_value={0: 0, + 1: "sucess"})) + @mock.patch('config.muxcable.swsscommon.DBConnector', mock.MagicMock(return_value=0)) + @mock.patch('config.muxcable.swsscommon.Table', mock.MagicMock(return_value=0)) + @mock.patch('config.muxcable.swsscommon.Select', mock.MagicMock(return_value=0)) + @mock.patch('config.muxcable.swsscommon.SubscriberStateTable', mock.MagicMock(return_value=0)) @mock.patch('utilities_common.platform_sfputil_helper.get_logical_list', mock.MagicMock(return_value=["Ethernet0", "Ethernet12"])) @mock.patch('utilities_common.platform_sfputil_helper.get_asic_id_for_logical_port', mock.MagicMock(return_value=0)) @mock.patch('config.muxcable.platform_sfputil', mock.MagicMock(return_value={0: ["Ethernet12", "Ethernet0"]})) @@ -804,6 +871,13 @@ def test_config_muxcable_activate_firmware(self): "Ethernet0"], obj=db) assert result.exit_code == 0 + @mock.patch('config.muxcable.delete_all_keys_in_db_table', mock.MagicMock(return_value=0)) + @mock.patch('config.muxcable.update_and_get_response_for_xcvr_cmd', mock.MagicMock(return_value={0: 0, + 1: "sucess"})) + @mock.patch("config.muxcable.swsscommon.DBConnector", mock.MagicMock(return_value=0)) + @mock.patch("config.muxcable.swsscommon.Table", mock.MagicMock(return_value=0)) + @mock.patch("config.muxcable.swsscommon.Select", mock.MagicMock(return_value=0)) + @mock.patch("config.muxcable.swsscommon.SubscriberStateTable", mock.MagicMock(return_value=0)) @mock.patch('utilities_common.platform_sfputil_helper.get_logical_list', mock.MagicMock(return_value=["Ethernet0", "Ethernet12"])) @mock.patch('utilities_common.platform_sfputil_helper.get_asic_id_for_logical_port', mock.MagicMock(return_value=0)) @mock.patch('config.muxcable.platform_sfputil', mock.MagicMock(return_value={0: ["Ethernet12", "Ethernet0"]})) @@ -847,6 +921,18 @@ def test_show_muxcable_metrics_port(self): assert result.exit_code == 0 assert result.output == show_muxcable_metrics_expected_output_json + @mock.patch('show.muxcable.delete_all_keys_in_db_table', mock.MagicMock(return_value=0)) + @mock.patch('show.muxcable.update_and_get_response_for_xcvr_cmd', mock.MagicMock(return_value={0: 0, + 1: "True"})) + @mock.patch('show.muxcable.get_response_for_version', mock.MagicMock(return_value={"version_self_active": "0.6MS", + "version_self_inactive": "0.6MS", + "version_self_next": "0.6MS", + "version_peer_active": "0.6MS", + "version_peer_inactive": "0.6MS", + "version_peer_next": "0.6MS", + "version_nic_active": "0.6MS", + "version_nic_inactive": "0.6MS", + "version_nic_next": "0.6MS"})) @mock.patch('utilities_common.platform_sfputil_helper.get_logical_list', mock.MagicMock(return_value=["Ethernet0", "Ethernet12"])) @mock.patch('utilities_common.platform_sfputil_helper.get_asic_id_for_logical_port', mock.MagicMock(return_value=0)) @mock.patch('show.muxcable.platform_sfputil', mock.MagicMock(return_value={0: ["Ethernet12", "Ethernet0"]})) From 7ebb2f7d83ec0e2412c692ee7d6583b47f7f23e2 Mon Sep 17 00:00:00 2001 From: vganesan-nokia <67648637+vganesan-nokia@users.noreply.github.com> Date: Wed, 25 Aug 2021 09:28:43 -0400 Subject: [PATCH 278/342] [voq][chassis] VOQ cli show commands implementation (#1689) Changes in this commit - Implementation of the following show commands for VOQ chassis. show chassis system-ports [] {-n }, if multi-asic voq chassis show chassis system-ports [] , if single asic voq chassis show chassis system-neighbors [] [-n ] show chassis system-lags [] [-n ] [-l ] - The existing chassis commands under "show chassis_modules" and "config chassis_modules" have been renamed (moved) under "show chassis modules" and "config chassis modules" respectively Signed-off-by: vedganes --- config/chassis_modules.py | 13 +- config/main.py | 2 +- scripts/voqutil | 373 +++++++++++++++++++++++++ setup.py | 1 + show/chassis_modules.py | 68 ++++- show/main.py | 2 +- tests/chassis_modules_test.py | 179 ++++++++++-- tests/mock_tables/asic0/appl_db.json | 37 ++- tests/mock_tables/asic1/appl_db.json | 35 +++ tests/mock_tables/asic2/appl_db.json | 35 +++ tests/mock_tables/chassis_app_db.json | 54 ++++ tests/mock_tables/database_config.json | 5 + 12 files changed, 778 insertions(+), 26 deletions(-) create mode 100755 scripts/voqutil create mode 100644 tests/mock_tables/chassis_app_db.json diff --git a/config/chassis_modules.py b/config/chassis_modules.py index 6e783ed856..e640779d16 100644 --- a/config/chassis_modules.py +++ b/config/chassis_modules.py @@ -8,14 +8,19 @@ # 'chassis_modules' group ('config chassis_modules ...') # @click.group(cls=clicommon.AliasedGroup) -def chassis_modules(): - """Configure chassis-modules options""" +def chassis(): + """Configure chassis commands group""" + pass + +@chassis.group() +def modules(): + """Configure chassis modules""" pass # # 'shutdown' subcommand ('config chassis_modules shutdown ...') # -@chassis_modules.command('shutdown') +@modules.command('shutdown') @clicommon.pass_db @click.argument('chassis_module_name', metavar='', required=True) def shutdown_chassis_module(db, chassis_module_name): @@ -34,7 +39,7 @@ def shutdown_chassis_module(db, chassis_module_name): # # 'startup' subcommand ('config chassis_modules startup ...') # -@chassis_modules.command('startup') +@modules.command('startup') @clicommon.pass_db @click.argument('chassis_module_name', metavar='', required=True) def startup_chassis_module(db, chassis_module_name): diff --git a/config/main.py b/config/main.py index 786ae67d40..540710e996 100644 --- a/config/main.py +++ b/config/main.py @@ -981,7 +981,7 @@ def config(ctx): config.add_command(aaa.aaa) config.add_command(aaa.tacacs) config.add_command(aaa.radius) -config.add_command(chassis_modules.chassis_modules) +config.add_command(chassis_modules.chassis) config.add_command(console.console) config.add_command(feature.feature) config.add_command(kdump.kdump) diff --git a/scripts/voqutil b/scripts/voqutil new file mode 100755 index 0000000000..0a34b566ad --- /dev/null +++ b/scripts/voqutil @@ -0,0 +1,373 @@ +#!/usr/bin/env python3 + +import argparse +import os +import re +import sys +import ipaddress + +from natsort import natsorted +from tabulate import tabulate +from utilities_common import multi_asic as multi_asic_util +from swsscommon import swsscommon + +# mock the redis for unit test purposes # +try: + if os.environ["UTILITIES_UNIT_TESTING"] == "1": + modules_path = os.path.join(os.path.dirname(__file__), "..") + tests_path = os.path.join(modules_path, "tests") + sys.path.insert(0, modules_path) + sys.path.insert(0, tests_path) + import mock_tables.dbconnector + if os.environ["UTILITIES_UNIT_TESTING_TOPOLOGY"] == "multi_asic": + import mock_tables.mock_multi_asic + mock_tables.dbconnector.load_namespace_config() + else: + mock_tables.dbconnector.load_database_config() + +except KeyError: + pass + + +# ========================== Common VOQ util logic ========================== + +SYSTEM_PORT_TABLE_PREFIX = swsscommon.APP_SYSTEM_PORT_TABLE_NAME + ":" +SYSTEM_PORT_ID = "system_port_id" +SYSTEM_PORT_CORE = "core_index" +SYSTEM_PORT_CORE_PORT = "core_port_index" +SYSTEM_PORT_SPEED = "speed" +SYSTEM_PORT_SWITCH_ID = "switch_id" + +SYSTEM_NEIGH_TABLE_PREFIX = swsscommon.CHASSIS_APP_SYSTEM_NEIGH_TABLE_NAME + "|" +SYSTEM_NEIGH_MAC = "neigh" +SYSTEM_NEIGH_ENCAP_INDEX = "encap_index" + +SYSTEM_LAG_TABLE_PREFIX = swsscommon.CHASSIS_APP_LAG_TABLE_NAME + "|" +SYSTEM_LAG_MEMBER_TABLE_PREFIX = swsscommon.CHASSIS_APP_LAG_MEMBER_TABLE_NAME + "|" +SYSTEM_LAG_ID = "lag_id" +SYSTEM_LAG_SWITCH_ID = "switch_id" + +def parse_systemintf_in_filter(intf_filter): + intf_fs = [] + + if intf_filter is None: + return intf_fs + + fs = intf_filter.split(',') + for x in fs: + intf_fs.append(x.strip()) + + return intf_fs + +def is_ipv4_address(ip_address): + """ + Checks if given ip is ipv4 + :param ip_address: str ipv4 + :return: bool + """ + try: + ipaddress.IPv4Address(ip_address) + return True + except ipaddress.AddressValueError as err: + return False + + +def is_ipv6_address(ip_address): + """ + Checks if given ip is ipv6 + :param ip_address: str ipv6 + :return: bool + """ + try: + ipaddress.IPv6Address(ip_address) + return True + except ipaddress.AddressValueError as err: + return False + +def appl_db_keys_get_system_port(appl_db, system_port_name): + """ + Get APPL_DB SYSTEM_PORT_TABLE Keys + """ + if system_port_name is None or system_port_name == "": + appl_db_keys = appl_db.keys(appl_db.APPL_DB, SYSTEM_PORT_TABLE_PREFIX+"*") + else: + appl_db_keys = appl_db.keys(appl_db.APPL_DB, SYSTEM_PORT_TABLE_PREFIX+"%s" % system_port_name) + + return appl_db_keys + +def appl_db_system_port_status_get(appl_db, system_port_name, status_type): + """ + Get the system port status + """ + full_table_id = SYSTEM_PORT_TABLE_PREFIX + system_port_name + status = appl_db.get(appl_db.APPL_DB, full_table_id, status_type) + if status is None: + return "N/A" + if status_type == SYSTEM_PORT_SPEED and status != "N/A": + status = '{}G'.format(status[:-3]) + return status + +def chassis_app_db_keys_get_system_neigh(chassis_app_db): + """ + Get CHASSIS_APP_DB SYSTEM_NEIGH table Keys + """ + system_neigh_keys = chassis_app_db.keys(chassis_app_db.CHASSIS_APP_DB, SYSTEM_NEIGH_TABLE_PREFIX+"*") + + return system_neigh_keys + +def chassis_app_db_system_neigh_status_get(chassis_app_db, system_neigh_name, status_type): + """ + Get the system neigh status + """ + full_table_id = SYSTEM_NEIGH_TABLE_PREFIX + system_neigh_name + status = chassis_app_db.get(chassis_app_db.CHASSIS_APP_DB, full_table_id, status_type) + if status is None: + return "N/A" + return status + +def chassis_app_db_keys_get_system_lag(chassis_app_db, system_lag_name): + """ + Get CHASSIS_APP_DB SYSTEM_LAG_TABLE Keys + """ + if system_lag_name is None or system_lag_name == "": + chassis_app_db_keys = chassis_app_db.keys(chassis_app_db.CHASSIS_APP_DB, SYSTEM_LAG_TABLE_PREFIX+"*") + else: + chassis_app_db_keys = chassis_app_db.keys(chassis_app_db.CHASSIS_APP_DB, SYSTEM_LAG_TABLE_PREFIX+"%s" % system_lag_name) + + return chassis_app_db_keys + +def chassis_app_db_system_lag_status_get(chassis_app_db, system_lag_name, status_type): + """ + Get the system lag status + """ + full_table_id = SYSTEM_LAG_TABLE_PREFIX + system_lag_name + status = chassis_app_db.get(chassis_app_db.CHASSIS_APP_DB, full_table_id, status_type) + if status is None: + return "N/A" + return status + +def chassis_app_db_keys_get_system_lag_member(chassis_app_db, system_lag_name, system_lag_member_name): + """ + Get CHASSIS_APP_DB SYSTEM_LAG_MEMBER_TABLE Keys for a given system lag + """ + if system_lag_name is None or system_lag_name == "": + chassis_app_db_keys = chassis_app_db.keys(chassis_app_db.CHASSIS_APP_DB, SYSTEM_LAG_MEMBER_TABLE_PREFIX+"*") + elif system_lag_member_name is None or system_lag_member_name == "": + chassis_app_db_keys = chassis_app_db.keys(chassis_app_db.CHASSIS_APP_DB, SYSTEM_LAG_MEMBER_TABLE_PREFIX+"%s*" % system_lag_name) + else: + chassis_app_db_keys = chassis_app_db.keys(chassis_app_db.CHASSIS_APP_DB, SYSTEM_LAG_MEMBER_TABLE_PREFIX+"%s:%s" % system_lag_name, system_lag_member_name) + + return chassis_app_db_keys + +# ========================== VOQ system port status logic ========================== + +header_system_port = ['System Port Name', 'Port Id', 'Switch Id', 'Core', 'Core Port', 'Speed'] + +class SystemPortStatus(object): + + def __init__(self, system_port_name, namespace_option): + """ + Class constructor method + :param self: + :param intf_name: string of system port name + :return: + """ + self.db = None + self.config_db = None + self.system_port_name = system_port_name + self.table = [] + self.multi_asic = multi_asic_util.MultiAsic(namespace_option=namespace_option) + + def display_systemport_status(self): + self.get_systemport_status() + sorted_table = natsorted(self.table) + print(tabulate(sorted_table, + header_system_port, + tablefmt="simple", + stralign='right')) + + def generate_systemport_status(self): + """ + Generate system port status output + """ + + i = {} + table = [] + key = [] + + intf_fs = parse_systemintf_in_filter(self.system_port_name) + # + # Iterate through all the keys and append system port's associated info to + # the result table. + # + for i in self.appl_db_keys_system_port: + key = re.split(':', i, maxsplit=1)[-1].strip() + if self.system_port_name is None or key in intf_fs: + table.append((key, + appl_db_system_port_status_get(self.db, key, SYSTEM_PORT_ID), + appl_db_system_port_status_get(self.db, key, SYSTEM_PORT_SWITCH_ID), + appl_db_system_port_status_get(self.db, key, SYSTEM_PORT_CORE), + appl_db_system_port_status_get(self.db, key, SYSTEM_PORT_CORE_PORT), + appl_db_system_port_status_get(self.db, key, SYSTEM_PORT_SPEED))) + + return table + + @multi_asic_util.run_on_multi_asic + def get_systemport_status(self): + self.appl_db_keys_system_port = appl_db_keys_get_system_port(self.db, None) + if self.appl_db_keys_system_port: + self.table += self.generate_systemport_status() + +# ========================== voq system neigh status logic ========================== + +header_system_neigh = ['System Port Interface', 'Neighbor', 'MAC', 'Encap Index'] + +class SystemNeighStatus(object): + + def __init__(self, ipaddress, asicname): + self.db = None + self.config_db = None + self.ipaddress = ipaddress + self.asicname = asicname + self.table = [] + + def display_systemneigh_status(self): + + self.get_systemneigh_status() + + # Sorting and tabulating the result table. + sorted_table = natsorted(self.table) + print(tabulate(sorted_table, header_system_neigh, tablefmt="simple", stralign='right')) + + def generate_systemneigh_status(self): + """ + Generate system neigh status output + """ + + i = {} + table = [] + key = [] + + if self.ipaddress is not None: + if not is_ipv4_address(self.ipaddress) and not is_ipv6_address(self.ipaddress): + print("{} is not valid ip address\n".format(self.ipaddress)) + return table + + # + # Iterate through all the keys and append system neigh's associated info to + # the result table. + # + for i in self.chassis_app_db_keys_system_neigh: + key_tokens = re.split('\|', i) + nbr = key_tokens[-1].strip() + intf = '|'.join(key_tokens[1:-1]) + key = '|'.join(key_tokens[1:]) + if ((self.ipaddress is None or nbr in self.ipaddress) and + (self.asicname is None or self.asicname in intf)): + table.append((intf, nbr, + chassis_app_db_system_neigh_status_get(self.db, key, SYSTEM_NEIGH_MAC), + chassis_app_db_system_neigh_status_get(self.db, key, SYSTEM_NEIGH_ENCAP_INDEX))) + return table + + def get_systemneigh_status(self): + self.db = swsscommon.SonicV2Connector(use_unix_socket_path=False) + self.db.connect(self.db.CHASSIS_APP_DB, False) + self.chassis_app_db_keys_system_neigh = chassis_app_db_keys_get_system_neigh(self.db) + if self.chassis_app_db_keys_system_neigh: + self.table += self.generate_systemneigh_status() + +# ========================== VOQ system lag status logic ========================== + +header_system_lag = ['System Lag Name', 'Lag Id', 'Switch Id', 'Member System Ports'] + +class SystemLagStatus(object): + + def __init__(self, system_lag_name, asicname, hostname): + """ + Class constructor method + :param self: + :param intf_name: string of system lag name + :return: + """ + self.db = None + self.config_db = None + self.system_lag_name = system_lag_name + self.asicname = asicname + self.hostname = hostname + self.table = [] + + def display_systemlag_status(self): + self.get_systemlag_status() + sorted_table = natsorted(self.table) + print(tabulate(sorted_table, + header_system_lag, + tablefmt="simple", + stralign='right')) + + def generate_systemlag_status(self): + """ + Generate system lag status output + """ + + i = {} + table = [] + key = [] + members = [] + + intf_fs = parse_systemintf_in_filter(self.system_lag_name) + # + # Iterate through all the keys and append system lag's associated info to + # the result table. + # + for i in self.chassis_app_db_keys_system_lag: + key_tokens = re.split('\|', i) + key = '|'.join(key_tokens[1:]) + if ((self.system_lag_name is None or key in intf_fs) and + (self.asicname is None or self.asicname in key) and + (self.hostname is None or self.hostname in key)): + mkeys = chassis_app_db_keys_get_system_lag_member(self.db, key, '') + members.clear() + for mk in mkeys: + members.append(mk.split(':')[-1].strip()) + memstr = ', '.join(members) + table.append((key, + chassis_app_db_system_lag_status_get(self.db, key, SYSTEM_LAG_ID), + chassis_app_db_system_lag_status_get(self.db, key, SYSTEM_LAG_SWITCH_ID), + memstr)) + + return table + + def get_systemlag_status(self): + self.db = swsscommon.SonicV2Connector(use_unix_socket_path=False) + self.db.connect(self.db.CHASSIS_APP_DB, False) + self.chassis_app_db_keys_system_lag = chassis_app_db_keys_get_system_lag(self.db, None) + if self.chassis_app_db_keys_system_lag: + self.table += self.generate_systemlag_status() + +# ========================== VOQ util logic main ========================== + +def main(): + parser = argparse.ArgumentParser(description='Display VOQ information', + formatter_class=argparse.RawTextHelpFormatter) + parser.add_argument('-c', '--command', type=str, help='get system ports or system neighbors or system lags', default=None) + parser.add_argument('-a', '--ipaddress', type=str, help='information for specific neighbor', default=None) + parser.add_argument('-i', '--interface', type=str, help='information for specific system port', default=None) + parser.add_argument('-s', '--systemlag', type=str, help='information for specific system lag', default=None) + parser.add_argument('-n', '--namespace', type=str, help='information from specific namespace or asicname', default=None) + parser.add_argument('-l', '--linecardname', type=str, help='information for specific linecard or host', default=None) + args = parser.parse_args() + + if args.command == "system_ports": + system_port_status = SystemPortStatus(args.interface, args.namespace) + system_port_status.display_systemport_status() + elif args.command == "system_neighbors": + system_neigh_status = SystemNeighStatus(args.ipaddress, args.namespace) + system_neigh_status.display_systemneigh_status() + elif args.command == "system_lags": + system_lag_status = SystemLagStatus(args.systemlag, args.namespace, args.linecardname) + system_lag_status.display_systemlag_status() + + sys.exit(0) + +if __name__ == "__main__": + main() diff --git a/setup.py b/setup.py index e4b5e36fa3..96c438dbff 100644 --- a/setup.py +++ b/setup.py @@ -126,6 +126,7 @@ 'scripts/syseeprom-to-json', 'scripts/tempershow', 'scripts/update_json.py', + 'scripts/voqutil', 'scripts/warm-reboot', 'scripts/watermarkstat', 'scripts/watermarkcfg', diff --git a/show/chassis_modules.py b/show/chassis_modules.py index 8a9d22ae35..acc0263b6f 100644 --- a/show/chassis_modules.py +++ b/show/chassis_modules.py @@ -4,6 +4,7 @@ from swsscommon.swsscommon import SonicV2Connector import utilities_common.cli as clicommon +from sonic_py_common import multi_asic CHASSIS_MODULE_INFO_TABLE = 'CHASSIS_MODULE_TABLE' CHASSIS_MODULE_INFO_KEY_TEMPLATE = 'CHASSIS_MODULE {}' @@ -17,11 +18,16 @@ CHASSIS_MIDPLANE_INFO_ACCESS_FIELD = 'access' @click.group(cls=clicommon.AliasedGroup) -def chassis_modules(): +def chassis(): + """Chassis commands group""" + pass + +@chassis.group() +def modules(): """Show chassis-modules information""" pass -@chassis_modules.command() +@modules.command() @clicommon.pass_db @click.argument('chassis_module_name', metavar='', required=False) def status(db, chassis_module_name): @@ -66,7 +72,7 @@ def status(db, chassis_module_name): else: click.echo('No data available in CHASSIS_MODULE_TABLE\n') -@chassis_modules.command() +@modules.command() @click.argument('chassis_module_name', metavar='', required=False) def midplane_status(chassis_module_name): """Show chassis-modules midplane-status""" @@ -102,3 +108,59 @@ def midplane_status(chassis_module_name): click.echo(tabulate(table, header, tablefmt='simple', stralign='right')) else: click.echo('No data available in CHASSIS_MIDPLANE_TABLE\n') + +@chassis.command() +@click.argument('systemportname', required=False) +@click.option('--namespace', '-n', 'namespace', required=True if multi_asic.is_multi_asic() else False, + default=None, type=str, show_default=False, help='Namespace name or all') +@click.option('--verbose', is_flag=True, help="Enable verbose output") +def system_ports(systemportname, namespace, verbose): + """Show VOQ system ports information""" + + cmd = "voqutil -c system_ports" + + if systemportname is not None: + cmd += " -i \"{}\"".format(systemportname) + + if namespace is not None: + cmd += " -n {}".format(namespace) + + clicommon.run_command(cmd, display_cmd=verbose) + +@chassis.command() +@click.argument('ipaddress', required=False) +@click.option('--asicname', '-n', 'asicname', default=None, type=str, show_default=False, help='Asic name') +@click.option('--verbose', is_flag=True, help="Enable verbose output") +def system_neighbors(asicname, ipaddress, verbose): + """Show VOQ system neighbors information""" + + cmd = "voqutil -c system_neighbors" + + if ipaddress is not None: + cmd += " -a {}".format(ipaddress) + + if asicname is not None: + cmd += " -n {}".format(asicname) + + clicommon.run_command(cmd, display_cmd=verbose) + +@chassis.command() +@click.argument('systemlagname', required=False) +@click.option('--asicname', '-n', 'asicname', default=None, type=str, show_default=False, help='Asic name') +@click.option('--linecardname', '-l', 'linecardname', default=None, type=str, show_default=False, help='Linecard or Host name') +@click.option('--verbose', is_flag=True, help="Enable verbose output") +def system_lags(systemlagname, asicname, linecardname, verbose): + """Show VOQ system lags information""" + + cmd = "voqutil -c system_lags" + + if systemlagname is not None: + cmd += " -s \"{}\"".format(systemlagname) + + if asicname is not None: + cmd += " -n {}".format(asicname) + + if linecardname is not None: + cmd += " -l \"{}\"".format(linecardname) + + clicommon.run_command(cmd, display_cmd=verbose) diff --git a/show/main.py b/show/main.py index 7840e9c83c..2a6bf73692 100755 --- a/show/main.py +++ b/show/main.py @@ -175,7 +175,7 @@ def cli(ctx): # Add groups from other modules cli.add_command(acl.acl) -cli.add_command(chassis_modules.chassis_modules) +cli.add_command(chassis_modules.chassis) cli.add_command(dropcounters.dropcounters) cli.add_command(feature.feature) cli.add_command(fgnhg.fgnhg) diff --git a/tests/chassis_modules_test.py b/tests/chassis_modules_test.py index fb63488ecd..e6dbe569d2 100644 --- a/tests/chassis_modules_test.py +++ b/tests/chassis_modules_test.py @@ -10,6 +10,7 @@ import config.main as config import tests.mock_tables.dbconnector from utilities_common.db import Db +from .utils import get_result_and_return_code show_linecard0_shutdown_output="""\ LINE-CARD0 line-card 1 Empty down @@ -39,6 +40,83 @@ SUPERVISOR0 192.168.1.100 True """ +show_chassis_system_ports_output_asic0="""\ + System Port Name Port Id Switch Id Core Core Port Speed +---------------------------- --------- ----------- ------ ----------- ------- + Linecard1|Asic0|Ethernet0 1 0 0 1 100G +Linecard1|Asic0|Ethernet-IB0 13 0 1 6 10G + Linecard1|Asic1|Ethernet12 65 2 0 1 100G + Linecard1|Asic2|Ethernet24 129 4 0 1 100G + Linecard2|Asic0|Ethernet0 193 6 0 1 100G +""" + +show_chassis_system_ports_output_1_asic0="""\ + System Port Name Port Id Switch Id Core Core Port Speed +------------------------- --------- ----------- ------ ----------- ------- +Linecard1|Asic0|Ethernet0 1 0 0 1 100G +""" + +show_chassis_system_neighbors_output_all="""\ + System Port Interface Neighbor MAC Encap Index +------------------------------- ---------- ----------------- ------------- + Linecard2|Asic0|Ethernet4 10.0.0.5 b6:8c:4f:18:67:ff 1074790406 + Linecard2|Asic0|Ethernet4 fc00::a b6:8c:4f:18:67:ff 1074790407 + Linecard2|Asic0|Ethernet-IB0 3.3.3.4 24:21:24:05:81:f7 1074790404 + Linecard2|Asic0|Ethernet-IB0 3333::3:4 24:21:24:05:81:f7 1074790405 +Linecard2|Asic1|PortChannel0002 10.0.0.1 26:8b:37:fa:8e:67 1074790406 +Linecard2|Asic1|PortChannel0002 fc00::2 26:8b:37:fa:8e:67 1074790407 + Linecard4|Asic0|Ethernet5 10.0.0.11 46:c3:71:8c:dd:2d 1074790406 + Linecard4|Asic0|Ethernet5 fc00::16 46:c3:71:8c:dd:2d 1074790407 +""" + +show_chassis_system_neighbors_output_ipv4="""\ + System Port Interface Neighbor MAC Encap Index +------------------------- ---------- ----------------- ------------- +Linecard2|Asic0|Ethernet4 10.0.0.5 b6:8c:4f:18:67:ff 1074790406 +""" + +show_chassis_system_neighbors_output_ipv6="""\ + System Port Interface Neighbor MAC Encap Index +------------------------- ---------- ----------------- ------------- +Linecard4|Asic0|Ethernet5 fc00::16 46:c3:71:8c:dd:2d 1074790407 +""" + +show_chassis_system_neighbors_output_asic0="""\ + System Port Interface Neighbor MAC Encap Index +---------------------------- ---------- ----------------- ------------- + Linecard2|Asic0|Ethernet4 10.0.0.5 b6:8c:4f:18:67:ff 1074790406 + Linecard2|Asic0|Ethernet4 fc00::a b6:8c:4f:18:67:ff 1074790407 +Linecard2|Asic0|Ethernet-IB0 3.3.3.4 24:21:24:05:81:f7 1074790404 +Linecard2|Asic0|Ethernet-IB0 3333::3:4 24:21:24:05:81:f7 1074790405 + Linecard4|Asic0|Ethernet5 10.0.0.11 46:c3:71:8c:dd:2d 1074790406 + Linecard4|Asic0|Ethernet5 fc00::16 46:c3:71:8c:dd:2d 1074790407 +""" + +show_chassis_system_lags_output="""\ + System Lag Name Lag Id Switch Id Member System Ports +------------------------------- -------- ----------- ------------------------------------------------------ +Linecard2|Asic1|PortChannel0002 1 8 Linecard2|Asic1|Ethernet16, Linecard2|Asic1|Ethernet17 +Linecard4|Asic2|PortChannel0001 2 22 Linecard4|Asic2|Ethernet29, Linecard4|Asic2|Ethernet30 +""" + +show_chassis_system_lags_output_1="""\ + System Lag Name Lag Id Switch Id Member System Ports +------------------------------- -------- ----------- ------------------------------------------------------ +Linecard4|Asic2|PortChannel0001 2 22 Linecard4|Asic2|Ethernet29, Linecard4|Asic2|Ethernet30 +""" + +show_chassis_system_lags_output_asic1="""\ + System Lag Name Lag Id Switch Id Member System Ports +------------------------------- -------- ----------- ------------------------------------------------------ +Linecard2|Asic1|PortChannel0002 1 8 Linecard2|Asic1|Ethernet16, Linecard2|Asic1|Ethernet17 +""" + +show_chassis_system_lags_output_lc4="""\ + System Lag Name Lag Id Switch Id Member System Ports +------------------------------- -------- ----------- ------------------------------------------------------ +Linecard4|Asic2|PortChannel0001 2 22 Linecard4|Asic2|Ethernet29, Linecard4|Asic2|Ethernet30 +""" + class TestChassisModules(object): @classmethod def setup_class(cls): @@ -47,13 +125,13 @@ def setup_class(cls): def test_show_and_verify_output(self): runner = CliRunner() - result = runner.invoke(show.cli.commands["chassis-modules"].commands["status"], []) + result = runner.invoke(show.cli.commands["chassis"].commands["modules"].commands["status"], []) print(result.output) assert(result.output == show_chassis_modules_output) def test_show_all_count_lines(self): runner = CliRunner() - result = runner.invoke(show.cli.commands["chassis-modules"].commands["status"], []) + result = runner.invoke(show.cli.commands["chassis"].commands["modules"].commands["status"], []) print(result.output) result_lines = result.output.strip('\n').split('\n') modules = ["FABRIC-CARD0", "FABRIC-CARD1", "LINE-CARD0", "LINE-CARD1", "SUPERVISOR0"] @@ -63,7 +141,7 @@ def test_show_all_count_lines(self): def test_show_single_count_lines(self): runner = CliRunner() - result = runner.invoke(show.cli.commands["chassis-modules"].commands["status"], ["LINE-CARD0"]) + result = runner.invoke(show.cli.commands["chassis"].commands["modules"].commands["status"], ["LINE-CARD0"]) print(result.output) result_lines = result.output.strip('\n').split('\n') modules = ["LINE-CARD0"] @@ -73,7 +151,7 @@ def test_show_single_count_lines(self): def test_show_module_down(self): runner = CliRunner() - result = runner.invoke(show.cli.commands["chassis-modules"].commands["status"], ["LINE-CARD1"]) + result = runner.invoke(show.cli.commands["chassis"].commands["modules"].commands["status"], ["LINE-CARD1"]) result_lines = result.output.strip('\n').split('\n') assert result.exit_code == 0 result_out = (result_lines[header_lines]).split() @@ -81,14 +159,14 @@ def test_show_module_down(self): def test_show_incorrect_command(self): runner = CliRunner() - result = runner.invoke(show.cli.commands["chassis-modules"], []) + result = runner.invoke(show.cli.commands["chassis"].commands["modules"], []) print(result.output) print(result.exit_code) assert result.exit_code == 0 def test_show_incorrect_module(self): runner = CliRunner() - result = runner.invoke(show.cli.commands["chassis-modules"].commands["status"], ["TEST-CARD1"]) + result = runner.invoke(show.cli.commands["chassis"].commands["modules"].commands["status"], ["TEST-CARD1"]) print(result.output) print(result.exit_code) assert result.exit_code == 0 @@ -96,12 +174,12 @@ def test_show_incorrect_module(self): def test_config_shutdown_module(self): runner = CliRunner() db = Db() - result = runner.invoke(config.config.commands["chassis-modules"].commands["shutdown"], ["LINE-CARD0"], obj=db) + result = runner.invoke(config.config.commands["chassis"].commands["modules"].commands["shutdown"], ["LINE-CARD0"], obj=db) print(result.exit_code) print(result.output) assert result.exit_code == 0 - result = runner.invoke(show.cli.commands["chassis-modules"].commands["status"], ["LINE-CARD0"], obj=db) + result = runner.invoke(show.cli.commands["chassis"].commands["modules"].commands["status"], ["LINE-CARD0"], obj=db) print(result.exit_code) print(result.output) result_lines = result.output.strip('\n').split('\n') @@ -115,12 +193,12 @@ def test_config_shutdown_module(self): def test_config_startup_module(self): runner = CliRunner() db = Db() - result = runner.invoke(config.config.commands["chassis-modules"].commands["startup"], ["LINE-CARD0"], obj=db) + result = runner.invoke(config.config.commands["chassis"].commands["modules"].commands["startup"], ["LINE-CARD0"], obj=db) print(result.exit_code) print(result.output) assert result.exit_code == 0 - result = runner.invoke(show.cli.commands["chassis-modules"].commands["status"], ["LINE-CARD0"], obj=db) + result = runner.invoke(show.cli.commands["chassis"].commands["modules"].commands["status"], ["LINE-CARD0"], obj=db) print(result.exit_code) print(result.output) result_lines = result.output.strip('\n').split('\n') @@ -131,20 +209,20 @@ def test_config_startup_module(self): def test_config_incorrect_module(self): runner = CliRunner() db = Db() - result = runner.invoke(config.config.commands["chassis-modules"].commands["shutdown"], ["TEST-CARD0"], obj=db) + result = runner.invoke(config.config.commands["chassis"].commands["modules"].commands["shutdown"], ["TEST-CARD0"], obj=db) print(result.exit_code) print(result.output) assert result.exit_code != 0 def test_show_and_verify_midplane_output(self): runner = CliRunner() - result = runner.invoke(show.cli.commands["chassis-modules"].commands["midplane-status"], []) + result = runner.invoke(show.cli.commands["chassis"].commands["modules"].commands["midplane-status"], []) print(result.output) assert(result.output == show_chassis_midplane_output) def test_midplane_show_all_count_lines(self): runner = CliRunner() - result = runner.invoke(show.cli.commands["chassis-modules"].commands["midplane-status"], []) + result = runner.invoke(show.cli.commands["chassis"].commands["modules"].commands["midplane-status"], []) print(result.output) result_lines = result.output.strip('\n').split('\n') modules = ["LINE-CARD0", "LINE-CARD1", "SUPERVISOR0"] @@ -154,7 +232,7 @@ def test_midplane_show_all_count_lines(self): def test_midplane_show_single_count_lines(self): runner = CliRunner() - result = runner.invoke(show.cli.commands["chassis-modules"].commands["midplane-status"], ["LINE-CARD0"]) + result = runner.invoke(show.cli.commands["chassis"].commands["modules"].commands["midplane-status"], ["LINE-CARD0"]) print(result.output) result_lines = result.output.strip('\n').split('\n') modules = ["LINE-CARD0"] @@ -164,7 +242,7 @@ def test_midplane_show_single_count_lines(self): def test_midplane_show_module_down(self): runner = CliRunner() - result = runner.invoke(show.cli.commands["chassis-modules"].commands["midplane-status"], ["LINE-CARD1"]) + result = runner.invoke(show.cli.commands["chassis"].commands["modules"].commands["midplane-status"], ["LINE-CARD1"]) print(result.output) result_lines = result.output.strip('\n').split('\n') assert result.exit_code == 0 @@ -174,11 +252,80 @@ def test_midplane_show_module_down(self): def test_midplane_show_incorrect_module(self): runner = CliRunner() - result = runner.invoke(show.cli.commands["chassis-modules"].commands["midplane-status"], ["TEST-CARD1"]) + result = runner.invoke(show.cli.commands["chassis"].commands["modules"].commands["midplane-status"], ["TEST-CARD1"]) print(result.output) print(result.exit_code) assert result.exit_code == 0 + def test_show_and_verify_system_ports_output_asic0(self): + os.environ["UTILITIES_UNIT_TESTING_TOPOLOGY"] = "multi_asic" + return_code, result = get_result_and_return_code('voqutil -c system_ports -n asic0') + print("return_code: {}".format(return_code)) + print("result = {}".format(result)) + assert return_code == 0 + assert result == show_chassis_system_ports_output_asic0 + + def test_show_and_verify_system_ports_output_1_asic0(self): + return_code, result = get_result_and_return_code('voqutil -c system_ports -i "Linecard1|Asic0|Ethernet0" -n asic0') + print("return_code: {}".format(return_code)) + print("result = {}".format(result)) + assert return_code == 0 + assert result == show_chassis_system_ports_output_1_asic0 + os.environ["UTILITIES_UNIT_TESTING_TOPOLOGY"] = "" + + def test_show_and_verify_system_neighbors_output_all(self): + runner = CliRunner() + result = runner.invoke(show.cli.commands["chassis"].commands["system-neighbors"], []) + print(result.output) + assert(result.output == show_chassis_system_neighbors_output_all) + + def test_show_and_verify_system_neighbors_output_ipv4(self): + return_code, result = get_result_and_return_code('voqutil -c system_neighbors -a 10.0.0.5') + print("return_code: {}".format(return_code)) + print("result = {}".format(result)) + assert return_code == 0 + assert result == show_chassis_system_neighbors_output_ipv4 + + def test_show_and_verify_system_neighbors_output_ipv6(self): + return_code, result = get_result_and_return_code('voqutil -c system_neighbors -a fc00::16') + print("return_code: {}".format(return_code)) + print("result = {}".format(result)) + assert return_code == 0 + assert result == show_chassis_system_neighbors_output_ipv6 + + def test_show_and_verify_system_neighbors_output_asic0(self): + return_code, result = get_result_and_return_code('voqutil -c system_neighbors -n Asic0') + print("return_code: {}".format(return_code)) + print("result = {}".format(result)) + assert return_code == 0 + assert result == show_chassis_system_neighbors_output_asic0 + + def test_show_and_verify_system_lags_output(self): + runner = CliRunner() + result = runner.invoke(show.cli.commands["chassis"].commands["system-lags"], []) + print(result.output) + assert(result.output == show_chassis_system_lags_output) + + def test_show_and_verify_system_lags_output_1(self): + runner = CliRunner() + result = runner.invoke(show.cli.commands["chassis"].commands["system-lags"], ["""Linecard4|Asic2|PortChannel0001"""]) + print(result.output) + assert(result.output == show_chassis_system_lags_output_1) + + def test_show_and_verify_system_lags_output_asic1(self): + return_code, result = get_result_and_return_code('voqutil -c system_lags -n Asic1') + print("return_code: {}".format(return_code)) + print("result = {}".format(result)) + assert return_code == 0 + assert result == show_chassis_system_lags_output_asic1 + + def test_show_and_verify_system_lags_output_lc4(self): + return_code, result = get_result_and_return_code('voqutil -c system_lags -l Linecard4') + print("return_code: {}".format(return_code)) + print("result = {}".format(result)) + assert return_code == 0 + assert result == show_chassis_system_lags_output_lc4 + @classmethod def teardown_class(cls): print("TEARDOWN") diff --git a/tests/mock_tables/asic0/appl_db.json b/tests/mock_tables/asic0/appl_db.json index a708aa7fd6..a70b0f89c9 100644 --- a/tests/mock_tables/asic0/appl_db.json +++ b/tests/mock_tables/asic0/appl_db.json @@ -59,6 +59,41 @@ "role": "Int", "speed": "100000" }, + "SYSTEM_PORT_TABLE:Linecard1|Asic0|Ethernet0": { + "core_index": "0", + "core_port_index": "1", + "speed": "100000", + "switch_id": "0", + "system_port_id": "1" + }, + "SYSTEM_PORT_TABLE:Linecard1|Asic0|Ethernet-IB0": { + "core_index": "1", + "core_port_index": "6", + "speed": "10000", + "switch_id": "0", + "system_port_id": "13" + }, + "SYSTEM_PORT_TABLE:Linecard1|Asic1|Ethernet12": { + "core_index": "0", + "core_port_index": "1", + "speed": "100000", + "switch_id": "2", + "system_port_id": "65" + }, + "SYSTEM_PORT_TABLE:Linecard1|Asic2|Ethernet24": { + "core_index": "0", + "core_port_index": "1", + "speed": "100000", + "switch_id": "4", + "system_port_id": "129" + }, + "SYSTEM_PORT_TABLE:Linecard2|Asic0|Ethernet0": { + "core_index": "0", + "core_port_index": "1", + "speed": "100000", + "switch_id": "6", + "system_port_id": "193" + }, "LAG_MEMBER_TABLE:PortChannel1002:Ethernet0": { "status": "disabled" }, @@ -93,4 +128,4 @@ "INTF_TABLE:Ethernet-BP4": { "mpls":"disable" } -} +} \ No newline at end of file diff --git a/tests/mock_tables/asic1/appl_db.json b/tests/mock_tables/asic1/appl_db.json index 37e992c415..d938f6b830 100644 --- a/tests/mock_tables/asic1/appl_db.json +++ b/tests/mock_tables/asic1/appl_db.json @@ -45,6 +45,41 @@ "role": "Int", "speed": "100000" }, + "SYSTEM_PORT_TABLE:Linecard1|Asic0|Ethernet0": { + "core_index": "0", + "core_port_index": "1", + "speed": "100000", + "switch_id": "0", + "system_port_id": "1" + }, + "SYSTEM_PORT_TABLE:Linecard1|Asic0|Ethernet-IB0": { + "core_index": "1", + "core_port_index": "6", + "speed": "10000", + "switch_id": "0", + "system_port_id": "13" + }, + "SYSTEM_PORT_TABLE:Linecard1|Asic1|Ethernet12": { + "core_index": "0", + "core_port_index": "1", + "speed": "100000", + "switch_id": "2", + "system_port_id": "65" + }, + "SYSTEM_PORT_TABLE:Linecard1|Asic2|Ethernet24": { + "core_index": "0", + "core_port_index": "1", + "speed": "100000", + "switch_id": "4", + "system_port_id": "129" + }, + "SYSTEM_PORT_TABLE:Linecard2|Asic0|Ethernet0": { + "core_index": "0", + "core_port_index": "1", + "speed": "100000", + "switch_id": "6", + "system_port_id": "193" + }, "LAG_TABLE:PortChannel4009": { "admin_status": "up", "oper_status": "up", diff --git a/tests/mock_tables/asic2/appl_db.json b/tests/mock_tables/asic2/appl_db.json index 56eaf377bb..7dd9c66515 100644 --- a/tests/mock_tables/asic2/appl_db.json +++ b/tests/mock_tables/asic2/appl_db.json @@ -59,6 +59,41 @@ "role": "Int", "speed": "100000" }, + "SYSTEM_PORT_TABLE:Linecard1|Asic0|Ethernet0": { + "core_index": "0", + "core_port_index": "1", + "speed": "100000", + "switch_id": "0", + "system_port_id": "1" + }, + "SYSTEM_PORT_TABLE:Linecard1|Asic0|Ethernet-IB0": { + "core_index": "1", + "core_port_index": "6", + "speed": "10000", + "switch_id": "0", + "system_port_id": "13" + }, + "SYSTEM_PORT_TABLE:Linecard1|Asic1|Ethernet12": { + "core_index": "0", + "core_port_index": "1", + "speed": "100000", + "switch_id": "2", + "system_port_id": "65" + }, + "SYSTEM_PORT_TABLE:Linecard1|Asic2|Ethernet24": { + "core_index": "0", + "core_port_index": "1", + "speed": "100000", + "switch_id": "4", + "system_port_id": "129" + }, + "SYSTEM_PORT_TABLE:Linecard2|Asic0|Ethernet0": { + "core_index": "0", + "core_port_index": "1", + "speed": "100000", + "switch_id": "6", + "system_port_id": "193" + }, "LAG_MEMBER_TABLE:PortChannel1015:Ethernet20": { "status": "enabled" }, diff --git a/tests/mock_tables/chassis_app_db.json b/tests/mock_tables/chassis_app_db.json new file mode 100644 index 0000000000..56e1c4de2e --- /dev/null +++ b/tests/mock_tables/chassis_app_db.json @@ -0,0 +1,54 @@ +{ + "SYSTEM_LAG_MEMBER_TABLE|Linecard2|Asic1|PortChannel0002:Linecard2|Asic1|Ethernet16": { + "NULL": "NULL" + }, + "SYSTEM_LAG_MEMBER_TABLE|Linecard2|Asic1|PortChannel0002:Linecard2|Asic1|Ethernet17": { + "NULL": "NULL" + }, + "SYSTEM_LAG_MEMBER_TABLE|Linecard4|Asic2|PortChannel0001:Linecard4|Asic2|Ethernet29": { + "NULL": "NULL" + }, + "SYSTEM_LAG_MEMBER_TABLE|Linecard4|Asic2|PortChannel0001:Linecard4|Asic2|Ethernet30": { + "NULL": "NULL" + }, + "SYSTEM_LAG_TABLE|Linecard2|Asic1|PortChannel0002": { + "lag_id": "1", + "switch_id": "8" + }, + "SYSTEM_LAG_TABLE|Linecard4|Asic2|PortChannel0001": { + "lag_id": "2", + "switch_id": "22" + }, + "SYSTEM_NEIGH|Linecard2|Asic0|Ethernet-IB0|3.3.3.4": { + "encap_index": "1074790404", + "neigh": "24:21:24:05:81:f7" + }, + "SYSTEM_NEIGH|Linecard2|Asic0|Ethernet-IB0|3333::3:4": { + "encap_index": "1074790405", + "neigh": "24:21:24:05:81:f7" + }, + "SYSTEM_NEIGH|Linecard2|Asic0|Ethernet4|10.0.0.5": { + "encap_index": "1074790406", + "neigh": "b6:8c:4f:18:67:ff" + }, + "SYSTEM_NEIGH|Linecard2|Asic0|Ethernet4|fc00::a": { + "encap_index": "1074790407", + "neigh": "b6:8c:4f:18:67:ff" + }, + "SYSTEM_NEIGH|Linecard2|Asic1|PortChannel0002|10.0.0.1": { + "encap_index": "1074790406", + "neigh": "26:8b:37:fa:8e:67" + }, + "SYSTEM_NEIGH|Linecard2|Asic1|PortChannel0002|fc00::2": { + "encap_index": "1074790407", + "neigh": "26:8b:37:fa:8e:67" + }, + "SYSTEM_NEIGH|Linecard4|Asic0|Ethernet5|10.0.0.11": { + "encap_index": "1074790406", + "neigh": "46:c3:71:8c:dd:2d" + }, + "SYSTEM_NEIGH|Linecard4|Asic0|Ethernet5|fc00::16": { + "encap_index": "1074790407", + "neigh": "46:c3:71:8c:dd:2d" + } +} \ No newline at end of file diff --git a/tests/mock_tables/database_config.json b/tests/mock_tables/database_config.json index 04c064abb3..d12ba05414 100644 --- a/tests/mock_tables/database_config.json +++ b/tests/mock_tables/database_config.json @@ -51,6 +51,11 @@ "id" : 7, "separator": "|", "instance" : "redis" + }, + "CHASSIS_APP_DB" : { + "id" : 12, + "separator": "|", + "instance" : "redis" } }, "VERSION" : "1.1" From 6fd06755ab3762888cb26512c5aebccbcf3cbcf9 Mon Sep 17 00:00:00 2001 From: Vadym Hlushko <62022266+vadymhlushko-mlnx@users.noreply.github.com> Date: Wed, 25 Aug 2021 21:38:41 +0300 Subject: [PATCH 279/342] [PBH] CLI for Policy Based Hashing (#1701) - What I did Created click CLI plugins for PBH feature - How I did it The CLI plugins were auto-generated (by using the sonic-cli-gen) for show and config CLI groups, then manually those were manually edited to meet PBH the CLI requirements according to the PBH HLD - How to verify it Added the UT --- clear/main.py | 30 +- config/plugins/pbh.py | 851 ++++++++++++++++++++ doc/Command-Reference.md | 300 ++++++++ show/plugins/pbh.py | 469 +++++++++++ tests/pbh_input/assert_show_output.py | 92 +++ tests/pbh_input/counters_db.json | 10 + tests/pbh_input/counters_db_updated.json | 10 + tests/pbh_input/full_pbh_config.json | 81 ++ tests/pbh_input/hash.json | 40 + tests/pbh_input/hash_fields.json | 34 + tests/pbh_input/rule.json | 50 ++ tests/pbh_input/table.json | 17 + tests/pbh_test.py | 939 +++++++++++++++++++++++ 13 files changed, 2921 insertions(+), 2 deletions(-) create mode 100644 config/plugins/pbh.py create mode 100644 show/plugins/pbh.py create mode 100644 tests/pbh_input/assert_show_output.py create mode 100644 tests/pbh_input/counters_db.json create mode 100644 tests/pbh_input/counters_db_updated.json create mode 100644 tests/pbh_input/full_pbh_config.json create mode 100644 tests/pbh_input/hash.json create mode 100644 tests/pbh_input/hash_fields.json create mode 100644 tests/pbh_input/rule.json create mode 100644 tests/pbh_input/table.json create mode 100644 tests/pbh_test.py diff --git a/clear/main.py b/clear/main.py index 4302ae00aa..8f93597b68 100755 --- a/clear/main.py +++ b/clear/main.py @@ -2,11 +2,12 @@ import os import subprocess import sys - import click +import utilities_common.cli as clicommon +import json from utilities_common import util_base - +from show.plugins.pbh import read_pbh_counters from . import plugins @@ -449,6 +450,31 @@ def translations(): cmd = "natclear -t" run_command(cmd) +# 'pbh' group ("clear pbh ...") +@cli.group(cls=AliasedGroup) +def pbh(): + """ Clear the PBH info """ + pass + +# 'statistics' subcommand ("clear pbh statistics") +@pbh.command() +@clicommon.pass_db +def statistics(db): + """ Clear PBH counters + clear counters -- write current counters to file in /tmp + """ + + pbh_rules = db.cfgdb.get_table("PBH_RULE") + pbh_counters = read_pbh_counters(pbh_rules) + + try: + with open('/tmp/.pbh_counters.txt', 'w') as fp: + json.dump(remap_keys(pbh_counters), fp) + except IOError as err: + pass + +def remap_keys(dict): + return [{'key': k, 'value': v} for k, v in dict.items()] # Load plugins and register them helper = util_base.UtilHelper() diff --git a/config/plugins/pbh.py b/config/plugins/pbh.py new file mode 100644 index 0000000000..e5e5f0fdde --- /dev/null +++ b/config/plugins/pbh.py @@ -0,0 +1,851 @@ +""" +This CLI plugin was auto-generated by using 'sonic-cli-gen' utility, BUT +it was manually modified to meet the PBH HLD requirements. + +PBH HLD - https://github.com/Azure/SONiC/pull/773 +CLI Auto-generation tool HLD - https://github.com/Azure/SONiC/pull/78 +""" + +import click +import ipaddress +import re +import utilities_common.cli as clicommon + +hash_field_types = [ + 'INNER_IP_PROTOCOL', + 'INNER_L4_DST_PORT', + 'INNER_L4_SRC_PORT', + 'INNER_DST_IPV4', + 'INNER_SRC_IPV4', + 'INNER_DST_IPV6', + 'INNER_SRC_IPV6' +] +packet_action_types = ['SET_ECMP_HASH', 'SET_LAG_HASH'] +flow_counter_state = ['DISABLED', 'ENABLED'] + +gre_key_re = r"^(0x){1}[a-fA-F0-9]{1,8}/(0x){1}[a-fA-F0-9]{1,8}$" +ip_protocol_re = r"^(0x){1}[a-fA-F0-9]{1,2}$" +ipv6_next_header_re = ip_protocol_re +l4_dst_port_re = r"^(0x){1}[a-fA-F0-9]{1,4}$" +inner_ether_type_re = l4_dst_port_re +ether_type_re = l4_dst_port_re + +pbh_hash_field_tbl_name = 'PBH_HASH_FIELD' +pbh_hash_tbl_name = 'PBH_HASH' +pbh_table_tbl_name = 'PBH_TABLE' + + +def exit_with_error(*args, **kwargs): + """ Print a message and abort CLI. """ + + click.secho(*args, **kwargs) + raise click.Abort() + + +def add_entry(db, table, key, data): + """ Add new entry in table """ + + cfg = db.get_config() + cfg.setdefault(table, {}) + if key in cfg[table]: + raise Exception("{} already exists".format(key)) + + cfg[table][key] = data + + db.set_entry(table, key, data) + + +def update_entry(db, table, key, data, create_if_not_exists=False): + """ Update entry in table and validate configuration. + If attribute value in data is None, the attribute is deleted. + """ + + cfg = db.get_config() + cfg.setdefault(table, {}) + + if create_if_not_exists: + cfg[table].setdefault(key, {}) + + if key not in cfg[table]: + raise Exception("{} does not exist".format(key)) + + for attr, value in data.items(): + if value is None and attr in cfg[table][key]: + cfg[table][key].pop(attr) + else: + cfg[table][key][attr] = value + + db.set_entry(table, key, cfg[table][key]) + + +def del_entry(db, table, key): + """ Delete entry in table """ + + cfg = db.get_config() + cfg.setdefault(table, {}) + if key not in cfg[table]: + raise Exception("{} does not exist".format(key)) + + cfg[table].pop(key) + + db.set_entry(table, key, None) + + +def ip_address_validator(ctx, param, value): + """ Check if the given ip address is valid + + Args: + ctx: click context, + param: click parameter context, + value: value of parameter + + Returns: + str: ip address + """ + + if value is not None: + try: + ip = ipaddress.ip_address(value) + except Exception as e: + exit_with_error("Error: invalid value '{}' for '{}' option\n{}".format(value, param.name, e), fg="red") + + return str(ip) + + +def re_match(value, param_name, regexp): + """ Regexp validation of given parameter + + Args: + value: value to validate, + param_name: parameter name, + regexp: regular expression + + Return: + str: validated value + """ + + if re.match(regexp, str(value)) is None: + exit_with_error("Error: invalid value '{}' for '{}' option".format(str(value), param_name), fg="red") + + return value + + +def pbh_re_match_validator(ctx, param, value): + """ Check if PBH rule options are valid + + Args: + ctx: click context, + param: click parameter context, + value: value of parameter + + Returns: + str: validated parameter + """ + + if value is not None: + if param.name == 'gre_key': + return re_match(value, param.name, gre_key_re) + elif param.name == 'ip_protocol': + return re_match(value, param.name, ip_protocol_re) + elif param.name == 'ipv6_next_header': + return re_match(value, param.name, ipv6_next_header_re) + elif param.name == 'l4_dst_port': + return re_match(value, param.name, l4_dst_port_re) + elif param.name == 'inner_ether_type': + return re_match(value, param.name, inner_ether_type_re) + elif param.name == 'ether_type': + return re_match(value, param.name, ether_type_re) + + +def is_exist_in_db(db, obj_list, conf_db_key): + """ Check if provided CLI option already exist in Config DB, + i.g in case of --hash-field-list option it will check + if 'hash-field' was previously added by + 'config pbh hash-field ...' CLI command + + Args: + db: reference to Config DB, + obj_list: value of 'click' option + conf_db_key: key to search in Config DB + """ + + if obj_list is None: + return True + + table = db.cfgdb.get_table(conf_db_key) + correct_list = list(table.keys()) + + splited_list = obj_list.split(',') + + for elem in splited_list: + if elem not in correct_list: + return False + + return True + + +def ip_mask_hash_field_correspondence_validator(ip_mask, hash_field): + """ Check if the --ip-mask option are correspond to + the --hash-field option + + Args: + ip_mask: ip address or None, + hash_field: hash field value, which was configured before + """ + + hf_v4 = ['INNER_DST_IPV4', 'INNER_SRC_IPV4'] + hf_v6 = ['INNER_DST_IPV6', 'INNER_SRC_IPV6'] + hf_v4_and_v6 = hf_v4 + hf_v6 + hf_no_ip = ['INNER_IP_PROTOCOL', 'INNER_L4_DST_PORT', 'INNER_L4_SRC_PORT'] + + if (hash_field in hf_no_ip) and (ip_mask): + exit_with_error("Error: the value of '--hash-field'='{}' is NOT compatible with the value of '--ip-mask'='{}'".format(hash_field, ip_mask), fg='red') + + if (hash_field in hf_v4_and_v6) and (ip_mask is None): + exit_with_error("Error: the value of '--hash-field'='{}' is NOT compatible with the value of '--ip-mask'='{}'".format(hash_field, ip_mask), fg='red') + + if (ip_mask is not None): + ip_addr_version = ipaddress.ip_address(ip_mask).version + + if (hash_field in hf_v4) and (ip_addr_version != 4): + exit_with_error("Error: the value of '--hash-field'='{}' is NOT compatible with the value of '--ip-mask'='{}'".format(hash_field, ip_mask), fg='red') + + if (hash_field in hf_v6) and (ip_addr_version != 6): + exit_with_error("Error: the value of '--hash-field'='{}' is NOT compatible with the value of '--ip-mask'='{}'".format(hash_field, ip_mask), fg='red') + + +def ip_mask_hash_field_update_validator(db, hash_field_name, ip_mask, hash_field): + """ Function to validate --ip-mask and --hash-field + correspondence, during update flow + + Args: + db: reference to CONFIG DB, + hash_field_name: name of the hash-field, + ip_mask: ip address, + hash_field: native hash field value + """ + + if (ip_mask is None) and (hash_field is None): + return + + table = db.cfgdb.get_table(pbh_hash_field_tbl_name) + hash_field_obj = table[hash_field_name] + + if (ip_mask is None) and (hash_field is not None): + + try: + ip_mask = hash_field_obj['ip_mask'] + except Exception as e: + ip_mask = None + + ip_mask_hash_field_correspondence_validator(ip_mask, hash_field) + + if (ip_mask is not None) and (hash_field is None): + + hash_field = hash_field_obj['hash_field'] + + ip_mask_hash_field_correspondence_validator(ip_mask, hash_field) + + +def interfaces_list_validator(db, interface_list, is_update): + if is_update and (interface_list is None): + return + + is_error = False + interfaces_splited = interface_list.split(',') + + for intf in interfaces_splited: + if intf.startswith('Ethernet'): + if not clicommon.is_valid_port(db.cfgdb, intf): + is_error = True + break + elif intf.startswith('PortChannel'): + if not clicommon.is_valid_portchannel(db.cfgdb, intf): + is_error = True + break + else: + is_error = True + break + + if is_error: + exit_with_error("Error: invalid value '{}', for '--interface-list' option".format(interface_list), fg="red") + + +@click.group( + name='pbh', + cls=clicommon.AliasedGroup +) +def PBH(): + """ Configure PBH (Policy based hashing) feature """ + + pass + + +@PBH.group( + name="hash-field", + cls=clicommon.AliasedGroup +) +def PBH_HASH_FIELD(): + """ Configure PBH hash field """ + + pass + + +@PBH_HASH_FIELD.command(name="add") +@click.argument( + "hash-field-name", + nargs=1, + required=True, +) +@click.option( + "--hash-field", + help="Configures native hash field for this hash field", + required=True, + type=click.Choice(hash_field_types) +) +@click.option( + "--ip-mask", + help="""Configures IPv4/IPv6 address mask for this hash field, required when the value of --hash-field is - INNER_DST_IPV4 or INNER_SRC_IPV4 or INNER_SRC_IPV6 or INNER_SRC_IPV6""", + callback=ip_address_validator, +) +@click.option( + "--sequence-id", + help="Configures in which order the fields are hashed and defines which fields should be associative", + required=True, + type=click.INT, +) +@clicommon.pass_db +def PBH_HASH_FIELD_add(db, hash_field_name, hash_field, ip_mask, sequence_id): + """ Add object to PBH_HASH_FIELD table """ + + ip_mask_hash_field_correspondence_validator(ip_mask, hash_field) + + table = pbh_hash_field_tbl_name + key = hash_field_name + data = {} + if hash_field is not None: + data["hash_field"] = hash_field + if ip_mask is not None: + data["ip_mask"] = ip_mask + if sequence_id is not None: + data["sequence_id"] = sequence_id + + try: + add_entry(db.cfgdb, table, key, data) + except Exception as err: + exit_with_error("Error: {}".format(err), fg="red") + + +@PBH_HASH_FIELD.command(name="update") +@click.argument( + "hash-field-name", + nargs=1, + required=True, +) +@click.option( + "--hash-field", + help="Configures native hash field for this hash field", + type=click.Choice(hash_field_types) +) +@click.option( + "--ip-mask", + help="""Configures IPv4/IPv6 address mask for this hash field, required when the value of --hash-field is - INNER_DST_IPV4 or INNER_SRC_IPV4 or INNER_SRC_IPV6 or INNER_SRC_IPV6 """, + callback=ip_address_validator, +) +@click.option( + "--sequence-id", + help="Configures in which order the fields are hashed and defines which fields should be associative", + type=click.INT, +) +@clicommon.pass_db +def PBH_HASH_FIELD_update(db, hash_field_name, hash_field, ip_mask, sequence_id): + """ Update object in PBH_HASH_FIELD table """ + + ip_mask_hash_field_update_validator(db, hash_field_name, ip_mask, hash_field) + + table = pbh_hash_field_tbl_name + key = hash_field_name + data = {} + if hash_field is not None: + data["hash_field"] = hash_field + if ip_mask is not None: + data["ip_mask"] = ip_mask + if sequence_id is not None: + data["sequence_id"] = sequence_id + + try: + update_entry(db.cfgdb, table, key, data) + except Exception as err: + exit_with_error("Error: {}".format(err), fg="red") + + +@PBH_HASH_FIELD.command(name="delete") +@click.argument( + "hash-field-name", + nargs=1, + required=True, +) +@clicommon.pass_db +def PBH_HASH_FIELD_delete(db, hash_field_name): + """ Delete object from PBH_HASH_FIELD table """ + + table = pbh_hash_field_tbl_name + key = hash_field_name + try: + del_entry(db.cfgdb, table, key) + except Exception as err: + exit_with_error("Error: {}".format(err), fg="red") + + +@PBH.group( + name="hash", + cls=clicommon.AliasedGroup +) +def PBH_HASH(): + """ Configure PBH hash """ + + pass + + +@PBH_HASH.command(name="add") +@click.argument( + "hash-name", + nargs=1, + required=True, +) +@click.option( + "--hash-field-list", + help="The list of hash fields to apply with this hash", + required=True, +) +@clicommon.pass_db +def PBH_HASH_add(db, hash_name, hash_field_list): + """ Add object to PBH_HASH table """ + + if not is_exist_in_db(db, hash_field_list, pbh_hash_field_tbl_name): + exit_with_error("Error: invalid value '{}' for '--hash-field-list' option".format(hash_field_list), fg="red") + + table = pbh_hash_tbl_name + key = hash_name + data = {} + if hash_field_list is not None: + data["hash_field_list"] = hash_field_list.split(",") + + try: + add_entry(db.cfgdb, table, key, data) + except Exception as err: + exit_with_error("Error: {}".format(err), fg="red") + + +@PBH_HASH.command(name="update") +@click.argument( + "hash-name", + nargs=1, + required=True, +) +@click.option( + "--hash-field-list", + help="The list of hash fields to apply with this hash", +) +@clicommon.pass_db +def PBH_HASH_update(db, hash_name, hash_field_list): + """ Update object in PBH_HASH table """ + + if not is_exist_in_db(db, hash_field_list, pbh_hash_field_tbl_name): + exit_with_error("Error: invalid value '{}' for '--hash-field-list' option".format(hash_field_list), fg="red") + + table = pbh_hash_tbl_name + key = hash_name + data = {} + if hash_field_list is not None: + data["hash_field_list"] = hash_field_list.split(",") + + try: + update_entry(db.cfgdb, table, key, data) + except Exception as err: + exit_with_error("Error: {}".format(err), fg="red") + + +@PBH_HASH.command(name="delete") +@click.argument( + "hash-name", + nargs=1, + required=True, +) +@clicommon.pass_db +def PBH_HASH_delete(db, hash_name): + """ Delete object from PBH_HASH table """ + + table = pbh_hash_tbl_name + key = hash_name + try: + del_entry(db.cfgdb, table, key) + except Exception as err: + exit_with_error("Error: {}".format(err), fg="red") + + +@PBH.group( + name="rule", + cls=clicommon.AliasedGroup +) +def PBH_RULE(): + """ Configure PBH rule """ + + pass + + +@PBH_RULE.command(name="add") +@click.argument( + "table-name", + nargs=1, + required=True, +) +@click.argument( + "rule-name", + nargs=1, + required=True, +) +@click.option( + "--priority", + help="Configures priority for this rule", + required=True, + type=click.INT, +) +@click.option( + "--gre-key", + help="Configures packet match: GRE key (value/mask)", + callback=pbh_re_match_validator, +) +@click.option( + "--ether-type", + help="Configures packet match for this rule: EtherType (IANA Ethertypes)", + callback=pbh_re_match_validator, +) +@click.option( + "--ip-protocol", + help="Configures packet match for this rule: IP protocol (IANA Protocol Numbers)", + callback=pbh_re_match_validator, +) +@click.option( + "--ipv6-next-header", + help="Configures packet match for this rule: IPv6 Next header (IANA Protocol Numbers)", + callback=pbh_re_match_validator, +) +@click.option( + "--l4-dst-port", + help="Configures packet match for this rule: L4 destination port", + callback=pbh_re_match_validator, +) +@click.option( + "--inner-ether-type", + help="Configures packet match for this rule: inner EtherType (IANA Ethertypes)", + callback=pbh_re_match_validator, +) +@click.option( + "--hash", + required=True, + help="The hash to apply with this rule", +) +@click.option( + "--packet-action", + help="Configures packet action for this rule", + type=click.Choice(packet_action_types) +) +@click.option( + "--flow-counter", + help="Enables/Disables packet/byte counter", + type=click.Choice(flow_counter_state) +) +@clicommon.pass_db +def PBH_RULE_add( + db, + table_name, + rule_name, + priority, + gre_key, + ether_type, + ip_protocol, + ipv6_next_header, + l4_dst_port, + inner_ether_type, + hash, + packet_action, + flow_counter +): + """ Add object to PBH_RULE table """ + + if not is_exist_in_db(db, table_name, pbh_table_tbl_name): + exit_with_error("Error: invalid value '{}' for 'table-name' argument".format(table_name), fg="red") + if not is_exist_in_db(db, hash, pbh_hash_tbl_name): + exit_with_error("Error: invalid value '{}' for '--hash' option".format(hash), fg="red") + + table = "PBH_RULE" + key = table_name, rule_name + data = {} + if priority is not None: + data["priority"] = priority + if gre_key is not None: + data["gre_key"] = gre_key + if ether_type is not None: + data["ether_type"] = ether_type + if ip_protocol is not None: + data["ip_protocol"] = ip_protocol + if ipv6_next_header is not None: + data["ipv6_next_header"] = ipv6_next_header + if l4_dst_port is not None: + data["l4_dst_port"] = l4_dst_port + if inner_ether_type is not None: + data["inner_ether_type"] = inner_ether_type + if hash is not None: + data["hash"] = hash + if packet_action is not None: + data["packet_action"] = packet_action + if flow_counter is not None: + data["flow_counter"] = flow_counter + + try: + add_entry(db.cfgdb, table, key, data) + except Exception as err: + exit_with_error("Error: {}".format(err), fg="red") + + +@PBH_RULE.command(name="update") +@click.argument( + "table-name", + nargs=1, + required=True, +) +@click.argument( + "rule-name", + nargs=1, + required=True, +) +@click.option( + "--priority", + help="Configures priority for this rule", + type=click.INT, +) +@click.option( + "--gre-key", + help="Configures packet match: GRE key (value/mask)", + callback=pbh_re_match_validator, +) +@click.option( + "--ether-type", + help="Configures packet match for this rule: EtherType (IANA Ethertypes)", + callback=pbh_re_match_validator, +) +@click.option( + "--ip-protocol", + help="Configures packet match for this rule: IP protocol (IANA Protocol Numbers)", + callback=pbh_re_match_validator, +) +@click.option( + "--ipv6-next-header", + help="Configures packet match for this rule: IPv6 Next header (IANA Protocol Numbers)", + callback=pbh_re_match_validator, +) +@click.option( + "--l4-dst-port", + help="Configures packet match for this rule: L4 destination port", + callback=pbh_re_match_validator, +) +@click.option( + "--inner-ether-type", + help="Configures packet match for this rule: inner EtherType (IANA Ethertypes)", + callback=pbh_re_match_validator, +) +@click.option( + "--hash", + help="The hash to apply with this rule", +) +@click.option( + "--packet-action", + help="Configures packet action for this rule", + type=click.Choice(packet_action_types) +) +@click.option( + "--flow-counter", + help="Enables/Disables packet/byte counter", + type=click.Choice(flow_counter_state) +) +@clicommon.pass_db +def PBH_RULE_update( + db, + table_name, + rule_name, + priority, + gre_key, + ether_type, + ip_protocol, + ipv6_next_header, + l4_dst_port, + inner_ether_type, + hash, + packet_action, + flow_counter +): + """ Update object in PBH_RULE table """ + + if not is_exist_in_db(db, table_name, pbh_table_tbl_name): + exit_with_error("Error: invalid value '{}' for 'table-name' argument".format(table_name), fg="red") + if not is_exist_in_db(db, hash, pbh_hash_tbl_name): + exit_with_error("Error: invalid value '{}' for '--hash' option".format(hash), fg="red") + + table = "PBH_RULE" + key = table_name, rule_name + data = {} + if priority is not None: + data["priority"] = priority + if gre_key is not None: + data["gre_key"] = gre_key + if ether_type is not None: + data["ether_type"] = ether_type + if ip_protocol is not None: + data["ip_protocol"] = ip_protocol + if ipv6_next_header is not None: + data["ipv6_next_header"] = ipv6_next_header + if l4_dst_port is not None: + data["l4_dst_port"] = l4_dst_port + if inner_ether_type is not None: + data["inner_ether_type"] = inner_ether_type + if hash is not None: + data["hash"] = hash + if packet_action is not None: + data["packet_action"] = packet_action + if flow_counter is not None: + data["flow_counter"] = flow_counter + + try: + update_entry(db.cfgdb, table, key, data) + except Exception as err: + exit_with_error("Error: {}".format(err), fg="red") + + +@PBH_RULE.command(name="delete") +@click.argument( + "table-name", + nargs=1, + required=True, +) +@click.argument( + "rule-name", + nargs=1, + required=True, +) +@clicommon.pass_db +def PBH_RULE_delete(db, table_name, rule_name): + """ Delete object from PBH_RULE table """ + + table = "PBH_RULE" + key = table_name, rule_name + try: + del_entry(db.cfgdb, table, key) + except Exception as err: + exit_with_error("Error: {}".format(err), fg="red") + + +@PBH.group( + name="table", + cls=clicommon.AliasedGroup +) +def PBH_TABLE(): + """ Configure PBH table""" + + pass + + +@PBH_TABLE.command(name="add") +@click.argument( + "table-name", + nargs=1, + required=True, +) +@click.option( + "--description", + help="The description of this table", + required=True, +) +@click.option( + "--interface-list", + help="Interfaces to which this table is applied", + required=True, +) +@clicommon.pass_db +def PBH_TABLE_add(db, table_name, description, interface_list): + """ Add object to PBH_TABLE table """ + + interfaces_list_validator(db, interface_list, is_update=False) + + table = "PBH_TABLE" + key = table_name + data = {} + if description is not None: + data["description"] = description + if interface_list is not None: + data["interface_list"] = interface_list.split(",") + + try: + add_entry(db.cfgdb, table, key, data) + except Exception as err: + exit_with_error("Error: {}".format(err), fg="red") + + +@PBH_TABLE.command(name="update") +@click.argument( + "table-name", + nargs=1, + required=True, +) +@click.option( + "--description", + help="The description of this table", +) +@click.option( + "--interface-list", + help="Interfaces to which this table is applied", +) +@clicommon.pass_db +def PBH_TABLE_update(db, table_name, description, interface_list): + """ Update object in PBH_TABLE table """ + + interfaces_list_validator(db, interface_list, is_update=True) + + table = "PBH_TABLE" + key = table_name + data = {} + if description is not None: + data["description"] = description + if interface_list is not None: + data["interface_list"] = interface_list.split(",") + + try: + update_entry(db.cfgdb, table, key, data) + except Exception as err: + exit_with_error("Error: {}".format(err), fg="red") + + +@PBH_TABLE.command(name="delete") +@click.argument( + "table-name", + nargs=1, + required=True, +) +@clicommon.pass_db +def PBH_TABLE_delete(db, table_name): + """ Delete object from PBH_TABLE table """ + + table = "PBH_TABLE" + key = table_name + try: + del_entry(db.cfgdb, table, key) + except Exception as err: + exit_with_error("Error: {}".format(err), fg="red") + + +def register(cli): + cli_node = PBH + if cli_node.name in cli.commands: + raise Exception("{} already exists in CLI".format(cli_node.name)) + cli.add_command(PBH) + diff --git a/doc/Command-Reference.md b/doc/Command-Reference.md index 26b23ac31c..160ae8b7b4 100644 --- a/doc/Command-Reference.md +++ b/doc/Command-Reference.md @@ -103,6 +103,9 @@ * [NTP](#ntp) * [NTP show commands](#ntp-show-commands) * [NTP config commands](#ntp-config-commands) +* [PBH](#pbh) + * [PBH show commands](#pbh-show-commands) + * [PBH config commands](#pbh-config-commands) * [PFC Watchdog Commands](#pfc-watchdog-commands) * [Platform Component Firmware](#platform-component-firmware) * [Platform Component Firmware show commands](#platform-component-firmware-show-commands) @@ -6531,6 +6534,303 @@ This command adds or deletes a member port to/from the already created portchann Go Back To [Beginning of the document](#) or [Beginning of this section](#portchannels) +## PBH + +This section explains the various show commands and configuration commands available for users. + +### PBH show commands + +This subsection explains how to display PBH configuration and statistics. + +**show pbh table** + +This command displays PBH table configuration. + +- Usage: +```bash +show pbh table +``` + +- Example: +```bash +admin@sonic:~$ show pbh table +NAME INTERFACE DESCRIPTION +--------- --------------- --------------- +pbh_table Ethernet0 NVGRE and VxLAN + Ethernet4 + PortChannel0001 + PortChannel0002 +``` + +**show pbh rule** + +This command displays PBH rule configuration. + +- Usage: +```bash +show pbh rule +``` + +- Example: +```bash +admin@sonic:~$ show pbh rule +TABLE RULE PRIORITY MATCH HASH ACTION COUNTER +--------- ------ ---------- ------------------------------------ ------------- ------------- --------- +pbh_table nvgre 2 ether_type: 0x0800 inner_v6_hash SET_ECMP_HASH DISABLED + ip_protocol: 0x2f + gre_key: 0x2500/0xffffff00 + inner_ether_type: 0x86dd +pbh_table vxlan 1 ether_type: 0x0800 inner_v4_hash SET_LAG_HASH ENABLED + ip_protocol: 0x11 + l4_dst_port: 0x12b5 + inner_ether_type: 0x0800 +``` + +**show pbh hash** + +This command displays PBH hash configuration. + +- Usage: +```bash +show pbh hash +``` + +- Example: +```bash +admin@sonic:~$ show pbh hash +NAME HASH FIELD +------------- ----------------- +inner_v4_hash inner_ip_proto + inner_l4_dst_port + inner_l4_src_port + inner_dst_ipv4 + inner_src_ipv4 +inner_v6_hash inner_ip_proto + inner_l4_dst_port + inner_l4_src_port + inner_dst_ipv6 + inner_src_ipv6 +``` + +**show pbh hash-field** + +This command displays PBH hash field configuration. + +- Usage: +```bash +show pbh hash-field +``` + +- Example: +```bash +admin@sonic:~$ show pbh hash-field +NAME FIELD MASK SEQUENCE SYMMETRIC +----------------- ----------------- --------- ---------- ----------- +inner_ip_proto INNER_IP_PROTOCOL N/A 1 No +inner_l4_dst_port INNER_L4_DST_PORT N/A 2 Yes +inner_l4_src_port INNER_L4_SRC_PORT N/A 2 Yes +inner_dst_ipv4 INNER_DST_IPV4 255.0.0.0 3 Yes +inner_src_ipv4 INNER_SRC_IPV4 0.0.0.255 3 Yes +inner_dst_ipv6 INNER_DST_IPV6 ffff:: 4 Yes +inner_src_ipv6 INNER_SRC_IPV6 ::ffff 4 Yes +``` + +- Note: + - _SYMMETRIC_ is an artificial column and is only used to indicate fields symmetry + +**show pbh statistics** + +This command displays PBH statistics. + +- Usage: +```bash +show pbh statistics +``` + +- Example: +```bash +admin@sonic:~$ show pbh statistics +TABLE RULE RX PACKETS COUNT RX BYTES COUNT +--------- ------ ------------------ ---------------- +pbh_table nvgre 0 0 +pbh_table vxlan 0 0 +``` + +- Note: + - _RX PACKETS COUNT_ and _RX BYTES COUNT_ can be cleared by user: + ```bash + admin@sonic:~$ sonic-clear pbh statistics + ``` + +### PBH config commands + +This subsection explains how to configure PBH. + +**config pbh table** + +This command is used to manage PBH table objects. +It supports add/update/remove operations. + +- Usage: +```bash +config pbh table add --interface-list --description +config pbh table update [ --interface-list ] [ --description ] +config pbh table delete +``` + +- Parameters: + - _table_name_: the name of the PBH table + - _interface_list_: interfaces to which PBH table is applied + - _description_: the description of the PBH table + +- Examples: +```bash +config pbh table add 'pbh_table' \ +--interface-list 'Ethernet0,Ethernet4,PortChannel0001,PortChannel0002' \ +--description 'NVGRE and VxLAN' +config pbh table update 'pbh_table' \ +--interface-list 'Ethernet0' +config pbh table delete 'pbh_table' +``` + +**config pbh rule** + +This command is used to manage PBH rule objects. +It supports add/update/remove operations. + +- Usage: +```bash +config pbh rule add --priority \ +[ --gre-key ] [ --ether-type ] [ --ip-protocol ] \ +[ --ipv6-next-header ] [ --l4-dst-port ] [ --inner-ether-type ] \ +--hash [ --packet-action ] [ --flow-counter ] +config pbh rule update [ --priority ] \ +[ --gre-key ] [ --ether-type ] [ --ip-protocol ] \ +[ --ipv6-next-header ] [ --l4-dst-port ] [ --inner-ether-type ] \ +[ --hash ] [ --packet-action ] [ --flow-counter ] +config pbh rule delete +``` + +- Parameters: + - _table_name_: the name of the PBH table + - _rule_name_: the name of the PBH rule + - _priority_: the priority of the PBH rule + - _gre_key_: packet match for the PBH rule: GRE key (value/mask) + - _ether_type_: packet match for the PBH rule: EtherType (IANA Ethertypes) + - _ip_protocol_: packet match for the PBH rule: IP protocol (IANA Protocol Numbers) + - _ipv6_next_header_: packet match for the PBH rule: IPv6 Next header (IANA Protocol Numbers) + - _l4_dst_port_: packet match for the PBH rule: L4 destination port + - _inner_ether_type_: packet match for the PBH rule: inner EtherType (IANA Ethertypes) + - _hash_: _hash_ object to apply with the PBH rule + - _packet_action_: packet action for the PBH rule + + Valid values: + - SET_ECMP_HASH + - SET_LAG_HASH + + Default: + - SET_ECMP_HASH + + - _flow_counter_: packet/byte counter for the PBH rule + + Valid values: + - DISABLED + - ENABLED + + Default: + - DISABLED + +- Examples: +```bash +config pbh rule add 'pbh_table' 'nvgre' \ +--priority '2' \ +--ether-type '0x0800' \ +--ip-protocol '0x2f' \ +--gre-key '0x2500/0xffffff00' \ +--inner-ether-type '0x86dd' \ +--hash 'inner_v6_hash' \ +--packet-action 'SET_ECMP_HASH' \ +--flow-counter 'DISABLED' +config pbh rule update 'pbh_table' 'nvgre' \ +--flow-counter 'ENABLED' +config pbh rule delete 'pbh_table' 'nvgre' +``` + +**config pbh hash** + +This command is used to manage PBH hash objects. +It supports add/update/remove operations. + +- Usage: +```bash +config pbh hash add --hash-field-list +config pbh hash update [ --hash-field-list ] +config pbh hash delete +``` + +- Parameters: + - _hash_name_: the name of the PBH hash + - _hash_field_list_: list of _hash-field_ objects to apply with the PBH hash + +- Examples: +```bash +config pbh hash add 'inner_v6_hash' \ +--hash-field-list 'inner_ip_proto,inner_l4_dst_port,inner_l4_src_port,inner_dst_ipv6,inner_src_ipv6' +config pbh hash update 'inner_v6_hash' \ +--hash-field-list 'inner_ip_proto' +config pbh hash delete 'inner_v6_hash' +``` + +**config pbh hash-field** + +This command is used to manage PBH hash field objects. +It supports add/update/remove operations. + +- Usage: +```bash +config pbh hash-field add \ +--hash-field [ --ip-mask ] --sequence-id +config pbh hash-field update \ +[ --hash-field ] [ --ip-mask ] [ --sequence-id ] +config pbh hash-field delete +``` + +- Parameters: + - _hash_field_name_: the name of the PBH hash field + - _hash_field_: native hash field for the PBH hash field + + Valid values: + - INNER_IP_PROTOCOL + - INNER_L4_DST_PORT + - INNER_L4_SRC_PORT + - INNER_DST_IPV4 + - INNER_SRC_IPV4 + - INNER_DST_IPV6 + - INNER_SRC_IPV6 + + - _ip_mask_: IPv4/IPv6 address mask for the PBH hash field + + Valid only: _hash_field_ is: + - INNER_DST_IPV4 + - INNER_SRC_IPV4 + - INNER_DST_IPV6 + - INNER_SRC_IPV6 + + - _sequence_id_: the order in which fields are hashed + +- Examples: +```bash +config pbh hash-field add 'inner_dst_ipv6' \ +--hash-field 'INNER_DST_IPV6' \ +--ip-mask 'ffff::' \ +--sequence-id '4' +config pbh hash-field update 'inner_dst_ipv6' \ +--ip-mask 'ffff:ffff::' +config pbh hash-field delete 'inner_dst_ipv6' +``` + +Go Back To [Beginning of the document](#) or [Beginning of this section](#pbh) + ## QoS ### QoS Show commands diff --git a/show/plugins/pbh.py b/show/plugins/pbh.py new file mode 100644 index 0000000000..d7cd929e02 --- /dev/null +++ b/show/plugins/pbh.py @@ -0,0 +1,469 @@ +""" +This CLI plugin was auto-generated by using 'sonic-cli-gen' utility, BUT +it was manually modified to meet the PBH HLD requirements. + +PBH HLD - https://github.com/Azure/SONiC/pull/773 +CLI Auto-generation tool HLD - https://github.com/Azure/SONiC/pull/78 +""" + +import os +import click +import tabulate +import natsort +import json +import utilities_common.cli as clicommon +from swsscommon.swsscommon import SonicV2Connector + +PBH_COUNTERS_LOCATION = '/tmp/.pbh_counters.txt' + +pbh_hash_field_tbl_name = 'PBH_HASH_FIELD' +pbh_hash_tbl_name = 'PBH_HASH' +pbh_table_tbl_name = 'PBH_TABLE' +pbh_rule_tbl_name = 'PBH_RULE' + + +def format_attr_value(entry, attr): + """ Helper that formats attribute to be presented in the table output. + + Args: + entry (Dict[str, str]): CONFIG DB entry configuration. + attr (Dict): Attribute metadata. + + Returns: + str: fomatted attribute value. + """ + + if attr["is-leaf-list"]: + return "\n".join(entry.get(attr["name"], [])) + + return entry.get(attr["name"], "N/A") + + +def format_group_value(entry, attrs): + """ Helper that formats grouped attribute to be presented in the table output. + + Args: + entry (Dict[str, str]): CONFIG DB entry configuration. + attrs (List[Dict]): Attributes metadata that belongs to the same group. + + Returns: + str: fomatted group attributes. + """ + + data = [] + for attr in attrs: + if entry.get(attr["name"]): + data.append((attr["name"] + ":", format_attr_value(entry, attr))) + + return tabulate.tabulate(data, tablefmt="plain", numalign="left") + + +@click.group( + name='pbh', + cls=clicommon.AliasedGroup +) +def PBH(): + """ Show PBH (Policy based hashing) feature configuration """ + + pass + + +@PBH.group( + name="hash-field", + cls=clicommon.AliasedGroup, + invoke_without_command=True +) +@clicommon.pass_db +def PBH_HASH_FIELD(db): + """ Show the PBH hash field configuration """ + + header = [ + "NAME", + "FIELD", + "MASK", + "SEQUENCE", + "SYMMETRIC", + ] + + body = [] + + table = db.cfgdb.get_table(pbh_hash_field_tbl_name) + for key in natsort.natsorted(table): + + entry = table[key] + + if not isinstance(key, tuple): + key = (key,) + + row = [*key] + [ + format_attr_value( + entry, + { + 'name': 'hash_field', + 'description': 'Configures native hash field for this hash field', + 'is-leaf-list': False, + 'is-mandatory': True, + 'group': '' + } + ), + format_attr_value( + entry, + { + 'name': 'ip_mask', + 'description': 'Configures IPv4/IPv6 address mask for this hash field', + 'is-leaf-list': False, + 'is-mandatory': True, + 'group': '' + } + ), + format_attr_value( + entry, + { + 'name': 'sequence_id', + 'description': 'Configures in which order the fields are hashed and defines which fields should be associative', + 'is-leaf-list': False, + 'is-mandatory': True, + 'group': '' + } + ), + ] + + body.append(row) + + # sorted by 'sequence_id' + body_sorted = sorted(body, key=lambda e: int(e[3])) + inject_symmetric_field(body_sorted) + click.echo(tabulate.tabulate(body_sorted, header, numalign="left")) + + +@PBH.group( + name="hash", + cls=clicommon.AliasedGroup, + invoke_without_command=True +) +@clicommon.pass_db +def PBH_HASH(db): + """ Show the PBH hash configuration """ + + header = [ + "NAME", + "HASH FIELD", + ] + + body = [] + + table = db.cfgdb.get_table(pbh_hash_tbl_name) + for key in natsort.natsorted(table): + entry = table[key] + if not isinstance(key, tuple): + key = (key,) + + row = [*key] + [ + format_attr_value( + entry, + { + 'name': 'hash_field_list', + 'description': 'The list of hash fields to apply with this hash', + 'is-leaf-list': True, + 'is-mandatory': False, + 'group': '' + } + ), + ] + + body.append(row) + + click.echo(tabulate.tabulate(body, header, numalign="left")) + + +@PBH.group( + name="rule", + cls=clicommon.AliasedGroup, + invoke_without_command=True +) +@clicommon.pass_db +def PBH_RULE(db): + """ Show the PBH rules configuration """ + + header = [ + "TABLE", + "RULE", + "PRIORITY", + "MATCH", + "HASH", + "ACTION", + "COUNTER", + ] + + body = [] + + table = db.cfgdb.get_table(pbh_rule_tbl_name) + for key in natsort.natsorted(table): + entry = table[key] + if not isinstance(key, tuple): + key = (key,) + + row = [*key] + [ + format_attr_value( + entry, + { + 'name': 'priority', + 'description': 'Configures priority for this rule', + 'is-leaf-list': False, + 'is-mandatory': True, + 'group': '' + } + ), + format_group_value( + entry, + [ + { + 'name': 'gre_key', + 'description': 'Configures packet match for this rule: GRE key (value/mask)', + 'is-leaf-list':False, + 'is-mandatory': False, + 'group': 'Match' + }, + { + 'name': 'ether_type', + 'description': 'Configures packet match for this rule: EtherType (IANA Ethertypes)', + 'is-leaf-list': False, + 'is-mandatory': False, + 'group': 'Match' + }, + { + 'name': 'ip_protocol', + 'description': 'Configures packet match for this rule: IP protocol (value/mask)', + 'is-leaf-list': False, + 'is-mandatory': False, + 'group': 'Match' + }, + { + 'name': 'ipv6_next_header', + 'description': 'Configures packet match for this rule: IPv6 Next header (value/mask)', + 'is-leaf-list': False, + 'is-mandatory': False, + 'group': 'Match' + }, + { + 'name': 'l4_dst_port', + 'description': 'Configures packet match for this rule: L4 destination port (value/mask)', + 'is-leaf-list': False, + 'is-mandatory': False, + 'group': 'Match' + }, + { + 'name': 'inner_ether_type', + 'description': 'Configures packet match for this rule: inner EtherType (value/mask)', + 'is-leaf-list': False, + 'is-mandatory': False, + 'group': 'Match' + }, + ] + ), + format_attr_value( + entry, + { + 'name': 'hash', + 'description':'The hash to apply with this rule', + 'is-leaf-list': False, + 'is-mandatory': True, + 'group': ''} + ), + format_attr_value( + entry, + { + 'name': 'packet_action', + 'description': 'Configures packet action for this rule', + 'is-leaf-list': False, + 'is-mandatory': False, + 'group': '' + } + ), + format_attr_value( + entry, + { + 'name': 'flow_counter', + 'description': 'Configures packet action for this rule', + 'is-leaf-list': False, + 'is-mandatory': False, + 'group': '' + } + ), + ] + + body.append(row) + + # sorted by 'Priority' + body_sorted = sorted(body, key=lambda e: int(e[2]), reverse=True) + click.echo(tabulate.tabulate(body_sorted, header, numalign="left")) + + +@PBH.group( + name="table", + cls=clicommon.AliasedGroup, + invoke_without_command=True +) +@clicommon.pass_db +def PBH_TABLE(db): + """ Show the PBH table configuration """ + + header = [ + "NAME", + "INTERFACE", + "DESCRIPTION", + ] + + body = [] + + table = db.cfgdb.get_table(pbh_table_tbl_name) + for key in natsort.natsorted(table): + entry = table[key] + if not isinstance(key, tuple): + key = (key,) + + row = [*key] + [ + format_attr_value( + entry, + { + 'name': 'interface_list', + 'description': 'Interfaces to which this table is applied', + 'is-leaf-list': True, + 'is-mandatory': False, + 'group': '' + } + ), + format_attr_value( + entry, + { + 'name': 'description', + 'description': 'The description of this table', + 'is-leaf-list': False, + 'is-mandatory': True, + 'group': '' + } + ), + ] + + body.append(row) + + click.echo(tabulate.tabulate(body, header, numalign="left")) + + +@PBH.group( + name="statistics", + cls=clicommon.AliasedGroup, + invoke_without_command=True +) +@clicommon.pass_db +def PBH_STATISTICS(db): + """ Show the PBH counters """ + + header = [ + "TABLE", + "RULE", + "RX PACKETS COUNT", + "RX BYTES COUNT", + ] + + body = [] + + pbh_rules = db.cfgdb.get_table(pbh_rule_tbl_name) + pbh_counters = read_pbh_counters(pbh_rules) + saved_pbh_counters = read_saved_pbh_counters() + + for key in pbh_rules: + if pbh_rules[key]['flow_counter'] == 'ENABLED': + row = [ + key[0], + key[1], + get_counter_value(pbh_counters, saved_pbh_counters, key, 'packets'), + get_counter_value(pbh_counters, saved_pbh_counters, key, 'bytes'), + ] + body.append(row) + + click.echo(tabulate.tabulate(body, header, numalign="left")) + + +def get_counter_value(pbh_counters, saved_pbh_counters, key, type): + if not pbh_counters[key]: + return '0' + + if key in saved_pbh_counters: + new_value = int(pbh_counters[key][type]) - int(saved_pbh_counters[key][type]) + if new_value >= 0: + return str(new_value) + + return str(pbh_counters[key][type]) + + +def remap_keys(obj_list): + res = {} + for e in obj_list: + res[e['key'][0], e['key'][1]] = e['value'] + return res + + +def read_saved_pbh_counters(): + if os.path.isfile(PBH_COUNTERS_LOCATION): + try: + with open(PBH_COUNTERS_LOCATION) as fp: + return remap_keys(json.load(fp)) + except Exception: + return {} + + return {} + + +def read_pbh_counters(pbh_rules) -> dict: + pbh_counters = {} + + db_connector = SonicV2Connector(use_unix_socket_path=False) + db_connector.connect(db_connector.COUNTERS_DB) + + for table, rule in natsort.natsorted(pbh_rules): + counter_props = lowercase_keys(db_connector.get_all(db_connector.COUNTERS_DB, "COUNTERS:%s:%s" % (table, rule))) + if counter_props: + pbh_counters[table, rule] = counter_props + + return pbh_counters + + +def inject_symmetric_field(obj_list): + """ The 'Symmetric' parameter will have 'Yes' value + if there are 2 'pbh hash fields' with identical 'sequence_id' value + + Args: + obj_list: a row of pbh hash fields that will be + displayed to the user + """ + + sequence_id = 3 + counter = 0 + + for i in range(0, len(obj_list)): + for j in range(0, len(obj_list)): + if i == j: + continue + + if obj_list[i][sequence_id] == obj_list[j][sequence_id]: + counter += 1 + + if counter >= 1: + obj_list[i].append('Yes') + else: + obj_list[i].append('No') + + counter = 0 + + +def lowercase_keys(dictionary): + return dict((k.lower(), v) for k, v in dictionary.items()) if dictionary else None + + +def register(cli): + cli_node = PBH + if cli_node.name in cli.commands: + raise Exception(f"{cli_node.name} already exists in CLI") + cli.add_command(PBH) + diff --git a/tests/pbh_input/assert_show_output.py b/tests/pbh_input/assert_show_output.py new file mode 100644 index 0000000000..5b67403a17 --- /dev/null +++ b/tests/pbh_input/assert_show_output.py @@ -0,0 +1,92 @@ +""" +Module holding the correct values for show CLI command outputs for the pbh_test.py +""" + +show_pbh_hash_fields="""\ +NAME FIELD MASK SEQUENCE SYMMETRIC +----------------- ----------------- --------- ---------- ----------- +inner_ip_proto INNER_IP_PROTOCOL N/A 1 No +inner_l4_dst_port INNER_L4_DST_PORT N/A 2 Yes +inner_l4_src_port INNER_L4_SRC_PORT N/A 2 Yes +inner_dst_ipv4 INNER_DST_IPV4 255.0.0.0 3 Yes +inner_src_ipv4 INNER_SRC_IPV4 0.0.0.255 3 Yes +inner_dst_ipv6 INNER_DST_IPV6 ffff:: 4 Yes +inner_src_ipv6 INNER_SRC_IPV6 ::ffff 4 Yes +""" + + +show_pbh_hash="""\ +NAME HASH FIELD +------------- ----------------- +inner_v4_hash inner_ip_proto + inner_l4_dst_port + inner_l4_src_port + inner_dst_ipv4 + inner_src_ipv4 +inner_v6_hash inner_ip_proto + inner_l4_dst_port + inner_l4_src_port + inner_dst_ipv6 + inner_src_ipv6 +""" + + +show_pbh_table="""\ +NAME INTERFACE DESCRIPTION +---------- --------------- --------------- +pbh_table1 Ethernet0 NVGRE + Ethernet4 +pbh_table2 PortChannel0001 VxLAN + PortChannel0002 +pbh_table3 Ethernet0 NVGRE and VxLAN + Ethernet4 + PortChannel0001 + PortChannel0002 +""" + + +show_pbh_rule="""\ +TABLE RULE PRIORITY MATCH HASH ACTION COUNTER +---------- ------ ---------- ------------------------------------ ------------- ------------- --------- +pbh_table2 vxlan 2 ip_protocol: 0x11 inner_v4_hash SET_LAG_HASH ENABLED + l4_dst_port: 0x12b5 + inner_ether_type: 0x0800 +pbh_table1 nvgre 1 gre_key: 0x2500/0xffffff00 inner_v6_hash SET_ECMP_HASH ENABLED + inner_ether_type: 0x86dd +""" + + +show_pbh_statistics_empty="""\ +TABLE RULE RX PACKETS COUNT RX BYTES COUNT +------- ------ ------------------ ---------------- +""" + + +show_pbh_statistics_zero="""\ +TABLE RULE RX PACKETS COUNT RX BYTES COUNT +---------- ------ ------------------ ---------------- +pbh_table1 nvgre 0 0 +pbh_table2 vxlan 0 0 +""" + + +show_pbh_statistics="""\ +TABLE RULE RX PACKETS COUNT RX BYTES COUNT +---------- ------ ------------------ ---------------- +pbh_table1 nvgre 100 200 +pbh_table2 vxlan 300 400 +""" + +show_pbh_statistics_updated="""\ +TABLE RULE RX PACKETS COUNT RX BYTES COUNT +---------- ------ ------------------ ---------------- +pbh_table1 nvgre 400 400 +pbh_table2 vxlan 400 400 +""" + +show_pbh_statistics_after_disabling_rule="""\ +TABLE RULE RX PACKETS COUNT RX BYTES COUNT +---------- ------ ------------------ ---------------- +pbh_table1 nvgre 0 0 +""" + diff --git a/tests/pbh_input/counters_db.json b/tests/pbh_input/counters_db.json new file mode 100644 index 0000000000..1f764f32db --- /dev/null +++ b/tests/pbh_input/counters_db.json @@ -0,0 +1,10 @@ +{ + "COUNTERS:pbh_table1:nvgre": { + "Packets": "100", + "Bytes": "200" + }, + "COUNTERS:pbh_table2:vxlan": { + "Packets": "300", + "Bytes": "400" + } +} diff --git a/tests/pbh_input/counters_db_updated.json b/tests/pbh_input/counters_db_updated.json new file mode 100644 index 0000000000..c1771ba3ff --- /dev/null +++ b/tests/pbh_input/counters_db_updated.json @@ -0,0 +1,10 @@ +{ + "COUNTERS:pbh_table1:nvgre": { + "Packets": "500", + "Bytes": "600" + }, + "COUNTERS:pbh_table2:vxlan": { + "Packets": "700", + "Bytes": "800" + } +} diff --git a/tests/pbh_input/full_pbh_config.json b/tests/pbh_input/full_pbh_config.json new file mode 100644 index 0000000000..0052ad1854 --- /dev/null +++ b/tests/pbh_input/full_pbh_config.json @@ -0,0 +1,81 @@ +{ + "PBH_HASH_FIELD|inner_dst_ipv4": { + "hash_field": "INNER_DST_IPV4", + "ip_mask": "255.0.0.0", + "sequence_id": "3" + }, + "PBH_HASH_FIELD|inner_dst_ipv6": { + "hash_field": "INNER_DST_IPV6", + "ip_mask": "ffff::", + "sequence_id": "4" + }, + "PBH_HASH_FIELD|inner_ip_proto": { + "hash_field": "INNER_IP_PROTOCOL", + "sequence_id": "1" + }, + "PBH_HASH_FIELD|inner_l4_dst_port": { + "hash_field": "INNER_L4_DST_PORT", + "sequence_id": "2" + }, + "PBH_HASH_FIELD|inner_l4_src_port": { + "hash_field": "INNER_L4_SRC_PORT", + "sequence_id": "2" + }, + "PBH_HASH_FIELD|inner_src_ipv4": { + "hash_field": "INNER_SRC_IPV4", + "ip_mask": "0.0.0.255", + "sequence_id": "3" + }, + "PBH_HASH_FIELD|inner_src_ipv6": { + "hash_field": "INNER_SRC_IPV6", + "ip_mask": "::ffff", + "sequence_id": "4" + }, + "PBH_HASH|inner_v4_hash": { + "hash_field_list@": "inner_ip_proto,inner_l4_dst_port,inner_l4_src_port,inner_dst_ipv4,inner_src_ipv4" + }, + "PBH_HASH|inner_v6_hash": { + "hash_field_list@": "inner_ip_proto,inner_l4_dst_port,inner_l4_src_port,inner_dst_ipv6,inner_src_ipv6" + }, + "PORT|Ethernet0": { + "NULL": "NULL" + }, + "PORT|Ethernet4": { + "NULL": "NULL" + }, + "PORTCHANNEL|PortChannel0001": { + "NULL": "NULL" + }, + "PORTCHANNEL|PortChannel0002": { + "NULL": "NULL" + }, + "PBH_TABLE|pbh_table1": { + "description": "NVGRE", + "interface_list@": "Ethernet0,Ethernet4" + }, + "PBH_TABLE|pbh_table2": { + "description": "VxLAN", + "interface_list@": "PortChannel0001,PortChannel0002" + }, + "PBH_TABLE|pbh_table3": { + "description": "NVGRE and VxLAN", + "interface_list@": "Ethernet0,Ethernet4,PortChannel0001,PortChannel0002" + }, + "PBH_RULE|pbh_table1|nvgre": { + "priority": "1", + "gre_key": "0x2500/0xffffff00", + "inner_ether_type": "0x86dd", + "hash": "inner_v6_hash", + "packet_action": "SET_ECMP_HASH", + "flow_counter": "ENABLED" + }, + "PBH_RULE|pbh_table2|vxlan": { + "priority": "2", + "ip_protocol": "0x11", + "inner_ether_type": "0x0800", + "l4_dst_port": "0x12b5", + "hash": "inner_v4_hash", + "packet_action": "SET_LAG_HASH", + "flow_counter": "ENABLED" + } +} diff --git a/tests/pbh_input/hash.json b/tests/pbh_input/hash.json new file mode 100644 index 0000000000..d22096dab0 --- /dev/null +++ b/tests/pbh_input/hash.json @@ -0,0 +1,40 @@ +{ + "PBH_HASH_FIELD|inner_dst_ipv4": { + "hash_field": "INNER_DST_IPV4", + "ip_mask": "255.0.0.0", + "sequence_id": "3" + }, + "PBH_HASH_FIELD|inner_dst_ipv6": { + "hash_field": "INNER_DST_IPV6", + "ip_mask": "ffff::", + "sequence_id": "4" + }, + "PBH_HASH_FIELD|inner_ip_proto": { + "hash_field": "INNER_IP_PROTOCOL", + "sequence_id": "1" + }, + "PBH_HASH_FIELD|inner_l4_dst_port": { + "hash_field": "INNER_L4_DST_PORT", + "sequence_id": "2" + }, + "PBH_HASH_FIELD|inner_l4_src_port": { + "hash_field": "INNER_L4_SRC_PORT", + "sequence_id": "2" + }, + "PBH_HASH_FIELD|inner_src_ipv4": { + "hash_field": "INNER_SRC_IPV4", + "ip_mask": "0.0.0.255", + "sequence_id": "3" + }, + "PBH_HASH_FIELD|inner_src_ipv6": { + "hash_field": "INNER_SRC_IPV6", + "ip_mask": "::ffff", + "sequence_id": "4" + }, + "PBH_HASH|inner_v4_hash": { + "hash_field_list@": "inner_ip_proto,inner_l4_dst_port,inner_l4_src_port,inner_dst_ipv4,inner_src_ipv4" + }, + "PBH_HASH|inner_v6_hash": { + "hash_field_list@": "inner_ip_proto,inner_l4_dst_port,inner_l4_src_port,inner_dst_ipv6,inner_src_ipv6" + } +} diff --git a/tests/pbh_input/hash_fields.json b/tests/pbh_input/hash_fields.json new file mode 100644 index 0000000000..63e46fb86d --- /dev/null +++ b/tests/pbh_input/hash_fields.json @@ -0,0 +1,34 @@ +{ + "PBH_HASH_FIELD|inner_dst_ipv4": { + "hash_field": "INNER_DST_IPV4", + "ip_mask": "255.0.0.0", + "sequence_id": "3" + }, + "PBH_HASH_FIELD|inner_dst_ipv6": { + "hash_field": "INNER_DST_IPV6", + "ip_mask": "ffff::", + "sequence_id": "4" + }, + "PBH_HASH_FIELD|inner_ip_proto": { + "hash_field": "INNER_IP_PROTOCOL", + "sequence_id": "1" + }, + "PBH_HASH_FIELD|inner_l4_dst_port": { + "hash_field": "INNER_L4_DST_PORT", + "sequence_id": "2" + }, + "PBH_HASH_FIELD|inner_l4_src_port": { + "hash_field": "INNER_L4_SRC_PORT", + "sequence_id": "2" + }, + "PBH_HASH_FIELD|inner_src_ipv4": { + "hash_field": "INNER_SRC_IPV4", + "ip_mask": "0.0.0.255", + "sequence_id": "3" + }, + "PBH_HASH_FIELD|inner_src_ipv6": { + "hash_field": "INNER_SRC_IPV6", + "ip_mask": "::ffff", + "sequence_id": "4" + } +} diff --git a/tests/pbh_input/rule.json b/tests/pbh_input/rule.json new file mode 100644 index 0000000000..50ecaddd4e --- /dev/null +++ b/tests/pbh_input/rule.json @@ -0,0 +1,50 @@ +{ + "PORT|Ethernet0": { + "NULL": "NULL" + }, + "PORT|Ethernet4": { + "NULL": "NULL" + }, + "PBH_HASH_FIELD|inner_dst_ipv4": { + "hash_field": "INNER_DST_IPV4", + "ip_mask": "255.0.0.0", + "sequence_id": "3" + }, + "PBH_HASH_FIELD|inner_dst_ipv6": { + "hash_field": "INNER_DST_IPV6", + "ip_mask": "ffff::", + "sequence_id": "4" + }, + "PBH_HASH_FIELD|inner_ip_proto": { + "hash_field": "INNER_IP_PROTOCOL", + "sequence_id": "1" + }, + "PBH_HASH_FIELD|inner_l4_dst_port": { + "hash_field": "INNER_L4_DST_PORT", + "sequence_id": "2" + }, + "PBH_HASH_FIELD|inner_l4_src_port": { + "hash_field": "INNER_L4_SRC_PORT", + "sequence_id": "2" + }, + "PBH_HASH_FIELD|inner_src_ipv4": { + "hash_field": "INNER_SRC_IPV4", + "ip_mask": "0.0.0.255", + "sequence_id": "3" + }, + "PBH_HASH_FIELD|inner_src_ipv6": { + "hash_field": "INNER_SRC_IPV6", + "ip_mask": "::ffff", + "sequence_id": "4" + }, + "PBH_HASH|inner_v4_hash": { + "hash_field_list@": "inner_ip_proto,inner_l4_dst_port,inner_l4_src_port,inner_dst_ipv4,inner_src_ipv4" + }, + "PBH_HASH|inner_v6_hash": { + "hash_field_list@": "inner_ip_proto,inner_l4_dst_port,inner_l4_src_port,inner_dst_ipv6,inner_src_ipv6" + }, + "PBH_TABLE|pbh_table1": { + "description": "NVGRE", + "interface_list@": "Ethernet0,Ethernet4" + } +} diff --git a/tests/pbh_input/table.json b/tests/pbh_input/table.json new file mode 100644 index 0000000000..ff043da987 --- /dev/null +++ b/tests/pbh_input/table.json @@ -0,0 +1,17 @@ +{ + "PORT|Ethernet0": { + "NULL": "NULL" + }, + "PORT|Ethernet4": { + "NULL": "NULL" + }, + "PORT|Ethernet8": { + "NULL": "NULL" + }, + "PORTCHANNEL|PortChannel0001": { + "NULL": "NULL" + }, + "PORTCHANNEL|PortChannel0002": { + "NULL": "NULL" + } +} diff --git a/tests/pbh_test.py b/tests/pbh_test.py new file mode 100644 index 0000000000..bc4c74db73 --- /dev/null +++ b/tests/pbh_test.py @@ -0,0 +1,939 @@ +#!/usr/bin/env python + +import pytest +import os +import logging +import show.main as show +import config.main as config +import clear.main as clear +import importlib + +from .pbh_input import assert_show_output +from utilities_common.db import Db +from click.testing import CliRunner +from .mock_tables import dbconnector +from .mock_tables import mock_single_asic + +logger = logging.getLogger(__name__) +test_path = os.path.dirname(os.path.abspath(__file__)) +mock_db_path = os.path.join(test_path, "pbh_input") + +SUCCESS = 0 +ERROR = 1 +ERROR2 = 2 + +INVALID_VALUE = 'INVALID' + + +class TestPBH: + @classmethod + def setup_class(cls): + logger.info("SETUP") + os.environ['UTILITIES_UNIT_TESTING'] = "1" + + @classmethod + def teardown_class(cls): + logger.info("TEARDOWN") + os.environ['UTILITIES_UNIT_TESTING'] = "0" + os.environ["UTILITIES_UNIT_TESTING_TOPOLOGY"] = "" + dbconnector.dedicated_dbs['CONFIG_DB'] = None + dbconnector.dedicated_dbs['COUNTERS_DB'] = None + + + ########## CONFIG PBH HASH-FIELD ########## + + + def test_config_pbh_hash_field_add_delete_no_ip_mask(self): + db = Db() + runner = CliRunner() + + result = runner.invoke( + config.config.commands["pbh"].commands["hash-field"]. + commands["add"], ["inner_ip_proto", "--hash-field", + "INNER_IP_PROTOCOL", "--sequence-id", "1"], obj=db + ) + + logger.debug("\n" + result.output) + logger.debug(result.exit_code) + assert result.exit_code == SUCCESS + + result = runner.invoke( + config.config.commands["pbh"].commands["hash-field"]. + commands["delete"], ["inner_ip_proto"], obj=db + ) + + logger.debug("\n" + result.output) + logger.debug(result.exit_code) + assert result.exit_code == SUCCESS + + + @pytest.mark.parametrize("hash_field_name,hash_field,ip_mask", [ + ("inner_dst_ipv6", "INNER_DST_IPV6", "ffff::"), + ("inner_dst_ipv4", "INNER_DST_IPV4", "255.0.0.0") + ]) + def test_config_pbh_hash_field_add_ip_mask( + self, + hash_field_name, + hash_field, + ip_mask, + ): + db = Db() + runner = CliRunner() + + result = runner.invoke( + config.config.commands["pbh"].commands["hash-field"]. + commands["add"], [hash_field_name, "--hash-field", + hash_field, "--ip-mask", ip_mask, + "--sequence-id", "3"], obj=db + ) + + logger.debug("\n" + result.output) + logger.debug(result.exit_code) + + assert result.exit_code == SUCCESS + + + @pytest.mark.parametrize("hash_field_name,hash_field,ip_mask", [ + ("inner_ip_protocol", "INNER_IP_PROTOCOL", "255.0.0.0"), + ("inner_src_ipv6", "INNER_SRC_IPV6", "255.0.0.0"), + ("inner_src_ipv4", "INNER_SRC_IPV4", "ffff::") + ]) + def test_config_pbh_hash_field_add_mismatch_hash_field_ip_mask( + self, + hash_field_name, + hash_field, + ip_mask, + ): + db = Db() + runner = CliRunner() + + result = runner.invoke( + config.config.commands["pbh"].commands["hash-field"]. + commands["add"], [hash_field_name, "--hash-field", + hash_field, "--ip-mask", ip_mask, + "--sequence-id", "1"], obj=db + ) + + logger.debug("\n" + result.output) + logger.debug(result.exit_code) + assert result.exit_code == ERROR + + + def test_config_pbh_hash_field_add_invalid_ip(self): + db = Db() + runner = CliRunner() + + result = runner.invoke( + config.config.commands["pbh"].commands["hash-field"]. + commands["add"], ["inner_src_ipv4", "--hash-field", + "INNER_SRC_IPV4", "--ip-mask", INVALID_VALUE, + "--sequence-id", "2"], obj=db + ) + + logger.debug("\n" + result.output) + logger.debug(result.exit_code) + assert result.exit_code == ERROR + + + @pytest.mark.parametrize("hash_field_name,hash_field", [ + ("inner_src_ipv6", "INNER_SRC_IPV6"), + ("inner_src_ipv4", "INNER_SRC_IPV4") + ]) + def test_config_pbh_hash_field_add_none_ip_mask( + self, + hash_field_name, + hash_field, + ): + db = Db() + runner = CliRunner() + + result = runner.invoke( + config.config.commands["pbh"].commands["hash-field"]. + commands["add"], [hash_field_name, "--hash-field", + hash_field, "--sequence-id", "2"], obj=db + ) + + logger.debug("\n" + result.output) + logger.debug(result.exit_code) + assert result.exit_code == ERROR + + + @pytest.mark.parametrize("hash_field_name,hash_field,updated_hash_field,sequence_id", [ + ("inner_ip_proto", "INNER_IP_PROTOCOL", "INNER_L4_DST_PORT", "1"), + ("inner_l4_src_port", "INNER_L4_SRC_PORT", "INNER_L4_DST_PORT", "2") + ]) + def test_config_pbh_hash_field_update_hash_field_sequence_id_no_ip( + self, + hash_field_name, + hash_field, + updated_hash_field, + sequence_id + ): + db = Db() + runner = CliRunner() + + result = runner.invoke( + config.config.commands["pbh"].commands["hash-field"]. + commands["add"],[hash_field_name, "--hash-field", + hash_field, "--sequence-id", "1"], obj=db + ) + + logger.debug("\n" + result.output) + logger.debug(result.exit_code) + assert result.exit_code == SUCCESS + + result = runner.invoke( + config.config.commands["pbh"].commands["hash-field"]. + commands["update"],[hash_field_name, "--hash-field", + updated_hash_field, "--sequence-id", sequence_id], obj=db + ) + + logger.debug("\n" + result.output) + logger.debug(result.exit_code) + assert result.exit_code == SUCCESS + + + @pytest.mark.parametrize("hash_field_name,hash_field,updated_hash_field,ip_mask,updated_ip_mask", [ + ("inner_dst_ipv4", "INNER_DST_IPV4", "INNER_SRC_IPV4", "255.0.0.0", "0.0.0.255"), + ("inner_dst_ipv6", "INNER_DST_IPV6", "INNER_SRC_IPV6", "ffff::", "::ffff"), + ]) + def test_config_pbh_hash_field_update_hash_field_ip_mask( + self, + hash_field_name, + hash_field, + updated_hash_field, + ip_mask, + updated_ip_mask + ): + db = Db() + runner = CliRunner() + + result = runner.invoke( + config.config.commands["pbh"].commands["hash-field"]. + commands["add"], [hash_field_name, "--hash-field", + hash_field, "--ip-mask", ip_mask, + "--sequence-id", "1"], obj=db + ) + + logger.debug("\n" + result.output) + logger.debug(result.exit_code) + assert result.exit_code == SUCCESS + + result = runner.invoke( + config.config.commands["pbh"].commands["hash-field"]. + commands["update"], [hash_field_name, "--hash-field", + updated_hash_field, "--ip-mask", updated_ip_mask], obj=db + ) + + logger.debug("\n" + result.output) + logger.debug(result.exit_code) + assert result.exit_code == SUCCESS + + + def test_config_pbh_hash_field_update_invalid_hash_field(self): + db = Db() + runner = CliRunner() + + result = runner.invoke( + config.config.commands["pbh"].commands["hash-field"]. + commands["add"], ["inner_ip_proto", "--hash-field", + "INNER_IP_PROTOCOL", "--sequence-id", "1"], obj=db + ) + + logger.debug("\n" + result.output) + logger.debug(result.exit_code) + assert result.exit_code == SUCCESS + + result = runner.invoke( + config.config.commands["pbh"].commands["hash-field"]. + commands["update"], ["inner_ip_proto", "--hash-field", + "INNER_DST_IPV4", "--sequence-id", "2"], obj=db + ) + + logger.debug("\n" + result.output) + logger.debug(result.exit_code) + assert result.exit_code == ERROR + + + def test_config_pbh_hash_field_update_invalid_ipv4_mask(self): + db = Db() + runner = CliRunner() + + result = runner.invoke( + config.config.commands["pbh"].commands["hash-field"]. + commands["add"],["inner_ip_proto", "--hash-field", + "INNER_IP_PROTOCOL", "--sequence-id", "1"], obj=db + ) + + logger.debug("\n" + result.output) + logger.debug(result.exit_code) + assert result.exit_code == SUCCESS + + result = runner.invoke( + config.config.commands["pbh"].commands["hash-field"]. + commands["update"], ["inner_ip_proto", "--ip-mask", + "0.0.0.255"], obj=db + ) + + logger.debug("\n" + result.output) + logger.debug(result.exit_code) + assert result.exit_code == ERROR + + + @pytest.mark.parametrize("hash_field_name,hash_field,ip_mask,updated_ip_mask", [ + ("inner_dst_ipv6", "INNER_DST_IPV6", "ffff::", "255.0.0.0"), + ("inner_dst_ipv4", "INNER_DST_IPV4", "255.0.0.0", "ffff::") + ]) + def test_config_pbh_hash_field_update_invalid_ip_mask( + self, + hash_field_name, + hash_field, + ip_mask, + updated_ip_mask + ): + db = Db() + runner = CliRunner() + + result = runner.invoke( + config.config.commands["pbh"].commands["hash-field"]. + commands["add"], [hash_field_name, "--hash-field", + hash_field, "--ip-mask", ip_mask, "--sequence-id", + "3"], obj=db + ) + + logger.debug("\n" + result.output) + logger.debug(result.exit_code) + assert result.exit_code == SUCCESS + + result = runner.invoke( + config.config.commands["pbh"].commands["hash-field"]. + commands["update"], [hash_field_name, "--ip-mask", + updated_ip_mask], obj=db + ) + + logger.debug("\n" + result.output) + logger.debug(result.exit_code) + assert result.exit_code == ERROR + + + ########## CONFIG PBH HASH ########## + + + def test_config_pbh_hash_add_delete_ipv4(self): + dbconnector.dedicated_dbs['CONFIG_DB'] = os.path.join(mock_db_path, 'hash_fields') + db = Db() + runner = CliRunner() + + result = runner.invoke( + config.config.commands["pbh"].commands["hash"]. + commands["add"], ["inner_v4_hash", "--hash-field-list", + "inner_ip_proto,inner_l4_dst_port,inner_l4_src_port,inner_dst_ipv4,inner_dst_ipv4"], + obj=db + ) + + logger.debug("\n" + result.output) + logger.debug(result.exit_code) + assert result.exit_code == SUCCESS + + result = runner.invoke( + config.config.commands["pbh"].commands["hash"]. + commands["delete"],["inner_v4_hash"], obj=db + ) + + logger.debug("\n" + result.output) + logger.debug(result.exit_code) + assert result.exit_code == SUCCESS + + + def test_config_pbh_hash_add_update_ipv6(self): + dbconnector.dedicated_dbs['CONFIG_DB'] = os.path.join(mock_db_path, 'hash_fields') + db = Db() + runner = CliRunner() + + result = runner.invoke( + config.config.commands["pbh"].commands["hash"]. + commands["add"], ["inner_v6_hash", "--hash-field-list", + "inner_ip_proto,inner_l4_dst_port,inner_l4_src_port,inner_dst_ipv6,inner_dst_ipv6"], + obj=db + ) + + logger.debug("\n" + result.output) + logger.debug(result.exit_code) + assert result.exit_code == SUCCESS + + result = runner.invoke( + config.config.commands["pbh"].commands["hash"]. + commands["update"], ["inner_v6_hash", "--hash-field-list", + "inner_l4_dst_port,inner_l4_src_port,inner_dst_ipv6,inner_dst_ipv6"], + obj=db + ) + + logger.debug("\n" + result.output) + logger.debug(result.exit_code) + assert result.exit_code == SUCCESS + + @pytest.mark.parametrize("hash_name,hash_field_list,exit_code", [ + ("inner_v6_hash", INVALID_VALUE, ERROR), + ("inner_v6_hash", "", ERROR), + ("inner_v6_hash", None, ERROR2) + ]) + def test_config_pbh_hash_add_invalid_hash_field_list( + self, + hash_name, + hash_field_list, + exit_code + ): + dbconnector.dedicated_dbs['CONFIG_DB'] = os.path.join(mock_db_path, 'hash_fields') + db = Db() + runner = CliRunner() + + result = runner.invoke( + config.config.commands["pbh"].commands["hash"]. + commands["add"], [hash_name, "--hash-field-list", + hash_field_list], obj=db + ) + + logger.debug("\n" + result.output) + logger.debug(result.exit_code) + assert result.exit_code == exit_code + + + ########## CONFIG PBH TABLE ########## + + + def test_config_pbh_table_add_delete_ports(self): + dbconnector.dedicated_dbs['CONFIG_DB'] = os.path.join(mock_db_path, 'table') + db = Db() + runner = CliRunner() + + result = runner.invoke( + config.config.commands["pbh"].commands["table"]. + commands["add"],["pbh_table1", "--interface-list", + "Ethernet0,Ethernet4", "--description", "NVGRE"], obj=db + ) + + logger.debug("\n" + result.output) + logger.debug(result.exit_code) + assert result.exit_code == SUCCESS + + result = runner.invoke( + config.config.commands["pbh"].commands["table"]. + commands["delete"], ["pbh_table1"], obj=db + ) + + logger.debug("\n" + result.output) + logger.debug(result.exit_code) + assert result.exit_code == SUCCESS + + + def test_config_pbh_table_add_update_portchannels(self): + dbconnector.dedicated_dbs['CONFIG_DB'] = os.path.join(mock_db_path, 'table') + db = Db() + runner = CliRunner() + + result = runner.invoke( + config.config.commands["pbh"].commands["table"]. + commands["add"], ["pbh_table2", "--interface-list", + "PortChannel0001", "--description", "VxLAN"], obj=db + ) + + logger.debug("\n" + result.output) + logger.debug(result.exit_code) + assert result.exit_code == SUCCESS + + result = runner.invoke( + config.config.commands["pbh"].commands["table"]. + commands["update"],["pbh_table2", "--interface-list", + "PortChannel0002", "--description", "VxLAN TEST"], obj=db + ) + + logger.debug("\n" + result.output) + logger.debug(result.exit_code) + assert result.exit_code == SUCCESS + + result = runner.invoke( + config.config.commands["pbh"].commands["table"]. + commands["update"],["pbh_table2", "--interface-list", + "PortChannel0001"], obj=db + ) + + logger.debug("\n" + result.output) + logger.debug(result.exit_code) + assert result.exit_code == SUCCESS + + result = runner.invoke( + config.config.commands["pbh"].commands["table"]. + commands["update"], ["pbh_table2", "--description", + "TEST"], obj=db + ) + + logger.debug("\n" + result.output) + logger.debug(result.exit_code) + assert result.exit_code == SUCCESS + + + def test_config_pbh_table_add_port_and_portchannel(self): + dbconnector.dedicated_dbs['CONFIG_DB'] = os.path.join(mock_db_path, 'table') + db = Db() + runner = CliRunner() + + result = runner.invoke( + config.config.commands["pbh"].commands["table"]. + commands["add"], ["pbh_table3", "--interface-list", + "PortChannel0002,Ethernet8", "--description", + "VxLAN adn NVGRE"], obj=db + ) + + logger.debug("\n" + result.output) + logger.debug(result.exit_code) + assert result.exit_code == SUCCESS + + + def test_config_pbh_table_add_invalid_port(self): + dbconnector.dedicated_dbs['CONFIG_DB'] = os.path.join(mock_db_path, 'table') + db = Db() + runner = CliRunner() + + result = runner.invoke( + config.config.commands["pbh"].commands["table"]. + commands["add"], ["pbh_table3", "--interface-list", + INVALID_VALUE, "--description", "VxLAN adn NVGRE"], obj=db + ) + + logger.debug("\n" + result.output) + logger.debug(result.exit_code) + assert result.exit_code == ERROR + + + def test_config_pbh_table_add_update_invalid_interface(self): + dbconnector.dedicated_dbs['CONFIG_DB'] = os.path.join(mock_db_path, 'table') + db = Db() + runner = CliRunner() + + result = runner.invoke( + config.config.commands["pbh"].commands["table"]. + commands["add"], ["pbh_table2", "--interface-list", + "PortChannel0001", "--description", "VxLAN"], obj=db + ) + + logger.debug("\n" + result.output) + logger.debug(result.exit_code) + assert result.exit_code == SUCCESS + + result = runner.invoke( + config.config.commands["pbh"].commands["table"]. + commands["update"], ["pbh_table2", "--interface-list", + INVALID_VALUE], obj=db + ) + + logger.debug("\n" + result.output) + logger.debug(result.exit_code) + assert result.exit_code == ERROR + + + ########## CONFIG PBH RULE ########## + + + def test_config_pbh_rule_add_delete_nvgre(self): + dbconnector.dedicated_dbs['CONFIG_DB'] = os.path.join(mock_db_path, 'rule') + db = Db() + runner = CliRunner() + + result = runner.invoke( + config.config.commands["pbh"].commands["rule"]. + commands["add"],["pbh_table1", "nvgre", "--priority", + "1", "--gre-key", "0x2500/0xffffff00", "--inner-ether-type", + "0x86dd", "--hash", "inner_v6_hash", "--packet-action", + "SET_ECMP_HASH", "--flow-counter", "DISABLED"], obj=db + ) + + logger.debug("\n" + result.output) + logger.debug(result.exit_code) + assert result.exit_code == SUCCESS + + result = runner.invoke( + config.config.commands["pbh"].commands["rule"]. + commands["delete"], ["pbh_table1", "nvgre"], obj=db + ) + + logger.debug("\n" + result.output) + logger.debug(result.exit_code) + assert result.exit_code == SUCCESS + + + def test_config_pbh_rule_add_update_vxlan(self): + dbconnector.dedicated_dbs['CONFIG_DB'] = os.path.join(mock_db_path, 'rule') + db = Db() + runner = CliRunner() + + result = runner.invoke( + config.config.commands["pbh"].commands["rule"]. + commands["add"], ["pbh_table1", "vxlan ", + "--priority", "2", "--ip-protocol", "0x11", + "--inner-ether-type", "0x0800","--l4-dst-port", + "0x12b5", "--hash", "inner_v4_hash", "--packet-action", + "SET_LAG_HASH", "--flow-counter", "ENABLED"], obj=db + ) + + logger.debug("\n" + result.output) + logger.debug(result.exit_code) + assert result.exit_code == SUCCESS + + result = runner.invoke( + config.config.commands["pbh"].commands["rule"]. + commands["update"], ["pbh_table1", "vxlan ", + "--priority", "3", "--inner-ether-type", "0x086d", + "--packet-action", "SET_LAG_HASH", "--flow-counter", + "DISABLED"], obj=db + ) + + logger.debug("\n" + result.output) + logger.debug(result.exit_code) + assert result.exit_code == SUCCESS + + + def test_config_pbh_rule_update_invalid(self): + dbconnector.dedicated_dbs['CONFIG_DB'] = os.path.join(mock_db_path, 'rule') + db = Db() + runner = CliRunner() + + result = runner.invoke( + config.config.commands["pbh"].commands["rule"]. + commands["add"], ["pbh_table1", "vxlan ", "--priority", + "2", "--ip-protocol", "0x11", "--inner-ether-type", + "0x0800", "--l4-dst-port", "0x12b5", "--hash", + "inner_v6_hash", "--packet-action", "SET_ECMP_HASH", + "--flow-counter", "ENABLED"], obj=db + ) + + logger.debug("\n" + result.output) + logger.debug(result.exit_code) + assert result.exit_code == SUCCESS + + result = runner.invoke( + config.config.commands["pbh"].commands["rule"]. + commands["update"], ["pbh_table1", "vxlan ", + "--flow-counter", INVALID_VALUE], obj=db + ) + + logger.debug("\n" + result.output) + logger.debug(result.exit_code) + assert result.exit_code == ERROR2 + + + def test_config_pbh_rule_add_invalid_ip_protocol(self): + dbconnector.dedicated_dbs['CONFIG_DB'] = os.path.join(mock_db_path, 'rule') + db = Db() + runner = CliRunner() + + result = runner.invoke( + config.config.commands["pbh"].commands["rule"]. + commands["add"], ["pbh_table1", "vxlan ", "--priority", + "2", "--ip-protocol", INVALID_VALUE, "--inner-ether-type", + "0x0800", "--l4-dst-port", "0x12b5", "--hash", "inner_v6_hash", + "--packet-action", "SET_ECMP_HASH", "--flow-counter", + "ENABLED"], obj=db + ) + + logger.debug("\n" + result.output) + logger.debug(result.exit_code) + assert result.exit_code == ERROR + + + def test_config_pbh_rule_add_invalid_inner_ether_type(self): + dbconnector.dedicated_dbs['CONFIG_DB'] = os.path.join(mock_db_path, 'rule') + db = Db() + runner = CliRunner() + + result = runner.invoke( + config.config.commands["pbh"].commands["rule"]. + commands["add"], ["pbh_table1", "vxlan ", "--priority", + "2", "--ip-protocol", "0x11", "--inner-ether-type", + INVALID_VALUE, "--l4-dst-port", "0x12b5", "--hash", + "inner_v6_hash", "--packet-action", "SET_ECMP_HASH", + "--flow-counter", "ENABLED"], obj=db + ) + + logger.debug("\n" + result.output) + logger.debug(result.exit_code) + assert result.exit_code == ERROR + + + def test_config_pbh_rule_add_invalid_hash(self): + dbconnector.dedicated_dbs['CONFIG_DB'] = os.path.join(mock_db_path, 'rule') + db = Db() + runner = CliRunner() + + result = runner.invoke( + config.config.commands["pbh"].commands["rule"]. + commands["add"], ["pbh_table1", "vxlan ", "--priority", + "2", "--ip-protocol", "0x11", "--inner-ether-type", "0x0800", + "--l4-dst-port", "0x12b5", "--hash", INVALID_VALUE, + "--packet-action", "SET_ECMP_HASH", "--flow-counter", + "ENABLED"], obj=db + ) + + logger.debug("\n" + result.output) + logger.debug(result.exit_code) + assert result.exit_code == ERROR + + + def test_config_pbh_rule_add_invalid_packet_action(self): + dbconnector.dedicated_dbs['CONFIG_DB'] = os.path.join(mock_db_path, 'rule') + db = Db() + runner = CliRunner() + + result = runner.invoke( + config.config.commands["pbh"].commands["rule"]. + commands["add"], ["pbh_table1", "vxlan ", "--priority", + "2", "--ip-protocol", "0x11", "--inner-ether-type", + "0x0800", "--l4-dst-port", "0x12b5", "--hash", + "inner_v6_hash", "--packet-action", INVALID_VALUE, + "--flow-counter", "ENABLED"], obj=db + ) + + logger.debug("\n" + result.output) + logger.debug(result.exit_code) + assert result.exit_code == ERROR2 + + + def test_config_pbh_rule_add_invalid_flow_counter(self): + dbconnector.dedicated_dbs['CONFIG_DB'] = os.path.join(mock_db_path, 'rule') + db = Db() + runner = CliRunner() + + result = runner.invoke( + config.config.commands["pbh"].commands["rule"]. + commands["add"], ["pbh_table1", "vxlan ", "--priority", + "2", "--ip-protocol", "0x11", "--inner-ether-type", + "0x0800", "--l4-dst-port", "0x12b5", "--hash", + "inner_v6_hash", "--packet-action", "SET_ECMP_HASH", + "--flow-counter", INVALID_VALUE], obj=db + ) + + logger.debug("\n" + result.output) + logger.debug(result.exit_code) + assert result.exit_code == ERROR2 + + ########## SHOW PBH HASH-FIELD ########## + + def test_show_pbh_hash_field(self): + dbconnector.dedicated_dbs['CONFIG_DB'] = os.path.join(mock_db_path, 'full_pbh_config') + db = Db() + runner = CliRunner() + + result = runner.invoke( + show.cli.commands["pbh"]. + commands["hash-field"], [], obj=db + ) + + logger.debug("\n" + result.output) + logger.debug(result.exit_code) + assert result.exit_code == SUCCESS + assert result.output == assert_show_output.show_pbh_hash_fields + + + ########## SHOW PBH HASH ########## + + + def test_show_pbh_hash(self): + dbconnector.dedicated_dbs['CONFIG_DB'] = os.path.join(mock_db_path, 'full_pbh_config') + db = Db() + runner = CliRunner() + + result = runner.invoke( + show.cli.commands["pbh"]. + commands["hash"], [], obj=db + ) + + logger.debug("\n" + result.stdout) + logger.debug(result.exit_code) + assert result.exit_code == SUCCESS + assert result.output == assert_show_output.show_pbh_hash + + + ########## SHOW PBH TABLE ########## + + + def test_show_pbh_table(self): + dbconnector.dedicated_dbs['CONFIG_DB'] = os.path.join(mock_db_path, 'full_pbh_config') + db = Db() + runner = CliRunner() + + result = runner.invoke( + show.cli.commands["pbh"]. + commands["table"], [], obj=db + ) + + logger.debug("\n" + result.output) + logger.debug(result.exit_code) + assert result.exit_code == SUCCESS + assert result.output == assert_show_output.show_pbh_table + + + ########## SHOW PBH RULE ########## + + + def test_show_pbh_rule(self): + dbconnector.dedicated_dbs['CONFIG_DB'] = os.path.join(mock_db_path, 'full_pbh_config') + db = Db() + runner = CliRunner() + + result = runner.invoke( + show.cli.commands["pbh"]. + commands["rule"], [], obj=db + ) + + logger.debug("\n" + result.output) + logger.debug(result.exit_code) + assert result.exit_code == SUCCESS + assert result.output == assert_show_output.show_pbh_rule + + + ########## SHOW PBH STATISTICS ########## + + def test_show_pbh_statistics_on_empty_config(self): + dbconnector.dedicated_dbs['CONFIG_DB'] = None + dbconnector.dedicated_dbs['COUNTERS_DB'] = None + + SAVED_PBH_COUNTERS_FILE = '/tmp/.pbh_counters.txt' + if os.path.isfile(SAVED_PBH_COUNTERS_FILE): + os.remove(SAVED_PBH_COUNTERS_FILE) + + db = Db() + runner = CliRunner() + + result = runner.invoke( + show.cli.commands["pbh"]. + commands["statistics"], [], obj=db + ) + + logger.debug("\n" + result.output) + logger.debug(result.exit_code) + assert result.exit_code == SUCCESS + assert result.output == assert_show_output.show_pbh_statistics_empty + + + def test_show_pbh_statistics(self): + dbconnector.dedicated_dbs['COUNTERS_DB'] = os.path.join(mock_db_path, 'counters_db') + dbconnector.dedicated_dbs['CONFIG_DB'] = os.path.join(mock_db_path, 'full_pbh_config') + + SAVED_PBH_COUNTERS_FILE = '/tmp/.pbh_counters.txt' + if os.path.isfile(SAVED_PBH_COUNTERS_FILE): + os.remove(SAVED_PBH_COUNTERS_FILE) + + db = Db() + runner = CliRunner() + + result = runner.invoke( + show.cli.commands["pbh"]. + commands["statistics"], [], obj=db + ) + + logger.debug("\n" + result.output) + logger.debug(result.exit_code) + assert result.exit_code == SUCCESS + assert result.output == assert_show_output.show_pbh_statistics + + + def test_show_pbh_statistics_after_clear(self): + dbconnector.dedicated_dbs['COUNTERS_DB'] = os.path.join(mock_db_path, 'counters_db') + dbconnector.dedicated_dbs['CONFIG_DB'] = os.path.join(mock_db_path, 'full_pbh_config') + + SAVED_PBH_COUNTERS_FILE = '/tmp/.pbh_counters.txt' + if os.path.isfile(SAVED_PBH_COUNTERS_FILE): + os.remove(SAVED_PBH_COUNTERS_FILE) + + db = Db() + runner = CliRunner() + + result = runner.invoke( + clear.cli.commands["pbh"]. + commands["statistics"], [], obj=db + ) + + logger.debug("\n" + result.output) + logger.debug(result.exit_code) + + result = runner.invoke( + show.cli.commands["pbh"]. + commands["statistics"], [], obj=db + ) + + logger.debug("\n" + result.output) + logger.debug(result.exit_code) + assert result.exit_code == SUCCESS + assert result.output == assert_show_output.show_pbh_statistics_zero + + + def test_show_pbh_statistics_after_clear_and_counters_updated(self): + dbconnector.dedicated_dbs['COUNTERS_DB'] = os.path.join(mock_db_path, 'counters_db') + dbconnector.dedicated_dbs['CONFIG_DB'] = os.path.join(mock_db_path, 'full_pbh_config') + + SAVED_PBH_COUNTERS_FILE = '/tmp/.pbh_counters.txt' + if os.path.isfile(SAVED_PBH_COUNTERS_FILE): + os.remove(SAVED_PBH_COUNTERS_FILE) + + db = Db() + runner = CliRunner() + + result = runner.invoke( + clear.cli.commands["pbh"]. + commands["statistics"], [], obj=db + ) + + logger.debug("\n" + result.output) + logger.debug(result.exit_code) + + dbconnector.dedicated_dbs['COUNTERS_DB'] = os.path.join(mock_db_path, 'counters_db_updated') + + result = runner.invoke( + show.cli.commands["pbh"]. + commands["statistics"], [], obj=db + ) + + logger.debug("\n" + result.output) + logger.debug(result.exit_code) + assert result.exit_code == SUCCESS + assert result.output == assert_show_output.show_pbh_statistics_updated + + + def test_show_pbh_statistics_after_disabling_rule(self): + dbconnector.dedicated_dbs['COUNTERS_DB'] = os.path.join(mock_db_path, 'counters_db') + dbconnector.dedicated_dbs['CONFIG_DB'] = os.path.join(mock_db_path, 'full_pbh_config') + + SAVED_PBH_COUNTERS_FILE = '/tmp/.pbh_counters.txt' + if os.path.isfile(SAVED_PBH_COUNTERS_FILE): + os.remove(SAVED_PBH_COUNTERS_FILE) + + db = Db() + runner = CliRunner() + + result = runner.invoke( + clear.cli.commands["pbh"]. + commands["statistics"], [], obj=db + ) + + logger.debug("\n" + result.output) + logger.debug(result.exit_code) + + result = runner.invoke( + config.config.commands["pbh"]. + commands["rule"].commands["update"], + ["pbh_table2", "vxlan", "--flow-counter", + "DISABLED"], obj=db + ) + + logger.debug("\n" + result.output) + logger.debug(result.exit_code) + + result = runner.invoke( + show.cli.commands["pbh"]. + commands["statistics"], [], obj=db + ) + + logger.debug("\n" + result.output) + logger.debug(result.exit_code) + assert result.exit_code == SUCCESS + assert result.output == assert_show_output.show_pbh_statistics_after_disabling_rule + From f5ce87a19864891fa4192d420d7592195322f51c Mon Sep 17 00:00:00 2001 From: Junchao-Mellanox <57339448+Junchao-Mellanox@users.noreply.github.com> Date: Thu, 26 Aug 2021 10:22:59 +0800 Subject: [PATCH 280/342] [config reload] Call systemctl reset-failed for snmp,telemetry,mgmt-framework services (#1773) #### What I did When issue `config reload -y` or `config load_minigraph -y` command, most of the sonic services will be reset by command `systemctl reset-failed `. The purpose is to avoid services reach to its start retry limit and cannot be started. However, `systemctl reset-failed` only resets those services belong to sonic.target, snmp, telemetry and mgmt-framework are not part of them. So if we run `config reload -y` or `config load_minigraph -y` continues, snmp, telemetry and mgmt-framework services might enter into failed state. This PR is to fix the issue. I would like to cherry-pick this fix to 202012 branch, but this fix also depends on PR https://github.com/Azure/sonic-buildimage/pull/7846. So if we decide to cherry-pick this PR to 202012, we need cherry-pick https://github.com/Azure/sonic-buildimage/pull/7846 first. #### How I did it Also call `systemctl reset-failed` for services like snmp, telemetry and mgmt-framework. #### How to verify it Manual test. --- config/main.py | 9 +++++++-- tests/config_test.py | 14 ++++++++++++-- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/config/main.py b/config/main.py index 540710e996..f9251eb980 100644 --- a/config/main.py +++ b/config/main.py @@ -691,11 +691,16 @@ def _stop_services(): def _get_sonic_services(): out = clicommon.run_command("systemctl list-dependencies --plain sonic.target | sed '1d'", return_cmd=True) - return [unit.strip() for unit in out.splitlines()] + return (unit.strip() for unit in out.splitlines()) + + +def _get_delayed_sonic_services(): + out = clicommon.run_command("systemctl list-dependencies --plain sonic-delayed.target | sed '1d'", return_cmd=True) + return (unit.strip().rstrip('.timer') for unit in out.splitlines()) def _reset_failed_services(): - for service in _get_sonic_services(): + for service in itertools.chain(_get_sonic_services(), _get_delayed_sonic_services()): clicommon.run_command("systemctl reset-failed {}".format(service)) diff --git a/tests/config_test.py b/tests/config_test.py index 929ae97aa3..bbef200aac 100644 --- a/tests/config_test.py +++ b/tests/config_test.py @@ -35,7 +35,13 @@ def mock_run_command_side_effect(*args, **kwargs): click.echo(click.style("Running command: ", fg='cyan') + click.style(command, fg='green')) if kwargs.get('return_cmd'): - return '' + if command == "systemctl list-dependencies --plain sonic-delayed.target | sed '1d'": + return 'snmp.timer' + elif command == "systemctl list-dependencies --plain sonic.target | sed '1d'": + return 'swss' + else: + return '' + class TestLoadMinigraph(object): @classmethod @@ -55,7 +61,11 @@ def test_load_minigraph(self, get_cmd_module, setup_single_broadcom_asic): traceback.print_tb(result.exc_info[2]) assert result.exit_code == 0 assert "\n".join([l.rstrip() for l in result.output.split('\n')]) == load_minigraph_command_output - assert mock_run_command.call_count == 7 + # Verify "systemctl reset-failed" is called for services under sonic.target + mock_run_command.assert_any_call('systemctl reset-failed swss') + # Verify "systemctl reset-failed" is called for services under sonic-delayed.target + mock_run_command.assert_any_call('systemctl reset-failed snmp') + assert mock_run_command.call_count == 10 def test_load_minigraph_with_port_config_bad_format(self, get_cmd_module, setup_single_broadcom_asic): with mock.patch( From 83309c65f60c45501e89b0b46e2469e24482dd8f Mon Sep 17 00:00:00 2001 From: noaOrMlnx <58519608+noaOrMlnx@users.noreply.github.com> Date: Fri, 27 Aug 2021 21:09:04 +0300 Subject: [PATCH 281/342] Fix logic in RIF counters print (#1732) *when deleting for a certain interface, add the info to the general file. *when querying for a certain interface, check the general file as well. --- scripts/intfstat | 57 +++++++++++++++++++++++++++++++----------- tests/intfstat_test.py | 20 +++++++++++++++ 2 files changed, 62 insertions(+), 15 deletions(-) diff --git a/scripts/intfstat b/scripts/intfstat index a4858019c4..99836a04d9 100755 --- a/scripts/intfstat +++ b/scripts/intfstat @@ -204,17 +204,16 @@ class Intfstat(object): cntr = cnstat_new_dict.get(rif) - if cnstat_old_dict: + if cnstat_old_dict and cnstat_old_dict.get(rif): old_cntr = cnstat_old_dict.get(rif) - if old_cntr: - body = body % (ns_diff(cntr.rx_p_ok, old_cntr.rx_p_ok), - ns_diff(cntr.rx_b_ok, old_cntr.rx_b_ok), - ns_diff(cntr.rx_p_err, old_cntr.rx_p_err), - ns_diff(cntr.rx_b_err, old_cntr.rx_b_err), - ns_diff(cntr.tx_p_ok, old_cntr.tx_p_ok), - ns_diff(cntr.tx_b_ok, old_cntr.tx_b_ok), - ns_diff(cntr.tx_p_err, old_cntr.tx_p_err), - ns_diff(cntr.tx_b_err, old_cntr.tx_b_err)) + body = body % (ns_diff(cntr.rx_p_ok, old_cntr.rx_p_ok), + ns_diff(cntr.rx_b_ok, old_cntr.rx_b_ok), + ns_diff(cntr.rx_p_err, old_cntr.rx_p_err), + ns_diff(cntr.rx_b_err, old_cntr.rx_b_err), + ns_diff(cntr.tx_p_ok, old_cntr.tx_p_ok), + ns_diff(cntr.tx_b_ok, old_cntr.tx_b_ok), + ns_diff(cntr.tx_p_err, old_cntr.tx_p_err), + ns_diff(cntr.tx_b_err, old_cntr.tx_b_err)) else: body = body % (cntr.rx_p_ok, cntr.rx_b_ok, cntr.rx_p_err,cntr.rx_b_err, cntr.tx_p_ok, cntr.tx_b_ok, cntr.tx_p_err, cntr.tx_b_err) @@ -258,8 +257,9 @@ def main(): wait_time_in_seconds = args.period interface_name = args.interface if args.interface else "" - # fancy filename with dashes: uid-tag-intf / uid-intf / uid-tag etc - filename_components = [uid, tag_name, interface_name] + # fancy filename with dashes: uid-tag / uid etc + filename_components = [uid, tag_name] + cnstat_file = "-".join(filter(None, filename_components)) cnstat_dir = "/tmp/intfstat-" + uid @@ -305,7 +305,26 @@ def main(): if save_fresh_stats: try: - pickle.dump(cnstat_dict, open(cnstat_fqn_file, 'wb')) + # Add the information also to the general file - i.e. without the tag name + if tag_name != '' and tag_name in cnstat_fqn_file.split('/')[-1]: + gen_index = cnstat_fqn_file.rfind('/') + cnstat_fqn_general_file = cnstat_fqn_file[:gen_index] + cnstat_fqn_file[gen_index:].split('-')[0] + if os.path.isfile(cnstat_fqn_general_file): + try: + general_data = pickle.load(open(cnstat_fqn_general_file, 'rb')) + for key, val in cnstat_dict.items(): + general_data[key] = val + pickle.dump(general_data, open(cnstat_fqn_general_file, 'wb')) + except IOError as e: + sys.exit(e.errno) + # Add the information also to tag specific file + if os.path.isfile(cnstat_fqn_file): + data = pickle.load(open(cnstat_fqn_file, 'rb')) + for key, val in cnstat_dict.items(): + data[key] = val + pickle.dump(data, open(cnstat_fqn_file, 'wb')) + else: + pickle.dump(cnstat_dict, open(cnstat_fqn_file, 'wb')) except IOError as e: sys.exit(e.errno) else: @@ -313,9 +332,17 @@ def main(): sys.exit(0) if wait_time_in_seconds == 0: - if os.path.isfile(cnstat_fqn_file): + gen_index = cnstat_fqn_file.rfind('/') + cnstat_fqn_general_file = cnstat_fqn_file[:gen_index] + cnstat_fqn_file[gen_index:].split('-')[0] + + if os.path.isfile(cnstat_fqn_file) or (os.path.isfile(cnstat_fqn_general_file)): try: - cnstat_cached_dict = pickle.load(open(cnstat_fqn_file, 'rb')) + cnstat_cached_dict = {} + if os.path.isfile(cnstat_fqn_file): + cnstat_cached_dict = pickle.load(open(cnstat_fqn_file, 'rb')) + else: + cnstat_cached_dict = pickle.load(open(cnstat_fqn_general_file, 'rb')) + print("Last cached time was " + str(cnstat_cached_dict.get('time'))) if interface_name: intfstat.cnstat_single_interface(interface_name, cnstat_dict, cnstat_cached_dict) diff --git a/tests/intfstat_test.py b/tests/intfstat_test.py index 2f63c7aeaf..73cda11f1c 100644 --- a/tests/intfstat_test.py +++ b/tests/intfstat_test.py @@ -103,6 +103,26 @@ def test_clear_single_intfs(self): show.run_command("intfstat -D") assert expected in result.output + def test_clear_single_interface_check_all(self): + runner = CliRunner() + result = runner.invoke(clear.cli.commands["rifcounters"], ["Ethernet20"]) + print(result.stdout) + assert result.exit_code == 0 + result = runner.invoke(show.cli.commands["interfaces"].commands["counters"].commands["rif"], []) + print(result.stdout) + expected = [" Ethernet20 0 0.00 B/s 0.00/s 0 0 0.00 B/s 0.00/s 0", + "PortChannel0001 883 N/A N/A 0 0 N/A N/A 0", + "PortChannel0002 883 N/A N/A 0 0 N/A N/A 0", + "PortChannel0003 0 N/A N/A 0 0 N/A N/A 0", + "PortChannel0004 883 N/A N/A 0 0 N/A N/A 0", + " Vlan1000 0 N/A N/A 0 0 N/A N/A 0"] + + + # remove the counters snapshot + show.run_command("intfstat -D") + for line in expected: + assert line in result.output + def test_clear(self): runner = CliRunner() result = runner.invoke(clear.cli.commands["rifcounters"], []) From 3e8626ea6e495e44a303c6ce81aa4f04a3dd2df9 Mon Sep 17 00:00:00 2001 From: Neetha John Date: Mon, 30 Aug 2021 08:27:29 -0700 Subject: [PATCH 282/342] [ecnconfig] Fix exception seen during display and add unit tests (#1784) Fixes Azure/sonic-buildimage#8323 and added unit tests for all ecn queue configs. This regression was caused because the current ecn unit tests didn't cover the queue configs. Signed-off-by: Neetha John How to verify it Ran tests/ecn_test.py and all cases passed --- scripts/ecnconfig | 22 +- tests/ecn_input/ecn_test_vectors.py | 106 ++++- tests/ecn_test.py | 94 +++- tests/mock_tables/config_db.json | 675 ++++++++++++++++++++++++++++ 4 files changed, 880 insertions(+), 17 deletions(-) diff --git a/scripts/ecnconfig b/scripts/ecnconfig index 5b21047a11..7a59bc7d65 100755 --- a/scripts/ecnconfig +++ b/scripts/ecnconfig @@ -199,10 +199,11 @@ class EcnQ(object): """ Process ecn on/off on queues """ - def __init__(self, queues, verbose): + def __init__(self, queues, filename, verbose): self.ports_key = [] self.queues = queues.split(',') self.validate_queues() + self.filename = filename self.verbose = verbose # Set up db connections @@ -222,7 +223,7 @@ class EcnQ(object): def gen_ports_key(self): if self.ports_key is not None: port_table = self.config_db.get_table(DEVICE_NEIGHBOR_TABLE_NAME) - self.ports_key = port_table.keys() + self.ports_key = list(port_table.keys()) # In multi-ASIC platforms backend ethernet ports are identified as # 'Ethernet-BPxy'. Add 1024 to sort backend ports to the end. @@ -230,6 +231,12 @@ class EcnQ(object): key = lambda k: int(k[8:]) if "BP" not in k else int(k[11:]) + 1024 ) + def dump_table_info(self): + if self.filename is not None: + q_table = self.config_db.get_table(QUEUE_TABLE_NAME) + with open(self.filename, "w") as fd: + json.dump({repr(x):y for x, y in q_table.items()}, fd) + def set(self, enable): chk_exec_privilege() @@ -239,6 +246,7 @@ class EcnQ(object): for port_key in self.ports_key: key = '|'.join([port_key, queue]) self.config_db.mod_entry(QUEUE_TABLE_NAME, key, {FIELD: ON if enable else OFF}) + self.dump_table_info() def get(self): print("ECN status:") @@ -256,6 +264,7 @@ class EcnQ(object): print("%s: on" % (out)) else: print("%s: off" % (out)) + self.dump_table_info() def main(): parser = argparse.ArgumentParser(description='Show and change:\n' @@ -357,10 +366,15 @@ def main(): prof_cfg.set_wred_prob(args.profile, "rdrop", args.red_drop_prob) elif args.queue: - if len(sys.argv) < (4 if args.verbose else 3): + arg_len_min = 3 + if args.filename: + arg_len_min += 1 + if args.verbose: + arg_len_min += 1 + if len(sys.argv) < arg_len_min: raise Exception("Input arguments error. Specify at least one queue by index") - q_ecn = EcnQ(args.queue, args.verbose) + q_ecn = EcnQ(args.queue, args.filename, args.verbose) if not args.command: q_ecn.get() else: diff --git a/tests/ecn_input/ecn_test_vectors.py b/tests/ecn_input/ecn_test_vectors.py index 44bc9ad153..a0aa2e85fb 100644 --- a/tests/ecn_input/ecn_test_vectors.py +++ b/tests/ecn_input/ecn_test_vectors.py @@ -24,11 +24,22 @@ 'rc' : 0, 'rc_output': ecn_show_config_output }, + 'ecn_show_config_verbose' : {'cmd' : ['q_cmd'], + 'args' : ['-l', '-vv'], + 'rc' : 0, + 'rc_output': ecn_show_config_output + 'Total profiles: 1\n' + }, 'ecn_cfg_gmin' : {'cmd' : ['config'], 'args' : ['-profile', 'AZURE_LOSSLESS', '-gmin', '1048600'], 'rc' : 0, 'cmp_args' : ['AZURE_LOSSLESS,green_min_threshold,1048600'] }, + 'ecn_cfg_gmin_verbose' : {'cmd' : ['config'], + 'args' : ['-profile', 'AZURE_LOSSLESS', '-gmin', '1048600', '-vv'], + 'rc' : 0, + 'cmp_args' : ['AZURE_LOSSLESS,green_min_threshold,1048600'], + 'rc_output' : 'Running command: ecnconfig -p AZURE_LOSSLESS -gmin 1048600 -vv\nSetting green_min_threshold value to 1048600\n' + }, 'ecn_cfg_gmax' : {'cmd' : ['config'], 'args' : ['-profile', 'AZURE_LOSSLESS', '-gmax', '2097153'], 'rc' : 0, @@ -69,6 +80,12 @@ 'rc' : 0, 'cmp_args' : ['AZURE_LOSSLESS,green_drop_probability,12'] }, + 'ecn_cfg_gdrop_verbose' : {'cmd' : ['config'], + 'args' : ['-profile', 'AZURE_LOSSLESS', '-gdrop', '12', '-vv'], + 'rc' : 0, + 'cmp_args' : ['AZURE_LOSSLESS,green_drop_probability,12'], + 'rc_output' : 'Running command: ecnconfig -p AZURE_LOSSLESS -gdrop 12 -vv\nSetting green_drop_probability value to 12%\n' + }, 'ecn_cfg_multi_set' : {'cmd' : ['config'], 'args' : ['-profile', 'AZURE_LOSSLESS', '-gdrop', '12', '-gmax', '2097153'], 'rc' : 0, @@ -100,6 +117,93 @@ 'args' : ['-profile', 'AZURE_LOSSLESS', '-rdrop', '105'], 'rc' : 1, 'rc_msg' : 'Invalid value for "-rdrop": 105 is not in the valid range of 0 to 100' + }, + 'ecn_q_get' : {'cmd' : ['q_cmd'], + 'args' : ['-q', '3'], + 'rc' : 0, + 'rc_msg' : 'ECN status:\nqueue 3: on\n', + 'cmp_args' : ['wred_profile,[WRED_PROFILE|AZURE_LOSSLESS]'], + 'cmp_q_args' : ['3', '4'] + }, + 'ecn_q_get_verbose' : {'cmd' : ['q_cmd'], + 'args' : ['-q', '3', '-vv'], + 'rc' : 0, + 'rc_msg' : 'ECN status:\n{0} queue 3: on\n', + 'cmp_args' : ['wred_profile,[WRED_PROFILE|AZURE_LOSSLESS]'], + 'cmp_q_args' : ['3', '4'], + 'db_table' : 'DEVICE_NEIGHBOR' + }, + 'ecn_q_all_get_verbose' : {'cmd' : ['q_cmd'], + 'args' : ['-q', '3,4', '-vv'], + 'rc' : 0, + 'rc_msg' : 'ECN status:\n{0} queue 3: on\n{0} queue 4: on\n', + 'cmp_args' : ['wred_profile,[WRED_PROFILE|AZURE_LOSSLESS]'], + 'cmp_q_args' : ['3', '4'], + 'db_table' : 'DEVICE_NEIGHBOR' + }, + 'ecn_q_all_get' : {'cmd' : ['q_cmd'], + 'args' : ['-q', '3,4'], + 'rc' : 0, + 'rc_msg' : 'ECN status:\nqueue 3: on\nqueue 4: on\n', + 'cmp_args' : ['wred_profile,[WRED_PROFILE|AZURE_LOSSLESS]'], + 'cmp_q_args' : ['3', '4'] + }, + 'ecn_cfg_q_all_off' : {'cmd' : ['q_cmd'], + 'args' : ['-q', '3,4', 'off'], + 'rc' : 0, + 'cmp_args' : ['wred_profile,[]'], + 'cmp_q_args' : ['3', '4'] + }, + 'ecn_cfg_q_all_off_verbose' : {'cmd' : ['q_cmd'], + 'args' : ['-q', '3,4', 'off', '-vv'], + 'rc' : 0, + 'cmp_args' : ['wred_profile,[]'], + 'cmp_q_args' : ['3', '4'], + 'db_table' : 'DEVICE_NEIGHBOR', + 'rc_msg' : 'Disable ECN on {0} queue 3\nDisable ECN on {0} queue 4' + }, + 'ecn_cfg_q_off' : {'cmd' : ['q_cmd'], + 'args' : ['-q', '3', 'off'], + 'rc' : 0, + 'cmp_args' : ['wred_profile,[]', 'wred_profile,[WRED_PROFILE|AZURE_LOSSLESS]'], + 'cmp_q_args' : ['3'], + 'other_q' : ['4'] + }, + 'ecn_cfg_q_off_verbose' : {'cmd' : ['q_cmd'], + 'args' : ['-q', '3', 'off', '-vv'], + 'rc' : 0, + 'cmp_args' : ['wred_profile,[]', 'wred_profile,[WRED_PROFILE|AZURE_LOSSLESS]'], + 'cmp_q_args' : ['3'], + 'other_q' : ['4'], + 'db_table' : 'DEVICE_NEIGHBOR', + 'rc_msg' : 'Disable ECN on {0} queue 3' + }, + 'ecn_cfg_q_all_on' : {'cmd' : ['q_cmd'], + 'args' : ['-q', '3,4', 'on'], + 'rc' : 0, + 'cmp_args' : ['wred_profile,[WRED_PROFILE|AZURE_LOSSLESS]'], + 'cmp_q_args' : ['3', '4'] + }, + 'ecn_cfg_q_all_on_verbose' : {'cmd' : ['q_cmd'], + 'args' : ['-q', '3,4', 'on', '-vv'], + 'rc' : 0, + 'cmp_args' : ['wred_profile,[WRED_PROFILE|AZURE_LOSSLESS]'], + 'cmp_q_args' : ['3', '4'], + 'db_table' : 'DEVICE_NEIGHBOR', + 'rc_msg' : 'Enable ECN on {0} queue 3\nEnable ECN on {0} queue 4' + }, + 'ecn_cfg_q_on' : {'cmd' : ['q_cmd'], + 'args' : ['-q', '4', 'on'], + 'rc' : 0, + 'cmp_args' : ['wred_profile,[WRED_PROFILE|AZURE_LOSSLESS]'], + 'cmp_q_args' : ['3', '4'] + }, + 'ecn_cfg_q_on_verbose' : {'cmd' : ['q_cmd'], + 'args' : ['-q', '4', 'on', '-vv'], + 'rc' : 0, + 'cmp_args' : ['wred_profile,[WRED_PROFILE|AZURE_LOSSLESS]'], + 'cmp_q_args' : ['3', '4'], + 'db_table' : 'DEVICE_NEIGHBOR', + 'rc_msg' : 'Enable ECN on {0} queue 4' } - } diff --git a/tests/ecn_test.py b/tests/ecn_test.py index 1a0b54c32b..ef1539af17 100644 --- a/tests/ecn_test.py +++ b/tests/ecn_test.py @@ -1,3 +1,4 @@ +import ast import json import os import sys @@ -6,6 +7,8 @@ import config.main as config from .ecn_input.ecn_test_vectors import * +from .utils import get_result_and_return_code +from utilities_common.db import Db import show.main as show test_path = os.path.dirname(os.path.abspath(__file__)) @@ -25,9 +28,15 @@ def setup_class(cls): def test_ecn_show_config(self): self.executor(testData['ecn_show_config']) + def test_ecn_show_config_verbose(self): + self.executor(testData['ecn_show_config_verbose']) + def test_ecn_config_gmin(self): self.executor(testData['ecn_cfg_gmin']) + def test_ecn_config_gmin_verbose(self): + self.executor(testData['ecn_cfg_gmin_verbose']) + def test_ecn_config_gmax(self): self.executor(testData['ecn_cfg_gmax']) @@ -46,6 +55,9 @@ def test_ecn_config_rmax(self): def test_ecn_config_gdrop(self): self.executor(testData['ecn_cfg_gdrop']) + def test_ecn_config_gdrop_verbose(self): + self.executor(testData['ecn_cfg_gdrop_verbose']) + def test_ecn_config_ydrop(self): self.executor(testData['ecn_cfg_ydrop']) @@ -70,37 +82,95 @@ def test_ecn_config_rmax_invalid(self): def test_ecn_config_rdrop_invalid(self): self.executor(testData['ecn_cfg_rdrop_invalid']) + def test_ecn_queue_get(self): + self.executor(testData['ecn_q_get']) + + def test_ecn_queue_get_verbose(self): + self.executor(testData['ecn_q_get_verbose']) + + def test_ecn_all_queue_get(self): + self.executor(testData['ecn_q_all_get']) + + def test_ecn_queue_all_get_verbose(self): + self.executor(testData['ecn_q_all_get_verbose']) + + def test_ecn_queue_set_q_off(self): + self.executor(testData['ecn_cfg_q_off']) + + def test_ecn_queue_set_q_off_verbose(self): + self.executor(testData['ecn_cfg_q_off_verbose']) + + def test_ecn_queue_set_all_off(self): + self.executor(testData['ecn_cfg_q_all_off']) + + def test_ecn_queue_set_all_off_verbose(self): + self.executor(testData['ecn_cfg_q_all_off_verbose']) + + def test_ecn_queue_set_q_on(self): + self.executor(testData['ecn_cfg_q_on']) + + def test_ecn_queue_set_q_on_verbose(self): + self.executor(testData['ecn_cfg_q_on_verbose']) + + def test_ecn_queue_set_all_on(self): + self.executor(testData['ecn_cfg_q_all_on']) + + def test_ecn_queue_set_all_on_verbose(self): + self.executor(testData['ecn_cfg_q_all_on_verbose']) + def executor(self, input): runner = CliRunner() + if 'db_table' in input: + db = Db() + data_list = list(db.cfgdb.get_table(input['db_table'])) + input['rc_msg'] = input['rc_msg'].format(",".join(data_list)) + if 'show' in input['cmd']: exec_cmd = show.cli.commands["ecn"] + result = runner.invoke(exec_cmd, input['args']) + exit_code = result.exit_code + output = result.output + elif 'q_cmd' in input['cmd'] : + exit_code, output = get_result_and_return_code("ecnconfig {}".format(" ".join(input['args']))) else: exec_cmd = config.config.commands["ecn"] + result = runner.invoke(exec_cmd, input['args']) + exit_code = result.exit_code + output = result.output - result = runner.invoke(exec_cmd, input['args']) - - print(result.exit_code) - print(result.output) + print(exit_code) + print(output) if input['rc'] == 0: - assert result.exit_code == 0 + assert exit_code == 0 else: - assert result.exit_code != 0 + assert exit_code != 0 if 'cmp_args' in input: fd = open('/tmp/ecnconfig', 'r') - prof_data = json.load(fd) - for args in input['cmp_args']: - profile, name, value = args.split(',') - assert(prof_data[profile][name] == value) + cmp_data = json.load(fd) + + if 'cmp_q_args' in input: + if 'other_q' in input: + profile1, value1 = input['cmp_args'][-1].split(',') + profile, value = input['cmp_args'][0].split(',') + for key in cmp_data: + if ast.literal_eval(key)[-1] in input['cmp_q_args']: + assert(cmp_data[key][profile] == value) + if 'other_q' in input and ast.literal_eval(key)[-1] in input['other_q']: + assert(cmp_data[key][profile1] == value1) + else: + for args in input['cmp_args']: + profile, name, value = args.split(',') + assert(cmp_data[profile][name] == value) fd.close() if 'rc_msg' in input: - assert input['rc_msg'] in result.output + assert input['rc_msg'] in output if 'rc_output' in input: - assert result.output == input['rc_output'] + assert output == input['rc_output'] @classmethod def teardown_class(cls): diff --git a/tests/mock_tables/config_db.json b/tests/mock_tables/config_db.json index dc279092c8..a69bd173c6 100644 --- a/tests/mock_tables/config_db.json +++ b/tests/mock_tables/config_db.json @@ -1782,5 +1782,680 @@ "holdtime": "10", "asn": "65200", "keepalive": "3" + }, + "SCHEDULER|scheduler.0": { + "type": "DWRR", + "weight": "14" + }, + "SCHEDULER|scheduler.1": { + "type": "DWRR", + "weight": "15" + }, + "QUEUE|Ethernet0|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet0|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet0|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet0|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet0|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet0|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet0|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet112|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet112|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet112|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet112|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet112|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet112|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet112|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet116|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet116|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet116|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet116|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet116|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet116|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet116|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet120|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet120|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet120|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet120|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet120|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet120|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet120|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet124|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet124|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet124|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet124|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet124|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet124|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet124|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet12|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet12|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet12|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet12|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet12|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet12|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet12|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet16|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet16|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet16|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet16|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet16|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet16|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet16|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet20|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet20|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet20|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet20|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet20|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet20|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet20|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet24|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet24|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet24|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet24|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet24|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet24|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet24|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet28|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet28|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet28|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet28|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet28|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet28|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet28|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet32|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet32|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet32|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet32|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet32|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet32|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet32|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet36|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet36|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet36|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet36|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet36|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet36|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet36|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet40|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet40|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet40|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet40|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet40|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet40|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet40|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet44|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet44|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet44|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet44|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet44|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet44|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet44|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet48|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet48|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet48|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet48|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet48|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet48|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet48|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet4|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet4|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet4|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet4|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet4|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet4|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet4|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet52|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet52|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet52|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet52|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet52|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet52|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet52|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet56|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet56|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet56|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet56|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet56|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet56|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet56|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet60|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet60|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet60|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet60|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet60|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet60|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet60|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet64|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet64|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet64|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet64|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet64|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet64|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet64|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet68|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet68|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet68|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet68|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet68|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet68|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet68|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet72|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet72|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet72|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet72|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet72|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet72|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet72|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet76|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet76|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet76|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet76|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet76|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet76|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet76|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet80|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet80|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet80|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet80|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet80|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet80|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet80|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet84|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet84|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet84|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet84|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet84|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet84|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet84|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet88|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet88|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet88|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet88|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet88|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet88|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet88|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet8|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet8|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet8|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet8|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet8|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet8|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet8|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet92|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet92|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet92|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet92|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet92|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet92|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet92|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet96|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet96|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet96|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet96|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet96|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "QUEUE|Ethernet96|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "QUEUE|Ethernet96|6": { + "scheduler": "[SCHEDULER|scheduler.0]" } } From 720b650f8effa7b397db70bd4b9aa8d5952b2fb0 Mon Sep 17 00:00:00 2001 From: Vivek Reddy Date: Mon, 30 Aug 2021 15:23:12 -0700 Subject: [PATCH 283/342] [debug dump util] Module implementation Logic and Port Module (#1667) * Port Module and UT Added What I did HLD for Dump Utility: HLD. For More Info on adding new modules, Check this section in the HLD: MatchInfra Signed-off-by: Vivek Reddy Karri --- dump/match_infra.py | 190 +++++++++++++-------- dump/plugins/__init__.py | 15 ++ dump/plugins/executor.py | 26 +++ dump/plugins/port.py | 76 +++++++++ tests/dump_input/port/appl_db.json | 35 ++++ tests/dump_input/port/asic_db.json | 29 ++++ tests/dump_input/port/config_db.json | 30 ++++ tests/dump_input/port/state_db.json | 14 ++ tests/dump_tests/match_engine_test.py | 100 +++++------ tests/dump_tests/module_tests/__init__.py | 0 tests/dump_tests/module_tests/port_test.py | 162 ++++++++++++++++++ 11 files changed, 556 insertions(+), 121 deletions(-) create mode 100644 dump/plugins/__init__.py create mode 100644 dump/plugins/executor.py create mode 100644 dump/plugins/port.py create mode 100644 tests/dump_input/port/appl_db.json create mode 100644 tests/dump_input/port/asic_db.json create mode 100644 tests/dump_input/port/config_db.json create mode 100644 tests/dump_input/port/state_db.json create mode 100644 tests/dump_tests/module_tests/__init__.py create mode 100644 tests/dump_tests/module_tests/port_test.py diff --git a/dump/match_infra.py b/dump/match_infra.py index fe0d8126a9..0b4ca0490a 100644 --- a/dump/match_infra.py +++ b/dump/match_infra.py @@ -1,4 +1,5 @@ -import json, fnmatch +import json +import fnmatch from abc import ABC, abstractmethod from dump.helper import verbose_print from swsscommon.swsscommon import SonicV2Connector, SonicDBConfig @@ -12,9 +13,9 @@ "NO_SRC": "Either one of db or file in the request should be non-empty", "NO_TABLE": "No 'table' name provided", "NO_KEY": "'key_pattern' cannot be empty", - "NO_VALUE" : "Field is provided, but no value is provided to compare with", + "NO_VALUE": "Field is provided, but no value is provided to compare with", "SRC_VAGUE": "Only one of db or file should be provided", - "CONN_ERR" : "Connection Error", + "CONN_ERR": "Connection Error", "JUST_KEYS_COMPAT": "When Just_keys is set to False, return_fields should be empty", "BAD_FORMAT_RE_FIELDS": "Return Fields should be of list type", "NO_ENTRIES": "No Keys found after applying the filtering criteria", @@ -22,14 +23,15 @@ "INV_NS": "Namespace is invalid" } + class MatchRequest: - """ - Request Object which should be passed to the MatchEngine - + """ + Request Object which should be passed to the MatchEngine + Attributes: "table" : A Valid Table Name "key_pattern" : Pattern of the redis-key to match. Defaults to "*". Eg: "*" will match all the keys. - Supports these glob style patterns. https://redis.io/commands/KEYS + Supports these glob style patterns. https://redis.io/commands/KEYS "field" : Field to check for a match,Defaults to None "value" : Value to match, Defaults to None "return_fields" : An iterable type, where each element woudld imply a field to return from all the filtered keys @@ -38,9 +40,10 @@ class MatchRequest: Only one of the db/file fields should have a non-empty string. "just_keys" : If true, Only Returns the keys matched. Does not return field-value pairs. Defaults to True "ns" : namespace argument, if nothing is provided, default namespace is used - "match_entire_list" : When this arg is set to true, entire list is matched incluing the ",". + "match_entire_list" : When this arg is set to true, entire list is matched incluing the ",". When False, the values are split based on "," and individual items are matched with """ + def __init__(self, **kwargs): self.table = kwargs["table"] if "table" in kwargs else None self.key_pattern = kwargs["key_pattern"] if "key_pattern" in kwargs else "*" @@ -56,16 +59,15 @@ def __init__(self, **kwargs): verbose_print(str(err)) if err: raise Exception("Static Checks for the MatchRequest Failed, Reason: \n" + err) - - + def __static_checks(self): - + if not self.db and not self.file: return EXCEP_DICT["NO_SRC"] - + if self.db and self.file: return EXCEP_DICT["SRC_VAGUE"] - + if not self.db: try: with open(self.file) as f: @@ -75,32 +77,32 @@ def __static_checks(self): if not self.file and self.db not in SonicDBConfig.getDbList(): return EXCEP_DICT["INV_DB"] - + if not self.table: return EXCEP_DICT["NO_TABLE"] - + if not isinstance(self.return_fields, list): return EXCEP_DICT["BAD_FORMAT_RE_FIELDS"] - + if not self.just_keys and self.return_fields: return EXCEP_DICT["JUST_KEYS_COMPAT"] - + if self.field and not self.value: return EXCEP_DICT["NO_VALUE"] - + if self.ns != DEFAULT_NAMESPACE and self.ns not in multi_asic.get_namespace_list(): return EXCEP_DICT["INV_NS"] + " Choose From {}".format(multi_asic.get_namespace_list()) - + verbose_print("MatchRequest Checks Passed") - + return "" - + def __str__(self): str = "----------------------- \n MatchRequest: \n" if self.db: str += "db:{} , ".format(self.db) if self.file: - str += "file:{} , ".format(self.file) + str += "file:{} , ".format(self.file) if self.table: str += "table:{} , ".format(self.table) if self.key_pattern: @@ -116,78 +118,76 @@ def __str__(self): if len(self.return_fields) > 0: str += "return_fields: " + ",".join(self.return_fields) + " " if self.ns: - str += "namespace: , " + self.ns + str += "namespace: , " + self.ns if self.match_entire_list: str += "match_list: True , " else: str += "match_list: False , " return str - + + class SourceAdapter(ABC): """ Source Adaptor offers unified interface to Data Sources """ - + def __init__(self): pass - + @abstractmethod def connect(self, db, ns): """ Return True for Success, False for failure """ return False - + @abstractmethod def getKeys(self, db, table, key_pattern): return [] - + @abstractmethod def get(self, db, key): return {} - + @abstractmethod def hget(self, db, key, field): return "" - + @abstractmethod def get_separator(self, db): return "" - + + class RedisSource(SourceAdapter): """ Concrete Adaptor Class for connecting to Redis Data Sources """ - - def __init__(self): - self.conn = None - + + def __init__(self, conn_pool): + self.conn = None + self.pool = conn_pool + def connect(self, db, ns): try: - if not SonicDBConfig.isInit(): - if multi_asic.is_multi_asic(): - SonicDBConfig.load_sonic_global_db_config() - else: - SonicDBConfig.load_sonic_db_config() - self.conn = SonicV2Connector(namespace=ns, use_unix_socket_path=True) - self.conn.connect(db) + self.conn = self.pool.get(db, ns) except Exception as e: verbose_print("RedisSource: Connection Failed\n" + str(e)) return False return True - + def get_separator(self, db): return self.conn.get_db_separator(db) - - def getKeys(self, db, table, key_pattern): + + def getKeys(self, db, table, key_pattern): return self.conn.keys(db, table + self.get_separator(db) + key_pattern) - + def get(self, db, key): return self.conn.get_all(db, key) - + def hget(self, db, key, field): return self.conn.get(db, key, field) + class JsonSource(SourceAdapter): """ Concrete Adaptor Class for connecting to JSON Data Sources """ - + def __init__(self): self.json_data = None - + def connect(self, db, ns): try: with open(db) as f: @@ -196,10 +196,10 @@ def connect(self, db, ns): verbose_print("JsonSource: Loading the JSON file failed" + str(e)) return False return True - + def get_separator(self, db): return SonicDBConfig.getSeparator("CONFIG_DB") - + def getKeys(self, db, table, key_pattern): if table not in self.json_data: return [] @@ -207,48 +207,95 @@ def getKeys(self, db, table, key_pattern): kp = key_pattern.replace("[^", "[!") kys = fnmatch.filter(self.json_data[table].keys(), kp) return [table + self.get_separator(db) + ky for ky in kys] - + def get(self, db, key): sep = self.get_separator(db) table, key = key.split(sep, 1) return self.json_data.get(table, {}).get(key, {}) - + def hget(self, db, key, field): sep = self.get_separator(db) table, key = key.split(sep, 1) return self.json_data.get(table, "").get(key, "").get(field, "") - + + +class ConnectionPool: + """ Caches SonicV2Connector objects for effective reuse """ + def __init__(self): + self.cache = dict() # Pool of SonicV2Connector objects + + def initialize_connector(self, ns): + if not SonicDBConfig.isInit(): + if multi_asic.is_multi_asic(): + SonicDBConfig.load_sonic_global_db_config() + else: + SonicDBConfig.load_sonic_db_config() + return SonicV2Connector(namespace=ns, use_unix_socket_path=True) + + def get(self, db_name, ns, update=False): + """ Returns a SonicV2Connector Object and caches it for further requests """ + if ns not in self.cache: + self.cache[ns] = {} + self.cache[ns]["conn"] = self.initialize_connector(ns) + self.cache[ns]["connected_to"] = set() + if update or db_name not in self.cache[ns]["connected_to"]: + self.cache[ns]["conn"].connect(db_name) + self.cache[ns]["connected_to"].add(db_name) + return self.cache[ns]["conn"] + + def clear(self, namespace=None): + if not namespace: + self.cache.clear() + elif namespace in self.cache: + del self.cache[namespace] + + class MatchEngine: - """ Pass in a MatchRequest, to fetch the Matched dump from the Data sources """ - + """ + Provide a MatchRequest to fetch the relevant keys/fv's from the data source + Usage Guidelines: + 1) Instantiate the class once for the entire execution, + to effectively use the caching of redis connection objects + """ + def __init__(self, pool=None): + if not isinstance(pool, ConnectionPool): + self.conn_pool = ConnectionPool() + else: + self.conn_pool = pool + + def clear_cache(self, ns): + self.conn_pool(ns) + def __get_source_adapter(self, req): src = None d_src = "" if req.db: d_src = req.db - src = RedisSource() + src = RedisSource(self.conn_pool) else: d_src = req.file src = JsonSource() return d_src, src - + def __create_template(self): - return {"error" : "", "keys" : [], "return_values" : {}} - + return {"error": "", "keys": [], "return_values": {}} + def __display_error(self, err): template = self.__create_template() template['error'] = err verbose_print("MatchEngine: \n" + template['error']) return template - + def __filter_out_keys(self, src, req, all_matched_keys): # TODO: Custom Callbacks for Complex Matching Criteria if not req.field: return all_matched_keys - + filtered_keys = [] for key in all_matched_keys: f_values = src.hget(req.db, key, req.field) + if not f_values: + continue if "," in f_values and not req.match_entire_list: f_value = f_values.split(",") else: @@ -256,7 +303,7 @@ def __filter_out_keys(self, src, req, all_matched_keys): if req.value in f_value: filtered_keys.append(key) return filtered_keys - + def __fill_template(self, src, req, filtered_keys, template): for key in filtered_keys: temp = {} @@ -266,35 +313,34 @@ def __fill_template(self, src, req, filtered_keys, template): elif len(req.return_fields) > 0: template["keys"].append(key) template["return_values"][key] = {} - for field in req.return_fields: + for field in req.return_fields: template["return_values"][key][field] = src.hget(req.db, key, field) else: template["keys"].append(key) verbose_print("Return Values:" + str(template["return_values"])) return template - + def fetch(self, req): """ Given a request obj, find its match in the data source provided """ if not isinstance(req, MatchRequest): return self.__display_error(EXCEP_DICT["INV_REQ"]) - + verbose_print(str(req)) - + if not req.key_pattern: return self.__display_error(EXCEP_DICT["NO_KEY"]) - + d_src, src = self.__get_source_adapter(req) if not src.connect(d_src, req.ns): return self.__display_error(EXCEP_DICT["CONN_ERR"]) - + template = self.__create_template() all_matched_keys = src.getKeys(req.db, req.table, req.key_pattern) if not all_matched_keys: return self.__display_error(EXCEP_DICT["NO_MATCHES"]) - + filtered_keys = self.__filter_out_keys(src, req, all_matched_keys) verbose_print("Filtered Keys:" + str(filtered_keys)) if not filtered_keys: return self.__display_error(EXCEP_DICT["NO_ENTRIES"]) - return self.__fill_template(src, req, filtered_keys, template) - + return self.__fill_template(src, req, filtered_keys, template) \ No newline at end of file diff --git a/dump/plugins/__init__.py b/dump/plugins/__init__.py new file mode 100644 index 0000000000..2141e4fec8 --- /dev/null +++ b/dump/plugins/__init__.py @@ -0,0 +1,15 @@ +import os +import sys +import pkgutil +import importlib +from .executor import Executor + +dump_modules = {} +pkg_dir = os.path.dirname(__file__) + +# import child classes automatically +for (module_loader, name, ispkg) in pkgutil.iter_modules([pkg_dir]): + importlib.import_module('.' + name, __package__) + +# Classes inheriting Executor +dump_modules = {cls.__name__.lower(): cls for cls in Executor.__subclasses__()} diff --git a/dump/plugins/executor.py b/dump/plugins/executor.py new file mode 100644 index 0000000000..73c324de80 --- /dev/null +++ b/dump/plugins/executor.py @@ -0,0 +1,26 @@ +from abc import ABC, abstractmethod +from dump.match_infra import MatchEngine + + +class Executor(ABC): + """ + Abstract Class which should be extended from in + order to be included in the dump state CLI + """ + + ARG_NAME = "id" # Arg Identifier + CONFIG_FILE = "" # Path to config file, if any + + def __init__(self, match_engine=None): + if not isinstance(match_engine, MatchEngine): + self.match_engine = MatchEngine(None) + else: + self.match_engine = match_engine + + @abstractmethod + def execute(self, params): + pass + + @abstractmethod + def get_all_args(self, ns): + pass diff --git a/dump/plugins/port.py b/dump/plugins/port.py new file mode 100644 index 0000000000..f8422c9c69 --- /dev/null +++ b/dump/plugins/port.py @@ -0,0 +1,76 @@ +from dump.match_infra import MatchRequest +from dump.helper import create_template_dict +from .executor import Executor + + +class Port(Executor): + """ + Debug Dump Plugin for PORT Module + """ + ARG_NAME = "port_name" + + def __init__(self, match_engine=None): + super().__init__(match_engine) + + def get_all_args(self, ns=""): + req = MatchRequest(db="CONFIG_DB", table="PORT", key_pattern="*", ns=ns) + ret = self.match_engine.fetch(req) + all_ports = ret["keys"] + return [key.split("|")[-1] for key in all_ports] + + def execute(self, params): + self.ret_temp = create_template_dict(dbs=["CONFIG_DB", "APPL_DB", "ASIC_DB", "STATE_DB"]) + port_name = params[Port.ARG_NAME] + self.ns = params["namespace"] + self.init_port_config_info(port_name) + self.init_port_appl_info(port_name) + port_asic_obj = self.init_asic_hostif_info(port_name) + self.init_asic_port_info(port_asic_obj) + self.init_state_port_info(port_name) + return self.ret_temp + + def add_to_ret_template(self, table, db, keys, err): + if not err and keys: + self.ret_temp[db]["keys"].extend(keys) + return True + else: + self.ret_temp[db]["tables_not_found"].extend([table]) + return False + + def init_port_config_info(self, port_name): + req = MatchRequest(db="CONFIG_DB", table="PORT", key_pattern=port_name, ns=self.ns) + ret = self.match_engine.fetch(req) + self.add_to_ret_template(req.table, req.db, ret["keys"], ret["error"]) + + def init_port_appl_info(self, port_name): + req = MatchRequest(db="APPL_DB", table="PORT_TABLE", key_pattern=port_name, ns=self.ns) + ret = self.match_engine.fetch(req) + self.add_to_ret_template(req.table, req.db, ret["keys"], ret["error"]) + + def init_state_port_info(self, port_name): + req = MatchRequest(db="STATE_DB", table="PORT_TABLE", key_pattern=port_name, ns=self.ns) + ret = self.match_engine.fetch(req) + self.add_to_ret_template(req.table, req.db, ret["keys"], ret["error"]) + + def init_asic_hostif_info(self, port_name): + req = MatchRequest(db="ASIC_DB", table="ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF", key_pattern="*", field="SAI_HOSTIF_ATTR_NAME", + value=port_name, return_fields=["SAI_HOSTIF_ATTR_OBJ_ID"], ns=self.ns) + ret = self.match_engine.fetch(req) + asic_port_obj_id = "" + + if not ret["error"] and len(ret["keys"]) != 0: + self.ret_temp[req.db]["keys"] = ret["keys"] + sai_hostif_obj_key = ret["keys"][-1] + if sai_hostif_obj_key in ret["return_values"] and "SAI_HOSTIF_ATTR_OBJ_ID" in ret["return_values"][sai_hostif_obj_key]: + asic_port_obj_id = ret["return_values"][sai_hostif_obj_key]["SAI_HOSTIF_ATTR_OBJ_ID"] + else: + self.ret_temp[req.db]["tables_not_found"] = [req.table] + return asic_port_obj_id + + def init_asic_port_info(self, asic_port_obj_id): + if not asic_port_obj_id: + self.ret_temp["ASIC_DB"]["tables_not_found"].append("ASIC_STATE:SAI_OBJECT_TYPE_PORT") + return None + req = MatchRequest(db="ASIC_DB", table="ASIC_STATE:SAI_OBJECT_TYPE_PORT", key_pattern=asic_port_obj_id, ns=self.ns) + ret = self.match_engine.fetch(req) + self.add_to_ret_template(req.table, req.db, ret["keys"], ret["error"]) diff --git a/tests/dump_input/port/appl_db.json b/tests/dump_input/port/appl_db.json new file mode 100644 index 0000000000..6dca414473 --- /dev/null +++ b/tests/dump_input/port/appl_db.json @@ -0,0 +1,35 @@ +{ + "PORT_TABLE:Ethernet176": { + "index": "0", + "lanes": "0", + "alias": "etp45", + "speed": "25000", + "oper_status": "up", + "pfc_asym": "off", + "mtu": "9100", + "fec": "rs", + "admin_status": "up" + }, + "PORT_TABLE:Ethernet160": { + "index": "0", + "lanes": "0", + "alias": "etp41", + "speed": "25000", + "oper_status": "up", + "pfc_asym": "off", + "mtu": "9100", + "fec": "rs", + "admin_status": "up" + }, + "PORT_TABLE:Ethernet164": { + "index": "0", + "lanes": "0", + "alias": "etp42", + "speed": "25000", + "oper_status": "up", + "pfc_asym": "off", + "mtu": "9100", + "fec": "rs", + "admin_status": "up" + } +} \ No newline at end of file diff --git a/tests/dump_input/port/asic_db.json b/tests/dump_input/port/asic_db.json new file mode 100644 index 0000000000..db9e86128b --- /dev/null +++ b/tests/dump_input/port/asic_db.json @@ -0,0 +1,29 @@ +{ + "ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF:oid:0xd000000000a4d":{ + "SAI_HOSTIF_ATTR_TYPE" : "SAI_HOSTIF_TYPE_NETDEV", + "SAI_HOSTIF_ATTR_OBJ_ID": "oid:0x100000000036a", + "SAI_HOSTIF_ATTR_NAME" : "Ethernet176", + "SAI_HOSTIF_ATTR_OPER_STATUS" : "true" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_PORT:oid:0x100000000036a": { + "SAI_PORT_ATTR_ADMIN_STATE" : "true", + "SAI_PORT_ATTR_SPEED" : "25000", + "SAI_PORT_ATTR_MTU" : "9122" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF:oid:0xd000000000a49":{ + "SAI_HOSTIF_ATTR_TYPE" : "SAI_HOSTIF_TYPE_NETDEV", + "SAI_HOSTIF_ATTR_OBJ_ID": "oid:0x10000000002e6", + "SAI_HOSTIF_ATTR_NAME" : "Ethernet160", + "SAI_HOSTIF_ATTR_OPER_STATUS" : "true" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF:oid:0xd000000000a4a":{ + "SAI_HOSTIF_ATTR_TYPE" : "SAI_HOSTIF_TYPE_NETDEV", + "SAI_HOSTIF_ATTR_OBJ_ID": "oid:0x1000000000307", + "SAI_HOSTIF_ATTR_OPER_STATUS" : "true" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_PORT:oid:0x1000000000307": { + "SAI_PORT_ATTR_ADMIN_STATE" : "true", + "SAI_PORT_ATTR_SPEED" : "25000", + "SAI_PORT_ATTR_MTU" : "9122" + } +} diff --git a/tests/dump_input/port/config_db.json b/tests/dump_input/port/config_db.json new file mode 100644 index 0000000000..890520f4b1 --- /dev/null +++ b/tests/dump_input/port/config_db.json @@ -0,0 +1,30 @@ +{ + "PORT|Ethernet176": { + "admin_status" : "up", + "alias": "etp45", + "index": "45", + "lanes": "176", + "speed": "25000" + }, + "PORT|Ethernet164": { + "admin_status" : "up", + "alias": "etp42", + "index": "42", + "lanes": "164", + "speed": "25000" + }, + "PORT|Ethernet160": { + "admin_status" : "up", + "alias": "etp41", + "index": "41", + "lanes": "160", + "speed": "25000" + }, + "PORT|Ethernet156": { + "admin_status" : "up", + "alias": "etp40", + "index": "40", + "lanes": "156", + "speed": "25000" + } +} diff --git a/tests/dump_input/port/state_db.json b/tests/dump_input/port/state_db.json new file mode 100644 index 0000000000..9db2d8f8c2 --- /dev/null +++ b/tests/dump_input/port/state_db.json @@ -0,0 +1,14 @@ +{ + "PORT_TABLE|Ethernet176":{ + "state" : "ok", + "netdev_oper_status" : "up" + }, + "PORT_TABLE|Ethernet160":{ + "state" : "ok", + "netdev_oper_status" : "up" + }, + "PORT_TABLE|Ethernet164":{ + "state" : "ok", + "netdev_oper_status" : "up" + } +} diff --git a/tests/dump_tests/match_engine_test.py b/tests/dump_tests/match_engine_test.py index a4d4330b9b..5575bc4127 100644 --- a/tests/dump_tests/match_engine_test.py +++ b/tests/dump_tests/match_engine_test.py @@ -1,4 +1,5 @@ -import os, sys +import os +import sys import unittest import pytest from dump.match_infra import MatchEngine, EXCEP_DICT, MatchRequest @@ -10,6 +11,7 @@ sys.path.append(test_path) + @pytest.fixture(scope="module", autouse=True) def mock_setup(): print("SETUP") @@ -20,11 +22,11 @@ def mock_setup(): class TestMatchRequestValidation(unittest.TestCase): - + def __init__(self, *args, **kwargs): super(TestMatchRequestValidation, self).__init__(*args, **kwargs) self.match_engine = MatchEngine() - + def assertRaisesWithMessage(self, msg, func, *args, **kwargs): try: func(*args, **kwargs) @@ -32,111 +34,111 @@ def assertRaisesWithMessage(self, msg, func, *args, **kwargs): except Exception as inst: print(inst) assert msg in str(inst) - + def test_bad_request(self): req = [] ret = self.match_engine.fetch(req) assert ret["error"] == EXCEP_DICT["INV_REQ"] - + def test_no_source(self): self.assertRaisesWithMessage(EXCEP_DICT["NO_SRC"], MatchRequest) - - def test_vague_source(self): + + def test_vague_source(self): self.assertRaisesWithMessage(EXCEP_DICT["SRC_VAGUE"], MatchRequest, db="CONFIG_DB", file="/etc/sonic/copp_cfg.json") - - def test_no_file(self): + + def test_no_file(self): self.assertRaisesWithMessage(EXCEP_DICT["FILE_R_EXEP"], MatchRequest, file=os.path.join(test_path, "random_db.json")) - def test_invalid_db(self): + def test_invalid_db(self): self.assertRaisesWithMessage(EXCEP_DICT["INV_DB"], MatchRequest, db="CONFIGURATION_DB") - + def test_invalid_namespace(self): - self.assertRaisesWithMessage(EXCEP_DICT["INV_NS"], MatchRequest, db="APPL_DB", table="PORT_TABLE", + self.assertRaisesWithMessage(EXCEP_DICT["INV_NS"], MatchRequest, db="APPL_DB", table="PORT_TABLE", field="lanes", value="202", ns="asic4") - + def test_bad_key_pattern(self): req = MatchRequest(db="CONFIG_DB", table="PORT", key_pattern="") ret = self.match_engine.fetch(req) assert ret["error"] == EXCEP_DICT["NO_KEY"] - + def test_no_value(self): self.assertRaisesWithMessage(EXCEP_DICT["NO_VALUE"], MatchRequest, db="APPL_DB", table="COPP_TABLE", key_pattern="*", field="trap_ids", value="") - + def test_no_table(self): self.assertRaisesWithMessage(EXCEP_DICT["NO_TABLE"], MatchRequest, db="APPL_DB", table="", key_pattern="*", field="trap_ids", value="bgpv6") - + def test_just_keys_return_fields_compat(self): - self.assertRaisesWithMessage(EXCEP_DICT["JUST_KEYS_COMPAT"], MatchRequest, db="APPL_DB", return_fields=["trap_group"], table="COPP_TABLE", + self.assertRaisesWithMessage(EXCEP_DICT["JUST_KEYS_COMPAT"], MatchRequest, db="APPL_DB", return_fields=["trap_group"], table="COPP_TABLE", key_pattern="*", field="trap_ids", value="", just_keys=False) - + def test_invalid_combination(self): req = MatchRequest(db="CONFIG_DB", table="COPP_TRAP", key_pattern="*", field="trap_ids", value="sample_packet") ret = self.match_engine.fetch(req) assert ret["error"] == EXCEP_DICT["NO_MATCHES"] - + def test_return_fields_bad_format(self): self.assertRaisesWithMessage(EXCEP_DICT["BAD_FORMAT_RE_FIELDS"], MatchRequest, db="STATE_DB", table="REBOOT_CAUSE", key_pattern="*", return_fields="cause") - + def test_valid_match_request(self): try: req = MatchRequest(db="APPL_DB", table="PORT_TABLE", field="lanes", value="202") except Exception as e: assert False, "Exception Raised for a Valid MatchRequest" + str(e) - + class TestMatchEngine(unittest.TestCase): - + def __init__(self, *args, **kwargs): super(TestMatchEngine, self).__init__(*args, **kwargs) self.match_engine = MatchEngine() - + def test_key_pattern_wildcard(self): req = MatchRequest(db="CONFIG_DB", table="SFLOW_COLLECTOR", key_pattern="*") ret = self.match_engine.fetch(req) assert ret["error"] == "" assert len(ret["keys"]) == 2 assert "SFLOW_COLLECTOR|ser5" in ret['keys'] - assert "SFLOW_COLLECTOR|prod" in ret['keys'] - + assert "SFLOW_COLLECTOR|prod" in ret['keys'] + def test_key_pattern_complex(self): req = MatchRequest(db="CONFIG_DB", table="ACL_RULE", key_pattern="EVERFLOW*") ret = self.match_engine.fetch(req) assert ret["error"] == "" assert len(ret["keys"]) == 2 assert "ACL_RULE|EVERFLOW|RULE_6" in ret['keys'] - assert "ACL_RULE|EVERFLOW|RULE_08" in ret['keys'] - + assert "ACL_RULE|EVERFLOW|RULE_08" in ret['keys'] + def test_field_value_match(self): req = MatchRequest(db="CONFIG_DB", table="ACL_TABLE", field="policy_desc", value="SSH_ONLY") ret = self.match_engine.fetch(req) assert ret["error"] == "" assert len(ret["keys"]) == 1 assert "ACL_TABLE|SSH_ONLY" in ret['keys'] - + def test_field_value_match_list_type(self): req = MatchRequest(db="APPL_DB", table="PORT_TABLE", field="lanes", value="202") ret = self.match_engine.fetch(req) assert ret["error"] == "" assert len(ret["keys"]) == 1 assert "PORT_TABLE:Ethernet200" in ret['keys'] - + def test_for_no_match(self): req = MatchRequest(db="ASIC_DB", table="ASIC_STATE:SAI_OBJECT_TYPE_SWITCH", field="SAI_SWITCH_ATTR_SRC_MAC_ADDRESS", value="DE:AD:EE:EE:EE") ret = self.match_engine.fetch(req) assert ret["error"] == EXCEP_DICT["NO_ENTRIES"] assert len(ret["keys"]) == 0 - + def test_for_no_key_match(self): req = MatchRequest(db="ASIC_DB", table="ASIC_STATE:SAI_OBJECT_TYPE_SWITCH", key_pattern="oid:0x22*") ret = self.match_engine.fetch(req) assert ret["error"] == EXCEP_DICT["NO_MATCHES"] - + def test_field_value_no_match(self): req = MatchRequest(db="STATE_DB", table="FAN_INFO", key_pattern="*", field="led_status", value="yellow") ret = self.match_engine.fetch(req) assert ret["error"] == EXCEP_DICT["NO_ENTRIES"] assert len(ret["keys"]) == 0 - + def test_return_keys(self): req = MatchRequest(db="STATE_DB", table="REBOOT_CAUSE", return_fields=["cause"]) ret = self.match_engine.fetch(req) @@ -144,21 +146,21 @@ def test_return_keys(self): assert len(ret["keys"]) == 2 assert "warm-reboot" == ret["return_values"]["REBOOT_CAUSE|2020_10_09_04_53_58"]["cause"] assert "reboot" == ret["return_values"]["REBOOT_CAUSE|2020_10_09_02_33_06"]["cause"] - + def test_return_fields_with_key_filtering(self): req = MatchRequest(db="STATE_DB", table="REBOOT_CAUSE", key_pattern="2020_10_09_02*", return_fields=["cause"]) ret = self.match_engine.fetch(req) assert ret["error"] == "" assert len(ret["keys"]) == 1 assert "reboot" == ret["return_values"]["REBOOT_CAUSE|2020_10_09_02_33_06"]["cause"] - + def test_return_fields_with_field_value_filtering(self): req = MatchRequest(db="STATE_DB", table="CHASSIS_MODULE_TABLE", field="oper_status", value="Offline", return_fields=["slot"]) ret = self.match_engine.fetch(req) assert ret["error"] == "" assert len(ret["keys"]) == 1 assert "18" == ret["return_values"]["CHASSIS_MODULE_TABLE|FABRIC-CARD1"]["slot"] - + def test_return_fields_with_all_filtering(self): req = MatchRequest(db="STATE_DB", table="VXLAN_TUNNEL_TABLE", key_pattern="EVPN_25.25.25.2*", field="operstatus", value="down", return_fields=["src_ip"]) ret = self.match_engine.fetch(req) @@ -167,7 +169,7 @@ def test_return_fields_with_all_filtering(self): assert "1.1.1.1" == ret["return_values"]["VXLAN_TUNNEL_TABLE|EVPN_25.25.25.25"]["src_ip"] assert "1.1.1.1" == ret["return_values"]["VXLAN_TUNNEL_TABLE|EVPN_25.25.25.26"]["src_ip"] assert "1.1.1.1" == ret["return_values"]["VXLAN_TUNNEL_TABLE|EVPN_25.25.25.27"]["src_ip"] - + def test_just_keys_false(self): req = MatchRequest(db="CONFIG_DB", table="SFLOW", key_pattern="global", just_keys=False) ret = self.match_engine.fetch(req) @@ -178,15 +180,15 @@ def test_just_keys_false(self): exp_dict = {"SFLOW|global": {"admin_state": "up", "polling_interval": "0"}} ddiff = DeepDiff(exp_dict, recv_dict) assert not ddiff, ddiff - + def test_file_source(self): file = os.path.join(dump_test_input, "copp_cfg.json") req = MatchRequest(file=file, table="COPP_TRAP", field="trap_ids", value="arp_req") ret = self.match_engine.fetch(req) assert ret["error"] == "" assert len(ret["keys"]) == 1 - assert "COPP_TRAP|arp" in ret["keys"] - + assert "COPP_TRAP|arp" in ret["keys"] + def test_file_source_with_key_ptrn(self): file = os.path.join(dump_test_input, "copp_cfg.json") req = MatchRequest(file=file, table="COPP_GROUP", key_pattern="queue4*", field="red_action", value="drop") @@ -194,7 +196,7 @@ def test_file_source_with_key_ptrn(self): assert ret["error"] == "" assert len(ret["keys"]) == 1 assert "COPP_GROUP|queue4_group2" in ret["keys"] - + def test_file_source_with_not_only_return_keys(self): file = os.path.join(dump_test_input, "copp_cfg.json") req = MatchRequest(file=file, table="COPP_GROUP", key_pattern="queue4*", field="red_action", value="drop", just_keys=False) @@ -205,17 +207,17 @@ def test_file_source_with_not_only_return_keys(self): exp_dict = {"COPP_GROUP|queue4_group2": {"trap_action": "copy", "trap_priority": "4", "queue": "4", "meter_type": "packets", "mode": "sr_tcm", "cir": "600", "cbs": "600", "red_action": "drop"}} ddiff = DeepDiff(exp_dict, recv_dict) assert not ddiff, ddiff - + def test_match_entire_list(self): req = MatchRequest(db="CONFIG_DB", table="PORT", key_pattern="*", field="lanes", value="61,62,63,64", match_entire_list=True, just_keys=True) ret = self.match_engine.fetch(req) assert ret["error"] == "" assert len(ret["keys"]) == 1 - assert "PORT|Ethernet60" in ret["keys"] - + assert "PORT|Ethernet60" in ret["keys"] + class TestNonDefaultNameSpace(unittest.TestCase): - + @classmethod def setup_class(cls): print("SETUP") @@ -225,12 +227,12 @@ def setup_class(cls): reload(mock_multi_asic) from ..mock_tables import dbconnector dbconnector.load_namespace_config() - + def teardown_class(cls): print("TEARDOWN") os.environ["UTILITIES_UNIT_TESTING"] = "0" - os.environ["UTILITIES_UNIT_TESTING_TOPOLOGY"] = "" - + os.environ["UTILITIES_UNIT_TESTING_TOPOLOGY"] = "" + def test_namespace_asic0(self): req = MatchRequest(db="CONFIG_DB", table="PORT", key_pattern="*", field="asic_port_name", value="Eth0-ASIC0", ns="asic0") match_engine = MatchEngine() @@ -238,11 +240,11 @@ def test_namespace_asic0(self): assert ret["error"] == "" assert len(ret["keys"]) == 1 assert "PORT|Ethernet0" in ret["keys"] - + def test_namespace_asic1(self): req = MatchRequest(db="CONFIG_DB", table="PORT", key_pattern="Ethernet-BP256", ns="asic1") match_engine = MatchEngine() ret = match_engine.fetch(req) assert ret["error"] == "" assert len(ret["keys"]) == 1 - assert "PORT|Ethernet-BP256" in ret["keys"] + assert "PORT|Ethernet-BP256" in ret["keys"] diff --git a/tests/dump_tests/module_tests/__init__.py b/tests/dump_tests/module_tests/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/dump_tests/module_tests/port_test.py b/tests/dump_tests/module_tests/port_test.py new file mode 100644 index 0000000000..ebed245e31 --- /dev/null +++ b/tests/dump_tests/module_tests/port_test.py @@ -0,0 +1,162 @@ +import json +import os +import sys +import jsonpatch +import unittest +import pytest +from deepdiff import DeepDiff +from mock import patch +from dump.helper import create_template_dict, sort_lists +from dump.plugins.port import Port +from dump.match_infra import MatchEngine, ConnectionPool +from swsscommon.swsscommon import SonicV2Connector + +# Location for dedicated db's used for UT +module_tests_path = os.path.dirname(__file__) +dump_tests_path = os.path.join(module_tests_path, "../") +tests_path = os.path.join(dump_tests_path, "../") +dump_test_input = os.path.join(tests_path, "dump_input") +port_files_path = os.path.join(dump_test_input, "port") + +# Define the mock files to read from +dedicated_dbs = {} +dedicated_dbs['CONFIG_DB'] = os.path.join(port_files_path, "config_db.json") +dedicated_dbs['APPL_DB'] = os.path.join(port_files_path, "appl_db.json") +dedicated_dbs['ASIC_DB'] = os.path.join(port_files_path, "asic_db.json") +dedicated_dbs['STATE_DB'] = os.path.join(port_files_path, "state_db.json") + + +def populate_mock(db, db_names): + for db_name in db_names: + db.connect(db_name) + # Delete any default data + db.delete_all_by_pattern(db_name, "*") + with open(dedicated_dbs[db_name]) as f: + mock_json = json.load(f) + for key in mock_json: + for field, value in mock_json[key].items(): + db.set(db_name, key, field, value) + + +@pytest.fixture(scope="class", autouse=True) +def match_engine(): + + print("SETUP") + os.environ["VERBOSE"] = "1" + + # Monkey Patch the SonicV2Connector Object + from ...mock_tables import dbconnector + db = SonicV2Connector() + + # popualate the db with mock data + db_names = list(dedicated_dbs.keys()) + try: + populate_mock(db, db_names) + except Exception as e: + assert False, "Mock initialization failed: " + str(e) + + # Initialize connection pool + conn_pool = ConnectionPool() + DEF_NS = '' # Default Namespace + conn_pool.cache = {DEF_NS: {'conn': db, + 'connected_to': set(db_names)}} + + # Initialize match_engine + match_engine = MatchEngine(conn_pool) + yield match_engine + print("TEARDOWN") + os.environ["VERBOSE"] = "0" + + +@pytest.mark.usefixtures("match_engine") +class TestPortModule: + def test_working_state(self, match_engine): + """ + Scenario: When the config is properly applied and propagated + """ + params = {Port.ARG_NAME: "Ethernet176", "namespace": ""} + m_port = Port(match_engine) + returned = m_port.execute(params) + expect = create_template_dict(dbs=["CONFIG_DB", "APPL_DB", "ASIC_DB", "STATE_DB"]) + expect["CONFIG_DB"]["keys"].append("PORT|Ethernet176") + expect["APPL_DB"]["keys"].append("PORT_TABLE:Ethernet176") + expect["STATE_DB"]["keys"].append("PORT_TABLE|Ethernet176") + expect["ASIC_DB"]["keys"].append("ASIC_STATE:SAI_OBJECT_TYPE_PORT:oid:0x100000000036a") + expect["ASIC_DB"]["keys"].append("ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF:oid:0xd000000000a4d") + ddiff = DeepDiff(sort_lists(returned), sort_lists(expect), ignore_order=True) + assert not ddiff, ddiff + + def test_missing_asic_port(self, match_engine): + """ + Scenario: When the config was applied and just the SAI_OBJECT_TYPE_PORT is missing + """ + params = {Port.ARG_NAME: "Ethernet160", "namespace": ""} + m_port = Port(match_engine) + returned = m_port.execute(params) + expect = create_template_dict(dbs=["CONFIG_DB", "APPL_DB", "ASIC_DB", "STATE_DB"]) + expect["CONFIG_DB"]["keys"].append("PORT|Ethernet160") + expect["APPL_DB"]["keys"].append("PORT_TABLE:Ethernet160") + expect["STATE_DB"]["keys"].append("PORT_TABLE|Ethernet160") + expect["ASIC_DB"]["keys"].append("ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF:oid:0xd000000000a49") + expect["ASIC_DB"]["tables_not_found"].append("ASIC_STATE:SAI_OBJECT_TYPE_PORT") + ddiff = DeepDiff(sort_lists(returned), sort_lists(expect), ignore_order=True) + assert not ddiff, ddiff + + def test_missing_asic_hostif(self, match_engine): + """ + Scenario: When the config was applied and it did not propagate to ASIC DB + """ + params = {Port.ARG_NAME: "Ethernet164", "namespace": ""} + m_port = Port(match_engine) + returned = m_port.execute(params) + expect = create_template_dict(dbs=["CONFIG_DB", "APPL_DB", "ASIC_DB", "STATE_DB"]) + expect["CONFIG_DB"]["keys"].append("PORT|Ethernet164") + expect["APPL_DB"]["keys"].append("PORT_TABLE:Ethernet164") + expect["STATE_DB"]["keys"].append("PORT_TABLE|Ethernet164") + expect["ASIC_DB"]["tables_not_found"].append("ASIC_STATE:SAI_OBJECT_TYPE_PORT") + expect["ASIC_DB"]["tables_not_found"].append("ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF") + ddiff = DeepDiff(returned, expect, ignore_order=True) + assert not ddiff, ddiff + + def test_missing_state_and_appl(self, match_engine): + """ + Scenario: When the config was applied and it did not propagate to other db's + """ + params = {Port.ARG_NAME: "Ethernet156", "namespace": ""} + m_port = Port(match_engine) + returned = m_port.execute(params) + expect = create_template_dict(dbs=["CONFIG_DB", "APPL_DB", "ASIC_DB", "STATE_DB"]) + expect["CONFIG_DB"]["keys"].append("PORT|Ethernet156") + expect["APPL_DB"]["tables_not_found"].append("PORT_TABLE") + expect["STATE_DB"]["tables_not_found"].append("PORT_TABLE") + expect["ASIC_DB"]["tables_not_found"].append("ASIC_STATE:SAI_OBJECT_TYPE_PORT") + expect["ASIC_DB"]["tables_not_found"].append("ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF") + ddiff = DeepDiff(returned, expect, ignore_order=True) + assert not ddiff, ddiff + + def test_no_port(self, match_engine): + """ + Scenario: When no entry for the port is present in any of the db's + """ + params = {Port.ARG_NAME: "Ethernet152", "namespace": ""} + m_port = Port(match_engine) + returned = m_port.execute(params) + expect = create_template_dict(dbs=["CONFIG_DB", "APPL_DB", "ASIC_DB", "STATE_DB"]) + expect["CONFIG_DB"]["tables_not_found"].append("PORT") + expect["APPL_DB"]["tables_not_found"].append("PORT_TABLE") + expect["STATE_DB"]["tables_not_found"].append("PORT_TABLE") + expect["ASIC_DB"]["tables_not_found"].append("ASIC_STATE:SAI_OBJECT_TYPE_PORT") + expect["ASIC_DB"]["tables_not_found"].append("ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF") + ddiff = DeepDiff(returned, expect, ignore_order=True) + assert not ddiff, ddiff + + def test_all_args(self, match_engine): + """ + Scenario: Verify Whether the get_all_args method is working as expected + """ + params = {} + m_port = Port(match_engine) + returned = m_port.get_all_args("") + expect = ["Ethernet156", "Ethernet160", "Ethernet164", "Ethernet176"] + ddiff = DeepDiff(expect, returned, ignore_order=True) + assert not ddiff, ddiff From 7ed9a913775b656aa695b34ec312bdae0cb57340 Mon Sep 17 00:00:00 2001 From: Lior Avramov <73036155+liorghub@users.noreply.github.com> Date: Wed, 1 Sep 2021 16:07:48 +0300 Subject: [PATCH 284/342] [show] Allow system with no ports in config db run without errors (#1754) What I did Allow system with no ports in config db run without errors. This is needed for modular system which should boot properly without line cards. How I did it Do not raise warning if ports dictionary is empty. How to verify it Run show interfaces status --- utilities_common/cli.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utilities_common/cli.py b/utilities_common/cli.py index 9c0d0afe67..1202bfdb9a 100644 --- a/utilities_common/cli.py +++ b/utilities_common/cli.py @@ -131,7 +131,7 @@ def __init__(self, db=None): if not self.port_dict: - click.echo(message="Warning: failed to retrieve PORT table from ConfigDB!", err=True) + click.echo(message="Configuration database contains no ports") self.port_dict = {} for port_name in self.port_dict: From d7900ddf1b304f806f3532fdbf5981f2df9d5e6a Mon Sep 17 00:00:00 2001 From: Mohamed Ghoneim Date: Wed, 1 Sep 2021 18:51:02 -0700 Subject: [PATCH 285/342] [config][generic-update] Implementing patch sorting (2nd attempt) (#1794) #### What I did Implemented [JSON Patch Ordering using YANG Models Design Doc](https://github.com/Azure/SONiC/blob/master/doc/config-generic-update-rollback/Json_Patch_Ordering_using_YANG_Models_Design.md) #### How to verify it Unit-Tests **NOTE: The code in this PR was [reverted](github.com/Azure/sonic-utilities/commit/0a145e8027380e8d4decb36bdfc647062c722612) before because of some [build issues](https://github.com/Azure/sonic-utilities/issues/1761). Build issues have been fixed [here](https://github.com/Azure/sonic-buildimage/pull/8632). To check the original PR comments please go [here](https://github.com/Azure/sonic-utilities/pull/1599).** --- generic_config_updater/generic_updater.py | 8 +- generic_config_updater/gu_common.py | 539 ++++- generic_config_updater/patch_sorter.py | 1010 ++++++++++ setup.py | 1 + .../files/any_config_db.json | 2 + .../files/any_other_config_db.json | 4 + .../files/config_db_after_multi_patch.json | 2 +- .../config_db_after_single_operation.json | 83 + .../files/config_db_choice.json | 17 + .../files/config_db_no_dependencies.json | 39 + .../files/config_db_with_crm.json | 9 + .../files/config_db_with_device_metadata.json | 16 + .../files/config_db_with_interface.json | 20 + .../config_db_with_portchannel_and_acl.json | 25 + .../config_db_with_portchannel_interface.json | 10 + .../contrainer_with_container_config_db.json | 7 + .../files/dpb_1_split_full_config.json | 35 + .../files/dpb_1_to_4.json-patch | 88 + .../files/dpb_4_splits_full_config.json | 65 + .../files/dpb_4_to_1.json-patch | 58 + .../files/empty_config_db.json | 2 + .../files/simple_config_db_inc_deps.json | 20 + .../generic_config_updater/gu_common_test.py | 310 ++- .../patch_sorter_test.py | 1730 +++++++++++++++++ 24 files changed, 4077 insertions(+), 23 deletions(-) create mode 100644 generic_config_updater/patch_sorter.py create mode 100644 tests/generic_config_updater/files/any_config_db.json create mode 100644 tests/generic_config_updater/files/any_other_config_db.json create mode 100644 tests/generic_config_updater/files/config_db_after_single_operation.json create mode 100644 tests/generic_config_updater/files/config_db_choice.json create mode 100644 tests/generic_config_updater/files/config_db_no_dependencies.json create mode 100644 tests/generic_config_updater/files/config_db_with_crm.json create mode 100644 tests/generic_config_updater/files/config_db_with_device_metadata.json create mode 100644 tests/generic_config_updater/files/config_db_with_interface.json create mode 100644 tests/generic_config_updater/files/config_db_with_portchannel_and_acl.json create mode 100644 tests/generic_config_updater/files/config_db_with_portchannel_interface.json create mode 100644 tests/generic_config_updater/files/contrainer_with_container_config_db.json create mode 100644 tests/generic_config_updater/files/dpb_1_split_full_config.json create mode 100644 tests/generic_config_updater/files/dpb_1_to_4.json-patch create mode 100644 tests/generic_config_updater/files/dpb_4_splits_full_config.json create mode 100644 tests/generic_config_updater/files/dpb_4_to_1.json-patch create mode 100644 tests/generic_config_updater/files/empty_config_db.json create mode 100644 tests/generic_config_updater/files/simple_config_db_inc_deps.json create mode 100644 tests/generic_config_updater/patch_sorter_test.py diff --git a/generic_config_updater/generic_updater.py b/generic_config_updater/generic_updater.py index 079d7ab742..061376b032 100644 --- a/generic_config_updater/generic_updater.py +++ b/generic_config_updater/generic_updater.py @@ -3,6 +3,7 @@ from enum import Enum from .gu_common import GenericConfigUpdaterError, ConfigWrapper, \ DryRunConfigWrapper, PatchWrapper +from .patch_sorter import PatchSorter CHECKPOINTS_DIR = "/etc/sonic/checkpoints" CHECKPOINT_EXT = ".cp.json" @@ -16,11 +17,6 @@ def release_lock(self): # TODO: Implement ConfigLock pass -class PatchSorter: - def sort(self, patch): - # TODO: Implement patch sorter - raise NotImplementedError("PatchSorter.sort(patch) is not implemented yet") - class ChangeApplier: def apply(self, change): # TODO: Implement change applier @@ -36,7 +32,7 @@ def __init__(self, changeapplier=None, config_wrapper=None, patch_wrapper=None): - self.patchsorter = patchsorter if patchsorter is not None else PatchSorter() + self.patchsorter = patchsorter if patchsorter is not None else PatchSorter(config_wrapper, patch_wrapper) self.changeapplier = changeapplier if changeapplier is not None else ChangeApplier() self.config_wrapper = config_wrapper if config_wrapper is not None else ConfigWrapper() self.patch_wrapper = patch_wrapper if patch_wrapper is not None else PatchWrapper() diff --git a/generic_config_updater/gu_common.py b/generic_config_updater/gu_common.py index 2aa6a36d8a..66d9b0d7d9 100644 --- a/generic_config_updater/gu_common.py +++ b/generic_config_updater/gu_common.py @@ -1,8 +1,12 @@ import json import jsonpatch +from jsonpointer import JsonPointer import sonic_yang import subprocess +import yang as ly import copy +import re +from enum import Enum YANG_DIR = "/usr/local/yang-models" @@ -10,8 +14,26 @@ class GenericConfigUpdaterError(Exception): pass class JsonChange: - # TODO: Implement JsonChange - pass + """ + A class that describes a partial change to a JSON object. + It is is similar to JsonPatch, but the order of updating the configs is unknown. + Only the final outcome of the update can be retrieved. + It provides a single function to apply the change to a given JSON object. + """ + def __init__(self, patch): + self.patch = patch + + def apply(self, config): + return self.patch.apply(config) + + def __str__(self): + return f'{self.patch}' + + def __eq__(self, other): + """Overrides the default implementation""" + if isinstance(other, JsonChange): + return self.patch == other.patch + return False class ConfigWrapper: def __init__(self, yang_dir = YANG_DIR): @@ -110,14 +132,6 @@ def crop_tables_without_yang(self, config_db_as_json): return sy.jIn - def _create_and_connect_config_db(self): - if self.default_config_db_connector != None: - return self.default_config_db_connector - - config_db = ConfigDBConnector() - config_db.connect() - return config_db - class DryRunConfigWrapper(ConfigWrapper): # TODO: implement DryRunConfigWrapper # This class will simulate all read/write operations to ConfigDB on a virtual storage unit. @@ -126,11 +140,12 @@ class DryRunConfigWrapper(ConfigWrapper): class PatchWrapper: def __init__(self, config_wrapper=None): self.config_wrapper = config_wrapper if config_wrapper is not None else ConfigWrapper() + self.path_addressing = PathAddressing() def validate_config_db_patch_has_yang_models(self, patch): config_db = {} for operation in patch: - tokens = operation['path'].split('/')[1:] + tokens = self.path_addressing.get_path_tokens(operation[OperationWrapper.PATH_KEYWORD]) if len(tokens) == 0: # Modifying whole config_db tables_dict = {table_name: {} for table_name in operation['value']} config_db.update(tables_dict) @@ -174,3 +189,505 @@ def convert_sonic_yang_patch_to_config_db_patch(self, patch): target_config_db = self.config_wrapper.convert_sonic_yang_to_config_db(target_yang) return self.generate_patch(current_config_db, target_config_db) + +class OperationType(Enum): + ADD = 1 + REMOVE = 2 + REPLACE = 3 + +class OperationWrapper: + OP_KEYWORD = "op" + PATH_KEYWORD = "path" + VALUE_KEYWORD = "value" + + def create(self, operation_type, path, value=None): + op_type = operation_type.name.lower() + + operation = {OperationWrapper.OP_KEYWORD: op_type, OperationWrapper.PATH_KEYWORD: path} + + if operation_type in [OperationType.ADD, OperationType.REPLACE]: + operation[OperationWrapper.VALUE_KEYWORD] = value + + return operation + +class PathAddressing: + """ + Path refers to the 'path' in JsonPatch operations: https://tools.ietf.org/html/rfc6902 + The path corresponds to JsonPointer: https://tools.ietf.org/html/rfc6901 + + All xpath operations in this class are only relevent to ConfigDb and the conversion to YANG xpath. + It is not meant to support all the xpath functionalities, just the ones relevent to ConfigDb/YANG. + """ + PATH_SEPARATOR = "/" + XPATH_SEPARATOR = "/" + def get_path_tokens(self, path): + return JsonPointer(path).parts + + def create_path(self, tokens): + return JsonPointer.from_parts(tokens).path + + def get_xpath_tokens(self, xpath): + """ + Splits the given xpath into tokens by '/'. + + Example: + xpath: /sonic-vlan:sonic-vlan/VLAN_MEMBER/VLAN_MEMBER_LIST[name='Vlan1000'][port='Ethernet8']/tagging_mode + tokens: sonic-vlan:sonic-vlan, VLAN_MEMBER, VLAN_MEMBER_LIST[name='Vlan1000'][port='Ethernet8'], tagging_mode + """ + if xpath == "": + raise ValueError("xpath cannot be empty") + + if xpath == "/": + return [] + + idx = 0 + tokens = [] + while idx < len(xpath): + end = self._get_xpath_token_end(idx+1, xpath) + token = xpath[idx+1:end] + tokens.append(token) + idx = end + + return tokens + + def _get_xpath_token_end(self, start, xpath): + idx = start + while idx < len(xpath): + if xpath[idx] == PathAddressing.XPATH_SEPARATOR: + break + elif xpath[idx] == "[": + idx = self._get_xpath_predicate_end(idx, xpath) + idx = idx+1 + + return idx + + def _get_xpath_predicate_end(self, start, xpath): + idx = start + while idx < len(xpath): + if xpath[idx] == "]": + break + elif xpath[idx] == "'": + idx = self._get_xpath_single_quote_str_end(idx, xpath) + elif xpath[idx] == '"': + idx = self._get_xpath_double_quote_str_end(idx, xpath) + + idx = idx+1 + + return idx + + def _get_xpath_single_quote_str_end(self, start, xpath): + idx = start+1 # skip first single quote + while idx < len(xpath): + if xpath[idx] == "'": + break + # libyang implements XPATH 1.0 which does not escape single quotes + # libyang src: https://netopeer.liberouter.org/doc/libyang/master/html/howtoxpath.html + # XPATH 1.0 src: https://www.w3.org/TR/1999/REC-xpath-19991116/#NT-Literal + idx = idx+1 + + return idx + + def _get_xpath_double_quote_str_end(self, start, xpath): + idx = start+1 # skip first single quote + while idx < len(xpath): + if xpath[idx] == '"': + break + # libyang implements XPATH 1.0 which does not escape double quotes + # libyang src: https://netopeer.liberouter.org/doc/libyang/master/html/howtoxpath.html + # XPATH 1.0 src: https://www.w3.org/TR/1999/REC-xpath-19991116/#NT-Literal + idx = idx+1 + + return idx + + def create_xpath(self, tokens): + """ + Creates an xpath by combining the given tokens using '/' + Example: + tokens: module, container, list[key='value'], leaf + xpath: /module/container/list[key='value']/leaf + """ + if len(tokens) == 0: + return "/" + + return f"{PathAddressing.XPATH_SEPARATOR}{PathAddressing.XPATH_SEPARATOR.join(str(t) for t in tokens)}" + + def find_ref_paths(self, path, config): + """ + Finds the paths referencing any line under the given 'path' within the given 'config'. + Example: + path: /PORT + config: + { + "VLAN_MEMBER": { + "Vlan1000|Ethernet0": {}, + "Vlan1000|Ethernet4": {} + }, + "ACL_TABLE": { + "EVERFLOW": { + "ports": [ + "Ethernet4" + ], + }, + "EVERFLOWV6": { + "ports": [ + "Ethernet4", + "Ethernet8" + ] + } + }, + "PORT": { + "Ethernet0": {}, + "Ethernet4": {}, + "Ethernet8": {} + } + } + return: + /VLAN_MEMBER/Vlan1000|Ethernet0 + /VLAN_MEMBER/Vlan1000|Ethernet4 + /ACL_TABLE/EVERFLOW/ports/0 + /ACL_TABLE/EVERFLOW6/ports/0 + /ACL_TABLE/EVERFLOW6/ports/1 + """ + # TODO: Also fetch references by must statement (check similar statements) + return self._find_leafref_paths(path, config) + + def _find_leafref_paths(self, path, config): + sy = sonic_yang.SonicYang(YANG_DIR) + sy.loadYangModel() + + sy.loadData(config) + + xpath = self.convert_path_to_xpath(path, config, sy) + + leaf_xpaths = self._get_inner_leaf_xpaths(xpath, sy) + + ref_xpaths = [] + for xpath in leaf_xpaths: + ref_xpaths.extend(sy.find_data_dependencies(xpath)) + + ref_paths = [] + for ref_xpath in ref_xpaths: + ref_path = self.convert_xpath_to_path(ref_xpath, config, sy) + ref_paths.append(ref_path) + + return set(ref_paths) + + def _get_inner_leaf_xpaths(self, xpath, sy): + if xpath == "/": # Point to Root element which contains all xpaths + nodes = sy.root.tree_for() + else: # Otherwise get all nodes that match xpath + nodes = sy.root.find_path(xpath).data() + + for node in nodes: + for inner_node in node.tree_dfs(): + # TODO: leaflist also can be used as the 'path' argument in 'leafref' so add support to leaflist + if self._is_leaf_node(inner_node): + yield inner_node.path() + + def _is_leaf_node(self, node): + schema = node.schema() + return ly.LYS_LEAF == schema.nodetype() + + def convert_path_to_xpath(self, path, config, sy): + """ + Converts the given JsonPatch path (i.e. JsonPointer) to XPATH. + Example: + path: /VLAN_MEMBER/Vlan1000|Ethernet8/tagging_mode + xpath: /sonic-vlan:sonic-vlan/VLAN_MEMBER/VLAN_MEMBER_LIST[name='Vlan1000'][port='Ethernet8']/tagging_mode + """ + self.convert_xpath_to_path + tokens = self.get_path_tokens(path) + if len(tokens) == 0: + return self.create_xpath(tokens) + + xpath_tokens = [] + table = tokens[0] + + cmap = sy.confDbYangMap[table] + + # getting the top level element : + xpath_tokens.append(cmap['module']+":"+cmap['topLevelContainer']) + + xpath_tokens.extend(self._get_xpath_tokens_from_container(cmap['container'], 0, tokens, config)) + + return self.create_xpath(xpath_tokens) + + def _get_xpath_tokens_from_container(self, model, token_index, path_tokens, config): + token = path_tokens[token_index] + xpath_tokens = [token] + + if len(path_tokens)-1 == token_index: + return xpath_tokens + + # check if the configdb token is referring to a list + list_model = self._get_list_model(model, token_index, path_tokens) + if list_model: + new_xpath_tokens = self._get_xpath_tokens_from_list(list_model, token_index+1, path_tokens, config[path_tokens[token_index]]) + xpath_tokens.extend(new_xpath_tokens) + return xpath_tokens + + # check if it is targetting a child container + child_container_model = self._get_model(model.get('container'), path_tokens[token_index+1]) + if child_container_model: + new_xpath_tokens = self._get_xpath_tokens_from_container(child_container_model, token_index+1, path_tokens, config[path_tokens[token_index]]) + xpath_tokens.extend(new_xpath_tokens) + return xpath_tokens + + new_xpath_tokens = self._get_xpath_tokens_from_leaf(model, token_index+1, path_tokens, config[path_tokens[token_index]]) + xpath_tokens.extend(new_xpath_tokens) + + return xpath_tokens + + def _get_xpath_tokens_from_list(self, model, token_index, path_tokens, config): + list_name = model['@name'] + + tableKey = path_tokens[token_index] + listKeys = model['key']['@value'] + keyDict = self._extractKey(tableKey, listKeys) + keyTokens = [f"[{key}='{keyDict[key]}']" for key in keyDict] + item_token = f"{list_name}{''.join(keyTokens)}" + + xpath_tokens = [item_token] + + # if whole list-item is needed i.e. if in the path is not referencing child leaf items + # Example: + # path: /VLAN/Vlan1000 + # xpath: /sonic-vlan:sonic-vlan/VLAN/VLAN_LIST[name='Vlan1000'] + if len(path_tokens)-1 == token_index: + return xpath_tokens + + new_xpath_tokens = self._get_xpath_tokens_from_leaf(model, token_index+1, path_tokens,config[path_tokens[token_index]]) + xpath_tokens.extend(new_xpath_tokens) + return xpath_tokens + + def _get_xpath_tokens_from_leaf(self, model, token_index, path_tokens, config): + token = path_tokens[token_index] + + # checking all leaves + leaf_model = self._get_model(model.get('leaf'), token) + if leaf_model: + return [token] + + # checking choice + choices = model.get('choice') + if choices: + for choice in choices: + cases = choice['case'] + for case in cases: + leaf_model = self._get_model(case.get('leaf'), token) + if leaf_model: + return [token] + + # checking leaf-list (i.e. arrays of string, number or bool) + leaf_list_model = self._get_model(model.get('leaf-list'), token) + if leaf_list_model: + # if whole-list is to be returned, just return the token without checking the list items + # Example: + # path: /VLAN/Vlan1000/dhcp_servers + # xpath: /sonic-vlan:sonic-vlan/VLAN/VLAN_LIST[name='Vlan1000']/dhcp_servers + if len(path_tokens)-1 == token_index: + return [token] + list_config = config[token] + value = list_config[int(path_tokens[token_index+1])] + # To get a leaf-list instance with the value 'val' + # /module-name:container/leaf-list[.='val'] + # Source: Check examples in https://netopeer.liberouter.org/doc/libyang/master/html/howto_x_path.html + return [f"{token}[.='{value}']"] + + raise ValueError("Token not found") + + def _extractKey(self, tableKey, keys): + keyList = keys.split() + # get the value groups + value = tableKey.split("|") + # match lens + if len(keyList) != len(value): + raise ValueError("Value not found for {} in {}".format(keys, tableKey)) + # create the keyDict + keyDict = dict() + for i in range(len(keyList)): + keyDict[keyList[i]] = value[i].strip() + + return keyDict + + def _get_list_model(self, model, token_index, path_tokens): + parent_container_name = path_tokens[token_index] + clist = model.get('list') + # Container contains a single list, just return it + # TODO: check if matching also by name is necessary + if isinstance(clist, dict): + return clist + + if isinstance(clist, list): + configdb_values_str = path_tokens[token_index+1] + # Format: "value1|value2|value|..." + configdb_values = configdb_values_str.split("|") + for list_model in clist: + yang_keys_str = list_model['key']['@value'] + # Format: "key1 key2 key3 ..." + yang_keys = yang_keys_str.split() + # if same number of values and keys, this is the intended list-model + # TODO: Match also on types and not only the length of the keys/values + if len(yang_keys) == len(configdb_values): + return list_model + raise GenericConfigUpdaterError(f"Container {parent_container_name} has multiple lists, " + f"but none of them match the config_db value {configdb_values_str}") + + return None + + def convert_xpath_to_path(self, xpath, config, sy): + """ + Converts the given XPATH to JsonPatch path (i.e. JsonPointer). + Example: + xpath: /sonic-vlan:sonic-vlan/VLAN_MEMBER/VLAN_MEMBER_LIST[name='Vlan1000'][port='Ethernet8']/tagging_mode + path: /VLAN_MEMBER/Vlan1000|Ethernet8/tagging_mode + """ + tokens = self.get_xpath_tokens(xpath) + if len(tokens) == 0: + return self.create_path([]) + + if len(tokens) == 1: + raise GenericConfigUpdaterError("xpath cannot be just the module-name, there is no mapping to path") + + table = tokens[1] + cmap = sy.confDbYangMap[table] + + path_tokens = self._get_path_tokens_from_container(cmap['container'], 1, tokens, config) + return self.create_path(path_tokens) + + def _get_path_tokens_from_container(self, model, token_index, xpath_tokens, config): + token = xpath_tokens[token_index] + path_tokens = [token] + + if len(xpath_tokens)-1 == token_index: + return path_tokens + + # check child list + list_name = xpath_tokens[token_index+1].split("[")[0] + list_model = self._get_model(model.get('list'), list_name) + if list_model: + new_path_tokens = self._get_path_tokens_from_list(list_model, token_index+1, xpath_tokens, config[token]) + path_tokens.extend(new_path_tokens) + return path_tokens + + container_name = xpath_tokens[token_index+1] + container_model = self._get_model(model.get('container'), container_name) + if container_model: + new_path_tokens = self._get_path_tokens_from_container(container_model, token_index+1, xpath_tokens, config[token]) + path_tokens.extend(new_path_tokens) + return path_tokens + + new_path_tokens = self._get_path_tokens_from_leaf(model, token_index+1, xpath_tokens, config[token]) + path_tokens.extend(new_path_tokens) + + return path_tokens + + def _get_path_tokens_from_list(self, model, token_index, xpath_tokens, config): + token = xpath_tokens[token_index] + key_dict = self._extract_key_dict(token) + + # If no keys specified return empty tokens, as we are already inside the correct table. + # Also note that the list name in SonicYang has no correspondence in ConfigDb and is ignored. + # Example where VLAN_MEMBER_LIST has no specific key/value: + # xpath: /sonic-vlan:sonic-vlan/VLAN_MEMBER/VLAN_MEMBER_LIST + # path: /VLAN_MEMBER + if not(key_dict): + return [] + + listKeys = model['key']['@value'] + key_list = listKeys.split() + + if len(key_list) != len(key_dict): + raise GenericConfigUpdaterError(f"Keys in configDb not matching keys in SonicYang. ConfigDb keys: {key_dict.keys()}. SonicYang keys: {key_list}") + + values = [key_dict[k] for k in key_list] + path_token = '|'.join(values) + path_tokens = [path_token] + + if len(xpath_tokens)-1 == token_index: + return path_tokens + + next_token = xpath_tokens[token_index+1] + # if the target node is a key, then it does not have a correspondene to path. + # Just return the current 'key1|key2|..' token as it already refers to the keys + # Example where the target node is 'name' which is a key in VLAN_MEMBER_LIST: + # xpath: /sonic-vlan:sonic-vlan/VLAN_MEMBER/VLAN_MEMBER_LIST[name='Vlan1000'][port='Ethernet8']/name + # path: /VLAN_MEMBER/Vlan1000|Ethernet8 + if next_token in key_dict: + return path_tokens + + new_path_tokens = self._get_path_tokens_from_leaf(model, token_index+1, xpath_tokens, config[path_token]) + path_tokens.extend(new_path_tokens) + return path_tokens + + def _get_path_tokens_from_leaf(self, model, token_index, xpath_tokens, config): + token = xpath_tokens[token_index] + + # checking all leaves + leaf_model = self._get_model(model.get('leaf'), token) + if leaf_model: + return [token] + + # checking choices + choices = model.get('choice') + if choices: + for choice in choices: + cases = choice['case'] + for case in cases: + leaf_model = self._get_model(case.get('leaf'), token) + if leaf_model: + return [token] + + # checking leaf-list + leaf_list_tokens = token.split("[", 1) # split once on the first '[', a regex is used later to fetch keys/values + leaf_list_name = leaf_list_tokens[0] + leaf_list_model = self._get_model(model.get('leaf-list'), leaf_list_name) + if leaf_list_model: + # if whole-list is to be returned, just return the list-name without checking the list items + # Example: + # xpath: /sonic-vlan:sonic-vlan/VLAN/VLAN_LIST[name='Vlan1000']/dhcp_servers + # path: /VLAN/Vlan1000/dhcp_servers + if len(leaf_list_tokens) == 1: + return [leaf_list_name] + leaf_list_pattern = "^[^\[]+(?:\[\.='([^']*)'\])?$" + leaf_list_regex = re.compile(leaf_list_pattern) + match = leaf_list_regex.match(token) + # leaf_list_name = match.group(1) + leaf_list_value = match.group(1) + list_config = config[leaf_list_name] + list_idx = list_config.index(leaf_list_value) + return [leaf_list_name, list_idx] + + raise Exception("no leaf") + + def _extract_key_dict(self, list_token): + # Example: VLAN_MEMBER_LIST[name='Vlan1000'][port='Ethernet8'] + # the groups would be ('VLAN_MEMBER'), ("[name='Vlan1000'][port='Ethernet8']") + table_keys_pattern = "^([^\[]+)(.*)$" + text = list_token + table_keys_regex = re.compile(table_keys_pattern) + match = table_keys_regex.match(text) + # list_name = match.group(1) + all_key_value = match.group(2) + + # Example: [name='Vlan1000'][port='Ethernet8'] + # the findall groups would be ('name', 'Vlan1000'), ('port', 'Ethernet8') + key_value_pattern = "\[([^=]+)='([^']*)'\]" + matches = re.findall(key_value_pattern, all_key_value) + key_dict = {} + for item in matches: + key = item[0] + value = item[1] + key_dict[key] = value + + return key_dict + + def _get_model(self, model, name): + if isinstance(model, dict) and model['@name'] == name: + return model + if isinstance(model, list): + for submodel in model: + if submodel['@name'] == name: + return submodel + + return None diff --git a/generic_config_updater/patch_sorter.py b/generic_config_updater/patch_sorter.py new file mode 100644 index 0000000000..8bf99ba004 --- /dev/null +++ b/generic_config_updater/patch_sorter.py @@ -0,0 +1,1010 @@ +import copy +import json +import jsonpatch +from collections import deque +from enum import Enum +from .gu_common import OperationWrapper, OperationType, GenericConfigUpdaterError, JsonChange, PathAddressing + +class Diff: + """ + A class that contains the diff info between current and target configs. + """ + def __init__(self, current_config, target_config): + self.current_config = current_config + self.target_config = target_config + + def __hash__(self): + cc = json.dumps(self.current_config, sort_keys=True) + tc = json.dumps(self.target_config, sort_keys=True) + return hash((cc,tc)) + + def __eq__(self, other): + """Overrides the default implementation""" + if isinstance(other, Diff): + return self.current_config == other.current_config and self.target_config == other.target_config + + return False + + # TODO: Can be optimized to apply the move in place. JsonPatch supports that using the option 'in_place=True' + # Check: https://python-json-patch.readthedocs.io/en/latest/tutorial.html#applying-a-patch + # NOTE: in case move is applied in place, we will need to support `undo_move` as well. + def apply_move(self, move): + new_current_config = move.apply(self.current_config) + return Diff(new_current_config, self.target_config) + + def has_no_diff(self): + return self.current_config == self.target_config + +class JsonMove: + """ + A class similar to JsonPatch operation, but it allows the path to refer to non-existing middle elements. + + JsonPatch operation fails to update json if the path in the patch refers to element that do not exist. + For example, assume json to be: + {} + The following path will be rejected: + /elem1/key1 + The reason is 'elem1' does not exist in the json + + JsonMove on the other hand allows that given the target_config_tokens i.e. the target_config path, + and current_config_tokens i.e. current_config path where the update needs to happen. + """ + def __init__(self, diff, op_type, current_config_tokens, target_config_tokens=None): + operation = JsonMove._to_jsonpatch_operation(diff, op_type, current_config_tokens, target_config_tokens) + self.patch = jsonpatch.JsonPatch([operation]) + self.op_type = operation[OperationWrapper.OP_KEYWORD] + self.path = operation[OperationWrapper.PATH_KEYWORD] + self.value = operation.get(OperationWrapper.VALUE_KEYWORD, None) + + self.op_type = op_type + self.current_config_tokens = current_config_tokens + self.target_config_tokens = target_config_tokens + + @staticmethod + def _to_jsonpatch_operation(diff, op_type, current_config_tokens, target_config_tokens): + operation_wrapper = OperationWrapper() + path_addressing = PathAddressing() + + if op_type == OperationType.REMOVE: + path = path_addressing.create_path(current_config_tokens) + return operation_wrapper.create(op_type, path) + + if op_type == OperationType.REPLACE: + path = path_addressing.create_path(current_config_tokens) + value = JsonMove._get_value(diff.target_config, target_config_tokens) + return operation_wrapper.create(op_type, path, value) + + if op_type == OperationType.ADD: + return JsonMove._to_jsonpatch_add_operation(diff, current_config_tokens, target_config_tokens) + + raise ValueError(f"OperationType {op_type} is not supported") + + @staticmethod + def _get_value(config, tokens): + for token in tokens: + config = config[token] + + return copy.deepcopy(config) + + @staticmethod + def _to_jsonpatch_add_operation(diff, current_config_tokens, target_config_tokens): + """ + Check description of JsonMove class first. + + ADD operation path can refer to elements that do not exist, so to convert JsonMove to JsonPatch operation + We need to remove the non-existing tokens from the current_config path and move them to the value. + + Example: + Assume Target Config: + { + "dict1":{ + "key11": "value11" + } + } + Assume Current Config: + { + } + Assume JsonMove: + op_type=add, current_config_tokens=[dict1, key11], target_config_tokens=[dict1, key11] + + Converting this to operation directly would result in: + {"op":"add", "path":"/dict1/key11", "value":"value11"} + BUT this is not correct since 'dict1' which does not exist in Current Config. + Instead we convert to: + {"op":"add", "path":"/dict1", "value":{"key11": "value11"}} + """ + operation_wrapper = OperationWrapper() + path_addressing = PathAddressing() + + # if path refers to whole config i.e. no tokens, then just create the operation + if not current_config_tokens: + path = path_addressing.create_path(current_config_tokens) + value = JsonMove._get_value(diff.target_config, target_config_tokens) + return operation_wrapper.create(OperationType.ADD, path, value) + + # Start with getting target-config that match the path all the way to the value in json format + # Example: + # Assume target-config: + # { + # "dict1":{ + # "key11": "value11", + # "list12": [ + # "value121", + # "value122" + # ] + # }, + # "dict2":{ + # "key21": "value21" + # } + # } + # Assume target config tokens: + # dict1, list12, 1 + # filtered_config will be + # { + # "dict1":{ + # "list12": [ + # "value122" + # ] + # } + # } + target_ptr = diff.target_config + filtered_config = {} + filtered_config_ptr = filtered_config + for token_index in range(len(target_config_tokens)): + token = target_config_tokens[token_index] + + # Tokens are expected to be of the correct data-type i.e. string, int (list-index) + # So not checking the type of the token before consuming it + target_ptr = target_ptr[token] + + # if it is the last item, then just return the last target_ptr + if token_index == len(target_config_tokens)-1: + filtered_value = target_ptr + elif isinstance(target_ptr, list): + filtered_value = [] + else: + filtered_value = {} + + if isinstance(filtered_config_ptr, list): + filtered_config_ptr.append(filtered_value) # filtered_config list will contain only 1 value + else: # otherwise it is a dict + filtered_config_ptr[token] = filtered_value + + filtered_config_ptr = filtered_value + + # Then from the filtered_config get the all the tokens that exist in current_config + # This will be the new path, and the new value will be the corresponding filtered_config + # Example: + # Assume filtered_config + # { + # "dict1":{ + # "key11": "value11" + # } + # } + # Assume current-config + # { + # "dict1":{ + # "list12": [ + # "value122" + # ] + # } + # } + # Then the JsonPatch path would be: + # /dict1/list12 + # And JsonPatch value would be: + # [ "value122" ] + current_ptr = diff.current_config + new_tokens = [] + for token in current_config_tokens: + new_tokens.append(token) + was_list = isinstance(filtered_config, list) + if was_list: + # filtered_config list can only have 1 item + filtered_config = filtered_config[0] + else: + filtered_config = filtered_config[token] + + if was_list and token >= len(current_ptr): + break + if not(was_list) and token not in current_ptr: + break + current_ptr = current_ptr[token] + + op_type = OperationType.ADD + new_path = path_addressing.create_path(new_tokens) + new_value = copy.deepcopy(filtered_config) + + return operation_wrapper.create(op_type, new_path, new_value) + + @staticmethod + def from_patch(patch): + ops = list(patch) + if len(ops) != 1: + raise GenericConfigUpdaterError( + f"Only a patch of a single operation be converted to JsonMove. Patch has {len(ops)} operation/s") + + return JsonMove.from_operation(ops[0]) + + @staticmethod + def from_operation(operation): + path_addressing = PathAddressing() + op_type = OperationType[operation[OperationWrapper.OP_KEYWORD].upper()] + path = operation[OperationWrapper.PATH_KEYWORD] + if op_type in [OperationType.ADD, OperationType.REPLACE]: + value = operation[OperationWrapper.VALUE_KEYWORD] + else: + value = None + + tokens = path_addressing.get_path_tokens(path) + + target_config = {} + target_config_ptr = target_config + current_config = {} + current_config_ptr = current_config + for token in tokens[:-1]: + target_config_ptr[token] = {} + current_config_ptr[token] = {} + target_config_ptr = target_config_ptr[token] + current_config_ptr = current_config_ptr[token] + + if tokens: + target_config_ptr[tokens[-1]] = value + else: + # whole-config, just use value + target_config = value + + current_config_tokens = tokens + if op_type in [OperationType.ADD, OperationType.REPLACE]: + target_config_tokens = tokens + else: + target_config_tokens = None + + diff = Diff(current_config, target_config) + + return JsonMove(diff, op_type, current_config_tokens, target_config_tokens) + + def apply(self, config): + return self.patch.apply(config) + + def __str__(self): + return str(self.patch) + + def __repr__(self): + return str(self.patch) + + def __eq__(self, other): + """Overrides the default implementation""" + if isinstance(other, JsonMove): + return self.patch == other.patch + return False + + def __hash__(self): + return hash((self.op_type, self.path, json.dumps(self.value))) + +class MoveWrapper: + def __init__(self, move_generators, move_extenders, move_validators): + self.move_generators = move_generators + self.move_extenders = move_extenders + self.move_validators = move_validators + + def generate(self, diff): + processed_moves = set() + moves = deque([]) + + for move in self._generate_moves(diff): + if move in processed_moves: + continue + processed_moves.add(move) + yield move + moves.extend(self._extend_moves(move, diff)) + + while moves: + move = moves.popleft() + if move in processed_moves: + continue + processed_moves.add(move) + yield move + moves.extend(self._extend_moves(move, diff)) + + def validate(self, move, diff): + for validator in self.move_validators: + if not validator.validate(move, diff): + return False + return True + + def simulate(self, move, diff): + return diff.apply_move(move) + + def _generate_moves(self, diff): + for generator in self.move_generators: + for move in generator.generate(diff): + yield move + + def _extend_moves(self, move, diff): + for extender in self.move_extenders: + for newmove in extender.extend(move, diff): + yield newmove + +class DeleteWholeConfigMoveValidator: + """ + A class to validate not deleting whole config as it is not supported by JsonPatch lib. + """ + def validate(self, move, diff): + if move.op_type == OperationType.REMOVE and move.path == "": + return False + return True + +class FullConfigMoveValidator: + """ + A class to validate that full config is valid according to YANG models after applying the move. + """ + def __init__(self, config_wrapper): + self.config_wrapper = config_wrapper + + def validate(self, move, diff): + simulated_config = move.apply(diff.current_config) + return self.config_wrapper.validate_config_db_config(simulated_config) + +# TODO: Add this validation to YANG models instead +class UniqueLanesMoveValidator: + """ + A class to validate lanes and any port are unique between all ports. + """ + def validate(self, move, diff): + simulated_config = move.apply(diff.current_config) + + if "PORT" not in simulated_config: + return True + + ports = simulated_config["PORT"] + existing = set() + for port in ports: + attrs = ports[port] + if "lanes" in attrs: + lanes_str = attrs["lanes"] + lanes = lanes_str.split(", ") + for lane in lanes: + if lane in existing: + return False + existing.add(lane) + return True + +class CreateOnlyMoveValidator: + """ + A class to validate create-only fields are only added/removed but never replaced. + Parents of create-only fields are also only added/removed but never replaced when they contain + a modified create-only field. + """ + def __init__(self, path_addressing): + self.path_addressing = path_addressing + + def validate(self, move, diff): + if move.op_type != OperationType.REPLACE: + return True + + # The 'create-only' field needs to be common between current and simulated anyway but different. + # This means it is enough to just get the paths from current_config, paths that are not common can be ignored. + paths = self._get_create_only_paths(diff.current_config) + simulated_config = move.apply(diff.current_config) + + for path in paths: + tokens = self.path_addressing.get_path_tokens(path) + if self._value_exist_but_different(tokens, diff.current_config, simulated_config): + return False + + return True + + # TODO: create-only fields are hard-coded for now, it should be moved to YANG models + def _get_create_only_paths(self, config): + if "PORT" not in config: + return + + ports = config["PORT"] + + for port in ports: + attrs = ports[port] + if "lanes" in attrs: + yield f"/PORT/{port}/lanes" + + def _value_exist_but_different(self, tokens, current_config_ptr, simulated_config_ptr): + for token in tokens: + mod_token = int(token) if isinstance(current_config_ptr, list) else token + + if mod_token not in current_config_ptr: + return False + + if mod_token not in simulated_config_ptr: + return False + + current_config_ptr = current_config_ptr[mod_token] + simulated_config_ptr = simulated_config_ptr[mod_token] + + return current_config_ptr != simulated_config_ptr + +class NoDependencyMoveValidator: + """ + A class to validate that the modified configs do not have dependency on each other. This should prevent + moves that update whole config in a single step where multiple changed nodes are dependent on each. This + way dependent configs are never updated together. + """ + def __init__(self, path_addressing, config_wrapper): + self.path_addressing = path_addressing + self.config_wrapper = config_wrapper + + def validate(self, move, diff): + operation_type = move.op_type + path = move.path + + if operation_type == OperationType.ADD: + simulated_config = move.apply(diff.current_config) + # For add operation, we check the simulated config has no dependencies between nodes under the added path + if not self._validate_paths_config([path], simulated_config): + return False + elif operation_type == OperationType.REMOVE: + # For remove operation, we check the current config has no dependencies between nodes under the removed path + if not self._validate_paths_config([path], diff.current_config): + return False + elif operation_type == OperationType.REPLACE: + if not self._validate_replace(move, diff): + return False + + return True + + # NOTE: this function can be used for validating JsonChange as well which might have more than one move. + def _validate_replace(self, move, diff): + """ + The table below shows how mixed deletion/addition within replace affect this validation. + + The table is answring the question whether the change is valid: + Y = Yes + N = No + n/a = not applicable as the change itself is not valid + + symbols meaning; + +A, -A: adding, removing config A + +refA, -refA: adding, removing a reference to A config + + + +refA|-refA|refA + --|-----|-----|---- + +A| N | n/a | n/a + -A| n/a | N | n/a + A| Y | Y | Y + + The conclusion is that: + +A, +refA is invalid because there is a dependency and a single move should not have dependency + -A, -refA is invalid because there is a dependency and a single move should not have dependency + A kept unchanged can be ignored, as it is always OK regardless of what happens to its reference + Other states are all non applicable since they are invalid to begin with + + So verification would be: + if A is deleted and refA is deleted: return False + if A is added and refA is added: return False + return True + """ + simulated_config = move.apply(diff.current_config) + deleted_paths, added_paths = self._get_paths(diff.current_config, simulated_config, []) + + if not self._validate_paths_config(deleted_paths, diff.current_config): + return False + + if not self._validate_paths_config(added_paths, diff.target_config): + return False + + return True + + def _get_paths(self, current_ptr, target_ptr, tokens): + deleted_paths = [] + added_paths = [] + + if isinstance(current_ptr, list) or isinstance(target_ptr, list): + tmp_deleted_paths, tmp_added_paths = self._get_list_paths(current_ptr, target_ptr, tokens) + deleted_paths.extend(tmp_deleted_paths) + added_paths.extend(tmp_added_paths) + return deleted_paths, added_paths + + if isinstance(current_ptr, dict): + for token in current_ptr: + tokens.append(token) + if token not in target_ptr: + deleted_paths.append(self.path_addressing.create_path(tokens)) + else: + tmp_deleted_paths, tmp_added_paths = self._get_paths(current_ptr[token], target_ptr[token], tokens) + deleted_paths.extend(tmp_deleted_paths) + added_paths.extend(tmp_added_paths) + tokens.pop() + + for token in target_ptr: + tokens.append(token) + if token not in current_ptr: + added_paths.append(self.path_addressing.create_path(tokens)) + tokens.pop() + + return deleted_paths, added_paths + + # current/target configs are not dict nor list, so handle them as string, int, bool, float + if current_ptr != target_ptr: + # tokens.append(token) + deleted_paths.append(self.path_addressing.create_path(tokens)) + added_paths.append(self.path_addressing.create_path(tokens)) + # tokens.pop() + + return deleted_paths, added_paths + + def _get_list_paths(self, current_list, target_list, tokens): + """ + Gets all paths within the given list, assume list items are unique + """ + deleted_paths = [] + added_paths = [] + + hashed_target = set(target_list) + for index, value in enumerate(current_list): + if value not in hashed_target: + tokens.append(index) + deleted_paths.append(self.path_addressing.create_path(tokens)) + tokens.pop() + + hashed_current = set(current_list) + for index, value in enumerate(target_list): + if value not in hashed_current: + tokens.append(index) + # added_paths refer to paths in the target config and not necessarily the current config + added_paths.append(self.path_addressing.create_path(tokens)) + tokens.pop() + + return deleted_paths, added_paths + + def _validate_paths_config(self, paths, config): + """ + validates all config under paths do not have config and its references + """ + refs = self._find_ref_paths(paths, config) + for ref in refs: + for path in paths: + if ref.startswith(path): + return False + + return True + + def _find_ref_paths(self, paths, config): + refs = [] + for path in paths: + refs.extend(self.path_addressing.find_ref_paths(path, config)) + return refs + +class LowLevelMoveGenerator: + """ + A class to generate the low level moves i.e. moves corresponding to differences between current/target config + where the path of the move does not have children. + """ + def __init__(self, path_addressing): + self.path_addressing = path_addressing + def generate(self, diff): + single_run_generator = SingleRunLowLevelMoveGenerator(diff, self.path_addressing) + for move in single_run_generator.generate(): + yield move + +class SingleRunLowLevelMoveGenerator: + """ + A class that can only run once to assist LowLevelMoveGenerator with generating the moves. + """ + def __init__(self, diff, path_addressing): + self.diff = diff + self.path_addressing = path_addressing + + def generate(self): + current_ptr = self.diff.current_config + target_ptr = self.diff.target_config + current_tokens = [] + target_tokens = [] + + for move in self._traverse(current_ptr, target_ptr, current_tokens, target_tokens): + yield move + + def _traverse(self, current_ptr, target_ptr, current_tokens, target_tokens): + """ + Traverses the current/target config trees. + The given ptrs can be: + dict + list of string, number, boolean, int + string, number, boolean, int + + list of dict is not allowed + """ + if isinstance(current_ptr, list) or isinstance(target_ptr, list): + for move in self._traverse_list(current_ptr, target_ptr, current_tokens, target_tokens): + yield move + return + + if isinstance(current_ptr, dict) or isinstance(target_ptr, dict): + for key in current_ptr: + current_tokens.append(key) + if key in target_ptr: + target_tokens.append(key) + for move in self._traverse(current_ptr[key], target_ptr[key], current_tokens, target_tokens): + yield move + target_tokens.pop() + else: + for move in self._traverse_current(current_ptr[key], current_tokens): + yield move + + current_tokens.pop() + + for key in target_ptr: + if key in current_ptr: + continue # Already tried in the previous loop + + target_tokens.append(key) + current_tokens.append(key) + for move in self._traverse_target(target_ptr[key], current_tokens, target_tokens): + yield move + current_tokens.pop() + target_tokens.pop() + + return + + # The current/target ptr are neither dict nor list, so they might be string, int, float, bool + for move in self._traverse_value(current_ptr, target_ptr, current_tokens, target_tokens): + yield move + + def _traverse_list(self, current_ptr, target_ptr, current_tokens, target_tokens): + # if same elements different order, just sort by replacing whole list + # Example: + # current: [1, 2, 3, 4] + # target: [4, 3, 2, 1] + # returned move: REPLACE, current, target + current_dict_cnts = self._list_to_dict_with_count(current_ptr) + target_dict_cnts = self._list_to_dict_with_count(target_ptr) + if current_dict_cnts == target_dict_cnts: + for move in self._traverse_value(current_ptr, target_ptr, current_tokens, target_tokens): + yield move + return + + # Otherwise try add missing and remove additional elements + # Try remove + if current_ptr is not None: + for current_index, current_item in enumerate(current_ptr): + if current_dict_cnts[current_item] > target_dict_cnts.get(current_item, 0): + current_tokens.append(current_index) + for move in self._traverse_current_value(current_item, current_tokens): + yield move + current_tokens.pop() + # Try add + if target_ptr is not None: + current_cnt = len(current_ptr) if current_ptr is not None else 0 + for target_index, target_item in enumerate(target_ptr): + if target_dict_cnts[target_item] > current_dict_cnts.get(target_item, 0): + index = min(current_cnt, target_index) + current_tokens.append(index) + target_tokens.append(target_index) + for move in self._traverse_target_value(target_item, current_tokens, target_tokens): + yield move + target_tokens.pop() + current_tokens.pop() + + # Try replace + if current_ptr is not None and target_ptr is not None: + for current_index, current_item in enumerate(current_ptr): + for target_index, target_item in enumerate(target_ptr): + if current_dict_cnts[current_item] > target_dict_cnts.get(current_item, 0) and \ + target_dict_cnts[target_item] > current_dict_cnts.get(target_item, 0): + current_tokens.append(current_index) + target_tokens.append(target_index) + for move in self._traverse_value(current_item, target_item, current_tokens, target_tokens): + yield move + target_tokens.pop() + current_tokens.pop() + + def _traverse_value(self, current_value, target_value, current_tokens, target_tokens): + if current_value == target_value: + return + + yield JsonMove(self.diff, OperationType.REPLACE, current_tokens, target_tokens) + + def _traverse_current(self, ptr, current_tokens): + if isinstance(ptr, list): + for move in self._traverse_current_list(ptr, current_tokens): + yield move + return + + if isinstance(ptr, dict): + if len(ptr) == 0: + yield JsonMove(self.diff, OperationType.REMOVE, current_tokens) + return + + for key in ptr: + current_tokens.append(key) + for move in self._traverse_current(ptr[key], current_tokens): + yield move + current_tokens.pop() + + return + + # ptr is not a dict nor a list, it can be string, int, float, bool + for move in self._traverse_current_value(ptr, current_tokens): + yield move + + def _traverse_current_list(self, ptr, current_tokens): + if len(ptr) == 0: + yield JsonMove(self.diff, OperationType.REMOVE, current_tokens) + return + + for index, val in enumerate(ptr): + current_tokens.append(index) + for move in self._traverse_current_value(val, current_tokens): + yield move + current_tokens.pop() + + def _traverse_current_value(self, val, current_tokens): + yield JsonMove(self.diff, OperationType.REMOVE, current_tokens) + + def _traverse_target(self, ptr, current_tokens, target_tokens): + if isinstance(ptr, list): + for move in self._traverse_target_list(ptr, current_tokens, target_tokens): + yield move + return + + if isinstance(ptr, dict): + if len(ptr) == 0: + yield JsonMove(self.diff, OperationType.ADD, current_tokens, target_tokens) + return + + for key in ptr: + current_tokens.append(key) + target_tokens.append(key) + for move in self._traverse_target(ptr[key], current_tokens, target_tokens): + yield move + target_tokens.pop() + current_tokens.pop() + + return + + # target configs are not dict nor list, so handle them as string, int, bool, float + for move in self._traverse_target_value(ptr, current_tokens, target_tokens): + yield move + + def _traverse_target_list(self, ptr, current_tokens, target_tokens): + if len(ptr) == 0: + yield JsonMove(self.diff, OperationType.ADD, current_tokens, target_tokens) + return + + for index, val in enumerate(ptr): + # _traverse_target_list is called when the whole list is missing + # in such case any item should be added at first location i.e. 0 + current_tokens.append(0) + target_tokens.append(index) + for move in self._traverse_target_value(val, current_tokens, target_tokens): + yield move + target_tokens.pop() + current_tokens.pop() + + def _traverse_target_value(self, val, current_tokens, target_tokens): + yield JsonMove(self.diff, OperationType.ADD, current_tokens, target_tokens) + + def _list_to_dict_with_count(self, items): + counts = dict() + + if items is None: + return counts + + for item in items: + counts[item] = counts.get(item, 0) + 1 + + return counts + +class UpperLevelMoveExtender: + """ + A class to extend the given move by including its parent. It has 3 cases: + 1) If parent was in current and target, then replace the parent + 2) If parent was in current but not target, then delete the parent + 3) If parent was in target but not current, then add the parent + """ + def extend(self, move, diff): + # if no tokens i.e. whole config + if not move.current_config_tokens: + return + + upper_current_tokens = move.current_config_tokens[:-1] + operation_type = self._get_upper_operation(upper_current_tokens, diff) + + upper_target_tokens = None + if operation_type in [OperationType.ADD, OperationType.REPLACE]: + upper_target_tokens = upper_current_tokens + + yield JsonMove(diff, operation_type, upper_current_tokens, upper_target_tokens) + + # get upper operation assumes ConfigDb to not have list-of-objects, only list-of-values + def _get_upper_operation(self, tokens, diff): + current_ptr = diff.current_config + target_ptr = diff.target_config + + for token in tokens: + if token not in current_ptr: + return OperationType.ADD + current_ptr = current_ptr[token] + if token not in target_ptr: + return OperationType.REMOVE + target_ptr = target_ptr[token] + + return OperationType.REPLACE + +class DeleteInsteadOfReplaceMoveExtender: + """ + A class to extend the given REPLACE move by adding a REMOVE move. + """ + def extend(self, move, diff): + operation_type = move.op_type + + if operation_type != OperationType.REPLACE: + return + + new_move = JsonMove(diff, OperationType.REMOVE, move.current_config_tokens) + + yield new_move + +class DeleteRefsMoveExtender: + """ + A class to extend the given DELETE move by adding DELETE moves to configs referring to the path in the move. + """ + def __init__(self, path_addressing): + self.path_addressing = path_addressing + + def extend(self, move, diff): + operation_type = move.op_type + + if operation_type != OperationType.REMOVE: + return + + for ref_path in self.path_addressing.find_ref_paths(move.path, diff.current_config): + yield JsonMove(diff, OperationType.REMOVE, self.path_addressing.get_path_tokens(ref_path)) + +class DfsSorter: + def __init__(self, move_wrapper): + self.visited = {} + self.move_wrapper = move_wrapper + + def sort(self, diff): + if diff.has_no_diff(): + return [] + + diff_hash = hash(diff) + if diff_hash in self.visited: + return None + self.visited[diff_hash] = True + + moves = self.move_wrapper.generate(diff) + + for move in moves: + if self.move_wrapper.validate(move, diff): + new_diff = self.move_wrapper.simulate(move, diff) + new_moves = self.sort(new_diff) + if new_moves is not None: + return [move] + new_moves + + return None + +class BfsSorter: + def __init__(self, move_wrapper): + self.visited = {} + self.move_wrapper = move_wrapper + + def sort(self, diff): + diff_queue = deque([]) + prv_moves_queue = deque([]) + + diff_queue.append(diff) + prv_moves_queue.append([]) + + while len(diff_queue): + diff = diff_queue.popleft() + prv_moves = prv_moves_queue.popleft() + + diff_hash = hash(diff) + if diff_hash in self.visited: + continue + self.visited[diff_hash] = True + + if diff.has_no_diff(): + return prv_moves + + moves = self.move_wrapper.generate(diff) + for move in moves: + if self.move_wrapper.validate(move, diff): + new_diff = self.move_wrapper.simulate(move, diff) + new_prv_moves = prv_moves + [move] + + diff_queue.append(new_diff) + prv_moves_queue.append(new_prv_moves) + + return None + +class MemoizationSorter: + def __init__(self, move_wrapper): + self.visited = {} + self.move_wrapper = move_wrapper + self.mem = {} + + def rec(self, diff): + if diff.has_no_diff(): + return [] + + diff_hash = hash(diff) + if diff_hash in self.mem: + return self.mem[diff_hash] + if diff_hash in self.visited: + return None + self.visited[diff_hash] = True + + moves = self.move_wrapper.generate(diff) + + bst_moves = None + for move in moves: + if self.move_wrapper.validate(move, diff): + new_diff = self.move_wrapper.simulate(move, diff) + new_moves = self.sort(new_diff) + if new_moves != None and (bst_moves is None or len(bst_moves) > len(new_moves)+1): + bst_moves = [move] + new_moves + + self.mem[diff_hash] = bst_moves + return bst_moves + +class Algorithm(Enum): + DFS = 1 + BFS = 2 + MEMOIZATION = 3 + +class SortAlgorithmFactory: + def __init__(self, operation_wrapper, config_wrapper, path_addressing): + self.operation_wrapper = operation_wrapper + self.config_wrapper = config_wrapper + self.path_addressing = path_addressing + + def create(self, algorithm=Algorithm.DFS): + move_generators = [LowLevelMoveGenerator(self.path_addressing)] + move_extenders = [UpperLevelMoveExtender(), + DeleteInsteadOfReplaceMoveExtender(), + DeleteRefsMoveExtender(self.path_addressing)] + move_validators = [DeleteWholeConfigMoveValidator(), + FullConfigMoveValidator(self.config_wrapper), + NoDependencyMoveValidator(self.path_addressing, self.config_wrapper), + UniqueLanesMoveValidator(), + CreateOnlyMoveValidator(self.path_addressing) ] + + move_wrapper = MoveWrapper(move_generators, move_extenders, move_validators) + + if algorithm == Algorithm.DFS: + sorter = DfsSorter(move_wrapper) + elif algorithm == Algorithm.BFS: + sorter = BfsSorter(move_wrapper) + elif algorithm == Algorithm.MEMOIZATION: + sorter = MemoizationSorter(move_wrapper) + else: + raise ValueError(f"Algorithm {algorithm} is not supported") + + return sorter + +class PatchSorter: + def __init__(self, config_wrapper, patch_wrapper, sort_algorithm_factory=None): + self.config_wrapper = config_wrapper + self.patch_wrapper = patch_wrapper + self.operation_wrapper = OperationWrapper() + self.path_addressing = PathAddressing() + self.sort_algorithm_factory = sort_algorithm_factory if sort_algorithm_factory else \ + SortAlgorithmFactory(self.operation_wrapper, config_wrapper, self.path_addressing) + + def sort(self, patch, algorithm=Algorithm.DFS): + current_config = self.config_wrapper.get_config_db_as_json() + target_config = self.patch_wrapper.simulate_patch(patch, current_config) + + diff = Diff(current_config, target_config) + + sort_algorithm = self.sort_algorithm_factory.create(algorithm) + moves = sort_algorithm.sort(diff) + + if moves is None: + raise GenericConfigUpdaterError("There is no possible sorting") + + changes = [JsonChange(move.patch) for move in moves] + + return changes diff --git a/setup.py b/setup.py index 96c438dbff..806b5bcb0b 100644 --- a/setup.py +++ b/setup.py @@ -176,6 +176,7 @@ 'jinja2>=2.11.3', 'jsondiff>=1.2.0', 'jsonpatch>=1.32.0', + 'jsonpointer>=1.9', 'm2crypto>=0.31.0', 'natsort>=6.2.1', # 6.2.1 is the last version which supports Python 2. Can update once we no longer support Python 2 'netaddr>=0.8.0', diff --git a/tests/generic_config_updater/files/any_config_db.json b/tests/generic_config_updater/files/any_config_db.json new file mode 100644 index 0000000000..2c63c08510 --- /dev/null +++ b/tests/generic_config_updater/files/any_config_db.json @@ -0,0 +1,2 @@ +{ +} diff --git a/tests/generic_config_updater/files/any_other_config_db.json b/tests/generic_config_updater/files/any_other_config_db.json new file mode 100644 index 0000000000..c258f768cf --- /dev/null +++ b/tests/generic_config_updater/files/any_other_config_db.json @@ -0,0 +1,4 @@ +{ + "VLAN": { + } +} diff --git a/tests/generic_config_updater/files/config_db_after_multi_patch.json b/tests/generic_config_updater/files/config_db_after_multi_patch.json index 042bf1d51b..39dff7d688 100644 --- a/tests/generic_config_updater/files/config_db_after_multi_patch.json +++ b/tests/generic_config_updater/files/config_db_after_multi_patch.json @@ -119,4 +119,4 @@ "key12": "value12" } } -} \ No newline at end of file +} diff --git a/tests/generic_config_updater/files/config_db_after_single_operation.json b/tests/generic_config_updater/files/config_db_after_single_operation.json new file mode 100644 index 0000000000..0f2f447537 --- /dev/null +++ b/tests/generic_config_updater/files/config_db_after_single_operation.json @@ -0,0 +1,83 @@ +{ + "VLAN_MEMBER": { + "Vlan1000|Ethernet0": { + "tagging_mode": "untagged" + }, + "Vlan1000|Ethernet4": { + "tagging_mode": "untagged" + } + }, + "VLAN": { + "Vlan1000": { + "vlanid": "1000", + "dhcp_servers": [ + "192.0.0.1", + "192.0.0.2", + "192.0.0.3", + "192.0.0.4" + ] + } + }, + "ACL_TABLE": { + "NO-NSW-PACL-V4": { + "type": "L3", + "policy_desc": "NO-NSW-PACL-V4", + "ports": [ + "Ethernet0" + ] + }, + "DATAACL": { + "policy_desc": "DATAACL", + "ports": [ + "Ethernet4" + ], + "stage": "ingress", + "type": "L3" + }, + "EVERFLOW": { + "policy_desc": "EVERFLOW", + "ports": [ + "Ethernet8" + ], + "stage": "ingress", + "type": "MIRROR" + }, + "EVERFLOWV6": { + "policy_desc": "EVERFLOWV6", + "ports": [ + "Ethernet4", + "Ethernet8" + ], + "stage": "ingress", + "type": "MIRRORV6" + } + }, + "PORT": { + "Ethernet0": { + "alias": "Eth1", + "lanes": "65, 66, 67, 68", + "description": "Ethernet0 100G link", + "speed": "100000" + }, + "Ethernet4": { + "admin_status": "up", + "alias": "fortyGigE0/4", + "description": "Servers0:eth0", + "index": "1", + "lanes": "29,30,31,32", + "mtu": "9100", + "pfc_asym": "off", + "speed": "40000" + }, + "Ethernet8": { + "admin_status": "up", + "alias": "fortyGigE0/8", + "description": "Servers1:eth0", + "index": "2", + "lanes": "33,34,35,36", + "mtu": "9100", + "pfc_asym": "off", + "speed": "40000" + } + } +} diff --git a/tests/generic_config_updater/files/config_db_choice.json b/tests/generic_config_updater/files/config_db_choice.json new file mode 100644 index 0000000000..eaece3248f --- /dev/null +++ b/tests/generic_config_updater/files/config_db_choice.json @@ -0,0 +1,17 @@ +{ + "ACL_RULE": { + "SSH_ONLY|RULE1": { + "L4_SRC_PORT":"65174-6530" + } + }, + "ACL_TABLE": { + "SSH_ONLY": { + "policy_desc": "SSH_ONLY", + "type": "CTRLPLANE", + "stage": "ingress", + "services": [ + "SSH" + ] + } + } +} diff --git a/tests/generic_config_updater/files/config_db_no_dependencies.json b/tests/generic_config_updater/files/config_db_no_dependencies.json new file mode 100644 index 0000000000..12bdd464a5 --- /dev/null +++ b/tests/generic_config_updater/files/config_db_no_dependencies.json @@ -0,0 +1,39 @@ +{ + "VLAN": { + "Vlan1000": { + "vlanid": "1000", + "dhcp_servers": [ + "192.0.0.1", + "192.0.0.2", + "192.0.0.3", + "192.0.0.4" + ] + } + }, + "ACL_TABLE": { + "EVERFLOW": { + "policy_desc": "EVERFLOW", + "ports": [ + "" + ], + "stage": "ingress", + "type": "MIRROR" + }, + "EVERFLOWV6": { + "policy_desc": "EVERFLOWV6", + "ports": [ + "" + ], + "stage": "ingress", + "type": "MIRRORV6" + } + }, + "PORT": { + "Ethernet0": { + "alias": "Eth1", + "lanes": "65, 66, 67, 68", + "description": "Ethernet0 100G link", + "speed": "100000" + } + } +} diff --git a/tests/generic_config_updater/files/config_db_with_crm.json b/tests/generic_config_updater/files/config_db_with_crm.json new file mode 100644 index 0000000000..5fd324d988 --- /dev/null +++ b/tests/generic_config_updater/files/config_db_with_crm.json @@ -0,0 +1,9 @@ +{ + "CRM": { + "Config": { + "acl_counter_high_threshold": "90", + "acl_counter_low_threshold": "70", + "acl_counter_threshold_type": "free" + } + } +} \ No newline at end of file diff --git a/tests/generic_config_updater/files/config_db_with_device_metadata.json b/tests/generic_config_updater/files/config_db_with_device_metadata.json new file mode 100644 index 0000000000..34def579f6 --- /dev/null +++ b/tests/generic_config_updater/files/config_db_with_device_metadata.json @@ -0,0 +1,16 @@ +{ + "DEVICE_METADATA": { + "localhost": { + "default_bgp_status": "up", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "deployment_id": "1", + "docker_routing_config_mode": "separated", + "hostname": "vlab-01", + "hwsku": "Force10-S6000", + "type": "ToRRouter", + "platform": "x86_64-kvm_x86_64-r0", + "mac": "52:54:00:99:7e:85" + } + } +} \ No newline at end of file diff --git a/tests/generic_config_updater/files/config_db_with_interface.json b/tests/generic_config_updater/files/config_db_with_interface.json new file mode 100644 index 0000000000..2e1c488a4a --- /dev/null +++ b/tests/generic_config_updater/files/config_db_with_interface.json @@ -0,0 +1,20 @@ +{ + "INTERFACE": { + "Ethernet8": {}, + "Ethernet8|10.0.0.1/30": { + "family": "IPv4", + "scope": "global" + } + }, + "PORT": { + "Ethernet8": { + "admin_status": "up", + "alias": "eth8", + "description": "Ethernet8", + "fec": "rs", + "lanes": "65", + "mtu": "9000", + "speed": "25000" + } + } +} diff --git a/tests/generic_config_updater/files/config_db_with_portchannel_and_acl.json b/tests/generic_config_updater/files/config_db_with_portchannel_and_acl.json new file mode 100644 index 0000000000..23d33890f3 --- /dev/null +++ b/tests/generic_config_updater/files/config_db_with_portchannel_and_acl.json @@ -0,0 +1,25 @@ +{ + "PORT": { + "Ethernet0": { + "alias": "Eth1/1", + "lanes": "65", + "description": "", + "speed": "10000" + } + }, + "PORTCHANNEL": { + "PortChannel0001": { + "admin_status": "up" + } + }, + "ACL_TABLE": { + "NO-NSW-PACL-V4": { + "type": "L3", + "policy_desc": "NO-NSW-PACL-V4", + "ports": [ + "Ethernet0", + "PortChannel0001" + ] + } + } +} diff --git a/tests/generic_config_updater/files/config_db_with_portchannel_interface.json b/tests/generic_config_updater/files/config_db_with_portchannel_interface.json new file mode 100644 index 0000000000..4e05639dc5 --- /dev/null +++ b/tests/generic_config_updater/files/config_db_with_portchannel_interface.json @@ -0,0 +1,10 @@ +{ + "PORTCHANNEL": { + "PortChannel0001": { + "admin_status": "up" + } + }, + "PORTCHANNEL_INTERFACE": { + "PortChannel0001|1.1.1.1/24": {} + } +} diff --git a/tests/generic_config_updater/files/contrainer_with_container_config_db.json b/tests/generic_config_updater/files/contrainer_with_container_config_db.json new file mode 100644 index 0000000000..b0680b22b5 --- /dev/null +++ b/tests/generic_config_updater/files/contrainer_with_container_config_db.json @@ -0,0 +1,7 @@ +{ + "FLEX_COUNTER_TABLE": { + "BUFFER_POOL_WATERMARK": { + "FLEX_COUNTER_STATUS": "enable" + } + } +} diff --git a/tests/generic_config_updater/files/dpb_1_split_full_config.json b/tests/generic_config_updater/files/dpb_1_split_full_config.json new file mode 100644 index 0000000000..2097289606 --- /dev/null +++ b/tests/generic_config_updater/files/dpb_1_split_full_config.json @@ -0,0 +1,35 @@ +{ + "PORT": { + "Ethernet0": { + "alias": "Eth1", + "lanes": "65, 66, 67, 68", + "description": "Ethernet0 100G link", + "speed": "100000" + } + }, + "ACL_TABLE": { + "NO-NSW-PACL-V4": { + "type": "L3", + "policy_desc": "NO-NSW-PACL-V4", + "ports": [ + "Ethernet0" + ] + } + }, + "VLAN_MEMBER": { + "Vlan100|Ethernet0": { + "tagging_mode": "untagged" + } + }, + "VLAN": { + "Vlan100": { + "vlanid": "100", + "dhcp_servers": [ + "192.0.0.1", + "192.0.0.2", + "192.0.0.3", + "192.0.0.4" + ] + } + } +} diff --git a/tests/generic_config_updater/files/dpb_1_to_4.json-patch b/tests/generic_config_updater/files/dpb_1_to_4.json-patch new file mode 100644 index 0000000000..8eddd7a19d --- /dev/null +++ b/tests/generic_config_updater/files/dpb_1_to_4.json-patch @@ -0,0 +1,88 @@ +[ + { + "op": "add", + "path": "/PORT/Ethernet3", + "value": { + "alias": "Eth1/4", + "lanes": "68", + "description": "", + "speed": "10000" + } + }, + { + "op": "add", + "path": "/PORT/Ethernet1", + "value": { + "alias": "Eth1/2", + "lanes": "66", + "description": "", + "speed": "10000" + } + }, + { + "op": "add", + "path": "/PORT/Ethernet2", + "value": { + "alias": "Eth1/3", + "lanes": "67", + "description": "", + "speed": "10000" + } + }, + { + "op": "replace", + "path": "/PORT/Ethernet0/lanes", + "value": "65" + }, + { + "op": "replace", + "path": "/PORT/Ethernet0/alias", + "value": "Eth1/1" + }, + { + "op": "replace", + "path": "/PORT/Ethernet0/description", + "value": "" + }, + { + "op": "replace", + "path": "/PORT/Ethernet0/speed", + "value": "10000" + }, + { + "op": "add", + "path": "/VLAN_MEMBER/Vlan100|Ethernet2", + "value": { + "tagging_mode": "untagged" + } + }, + { + "op": "add", + "path": "/VLAN_MEMBER/Vlan100|Ethernet3", + "value": { + "tagging_mode": "untagged" + } + }, + { + "op": "add", + "path": "/VLAN_MEMBER/Vlan100|Ethernet1", + "value": { + "tagging_mode": "untagged" + } + }, + { + "op": "add", + "path": "/ACL_TABLE/NO-NSW-PACL-V4/ports/1", + "value": "Ethernet1" + }, + { + "op": "add", + "path": "/ACL_TABLE/NO-NSW-PACL-V4/ports/2", + "value": "Ethernet2" + }, + { + "op": "add", + "path": "/ACL_TABLE/NO-NSW-PACL-V4/ports/3", + "value": "Ethernet3" + } +] diff --git a/tests/generic_config_updater/files/dpb_4_splits_full_config.json b/tests/generic_config_updater/files/dpb_4_splits_full_config.json new file mode 100644 index 0000000000..23d1b9ecfc --- /dev/null +++ b/tests/generic_config_updater/files/dpb_4_splits_full_config.json @@ -0,0 +1,65 @@ +{ + "PORT": { + "Ethernet0": { + "alias": "Eth1/1", + "lanes": "65", + "description": "", + "speed": "10000" + }, + "Ethernet1": { + "alias": "Eth1/2", + "lanes": "66", + "description": "", + "speed": "10000" + }, + "Ethernet2": { + "alias": "Eth1/3", + "lanes": "67", + "description": "", + "speed": "10000" + }, + "Ethernet3": { + "alias": "Eth1/4", + "lanes": "68", + "description": "", + "speed": "10000" + } + }, + "ACL_TABLE": { + "NO-NSW-PACL-V4": { + "type": "L3", + "policy_desc": "NO-NSW-PACL-V4", + "ports": [ + "Ethernet0", + "Ethernet1", + "Ethernet2", + "Ethernet3" + ] + } + }, + "VLAN_MEMBER": { + "Vlan100|Ethernet0": { + "tagging_mode": "untagged" + }, + "Vlan100|Ethernet1": { + "tagging_mode": "untagged" + }, + "Vlan100|Ethernet2": { + "tagging_mode": "untagged" + }, + "Vlan100|Ethernet3": { + "tagging_mode": "untagged" + } + }, + "VLAN": { + "Vlan100": { + "vlanid": "100", + "dhcp_servers": [ + "192.0.0.1", + "192.0.0.2", + "192.0.0.3", + "192.0.0.4" + ] + } + } +} diff --git a/tests/generic_config_updater/files/dpb_4_to_1.json-patch b/tests/generic_config_updater/files/dpb_4_to_1.json-patch new file mode 100644 index 0000000000..33addd290d --- /dev/null +++ b/tests/generic_config_updater/files/dpb_4_to_1.json-patch @@ -0,0 +1,58 @@ +[ + { + "op": "remove", + "path": "/PORT/Ethernet2" + }, + { + "op": "remove", + "path": "/PORT/Ethernet1" + }, + { + "op": "remove", + "path": "/PORT/Ethernet3" + }, + { + "op": "replace", + "path": "/PORT/Ethernet0/alias", + "value": "Eth1" + }, + { + "op": "replace", + "path": "/PORT/Ethernet0/lanes", + "value": "65, 66, 67, 68" + }, + { + "op": "replace", + "path": "/PORT/Ethernet0/description", + "value": "Ethernet0 100G link" + }, + { + "op": "replace", + "path": "/PORT/Ethernet0/speed", + "value": "100000" + }, + { + "op": "remove", + "path": "/VLAN_MEMBER/Vlan100|Ethernet1" + }, + { + "op": "remove", + "path": "/VLAN_MEMBER/Vlan100|Ethernet3" + }, + { + "op": "remove", + "path": "/VLAN_MEMBER/Vlan100|Ethernet2" + }, + { + "op": "remove", + "path": "/ACL_TABLE/NO-NSW-PACL-V4/ports/1" + }, + { + "op": "remove", + "path": "/ACL_TABLE/NO-NSW-PACL-V4/ports/1" + }, + { + "op": "remove", + "path": "/ACL_TABLE/NO-NSW-PACL-V4/ports/1" + } +] diff --git a/tests/generic_config_updater/files/empty_config_db.json b/tests/generic_config_updater/files/empty_config_db.json new file mode 100644 index 0000000000..2c63c08510 --- /dev/null +++ b/tests/generic_config_updater/files/empty_config_db.json @@ -0,0 +1,2 @@ +{ +} diff --git a/tests/generic_config_updater/files/simple_config_db_inc_deps.json b/tests/generic_config_updater/files/simple_config_db_inc_deps.json new file mode 100644 index 0000000000..4554582103 --- /dev/null +++ b/tests/generic_config_updater/files/simple_config_db_inc_deps.json @@ -0,0 +1,20 @@ +{ + "ACL_TABLE": { + "EVERFLOW": { + "policy_desc": "EVERFLOW", + "ports": [ + "Ethernet0" + ], + "stage": "ingress", + "type": "MIRROR" + } + }, + "PORT": { + "Ethernet0": { + "alias": "Eth1", + "lanes": "65, 66, 67, 68", + "description": "Ethernet0 100G link", + "speed": "100000" + } + } +} diff --git a/tests/generic_config_updater/gu_common_test.py b/tests/generic_config_updater/gu_common_test.py index f18ad45799..f69ec08030 100644 --- a/tests/generic_config_updater/gu_common_test.py +++ b/tests/generic_config_updater/gu_common_test.py @@ -1,15 +1,12 @@ import json import jsonpatch +import sonic_yang import unittest from unittest.mock import MagicMock, Mock -from .gutest_helpers import create_side_effect_dict, Files +from .gutest_helpers import create_side_effect_dict, Files import generic_config_updater.gu_common as gu_common -# import sys -# sys.path.insert(0,'../../generic_config_updater') -# import gu_common - class TestConfigWrapper(unittest.TestCase): def setUp(self): self.config_wrapper_mock = gu_common.ConfigWrapper() @@ -333,3 +330,306 @@ def __assert_same_patch(self, config_db_patch, sonic_yang_patch, config_wrapper, config_wrapper.convert_sonic_yang_to_config_db(after_update_sonic_yang) self.assertTrue(patch_wrapper.verify_same_json(after_update_config_db_cropped, after_update_sonic_yang_as_config_db)) + +class TestPathAddressing(unittest.TestCase): + def setUp(self): + self.path_addressing = gu_common.PathAddressing() + self.sy_only_models = sonic_yang.SonicYang(gu_common.YANG_DIR) + self.sy_only_models.loadYangModel() + + def test_get_path_tokens(self): + def check(path, tokens): + expected=tokens + actual=self.path_addressing.get_path_tokens(path) + self.assertEqual(expected, actual) + + check("", []) + check("/", [""]) + check("/token", ["token"]) + check("/more/than/one/token", ["more", "than", "one", "token"]) + check("/has/numbers/0/and/symbols/^", ["has", "numbers", "0", "and", "symbols", "^"]) + check("/~0/this/is/telda", ["~", "this", "is", "telda"]) + check("/~1/this/is/forward-slash", ["/", "this", "is", "forward-slash"]) + check("/\\\\/no-escaping", ["\\\\", "no-escaping"]) + check("////empty/tokens/are/ok", ["", "", "", "empty", "tokens", "are", "ok"]) + + def test_create_path(self): + def check(tokens, path): + expected=path + actual=self.path_addressing.create_path(tokens) + self.assertEqual(expected, actual) + + check([], "",) + check([""], "/",) + check(["token"], "/token") + check(["more", "than", "one", "token"], "/more/than/one/token") + check(["has", "numbers", "0", "and", "symbols", "^"], "/has/numbers/0/and/symbols/^") + check(["~", "this", "is", "telda"], "/~0/this/is/telda") + check(["/", "this", "is", "forward-slash"], "/~1/this/is/forward-slash") + check(["\\\\", "no-escaping"], "/\\\\/no-escaping") + check(["", "", "", "empty", "tokens", "are", "ok"], "////empty/tokens/are/ok") + check(["~token", "telda-not-followed-by-0-or-1"], "/~0token/telda-not-followed-by-0-or-1") + + def test_get_xpath_tokens(self): + def check(path, tokens): + expected=tokens + actual=self.path_addressing.get_xpath_tokens(path) + self.assertEqual(expected, actual) + + self.assertRaises(ValueError, check, "", []) + check("/", []) + check("/token", ["token"]) + check("/more/than/one/token", ["more", "than", "one", "token"]) + check("/multi/tokens/with/empty/last/token/", ["multi", "tokens", "with", "empty", "last", "token", ""]) + check("/has/numbers/0/and/symbols/^", ["has", "numbers", "0", "and", "symbols", "^"]) + check("/has[a='predicate']/in/the/beginning", ["has[a='predicate']", "in", "the", "beginning"]) + check("/ha/s[a='predicate']/in/the/middle", ["ha", "s[a='predicate']", "in", "the", "middle"]) + check("/ha/s[a='predicate-in-the-end']", ["ha", "s[a='predicate-in-the-end']"]) + check("/it/has[more='than'][one='predicate']/somewhere", ["it", "has[more='than'][one='predicate']", "somewhere"]) + check("/ha/s[a='predicate\"with']/double-quotes/inside", ["ha", "s[a='predicate\"with']", "double-quotes", "inside"]) + check('/a/predicate[with="double"]/quotes', ["a", 'predicate[with="double"]', "quotes"]) + check('/multiple["predicate"][with="double"]/quotes', ['multiple["predicate"][with="double"]', "quotes"]) + check('/multiple["predicate"][with="double"]/quotes', ['multiple["predicate"][with="double"]', "quotes"]) + check('/ha/s[a="predicate\'with"]/single-quote/inside', ["ha", 's[a="predicate\'with"]', "single-quote", "inside"]) + # XPATH 1.0 does not support single-quote within single-quoted string. str literal can be '[^']*' + # Not validating no single-quote within single-quoted string + check("/a/mix['of''quotes\"does']/not/work/well", ["a", "mix['of''quotes\"does']", "not", "work", "well"]) + # XPATH 1.0 does not support double-quotes within double-quoted string. str literal can be "[^"]*" + # Not validating no double-quotes within double-quoted string + check('/a/mix["of""quotes\'does"]/not/work/well', ["a", 'mix["of""quotes\'does"]', "not", "work", "well"]) + + def test_create_xpath(self): + def check(tokens, xpath): + expected=xpath + actual=self.path_addressing.create_xpath(tokens) + self.assertEqual(expected, actual) + + check([], "/") + check(["token"], "/token") + check(["more", "than", "one", "token"], "/more/than/one/token") + check(["multi", "tokens", "with", "empty", "last", "token", ""], "/multi/tokens/with/empty/last/token/") + check(["has", "numbers", "0", "and", "symbols", "^"], "/has/numbers/0/and/symbols/^") + check(["has[a='predicate']", "in", "the", "beginning"], "/has[a='predicate']/in/the/beginning") + check(["ha", "s[a='predicate']", "in", "the", "middle"], "/ha/s[a='predicate']/in/the/middle") + check(["ha", "s[a='predicate-in-the-end']"], "/ha/s[a='predicate-in-the-end']") + check(["it", "has[more='than'][one='predicate']", "somewhere"], "/it/has[more='than'][one='predicate']/somewhere") + check(["ha", "s[a='predicate\"with']", "double-quotes", "inside"], "/ha/s[a='predicate\"with']/double-quotes/inside") + check(["a", 'predicate[with="double"]', "quotes"], '/a/predicate[with="double"]/quotes') + check(['multiple["predicate"][with="double"]', "quotes"], '/multiple["predicate"][with="double"]/quotes') + check(['multiple["predicate"][with="double"]', "quotes"], '/multiple["predicate"][with="double"]/quotes') + check(["ha", 's[a="predicate\'with"]', "single-quote", "inside"], '/ha/s[a="predicate\'with"]/single-quote/inside') + # XPATH 1.0 does not support single-quote within single-quoted string. str literal can be '[^']*' + # Not validating no single-quote within single-quoted string + check(["a", "mix['of''quotes\"does']", "not", "work", "well"], "/a/mix['of''quotes\"does']/not/work/well", ) + # XPATH 1.0 does not support double-quotes within double-quoted string. str literal can be "[^"]*" + # Not validating no double-quotes within double-quoted string + check(["a", 'mix["of""quotes\'does"]', "not", "work", "well"], '/a/mix["of""quotes\'does"]/not/work/well') + + def test_find_ref_paths__ref_is_the_whole_key__returns_ref_paths(self): + # Arrange + path = "/PORT/Ethernet0" + expected = [ + "/ACL_TABLE/NO-NSW-PACL-V4/ports/0", + "/VLAN_MEMBER/Vlan1000|Ethernet0", + ] + + # Act + actual = self.path_addressing.find_ref_paths(path, Files.CROPPED_CONFIG_DB_AS_JSON) + + # Assert + self.assertCountEqual(expected, actual) + + def test_find_ref_paths__ref_is_a_part_of_key__returns_ref_paths(self): + # Arrange + path = "/VLAN/Vlan1000" + expected = [ + "/VLAN_MEMBER/Vlan1000|Ethernet0", + "/VLAN_MEMBER/Vlan1000|Ethernet4", + "/VLAN_MEMBER/Vlan1000|Ethernet8", + ] + + # Act + actual = self.path_addressing.find_ref_paths(path, Files.CROPPED_CONFIG_DB_AS_JSON) + + # Assert + self.assertCountEqual(expected, actual) + + def test_find_ref_paths__ref_is_in_multilist__returns_ref_paths(self): + # Arrange + path = "/PORT/Ethernet8" + expected = [ + "/INTERFACE/Ethernet8", + "/INTERFACE/Ethernet8|10.0.0.1~130", + ] + + # Act + actual = self.path_addressing.find_ref_paths(path, Files.CONFIG_DB_WITH_INTERFACE) + + # Assert + self.assertCountEqual(expected, actual) + + def test_find_ref_paths__ref_is_in_leafref_union__returns_ref_paths(self): + # Arrange + path = "/PORTCHANNEL/PortChannel0001" + expected = [ + "/ACL_TABLE/NO-NSW-PACL-V4/ports/1", + ] + + # Act + actual = self.path_addressing.find_ref_paths(path, Files.CONFIG_DB_WITH_PORTCHANNEL_AND_ACL) + + # Assert + self.assertCountEqual(expected, actual) + + def test_find_ref_paths__path_is_table__returns_ref_paths(self): + # Arrange + path = "/PORT" + expected = [ + "/ACL_TABLE/DATAACL/ports/0", + "/ACL_TABLE/EVERFLOW/ports/0", + "/ACL_TABLE/EVERFLOWV6/ports/0", + "/ACL_TABLE/EVERFLOWV6/ports/1", + "/ACL_TABLE/NO-NSW-PACL-V4/ports/0", + "/VLAN_MEMBER/Vlan1000|Ethernet0", + "/VLAN_MEMBER/Vlan1000|Ethernet4", + "/VLAN_MEMBER/Vlan1000|Ethernet8", + ] + + # Act + actual = self.path_addressing.find_ref_paths(path, Files.CROPPED_CONFIG_DB_AS_JSON) + + # Assert + self.assertCountEqual(expected, actual) + + def test_find_ref_paths__whole_config_path__returns_all_refs(self): + # Arrange + path = "" + expected = [ + "/ACL_TABLE/DATAACL/ports/0", + "/ACL_TABLE/EVERFLOW/ports/0", + "/ACL_TABLE/EVERFLOWV6/ports/0", + "/ACL_TABLE/EVERFLOWV6/ports/1", + "/ACL_TABLE/NO-NSW-PACL-V4/ports/0", + "/VLAN_MEMBER/Vlan1000|Ethernet0", + "/VLAN_MEMBER/Vlan1000|Ethernet4", + "/VLAN_MEMBER/Vlan1000|Ethernet8", + ] + + # Act + actual = self.path_addressing.find_ref_paths(path, Files.CROPPED_CONFIG_DB_AS_JSON) + + # Assert + self.assertCountEqual(expected, actual) + + def test_convert_path_to_xpath(self): + def check(path, xpath, config=None): + if not config: + config = Files.CROPPED_CONFIG_DB_AS_JSON + + expected=xpath + actual=self.path_addressing.convert_path_to_xpath(path, config, self.sy_only_models) + self.assertEqual(expected, actual) + + check(path="", xpath="/") + check(path="/VLAN_MEMBER", xpath="/sonic-vlan:sonic-vlan/VLAN_MEMBER") + check(path="/VLAN/Vlan1000/dhcp_servers", + xpath="/sonic-vlan:sonic-vlan/VLAN/VLAN_LIST[name='Vlan1000']/dhcp_servers") + check(path="/VLAN/Vlan1000/dhcp_servers/0", + xpath="/sonic-vlan:sonic-vlan/VLAN/VLAN_LIST[name='Vlan1000']/dhcp_servers[.='192.0.0.1']") + check(path="/PORT/Ethernet0/lanes", xpath="/sonic-port:sonic-port/PORT/PORT_LIST[name='Ethernet0']/lanes") + check(path="/ACL_TABLE/NO-NSW-PACL-V4/ports/0", + xpath="/sonic-acl:sonic-acl/ACL_TABLE/ACL_TABLE_LIST[ACL_TABLE_NAME='NO-NSW-PACL-V4']/ports[.='Ethernet0']") + check(path="/ACL_TABLE/NO-NSW-PACL-V4/ports/0", + xpath="/sonic-acl:sonic-acl/ACL_TABLE/ACL_TABLE_LIST[ACL_TABLE_NAME='NO-NSW-PACL-V4']/ports[.='Ethernet0']") + check(path="/VLAN_MEMBER/Vlan1000|Ethernet8/tagging_mode", + xpath="/sonic-vlan:sonic-vlan/VLAN_MEMBER/VLAN_MEMBER_LIST[name='Vlan1000'][port='Ethernet8']/tagging_mode") + check(path="/VLAN_MEMBER/Vlan1000|Ethernet8", + xpath="/sonic-vlan:sonic-vlan/VLAN_MEMBER/VLAN_MEMBER_LIST[name='Vlan1000'][port='Ethernet8']") + check(path="/DEVICE_METADATA/localhost/hwsku", + xpath="/sonic-device_metadata:sonic-device_metadata/DEVICE_METADATA/localhost/hwsku", + config=Files.CONFIG_DB_WITH_DEVICE_METADATA) + check(path="/FLEX_COUNTER_TABLE/BUFFER_POOL_WATERMARK/FLEX_COUNTER_STATUS", + xpath="/sonic-flex_counter:sonic-flex_counter/FLEX_COUNTER_TABLE/BUFFER_POOL_WATERMARK/FLEX_COUNTER_STATUS", + config=Files.CONTRAINER_WITH_CONTAINER_CONFIG_DB) + check(path="/ACL_RULE/SSH_ONLY|RULE1/L4_SRC_PORT", + xpath="/sonic-acl:sonic-acl/ACL_RULE/ACL_RULE_LIST[ACL_TABLE_NAME='SSH_ONLY'][RULE_NAME='RULE1']/L4_SRC_PORT", + config=Files.CONFIG_DB_CHOICE) + check(path="/INTERFACE/Ethernet8", + xpath="/sonic-interface:sonic-interface/INTERFACE/INTERFACE_LIST[name='Ethernet8']", + config=Files.CONFIG_DB_WITH_INTERFACE) + check(path="/INTERFACE/Ethernet8|10.0.0.1~130", + xpath="/sonic-interface:sonic-interface/INTERFACE/INTERFACE_IPPREFIX_LIST[name='Ethernet8'][ip-prefix='10.0.0.1/30']", + config=Files.CONFIG_DB_WITH_INTERFACE) + check(path="/INTERFACE/Ethernet8|10.0.0.1~130/scope", + xpath="/sonic-interface:sonic-interface/INTERFACE/INTERFACE_IPPREFIX_LIST[name='Ethernet8'][ip-prefix='10.0.0.1/30']/scope", + config=Files.CONFIG_DB_WITH_INTERFACE) + check(path="/PORTCHANNEL_INTERFACE", + xpath="/sonic-portchannel:sonic-portchannel/PORTCHANNEL_INTERFACE", + config=Files.CONFIG_DB_WITH_PORTCHANNEL_INTERFACE) + check(path="/PORTCHANNEL_INTERFACE/PortChannel0001|1.1.1.1~124", + xpath="/sonic-portchannel:sonic-portchannel/PORTCHANNEL_INTERFACE/PORTCHANNEL_INTERFACE_IPPREFIX_LIST[name='PortChannel0001'][ip_prefix='1.1.1.1/24']", + config=Files.CONFIG_DB_WITH_PORTCHANNEL_INTERFACE) + + def test_convert_xpath_to_path(self): + def check(xpath, path, config=None): + if not config: + config = Files.CROPPED_CONFIG_DB_AS_JSON + + expected=path + actual=self.path_addressing.convert_xpath_to_path(xpath, config, self.sy_only_models) + self.assertEqual(expected, actual) + + check(xpath="/",path="") + check(xpath="/sonic-vlan:sonic-vlan/VLAN_MEMBER", path="/VLAN_MEMBER") + check(xpath="/sonic-vlan:sonic-vlan/VLAN_MEMBER/VLAN_MEMBER_LIST",path="/VLAN_MEMBER") + check(xpath="/sonic-vlan:sonic-vlan/VLAN_MEMBER/VLAN_MEMBER_LIST[name='Vlan1000'][port='Ethernet8']", + path="/VLAN_MEMBER/Vlan1000|Ethernet8") + check(xpath="/sonic-vlan:sonic-vlan/VLAN_MEMBER/VLAN_MEMBER_LIST[name='Vlan1000'][port='Ethernet8']/name", + path="/VLAN_MEMBER/Vlan1000|Ethernet8") + check(xpath="/sonic-vlan:sonic-vlan/VLAN_MEMBER/VLAN_MEMBER_LIST[name='Vlan1000'][port='Ethernet8']/port", + path="/VLAN_MEMBER/Vlan1000|Ethernet8") + check(xpath="/sonic-vlan:sonic-vlan/VLAN_MEMBER/VLAN_MEMBER_LIST[name='Vlan1000'][port='Ethernet8']/tagging_mode", + path="/VLAN_MEMBER/Vlan1000|Ethernet8/tagging_mode") + check(xpath="/sonic-vlan:sonic-acl/ACL_RULE", path="/ACL_RULE") + check(xpath="/sonic-vlan:sonic-acl/ACL_RULE/ACL_RULE_LIST[ACL_TABLE_NAME='SSH_ONLY'][RULE_NAME='RULE1']", + path="/ACL_RULE/SSH_ONLY|RULE1", + config=Files.CONFIG_DB_CHOICE) + check(xpath="/sonic-acl:sonic-acl/ACL_RULE/ACL_RULE_LIST[ACL_TABLE_NAME='SSH_ONLY'][RULE_NAME='RULE1']/L4_SRC_PORT", + path="/ACL_RULE/SSH_ONLY|RULE1/L4_SRC_PORT", + config=Files.CONFIG_DB_CHOICE) + check(xpath="/sonic-vlan:sonic-vlan/VLAN/VLAN_LIST[name='Vlan1000']/dhcp_servers", + path="/VLAN/Vlan1000/dhcp_servers") + check(xpath="/sonic-vlan:sonic-vlan/VLAN/VLAN_LIST[name='Vlan1000']/dhcp_servers[.='192.0.0.1']", + path="/VLAN/Vlan1000/dhcp_servers/0") + check(xpath="/sonic-port:sonic-port/PORT/PORT_LIST[name='Ethernet0']/lanes", path="/PORT/Ethernet0/lanes") + check(xpath="/sonic-acl:sonic-acl/ACL_TABLE/ACL_TABLE_LIST[ACL_TABLE_NAME='NO-NSW-PACL-V4']/ports[.='Ethernet0']", + path="/ACL_TABLE/NO-NSW-PACL-V4/ports/0") + check(xpath="/sonic-vlan:sonic-vlan/VLAN_MEMBER/VLAN_MEMBER_LIST[name='Vlan1000'][port='Ethernet8']/tagging_mode", + path="/VLAN_MEMBER/Vlan1000|Ethernet8/tagging_mode") + check(xpath="/sonic-vlan:sonic-vlan/VLAN_MEMBER/VLAN_MEMBER_LIST[name='Vlan1000'][port='Ethernet8']", + path="/VLAN_MEMBER/Vlan1000|Ethernet8") + check(xpath="/sonic-device_metadata:sonic-device_metadata/DEVICE_METADATA/localhost/hwsku", + path="/DEVICE_METADATA/localhost/hwsku", + config=Files.CONFIG_DB_WITH_DEVICE_METADATA) + check(xpath="/sonic-flex_counter:sonic-flex_counter/FLEX_COUNTER_TABLE/BUFFER_POOL_WATERMARK", + path="/FLEX_COUNTER_TABLE/BUFFER_POOL_WATERMARK", + config=Files.CONTRAINER_WITH_CONTAINER_CONFIG_DB) + check(xpath="/sonic-flex_counter:sonic-flex_counter/FLEX_COUNTER_TABLE/BUFFER_POOL_WATERMARK/FLEX_COUNTER_STATUS", + path="/FLEX_COUNTER_TABLE/BUFFER_POOL_WATERMARK/FLEX_COUNTER_STATUS", + config=Files.CONTRAINER_WITH_CONTAINER_CONFIG_DB) + check(xpath="/sonic-interface:sonic-interface/INTERFACE/INTERFACE_LIST[name='Ethernet8']", + path="/INTERFACE/Ethernet8", + config=Files.CONFIG_DB_WITH_INTERFACE) + check(xpath="/sonic-interface:sonic-interface/INTERFACE/INTERFACE_IPPREFIX_LIST[name='Ethernet8'][ip-prefix='10.0.0.1/30']", + path="/INTERFACE/Ethernet8|10.0.0.1~130", + config=Files.CONFIG_DB_WITH_INTERFACE) + check(xpath="/sonic-interface:sonic-interface/INTERFACE/INTERFACE_IPPREFIX_LIST[name='Ethernet8'][ip-prefix='10.0.0.1/30']/scope", + path="/INTERFACE/Ethernet8|10.0.0.1~130/scope", + config=Files.CONFIG_DB_WITH_INTERFACE) + check(xpath="/sonic-portchannel:sonic-portchannel/PORTCHANNEL_INTERFACE", + path="/PORTCHANNEL_INTERFACE", + config=Files.CONFIG_DB_WITH_PORTCHANNEL_INTERFACE) + check(xpath="/sonic-portchannel:sonic-portchannel/PORTCHANNEL_INTERFACE/PORTCHANNEL_INTERFACE_IPPREFIX_LIST[name='PortChannel0001'][ip_prefix='1.1.1.1/24']", + path="/PORTCHANNEL_INTERFACE/PortChannel0001|1.1.1.1~124", + config=Files.CONFIG_DB_WITH_PORTCHANNEL_INTERFACE) + diff --git a/tests/generic_config_updater/patch_sorter_test.py b/tests/generic_config_updater/patch_sorter_test.py new file mode 100644 index 0000000000..4da9fb901b --- /dev/null +++ b/tests/generic_config_updater/patch_sorter_test.py @@ -0,0 +1,1730 @@ +import jsonpatch +import unittest +from unittest.mock import MagicMock, Mock + +import generic_config_updater.patch_sorter as ps +from .gutest_helpers import Files, create_side_effect_dict +from generic_config_updater.gu_common import ConfigWrapper, PatchWrapper, OperationWrapper, \ + GenericConfigUpdaterError, OperationType, JsonChange, PathAddressing + +class TestDiff(unittest.TestCase): + def test_apply_move__updates_current_config(self): + # Arrange + diff = ps.Diff(current_config=Files.CROPPED_CONFIG_DB_AS_JSON, target_config=Files.ANY_CONFIG_DB) + move = ps.JsonMove.from_patch(Files.SINGLE_OPERATION_CONFIG_DB_PATCH) + + expected = ps.Diff(current_config=Files.CONFIG_DB_AFTER_SINGLE_OPERATION, target_config=Files.ANY_CONFIG_DB) + + # Act + actual = diff.apply_move(move) + + # Assert + self.assertEqual(expected.current_config, actual.current_config) + self.assertEqual(expected.target_config, actual.target_config) + + def test_has_no_diff__diff_exists__returns_false(self): + # Arrange + diff = ps.Diff(current_config=Files.CROPPED_CONFIG_DB_AS_JSON, + target_config=Files.CONFIG_DB_AFTER_SINGLE_OPERATION) + + # Act and Assert + self.assertFalse(diff.has_no_diff()) + + def test_has_no_diff__no_diff__returns_true(self): + # Arrange + diff = ps.Diff(current_config=Files.CROPPED_CONFIG_DB_AS_JSON, + target_config=Files.CROPPED_CONFIG_DB_AS_JSON) + + # Act and Assert + self.assertTrue(diff.has_no_diff()) + + def test_hash__different_current_config__different_hashes(self): + # Arrange + diff1 = ps.Diff(current_config=Files.CROPPED_CONFIG_DB_AS_JSON, target_config=Files.ANY_CONFIG_DB) + diff2 = ps.Diff(current_config=Files.CROPPED_CONFIG_DB_AS_JSON, target_config=Files.ANY_CONFIG_DB) + diff3 = ps.Diff(current_config=Files.CONFIG_DB_AFTER_SINGLE_OPERATION, target_config=Files.ANY_CONFIG_DB) + + # Act + hash1 = hash(diff1) + hash2 = hash(diff2) + hash3 = hash(diff3) + + # Assert + self.assertEqual(hash1, hash2) # same current config + self.assertNotEqual(hash1, hash3) + + def test_hash__different_target_config__different_hashes(self): + # Arrange + diff1 = ps.Diff(current_config=Files.ANY_CONFIG_DB, target_config=Files.CROPPED_CONFIG_DB_AS_JSON) + diff2 = ps.Diff(current_config=Files.ANY_CONFIG_DB, target_config=Files.CROPPED_CONFIG_DB_AS_JSON) + diff3 = ps.Diff(current_config=Files.ANY_CONFIG_DB, target_config=Files.CONFIG_DB_AFTER_SINGLE_OPERATION) + + # Act + hash1 = hash(diff1) + hash2 = hash(diff2) + hash3 = hash(diff3) + + # Assert + self.assertEqual(hash1, hash2) # same target config + self.assertNotEqual(hash1, hash3) + + def test_hash__swapped_current_and_target_configs__different_hashes(self): + # Arrange + diff1 = ps.Diff(current_config=Files.ANY_CONFIG_DB, target_config=Files.ANY_OTHER_CONFIG_DB) + diff2 = ps.Diff(current_config=Files.ANY_OTHER_CONFIG_DB, target_config=Files.ANY_CONFIG_DB) + + # Act + hash1 = hash(diff1) + hash2 = hash(diff2) + + # Assert + self.assertNotEqual(hash1, hash2) + + def test_eq__different_current_config__returns_false(self): + # Arrange + diff = ps.Diff(Files.ANY_CONFIG_DB, Files.ANY_CONFIG_DB) + other_diff = ps.Diff(Files.ANY_OTHER_CONFIG_DB, Files.ANY_CONFIG_DB) + + # Act and assert + self.assertNotEqual(diff, other_diff) + self.assertFalse(diff == other_diff) + + def test_eq__different_target_config__returns_false(self): + # Arrange + diff = ps.Diff(Files.ANY_CONFIG_DB, Files.ANY_CONFIG_DB) + other_diff = ps.Diff(Files.ANY_CONFIG_DB, Files.ANY_OTHER_CONFIG_DB) + + # Act and assert + self.assertNotEqual(diff, other_diff) + self.assertFalse(diff == other_diff) + + def test_eq__different_target_config__returns_true(self): + # Arrange + diff = ps.Diff(Files.ANY_CONFIG_DB, Files.ANY_CONFIG_DB) + other_diff = ps.Diff(Files.ANY_CONFIG_DB, Files.ANY_CONFIG_DB) + + # Act and assert + self.assertEqual(diff, other_diff) + self.assertTrue(diff == other_diff) + +class TestJsonMove(unittest.TestCase): + def setUp(self): + self.operation_wrapper = OperationWrapper() + self.any_op_type = OperationType.REPLACE + self.any_tokens = ["table1", "key11"] + self.any_path = "/table1/key11" + self.any_config = { + "table1": { + "key11": "value11" + } + } + self.any_value = "value11" + self.any_operation = self.operation_wrapper.create(self.any_op_type, self.any_path, self.any_value) + self.any_diff = ps.Diff(self.any_config, self.any_config) + + def test_ctor__delete_op_whole_config__none_value_and_empty_path(self): + # Arrange + path = "" + diff = ps.Diff(current_config={}, target_config=self.any_config) + + # Act + jsonmove = ps.JsonMove(diff, OperationType.REMOVE, []) + + # Assert + self.verify_jsonmove(self.operation_wrapper.create(OperationType.REMOVE, path), + OperationType.REMOVE, + [], + None, + jsonmove) + def test_ctor__remove_op__operation_created_directly(self): + # Arrange and Act + jsonmove = ps.JsonMove(self.any_diff, OperationType.REMOVE, self.any_tokens) + + # Assert + self.verify_jsonmove(self.operation_wrapper.create(OperationType.REMOVE, self.any_path), + OperationType.REMOVE, + self.any_tokens, + None, + jsonmove) + + def test_ctor__replace_op_whole_config__whole_config_value_and_empty_path(self): + # Arrange + path = "" + diff = ps.Diff(current_config={}, target_config=self.any_config) + + # Act + jsonmove = ps.JsonMove(diff, OperationType.REPLACE, [], []) + + # Assert + self.verify_jsonmove(self.operation_wrapper.create(OperationType.REPLACE, path, self.any_config), + OperationType.REPLACE, + [], + [], + jsonmove) + + def test_ctor__replace_op__operation_created_directly(self): + # Arrange and Act + jsonmove = ps.JsonMove(self.any_diff, OperationType.REPLACE, self.any_tokens, self.any_tokens) + + # Assert + self.verify_jsonmove(self.operation_wrapper.create(OperationType.REPLACE, self.any_path, self.any_value), + OperationType.REPLACE, + self.any_tokens, + self.any_tokens, + jsonmove) + + def test_ctor__add_op_whole_config__whole_config_value_and_empty_path(self): + # Arrange + path = "" + diff = ps.Diff(current_config={}, target_config=self.any_config) + + # Act + jsonmove = ps.JsonMove(diff, OperationType.ADD, [], []) + + # Assert + self.verify_jsonmove(self.operation_wrapper.create(OperationType.ADD, path, self.any_config), + OperationType.ADD, + [], + [], + jsonmove) + + def test_ctor__add_op_path_exist__same_value_and_path(self): + # Arrange and Act + jsonmove = ps.JsonMove(self.any_diff, OperationType.ADD, self.any_tokens, self.any_tokens) + + # Assert + self.verify_jsonmove(self.operation_wrapper.create(OperationType.ADD, self.any_path, self.any_value), + OperationType.ADD, + self.any_tokens, + self.any_tokens, + jsonmove) + + def test_ctor__add_op_path_exist_include_list__same_value_and_path(self): + # Arrange + current_config = { + "table1": { + "list1": ["value11", "value13"] + } + } + target_config = { + "table1": { + "list1": ["value11", "value12", "value13", "value14"] + } + } + diff = ps.Diff(current_config, target_config) + op_type = OperationType.ADD + current_config_tokens = ["table1", "list1", 1] # Index is 1 which does not exist in target + target_config_tokens = ["table1", "list1", 1] + expected_jsonpatch_path = "/table1/list1/1" + expected_jsonpatch_value = "value12" + # NOTE: the target config can contain more diff than the given move. + + # Act + jsonmove = ps.JsonMove(diff, op_type, current_config_tokens, target_config_tokens) + + # Assert + self.verify_jsonmove(self.operation_wrapper.create(op_type, expected_jsonpatch_path, expected_jsonpatch_value), + op_type, + current_config_tokens, + target_config_tokens, + jsonmove) + + def test_ctor__add_op_path_exist_list_index_doesnot_exist_in_target___same_value_and_path(self): + # Arrange + current_config = { + "table1": { + "list1": ["value11"] + } + } + target_config = { + "table1": { + "list1": ["value12"] + } + } + diff = ps.Diff(current_config, target_config) + op_type = OperationType.ADD + current_config_tokens = ["table1", "list1", 1] # Index is 1 which does not exist in target + target_config_tokens = ["table1", "list1", 0] + expected_jsonpatch_path = "/table1/list1/1" + expected_jsonpatch_value = "value12" + # NOTE: the target config can contain more diff than the given move. + + # Act + jsonmove = ps.JsonMove(diff, op_type, current_config_tokens, target_config_tokens) + + # Assert + self.verify_jsonmove(self.operation_wrapper.create(op_type, expected_jsonpatch_path, expected_jsonpatch_value), + op_type, + current_config_tokens, + target_config_tokens, + jsonmove) + + def test_ctor__add_op_path_doesnot_exist__value_and_path_of_parent(self): + # Arrange + current_config = { + } + target_config = { + "table1": { + "key11": { + "key111": "value111" + } + } + } + diff = ps.Diff(current_config, target_config) + op_type = OperationType.ADD + current_config_tokens = ["table1", "key11", "key111"] + target_config_tokens = ["table1", "key11", "key111"] + expected_jsonpatch_path = "/table1" + expected_jsonpatch_value = { + "key11": { + "key111": "value111" + } + } + # NOTE: the target config can contain more diff than the given move. + + # Act + jsonmove = ps.JsonMove(diff, op_type, current_config_tokens, target_config_tokens) + + # Assert + self.verify_jsonmove(self.operation_wrapper.create(op_type, expected_jsonpatch_path, expected_jsonpatch_value), + op_type, + current_config_tokens, + target_config_tokens, + jsonmove) + + def test_ctor__add_op_path_doesnot_exist_include_list__value_and_path_of_parent(self): + # Arrange + current_config = { + } + target_config = { + "table1": { + "list1": ["value11", "value12", "value13", "value14"] + } + } + diff = ps.Diff(current_config, target_config) + op_type = OperationType.ADD + current_config_tokens = ["table1", "list1", 0] + target_config_tokens = ["table1", "list1", 1] + expected_jsonpatch_path = "/table1" + expected_jsonpatch_value = { + "list1": ["value12"] + } + # NOTE: the target config can contain more diff than the given move. + + # Act + jsonmove = ps.JsonMove(diff, op_type, current_config_tokens, target_config_tokens) + + # Assert + self.verify_jsonmove(self.operation_wrapper.create(op_type, expected_jsonpatch_path, expected_jsonpatch_value), + op_type, + current_config_tokens, + target_config_tokens, + jsonmove) + + def test_from_patch__more_than_1_op__failure(self): + # Arrange + patch = jsonpatch.JsonPatch([self.any_operation, self.any_operation]) + + # Act and Assert + self.assertRaises(GenericConfigUpdaterError, ps.JsonMove.from_patch, patch) + + def test_from_patch__delete_op__delete_jsonmove(self): + # Arrange + operation = self.operation_wrapper.create(OperationType.REMOVE, self.any_path) + patch = jsonpatch.JsonPatch([operation]) + + # Act + jsonmove = ps.JsonMove.from_patch(patch) + + # Assert + self.verify_jsonmove(operation, + OperationType.REMOVE, + self.any_tokens, + None, + jsonmove) + + def test_from_patch__replace_op__replace_jsonmove(self): + # Arrange + operation = self.operation_wrapper.create(OperationType.REPLACE, self.any_path, self.any_value) + patch = jsonpatch.JsonPatch([operation]) + + # Act + jsonmove = ps.JsonMove.from_patch(patch) + + # Assert + self.verify_jsonmove(operation, + OperationType.REPLACE, + self.any_tokens, + self.any_tokens, + jsonmove) + + def test_from_patch__add_op__add_jsonmove(self): + # Arrange + operation = self.operation_wrapper.create(OperationType.ADD, self.any_path, self.any_value) + patch = jsonpatch.JsonPatch([operation]) + + # Act + jsonmove = ps.JsonMove.from_patch(patch) + + # Assert + self.verify_jsonmove(operation, + OperationType.ADD, + self.any_tokens, + self.any_tokens, + jsonmove) + + def test_from_patch__add_op_with_list_indexes__add_jsonmove(self): + # Arrange + path = "/table1/key11/list1111/3" + value = "value11111" + # From a JsonPatch it is not possible to figure out if the '3' is an item in a list or a dictionary, + # will assume by default a dictionary for simplicity. + tokens = ["table1", "key11", "list1111", "3"] + operation = self.operation_wrapper.create(OperationType.ADD, path, value) + patch = jsonpatch.JsonPatch([operation]) + + # Act + jsonmove = ps.JsonMove.from_patch(patch) + + # Assert + self.verify_jsonmove(operation, + OperationType.ADD, + tokens, + tokens, + jsonmove) + + def test_from_patch__replace_whole_config__whole_config_jsonmove(self): + # Arrange + tokens = [] + path = "" + value = {"table1": {"key1": "value1"} } + operation = self.operation_wrapper.create(OperationType.REPLACE, path, value) + patch = jsonpatch.JsonPatch([operation]) + + # Act + jsonmove = ps.JsonMove.from_patch(patch) + + # Assert + self.verify_jsonmove(operation, + OperationType.REPLACE, + tokens, + tokens, + jsonmove) + + def verify_jsonmove(self, + expected_operation, + expected_op_type, + expected_current_config_tokens, + expected_target_config_tokens, + jsonmove): + expected_patch = jsonpatch.JsonPatch([expected_operation]) + self.assertEqual(expected_patch, jsonmove.patch) + self.assertEqual(expected_op_type, jsonmove.op_type) + self.assertListEqual(expected_current_config_tokens, jsonmove.current_config_tokens) + self.assertEqual(expected_target_config_tokens, jsonmove.target_config_tokens) + +class TestMoveWrapper(unittest.TestCase): + def setUp(self): + self.any_current_config = {} + self.any_target_config = {} + self.any_diff = ps.Diff(self.any_current_config, self.any_target_config) + self.any_move = Mock() + self.any_other_move1 = Mock() + self.any_other_move2 = Mock() + self.any_extended_move = Mock() + self.any_other_extended_move1 = Mock() + self.any_other_extended_move2 = Mock() + + self.single_move_generator = Mock() + self.single_move_generator.generate.side_effect = \ + create_side_effect_dict({(str(self.any_diff),): [self.any_move]}) + + self.another_single_move_generator = Mock() + self.another_single_move_generator.generate.side_effect = \ + create_side_effect_dict({(str(self.any_diff),): [self.any_other_move1]}) + + self.multiple_move_generator = Mock() + self.multiple_move_generator.generate.side_effect = create_side_effect_dict( + {(str(self.any_diff),): [self.any_move, self.any_other_move1, self.any_other_move2]}) + + self.single_move_extender = Mock() + self.single_move_extender.extend.side_effect = create_side_effect_dict( + { + (str(self.any_move), str(self.any_diff)): [self.any_extended_move], + (str(self.any_extended_move), str(self.any_diff)): [], # As first extended move will be extended + (str(self.any_other_extended_move1), str(self.any_diff)): [] # Needed when mixed with other extenders + }) + + self.another_single_move_extender = Mock() + self.another_single_move_extender.extend.side_effect = create_side_effect_dict( + { + (str(self.any_move), str(self.any_diff)): [self.any_other_extended_move1], + (str(self.any_other_extended_move1), str(self.any_diff)): [], # As first extended move will be extended + (str(self.any_extended_move), str(self.any_diff)): [] # Needed when mixed with other extenders + }) + + self.multiple_move_extender = Mock() + self.multiple_move_extender.extend.side_effect = create_side_effect_dict( + { + (str(self.any_move), str(self.any_diff)): \ + [self.any_extended_move, self.any_other_extended_move1, self.any_other_extended_move2], + # All extended moves will be extended + (str(self.any_extended_move), str(self.any_diff)): [], + (str(self.any_other_extended_move1), str(self.any_diff)): [], + (str(self.any_other_extended_move2), str(self.any_diff)): [], + }) + + self.mixed_move_extender = Mock() + self.mixed_move_extender.extend.side_effect = create_side_effect_dict( + { + (str(self.any_move), str(self.any_diff)): [self.any_extended_move], + (str(self.any_other_move1), str(self.any_diff)): [self.any_other_extended_move1], + (str(self.any_extended_move), str(self.any_diff)): \ + [self.any_other_extended_move1, self.any_other_extended_move2], + # All extended moves will be extended + (str(self.any_other_extended_move1), str(self.any_diff)): [], + (str(self.any_other_extended_move2), str(self.any_diff)): [], + }) + + self.fail_move_validator = Mock() + self.fail_move_validator.validate.side_effect = create_side_effect_dict( + {(str(self.any_move), str(self.any_diff)): False}) + + self.success_move_validator = Mock() + self.success_move_validator.validate.side_effect = create_side_effect_dict( + {(str(self.any_move), str(self.any_diff)): True}) + + def test_ctor__assigns_values_correctly(self): + # Arrange + move_generators = Mock() + move_extenders = Mock() + move_validators = Mock() + + # Act + move_wrapper = ps.MoveWrapper(move_generators, move_extenders, move_validators) + + # Assert + self.assertIs(move_generators, move_wrapper.move_generators) + self.assertIs(move_extenders, move_wrapper.move_extenders) + self.assertIs(move_validators, move_wrapper.move_validators) + + def test_generate__single_move_generator__single_move_returned(self): + # Arrange + move_generators = [self.single_move_generator] + move_wrapper = ps.MoveWrapper(move_generators, [], []) + expected = [self.any_move] + + # Act + actual = list(move_wrapper.generate(self.any_diff)) + + # Assert + self.assertListEqual(expected, actual) + + def test_generate__multiple_move_generator__multiple_move_returned(self): + # Arrange + move_generators = [self.multiple_move_generator] + move_wrapper = ps.MoveWrapper(move_generators, [], []) + expected = [self.any_move, self.any_other_move1, self.any_other_move2] + + # Act + actual = list(move_wrapper.generate(self.any_diff)) + + # Assert + self.assertListEqual(expected, actual) + + def test_generate__different_move_generators__different_moves_returned(self): + # Arrange + move_generators = [self.single_move_generator, self.another_single_move_generator] + move_wrapper = ps.MoveWrapper(move_generators, [], []) + expected = [self.any_move, self.any_other_move1] + + # Act + actual = list(move_wrapper.generate(self.any_diff)) + + # Assert + self.assertListEqual(expected, actual) + + def test_generate__duplicate_generated_moves__unique_moves_returned(self): + # Arrange + move_generators = [self.single_move_generator, self.single_move_generator] + move_wrapper = ps.MoveWrapper(move_generators, [], []) + expected = [self.any_move] + + # Act + actual = list(move_wrapper.generate(self.any_diff)) + + # Assert + self.assertListEqual(expected, actual) + + def test_generate__single_move_extender__one_extended_move_returned(self): + # Arrange + move_generators = [self.single_move_generator] + move_extenders = [self.single_move_extender] + move_wrapper = ps.MoveWrapper(move_generators, move_extenders, []) + expected = [self.any_move, self.any_extended_move] + + # Act + actual = list(move_wrapper.generate(self.any_diff)) + + # Assert + self.assertListEqual(expected, actual) + + def test_generate__multiple_move_extender__multiple_extended_move_returned(self): + # Arrange + move_generators = [self.single_move_generator] + move_extenders = [self.multiple_move_extender] + move_wrapper = ps.MoveWrapper(move_generators, move_extenders, []) + expected = [self.any_move, self.any_extended_move, self.any_other_extended_move1, self.any_other_extended_move2] + + # Act + actual = list(move_wrapper.generate(self.any_diff)) + + # Assert + self.assertListEqual(expected, actual) + + def test_generate__different_move_extenders__different_extended_moves_returned(self): + # Arrange + move_generators = [self.single_move_generator] + move_extenders = [self.single_move_extender, self.another_single_move_extender] + move_wrapper = ps.MoveWrapper(move_generators, move_extenders, []) + expected = [self.any_move, self.any_extended_move, self.any_other_extended_move1] + + # Act + actual = list(move_wrapper.generate(self.any_diff)) + + # Assert + self.assertListEqual(expected, actual) + + def test_generate__duplicate_extended_moves__unique_moves_returned(self): + # Arrange + move_generators = [self.single_move_generator] + move_extenders = [self.single_move_extender, self.single_move_extender] + move_wrapper = ps.MoveWrapper(move_generators, move_extenders, []) + expected = [self.any_move, self.any_extended_move] + + # Act + actual = list(move_wrapper.generate(self.any_diff)) + + # Assert + self.assertListEqual(expected, actual) + + def test_generate__mixed_extended_moves__unique_moves_returned(self): + # Arrange + move_generators = [self.single_move_generator, self.another_single_move_generator] + move_extenders = [self.mixed_move_extender] + move_wrapper = ps.MoveWrapper(move_generators, move_extenders, []) + expected = [self.any_move, + self.any_other_move1, + self.any_extended_move, + self.any_other_extended_move1, + self.any_other_extended_move2] + + # Act + actual = list(move_wrapper.generate(self.any_diff)) + + # Assert + self.assertListEqual(expected, actual) + + def test_validate__validation_fail__false_returned(self): + # Arrange + move_validators = [self.fail_move_validator] + move_wrapper = ps.MoveWrapper([], [], move_validators) + + # Act and assert + self.assertFalse(move_wrapper.validate(self.any_move, self.any_diff)) + + def test_validate__validation_succeed__true_returned(self): + # Arrange + move_validators = [self.success_move_validator] + move_wrapper = ps.MoveWrapper([], [], move_validators) + + # Act and assert + self.assertTrue(move_wrapper.validate(self.any_move, self.any_diff)) + + def test_validate__multiple_validators_last_fail___false_returned(self): + # Arrange + move_validators = [self.success_move_validator, self.success_move_validator, self.fail_move_validator] + move_wrapper = ps.MoveWrapper([], [], move_validators) + + # Act and assert + self.assertFalse(move_wrapper.validate(self.any_move, self.any_diff)) + + def test_validate__multiple_validators_succeed___true_returned(self): + # Arrange + move_validators = [self.success_move_validator, self.success_move_validator, self.success_move_validator] + move_wrapper = ps.MoveWrapper([], [], move_validators) + + # Act and assert + self.assertTrue(move_wrapper.validate(self.any_move, self.any_diff)) + + def test_simulate__applies_move(self): + # Arrange + diff = Mock() + diff.apply_move.side_effect = create_side_effect_dict({(str(self.any_move), ): self.any_diff}) + move_wrapper = ps.MoveWrapper(None, None, None) + + # Act + actual = move_wrapper.simulate(self.any_move, diff) + + # Assert + self.assertIs(self.any_diff, actual) + +class TestDeleteWholeConfigMoveValidator(unittest.TestCase): + def setUp(self): + self.operation_wrapper = OperationWrapper() + self.validator = ps.DeleteWholeConfigMoveValidator() + self.any_diff = Mock() + self.any_non_whole_config_path = "/table1" + self.whole_config_path = "" + + def test_validate__non_remove_op_non_whole_config__success(self): + self.verify(OperationType.REPLACE, self.any_non_whole_config_path, True) + self.verify(OperationType.ADD, self.any_non_whole_config_path, True) + + def test_validate__remove_op_non_whole_config__success(self): + self.verify(OperationType.REMOVE, self.any_non_whole_config_path, True) + + def test_validate__non_remove_op_whole_config__success(self): + self.verify(OperationType.REPLACE, self.whole_config_path, True) + self.verify(OperationType.ADD, self.whole_config_path, True) + + def test_validate__remove_op_whole_config__failure(self): + self.verify(OperationType.REMOVE, self.whole_config_path, False) + + def verify(self, operation_type, path, expected): + # Arrange + value = None + if operation_type in [OperationType.ADD, OperationType.REPLACE]: + value = Mock() + + operation = self.operation_wrapper.create(operation_type, path, value) + move = ps.JsonMove.from_operation(operation) + + # Act + actual = self.validator.validate(move, self.any_diff) + + # Assert + self.assertEqual(expected, actual) + +class TestUniqueLanesMoveValidator(unittest.TestCase): + def setUp(self): + self.validator = ps.UniqueLanesMoveValidator() + + def test_validate__no_port_table__success(self): + config = {"ACL_TABLE": {}} + self.validate_target_config(config) + + def test_validate__empty_port_table__success(self): + config = {"PORT": {}} + self.validate_target_config(config) + + def test_validate__single_lane__success(self): + config = {"PORT": {"Ethernet0": {"lanes": "66", "speed":"10000"}}} + self.validate_target_config(config) + + def test_validate__different_lanes_single_port___success(self): + config = {"PORT": {"Ethernet0": {"lanes": "66, 67, 68", "speed":"10000"}}} + self.validate_target_config(config) + + def test_validate__different_lanes_multi_ports___success(self): + config = {"PORT": { + "Ethernet0": {"lanes": "64, 65", "speed":"10000"}, + "Ethernet1": {"lanes": "66, 67, 68", "speed":"10000"}, + }} + self.validate_target_config(config) + + def test_validate__same_lanes_single_port___success(self): + config = {"PORT": {"Ethernet0": {"lanes": "65, 65", "speed":"10000"}}} + self.validate_target_config(config, False) + + def validate_target_config(self, target_config, expected=True): + # Arrange + current_config = {} + diff = ps.Diff(current_config, target_config) + move = ps.JsonMove(diff, OperationType.REPLACE, [], []) + + # Act + actual = self.validator.validate(move, diff) + + # Assert + self.assertEqual(expected, actual) + +class TestFullConfigMoveValidator(unittest.TestCase): + def setUp(self): + self.any_current_config = Mock() + self.any_target_config = Mock() + self.any_simulated_config = Mock() + self.any_diff = ps.Diff(self.any_current_config, self.any_target_config) + self.any_move = Mock() + self.any_move.apply.side_effect = \ + create_side_effect_dict({(str(self.any_current_config),): self.any_simulated_config}) + + def test_validate__invalid_config_db_after_applying_move__failure(self): + # Arrange + config_wrapper = Mock() + config_wrapper.validate_config_db_config.side_effect = \ + create_side_effect_dict({(str(self.any_simulated_config),): False}) + validator = ps.FullConfigMoveValidator(config_wrapper) + + # Act and assert + self.assertFalse(validator.validate(self.any_move, self.any_diff)) + + def test_validate__valid_config_db_after_applying_move__success(self): + # Arrange + config_wrapper = Mock() + config_wrapper.validate_config_db_config.side_effect = \ + create_side_effect_dict({(str(self.any_simulated_config),): True}) + validator = ps.FullConfigMoveValidator(config_wrapper) + + # Act and assert + self.assertTrue(validator.validate(self.any_move, self.any_diff)) + +class TestCreateOnlyMoveValidator(unittest.TestCase): + def setUp(self): + self.validator = ps.CreateOnlyMoveValidator(ps.PathAddressing()) + self.any_diff = ps.Diff({}, {}) + + def test_validate__non_replace_operation__success(self): + # Assert + self.assertTrue(self.validator.validate( \ + ps.JsonMove(self.any_diff, OperationType.ADD, [], []), self.any_diff)) + self.assertTrue(self.validator.validate( \ + ps.JsonMove(self.any_diff, OperationType.REMOVE, [], []), self.any_diff)) + + def test_validate__no_create_only_field__success(self): + current_config = {"PORT": {}} + target_config = {"PORT": {}, "ACL_TABLE": {}} + self.verify_diff(current_config, target_config) + + def test_validate__same_create_only_field__success(self): + current_config = {"PORT": {"Ethernet0":{"lanes":"65"}}} + target_config = {"PORT": {"Ethernet0":{"lanes":"65"}}, "ACL_TABLE": {}} + self.verify_diff(current_config, target_config) + + def test_validate__different_create_only_field__failure(self): + current_config = {"PORT": {"Ethernet0":{"lanes":"65"}}} + target_config = {"PORT": {"Ethernet0":{"lanes":"66"}}, "ACL_TABLE": {}} + self.verify_diff(current_config, target_config, expected=False) + + def test_validate__different_create_only_field_directly_updated__failure(self): + current_config = {"PORT": {"Ethernet0":{"lanes":"65"}}} + target_config = {"PORT": {"Ethernet0":{"lanes":"66"}}, "ACL_TABLE": {}} + self.verify_diff(current_config, + target_config, + ["PORT", "Ethernet0", "lanes"], + ["PORT", "Ethernet0", "lanes"], + False) + + def test_validate__different_create_only_field_updating_parent__failure(self): + current_config = {"PORT": {"Ethernet0":{"lanes":"65"}}} + target_config = {"PORT": {"Ethernet0":{"lanes":"66"}}, "ACL_TABLE": {}} + self.verify_diff(current_config, + target_config, + ["PORT", "Ethernet0"], + ["PORT", "Ethernet0"], + False) + + def test_validate__different_create_only_field_updating_grandparent__failure(self): + current_config = {"PORT": {"Ethernet0":{"lanes":"65"}}} + target_config = {"PORT": {"Ethernet0":{"lanes":"66"}}, "ACL_TABLE": {}} + self.verify_diff(current_config, + target_config, + ["PORT"], + ["PORT"], + False) + + def test_validate__same_create_only_field_directly_updated__failure(self): + current_config = {"PORT": {"Ethernet0":{"lanes":"65"}}} + target_config = {"PORT": {"Ethernet0":{"lanes":"65"}}, "ACL_TABLE": {}} + self.verify_diff(current_config, + target_config, + ["PORT", "Ethernet0", "lanes"], + ["PORT", "Ethernet0", "lanes"]) + + def test_validate__same_create_only_field_updating_parent__failure(self): + current_config = {"PORT": {"Ethernet0":{"lanes":"65"}}} + target_config = {"PORT": {"Ethernet0":{"lanes":"65"}}, "ACL_TABLE": {}} + self.verify_diff(current_config, + target_config, + ["PORT", "Ethernet0"], + ["PORT", "Ethernet0"]) + + def test_validate__same_create_only_field_updating_grandparent__failure(self): + current_config = {"PORT": {"Ethernet0":{"lanes":"65"}}} + target_config = {"PORT": {"Ethernet0":{"lanes":"65"}}, "ACL_TABLE": {}} + self.verify_diff(current_config, + target_config, + ["PORT"], + ["PORT"]) + + def verify_diff(self, current_config, target_config, current_config_tokens=None, target_config_tokens=None, expected=True): + # Arrange + current_config_tokens = current_config_tokens if current_config_tokens else [] + target_config_tokens = target_config_tokens if target_config_tokens else [] + diff = ps.Diff(current_config, target_config) + move = ps.JsonMove(diff, OperationType.REPLACE, current_config_tokens, target_config_tokens) + + # Act + actual = self.validator.validate(move, diff) + + # Assert + self.assertEqual(expected, actual) + +class TestNoDependencyMoveValidator(unittest.TestCase): + def setUp(self): + path_addressing = ps.PathAddressing() + config_wrapper = ConfigWrapper() + self.validator = ps.NoDependencyMoveValidator(path_addressing, config_wrapper) + + def test_validate__add_full_config_has_dependencies__failure(self): + # Arrange + # CROPPED_CONFIG_DB_AS_JSON has dependencies between PORT and ACL_TABLE + diff = ps.Diff(Files.EMPTY_CONFIG_DB, Files.CROPPED_CONFIG_DB_AS_JSON) + move = ps.JsonMove(diff, OperationType.ADD, [], []) + + # Act and assert + self.assertFalse(self.validator.validate(move, diff)) + + def test_validate__add_full_config_no_dependencies__success(self): + # Arrange + diff = ps.Diff(Files.EMPTY_CONFIG_DB, Files.CONFIG_DB_NO_DEPENDENCIES) + move = ps.JsonMove(diff, OperationType.ADD, [], []) + + # Act and assert + self.assertTrue(self.validator.validate(move, diff)) + + def test_validate__add_table_has_no_dependencies__success(self): + # Arrange + target_config = Files.CROPPED_CONFIG_DB_AS_JSON + # prepare current config by removing ACL_TABLE from current config + current_config = self.prepare_config(target_config, jsonpatch.JsonPatch([ + {"op": "remove", "path":"/ACL_TABLE"} + ])) + diff = ps.Diff(current_config, target_config) + move = ps.JsonMove(diff, OperationType.ADD, ["ACL_TABLE"], ["ACL_TABLE"]) + + # Act and assert + self.assertTrue(self.validator.validate(move, diff)) + + def test_validate__remove_full_config_has_dependencies__failure(self): + # Arrange + # CROPPED_CONFIG_DB_AS_JSON has dependencies between PORT and ACL_TABLE + diff = ps.Diff(Files.CROPPED_CONFIG_DB_AS_JSON, Files.EMPTY_CONFIG_DB) + move = ps.JsonMove(diff, OperationType.REMOVE, [], []) + + # Act and assert + self.assertFalse(self.validator.validate(move, diff)) + + def test_validate__remove_full_config_no_dependencies__success(self): + # Arrange + diff = ps.Diff(Files.EMPTY_CONFIG_DB, Files.CONFIG_DB_NO_DEPENDENCIES) + move = ps.JsonMove(diff, OperationType.REMOVE, [], []) + + # Act and assert + self.assertTrue(self.validator.validate(move, diff)) + + def test_validate__remove_table_has_no_dependencies__success(self): + # Arrange + current_config = Files.CROPPED_CONFIG_DB_AS_JSON + target_config = self.prepare_config(current_config, jsonpatch.JsonPatch([ + {"op": "remove", "path":"/ACL_TABLE"} + ])) + diff = ps.Diff(current_config, target_config) + move = ps.JsonMove(diff, OperationType.REMOVE, ["ACL_TABLE"]) + + # Act and assert + self.assertTrue(self.validator.validate(move, diff)) + + def test_validate__replace_whole_config_item_added_ref_added__failure(self): + # Arrange + target_config = Files.SIMPLE_CONFIG_DB_INC_DEPS + # prepare current config by removing an item and its ref from target config + current_config = self.prepare_config(target_config, jsonpatch.JsonPatch([ + {"op": "replace", "path":"/ACL_TABLE/EVERFLOW/ports/0", "value":""}, + {"op": "remove", "path":"/PORT/Ethernet0"} + ])) + + diff = ps.Diff(current_config, target_config) + move = ps.JsonMove(diff, OperationType.REPLACE, [], []) + + # Act and assert + self.assertFalse(self.validator.validate(move, diff)) + + def test_validate__replace_whole_config_item_removed_ref_removed__false(self): + # Arrange + current_config = Files.SIMPLE_CONFIG_DB_INC_DEPS + # prepare target config by removing an item and its ref from current config + target_config = self.prepare_config(current_config, jsonpatch.JsonPatch([ + {"op": "replace", "path":"/ACL_TABLE/EVERFLOW/ports/0", "value":""}, + {"op": "remove", "path":"/PORT/Ethernet0"} + ])) + + diff = ps.Diff(current_config, target_config) + move = ps.JsonMove(diff, OperationType.REPLACE, [], []) + + # Act and assert + self.assertFalse(self.validator.validate(move, diff)) + + def test_validate__replace_whole_config_item_same_ref_added__true(self): + # Arrange + target_config = Files.SIMPLE_CONFIG_DB_INC_DEPS + # prepare current config by removing ref from target config + current_config = self.prepare_config(target_config, jsonpatch.JsonPatch([ + {"op": "replace", "path":"/ACL_TABLE/EVERFLOW/ports/0", "value":""} + ])) + + diff = ps.Diff(current_config, target_config) + move = ps.JsonMove(diff, OperationType.REPLACE, [], []) + + # Act and assert + self.assertTrue(self.validator.validate(move, diff)) + + def test_validate__replace_whole_config_item_same_ref_removed__true(self): + # Arrange + current_config= Files.SIMPLE_CONFIG_DB_INC_DEPS + # prepare target config by removing ref from current config + target_config = self.prepare_config(current_config, jsonpatch.JsonPatch([ + {"op": "replace", "path":"/ACL_TABLE/EVERFLOW/ports/0", "value":""} + ])) + + diff = ps.Diff(current_config, target_config) + move = ps.JsonMove(diff, OperationType.REPLACE, [], []) + + # Act and assert + self.assertTrue(self.validator.validate(move, diff)) + + def test_validate__replace_whole_config_item_same_ref_same__true(self): + # Arrange + current_config= Files.SIMPLE_CONFIG_DB_INC_DEPS + # prepare target config by removing ref from current config + target_config = current_config + + diff = ps.Diff(current_config, target_config) + move = ps.JsonMove(diff, OperationType.REPLACE, [], []) + + # Act and assert + self.assertTrue(self.validator.validate(move, diff)) + + def prepare_config(self, config, patch): + return patch.apply(config) + +class TestLowLevelMoveGenerator(unittest.TestCase): + def setUp(self): + path_addressing = PathAddressing() + self.generator = ps.LowLevelMoveGenerator(path_addressing) + + def test_generate__no_diff__no_moves(self): + self.verify() + + def test_generate__replace_key__replace_move(self): + self.verify(tc_ops=[{"op": "replace", 'path': '/PORT/Ethernet0/description', 'value':'any-desc'}]) + + def test_generate__leaf_key_missing__add_move(self): + self.verify( + cc_ops=[{"op": "remove", 'path': '/ACL_TABLE/EVERFLOW/policy_desc'}], + ex_ops=[{"op": "add", 'path': '/ACL_TABLE/EVERFLOW/policy_desc', 'value':'EVERFLOW'}] + ) + + def test_generate__leaf_key_additional__remove_move(self): + self.verify( + tc_ops=[{"op": "remove", 'path': '/ACL_TABLE/EVERFLOW/policy_desc'}] + ) + + def test_generate__table_missing__add_leafs_moves(self): + self.verify( + cc_ops=[{"op": "remove", 'path': '/VLAN'}], + ex_ops=[{'op': 'add', 'path': '/VLAN', 'value': {'Vlan1000': {'vlanid': '1000'}}}, + {'op': 'add', 'path': '/VLAN', 'value': {'Vlan1000': {'dhcp_servers': ['192.0.0.1']}}}, + {'op': 'add', 'path': '/VLAN', 'value': {'Vlan1000': {'dhcp_servers': ['192.0.0.2']}}}, + {'op': 'add', 'path': '/VLAN', 'value': {'Vlan1000': {'dhcp_servers': ['192.0.0.3']}}}, + {'op': 'add', 'path': '/VLAN', 'value': {'Vlan1000': {'dhcp_servers': ['192.0.0.4']}}}] + ) + + def test_generate__table_additional__remove_leafs_moves(self): + self.verify( + tc_ops=[{"op": "remove", 'path': '/VLAN'}], + ex_ops=[{'op': 'remove', 'path': '/VLAN/Vlan1000/vlanid'}, + {'op': 'remove', 'path': '/VLAN/Vlan1000/dhcp_servers/0'}, + {'op': 'remove', 'path': '/VLAN/Vlan1000/dhcp_servers/1'}, + {'op': 'remove', 'path': '/VLAN/Vlan1000/dhcp_servers/2'}, + {'op': 'remove', 'path': '/VLAN/Vlan1000/dhcp_servers/3'}] + ) + + def test_generate__leaf_table_missing__add_table(self): + self.verify( + tc_ops=[{"op": "add", 'path': '/NEW_TABLE', 'value':{}}] + ) + + def test_generate__leaf_table_additional__remove_table(self): + self.verify( + cc_ops=[{"op": "add", 'path': '/NEW_TABLE', 'value':{}}], + ex_ops=[{"op": "remove", 'path': '/NEW_TABLE'}] + ) + + def test_generate__replace_list_item__remove_add_replace_moves(self): + self.verify( + tc_ops=[{"op": "replace", 'path': '/ACL_TABLE/EVERFLOW/ports/0', 'value':'Ethernet0'}], + ex_ops=[ + {"op": "remove", 'path': '/ACL_TABLE/EVERFLOW/ports/0'}, + {"op": "add", 'path': '/ACL_TABLE/EVERFLOW/ports/0', 'value':'Ethernet0'}, + {"op": "replace", 'path': '/ACL_TABLE/EVERFLOW/ports/0', 'value':'Ethernet0'}, + ]) + + def test_generate__remove_list_item__remove_move(self): + self.verify( + tc_ops=[{"op": "remove", 'path': '/VLAN/Vlan1000/dhcp_servers/0'}]) + + def test_generate__remove_multiple_list_items__multiple_remove_moves(self): + self.verify( + tc_ops=[{"op": "remove", 'path': '/VLAN/Vlan1000/dhcp_servers/0'}, + {"op": "remove", 'path': '/VLAN/Vlan1000/dhcp_servers/0'}], + ex_ops=[{"op": "remove", 'path': '/VLAN/Vlan1000/dhcp_servers/0'}, + {"op": "remove", 'path': '/VLAN/Vlan1000/dhcp_servers/1'}] + ) + + def test_generate__remove_all_list_items__multiple_remove_moves(self): + self.verify( + tc_ops=[{"op": "replace", 'path': '/VLAN/Vlan1000/dhcp_servers', 'value':[]}], + ex_ops=[{"op": "remove", 'path': '/VLAN/Vlan1000/dhcp_servers/0'}, + {"op": "remove", 'path': '/VLAN/Vlan1000/dhcp_servers/2'}, + {"op": "remove", 'path': '/VLAN/Vlan1000/dhcp_servers/3'}, + {"op": "remove", 'path': '/VLAN/Vlan1000/dhcp_servers/1'}] + ) + + def test_generate__add_list_items__add_move(self): + self.verify( + tc_ops=[{"op": "add", 'path': '/VLAN/Vlan1000/dhcp_servers/0', 'value':'192.168.1.5'}] + ) + + def test_generate__add_multiple_list_items__multiple_add_moves(self): + self.verify( + tc_ops=[{"op": "add", 'path': '/VLAN/Vlan1000/dhcp_servers/0', 'value':'192.168.1.5'}, + {"op": "add", 'path': '/VLAN/Vlan1000/dhcp_servers/3', 'value':'192.168.1.6'}] + ) + + def test_generate__add_all_list_items__multiple_add_moves(self): + self.verify( + cc_ops=[{"op": "replace", 'path': '/VLAN/Vlan1000/dhcp_servers', 'value':[]}], + ex_ops=[{"op": "add", 'path': '/VLAN/Vlan1000/dhcp_servers/0', 'value':'192.0.0.1'}, + {"op": "add", 'path': '/VLAN/Vlan1000/dhcp_servers/0', 'value':'192.0.0.2'}, + {"op": "add", 'path': '/VLAN/Vlan1000/dhcp_servers/0', 'value':'192.0.0.3'}, + {"op": "add", 'path': '/VLAN/Vlan1000/dhcp_servers/0', 'value':'192.0.0.4'}] + ) + + def test_generate__replace_multiple_list_items__multiple_remove_add_replace_moves(self): + self.verify( + tc_ops=[{"op": "replace", 'path': '/VLAN/Vlan1000/dhcp_servers/0', 'value':'192.168.1.5'}, + {"op": "replace", 'path': '/VLAN/Vlan1000/dhcp_servers/3', 'value':'192.168.1.6'}], + ex_ops=[{"op": "remove", 'path': '/VLAN/Vlan1000/dhcp_servers/0'}, + {"op": "remove", 'path': '/VLAN/Vlan1000/dhcp_servers/3'}, + {"op": "add", 'path': '/VLAN/Vlan1000/dhcp_servers/0', 'value':'192.168.1.5'}, + {"op": "add", 'path': '/VLAN/Vlan1000/dhcp_servers/3', 'value':'192.168.1.6'}, + {"op": "replace", 'path': '/VLAN/Vlan1000/dhcp_servers/0', 'value':'192.168.1.5'}, + {"op": "replace", 'path': '/VLAN/Vlan1000/dhcp_servers/3', 'value':'192.168.1.6'}, + {"op": "replace", 'path': '/VLAN/Vlan1000/dhcp_servers/3', 'value':'192.168.1.5'}, + {"op": "replace", 'path': '/VLAN/Vlan1000/dhcp_servers/0', 'value':'192.168.1.6'}] + ) + + def test_generate__different_order_list_items__whole_list_replace_move(self): + self.verify( + tc_ops=[{"op": "replace", 'path': '/VLAN/Vlan1000/dhcp_servers', 'value':[ + "192.0.0.4", + "192.0.0.3", + "192.0.0.2", + "192.0.0.1" + ]}]) + + def test_generate__whole_list_missing__add_items_moves(self): + self.verify( + cc_ops=[{"op": "remove", 'path': '/VLAN/Vlan1000/dhcp_servers'}], + ex_ops=[{'op': 'add', 'path': '/VLAN/Vlan1000/dhcp_servers', 'value': ['192.0.0.1']}, + {'op': 'add', 'path': '/VLAN/Vlan1000/dhcp_servers', 'value': ['192.0.0.2']}, + {'op': 'add', 'path': '/VLAN/Vlan1000/dhcp_servers', 'value': ['192.0.0.3']}, + {'op': 'add', 'path': '/VLAN/Vlan1000/dhcp_servers', 'value': ['192.0.0.4']}]) + + def test_generate__whole_list_additional__remove_items_moves(self): + self.verify( + tc_ops=[{"op": "remove", 'path': '/VLAN/Vlan1000/dhcp_servers'}], + ex_ops=[{'op': 'remove', 'path': '/VLAN/Vlan1000/dhcp_servers/0'}, + {'op': 'remove', 'path': '/VLAN/Vlan1000/dhcp_servers/1'}, + {'op': 'remove', 'path': '/VLAN/Vlan1000/dhcp_servers/2'}, + {'op': 'remove', 'path': '/VLAN/Vlan1000/dhcp_servers/3'}]) + + def test_generate__empty_list_missing__add_whole_list(self): + self.verify( + tc_ops=[{"op": "replace", 'path': '/VLAN/Vlan1000/dhcp_servers', 'value':[]}], + cc_ops=[{"op": "remove", 'path': '/VLAN/Vlan1000/dhcp_servers'}], + ex_ops=[{'op': 'add', 'path': '/VLAN/Vlan1000/dhcp_servers', 'value':[]}]) + + def test_generate__empty_list_additional__remove_whole_list(self): + self.verify( + tc_ops=[{"op": "remove", 'path': '/VLAN/Vlan1000/dhcp_servers'}], + cc_ops=[{"op": "replace", 'path': '/VLAN/Vlan1000/dhcp_servers', 'value':[]}], + ex_ops=[{'op': 'remove', 'path': '/VLAN/Vlan1000/dhcp_servers'}]) + + def test_generate__dpb_1_to_4_example(self): + # Arrange + diff = ps.Diff(Files.DPB_1_SPLIT_FULL_CONFIG, Files.DPB_4_SPLITS_FULL_CONFIG) + + # Act + moves = list(self.generator.generate(diff)) + + # Assert + self.verify_moves([{'op': 'replace', 'path': '/PORT/Ethernet0/alias', 'value': 'Eth1/1'}, + {'op': 'replace', 'path': '/PORT/Ethernet0/lanes', 'value': '65'}, + {'op': 'replace', 'path': '/PORT/Ethernet0/description', 'value': ''}, + {'op': 'replace', 'path': '/PORT/Ethernet0/speed', 'value': '10000'}, + {'op': 'add', 'path': '/PORT/Ethernet1', 'value': {'alias': 'Eth1/2'}}, + {'op': 'add', 'path': '/PORT/Ethernet1', 'value': {'lanes': '66'}}, + {'op': 'add', 'path': '/PORT/Ethernet1', 'value': {'description': ''}}, + {'op': 'add', 'path': '/PORT/Ethernet1', 'value': {'speed': '10000'}}, + {'op': 'add', 'path': '/PORT/Ethernet2', 'value': {'alias': 'Eth1/3'}}, + {'op': 'add', 'path': '/PORT/Ethernet2', 'value': {'lanes': '67'}}, + {'op': 'add', 'path': '/PORT/Ethernet2', 'value': {'description': ''}}, + {'op': 'add', 'path': '/PORT/Ethernet2', 'value': {'speed': '10000'}}, + {'op': 'add', 'path': '/PORT/Ethernet3', 'value': {'alias': 'Eth1/4'}}, + {'op': 'add', 'path': '/PORT/Ethernet3', 'value': {'lanes': '68'}}, + {'op': 'add', 'path': '/PORT/Ethernet3', 'value': {'description': ''}}, + {'op': 'add', 'path': '/PORT/Ethernet3', 'value': {'speed': '10000'}}, + {'op': 'add', 'path': '/ACL_TABLE/NO-NSW-PACL-V4/ports/1', 'value': 'Ethernet1'}, + {'op': 'add', 'path': '/ACL_TABLE/NO-NSW-PACL-V4/ports/1', 'value': 'Ethernet2'}, + {'op': 'add', 'path': '/ACL_TABLE/NO-NSW-PACL-V4/ports/1', 'value': 'Ethernet3'}, + {'op': 'add', 'path': '/VLAN_MEMBER/Vlan100|Ethernet1', 'value': {'tagging_mode': 'untagged'}}, + {'op': 'add', 'path': '/VLAN_MEMBER/Vlan100|Ethernet2', 'value': {'tagging_mode': 'untagged'}}, + {'op': 'add', 'path': '/VLAN_MEMBER/Vlan100|Ethernet3', 'value': {'tagging_mode': 'untagged'}}], + moves) + + def test_generate__dpb_4_to_1_example(self): + # Arrange + diff = ps.Diff(Files.DPB_4_SPLITs_FULL_CONFIG, Files.DPB_1_SPLIT_FULL_CONFIG) + + # Act + moves = list(self.generator.generate(diff)) + + # Assert + self.verify_moves([{'op': 'replace', 'path': '/PORT/Ethernet0/alias', 'value': 'Eth1'}, + {'op': 'replace', 'path': '/PORT/Ethernet0/lanes', 'value': '65, 66, 67, 68'}, + {'op': 'replace', 'path': '/PORT/Ethernet0/description', 'value': 'Ethernet0 100G link'}, + {'op': 'replace', 'path': '/PORT/Ethernet0/speed', 'value': '100000'}, + {'op': 'remove', 'path': '/PORT/Ethernet1/alias'}, + {'op': 'remove', 'path': '/PORT/Ethernet1/lanes'}, + {'op': 'remove', 'path': '/PORT/Ethernet1/description'}, + {'op': 'remove', 'path': '/PORT/Ethernet1/speed'}, + {'op': 'remove', 'path': '/PORT/Ethernet2/alias'}, + {'op': 'remove', 'path': '/PORT/Ethernet2/lanes'}, + {'op': 'remove', 'path': '/PORT/Ethernet2/description'}, + {'op': 'remove', 'path': '/PORT/Ethernet2/speed'}, + {'op': 'remove', 'path': '/PORT/Ethernet3/alias'}, + {'op': 'remove', 'path': '/PORT/Ethernet3/lanes'}, + {'op': 'remove', 'path': '/PORT/Ethernet3/description'}, + {'op': 'remove', 'path': '/PORT/Ethernet3/speed'}, + {'op': 'remove', 'path': '/ACL_TABLE/NO-NSW-PACL-V4/ports/1'}, + {'op': 'remove', 'path': '/ACL_TABLE/NO-NSW-PACL-V4/ports/2'}, + {'op': 'remove', 'path': '/ACL_TABLE/NO-NSW-PACL-V4/ports/3'}, + {'op': 'remove', 'path': '/VLAN_MEMBER/Vlan100|Ethernet1/tagging_mode'}, + {'op': 'remove', 'path': '/VLAN_MEMBER/Vlan100|Ethernet2/tagging_mode'}, + {'op': 'remove', 'path': '/VLAN_MEMBER/Vlan100|Ethernet3/tagging_mode'}], + moves) + + def verify(self, tc_ops=None, cc_ops=None, ex_ops=None): + """ + Generate a diff where target config is modified using the given tc_ops. + The expected low level moves should ex_ops if it is not None, otherwise tc_ops + """ + # Arrange + diff = self.get_diff(target_config_ops=tc_ops, current_config_ops=cc_ops) + expected = ex_ops if ex_ops is not None else \ + tc_ops if tc_ops is not None else \ + [] + + # Act + actual = self.generator.generate(diff) + + # Assert + self.verify_moves(expected, actual) + + def verify_moves(self, ops, moves): + moves_ops = [list(move.patch)[0] for move in moves] + self.assertCountEqual(ops, moves_ops) + + def get_diff(self, target_config_ops = None, current_config_ops = None): + current_config = Files.CROPPED_CONFIG_DB_AS_JSON + if current_config_ops: + cc_patch = jsonpatch.JsonPatch(current_config_ops) + current_config = cc_patch.apply(current_config) + + target_config = Files.CROPPED_CONFIG_DB_AS_JSON + if target_config_ops: + tc_patch = jsonpatch.JsonPatch(target_config_ops) + target_config = tc_patch.apply(target_config) + + return ps.Diff(current_config, target_config) + +class TestUpperLevelMoveExtender(unittest.TestCase): + def setUp(self): + self.extender = ps.UpperLevelMoveExtender() + self.any_diff = ps.Diff(Files.ANY_CONFIG_DB, Files.ANY_CONFIG_DB) + + def test_extend__root_level_move__no_extended_moves(self): + self.verify(OperationType.REMOVE, []) + self.verify(OperationType.ADD, [], []) + self.verify(OperationType.REPLACE, [], []) + + def test_extend__remove_key_upper_level_does_not_exist__remove_upper_level(self): + self.verify(OperationType.REMOVE, + ["ACL_TABLE", "EVERFLOW", "policy_desc"], + tc_ops=[{'op':'remove', 'path':'/ACL_TABLE/EVERFLOW'}], + ex_ops=[{'op':'remove', 'path':'/ACL_TABLE/EVERFLOW'}]) + + def test_extend__remove_key_upper_level_does_exist__replace_upper_level(self): + self.verify(OperationType.REMOVE, + ["ACL_TABLE", "EVERFLOW", "policy_desc"], + tc_ops=[{'op':'remove', 'path':'/ACL_TABLE/EVERFLOW/policy_desc'}], + ex_ops=[{'op':'replace', 'path':'/ACL_TABLE/EVERFLOW', 'value':{ + "ports": [ + "Ethernet8" + ], + "stage": "ingress", + "type": "MIRROR" + }}]) + + def test_extend__remove_list_item_upper_level_does_not_exist__remove_upper_level(self): + self.verify(OperationType.REMOVE, + ["VLAN", "Vlan1000", "dhcp_servers", 1], + tc_ops=[{'op':'remove', 'path':'/VLAN/Vlan1000/dhcp_servers'}], + ex_ops=[{'op':'remove', 'path':'/VLAN/Vlan1000/dhcp_servers'}]) + + def test_extend__remove_list_item_upper_level_does_exist__replace_upper_level(self): + self.verify(OperationType.REMOVE, + ["VLAN", "Vlan1000", "dhcp_servers", 1], + tc_ops=[{'op':'remove', 'path':'/VLAN/Vlan1000/dhcp_servers/1'}], + ex_ops=[{'op':'replace', 'path':'/VLAN/Vlan1000/dhcp_servers', 'value':[ + "192.0.0.1", + "192.0.0.3", + "192.0.0.4" + ]}]) + + def test_extend__add_key_upper_level_missing__add_upper_level(self): + self.verify(OperationType.ADD, + ["ACL_TABLE", "EVERFLOW", "policy_desc"], + ["ACL_TABLE", "EVERFLOW", "policy_desc"], + cc_ops=[{'op':'remove', 'path':'/ACL_TABLE/EVERFLOW'}], + ex_ops=[{'op':'add', 'path':'/ACL_TABLE/EVERFLOW', 'value':{ + "policy_desc": "EVERFLOW", + "ports": [ + "Ethernet8" + ], + "stage": "ingress", + "type": "MIRROR" + }}]) + + def test_extend__add_key_upper_level_exist__replace_upper_level(self): + self.verify(OperationType.ADD, + ["ACL_TABLE", "EVERFLOW", "policy_desc"], + ["ACL_TABLE", "EVERFLOW", "policy_desc"], + cc_ops=[{'op':'remove', 'path':'/ACL_TABLE/EVERFLOW/policy_desc'}], + ex_ops=[{'op':'replace', 'path':'/ACL_TABLE/EVERFLOW', 'value':{ + "policy_desc": "EVERFLOW", + "ports": [ + "Ethernet8" + ], + "stage": "ingress", + "type": "MIRROR" + }}]) + + def test_extend__add_list_item_upper_level_missing__add_upper_level(self): + self.verify(OperationType.ADD, + ["VLAN", "Vlan1000", "dhcp_servers", 1], + ["VLAN", "Vlan1000", "dhcp_servers", 1], + cc_ops=[{'op':'remove', 'path':'/VLAN/Vlan1000/dhcp_servers'}], + ex_ops=[{'op':'add', 'path':'/VLAN/Vlan1000/dhcp_servers', 'value':[ + "192.0.0.1", + "192.0.0.2", + "192.0.0.3", + "192.0.0.4" + ]}]) + + def test_extend__add_list_item_upper_level_exist__replace_upper_level(self): + self.verify(OperationType.ADD, + ["VLAN", "Vlan1000", "dhcp_servers", 1], + ["VLAN", "Vlan1000", "dhcp_servers", 1], + cc_ops=[{'op':'remove', 'path':'/VLAN/Vlan1000/dhcp_servers/1'}], + ex_ops=[{'op':'replace', 'path':'/VLAN/Vlan1000/dhcp_servers', 'value':[ + "192.0.0.1", + "192.0.0.2", + "192.0.0.3", + "192.0.0.4" + ]}]) + + def test_extend__add_table__replace_whole_config(self): + self.verify(OperationType.ADD, + ["ACL_TABLE"], + ["ACL_TABLE"], + cc_ops=[{'op':'remove', 'path':'/ACL_TABLE'}], + ex_ops=[{'op':'replace', 'path':'', 'value':Files.CROPPED_CONFIG_DB_AS_JSON}]) + + def test_extend__replace_key__replace_upper_level(self): + self.verify(OperationType.REPLACE, + ["ACL_TABLE", "EVERFLOW", "policy_desc"], + ["ACL_TABLE", "EVERFLOW", "policy_desc"], + cc_ops=[{'op':'replace', 'path':'/ACL_TABLE/EVERFLOW/policy_desc', 'value':'old_desc'}], + ex_ops=[{'op':'replace', 'path':'/ACL_TABLE/EVERFLOW', 'value':{ + "policy_desc": "EVERFLOW", + "ports": [ + "Ethernet8" + ], + "stage": "ingress", + "type": "MIRROR" + }}]) + + def test_extend__replace_list_item__replace_upper_level(self): + self.verify(OperationType.REPLACE, + ["VLAN", "Vlan1000", "dhcp_servers", 1], + ["VLAN", "Vlan1000", "dhcp_servers", 1], + cc_ops=[{'op':'replace', 'path':'/VLAN/Vlan1000/dhcp_servers/1', 'value':'192.0.0.7'}], + ex_ops=[{'op':'replace', 'path':'/VLAN/Vlan1000/dhcp_servers', 'value':[ + "192.0.0.1", + "192.0.0.2", + "192.0.0.3", + "192.0.0.4" + ]}]) + + def test_extend__replace_table__replace_whole_config(self): + self.verify(OperationType.REPLACE, + ["VLAN"], + ["VLAN"], + cc_ops=[{'op':'replace', 'path':'/VLAN/Vlan1000/dhcp_servers/1', 'value':'192.0.0.7'}], + ex_ops=[{'op':'replace', 'path':'', 'value':Files.CROPPED_CONFIG_DB_AS_JSON}]) + + def verify(self, op_type, ctokens, ttokens=None, cc_ops=[], tc_ops=[], ex_ops=[]): + """ + cc_ops, tc_ops are used to build the diff object. + diff, op_type, ctokens, ttokens are used to build the move. + move is extended and the result should match ex_ops. + """ + # Arrange + current_config=jsonpatch.JsonPatch(cc_ops).apply(Files.CROPPED_CONFIG_DB_AS_JSON) + target_config=jsonpatch.JsonPatch(tc_ops).apply(Files.CROPPED_CONFIG_DB_AS_JSON) + diff = ps.Diff(current_config, target_config) + move = ps.JsonMove(diff, op_type, ctokens, ttokens) + + # Act + moves = self.extender.extend(move, diff) + + # Assert + self.verify_moves(ex_ops, moves) + + def verify_moves(self, ex_ops, moves): + moves_ops = [list(move.patch)[0] for move in moves] + self.assertCountEqual(ex_ops, moves_ops) + +class TestDeleteInsteadOfReplaceMoveExtender(unittest.TestCase): + def setUp(self): + self.extender = ps.DeleteInsteadOfReplaceMoveExtender() + + def test_extend__non_replace__no_extended_moves(self): + self.verify(OperationType.REMOVE, + ["ACL_TABLE"], + tc_ops=[{'op':'remove', 'path':'/ACL_TABLE'}], + ex_ops=[]) + self.verify(OperationType.ADD, + ["ACL_TABLE"], + ["ACL_TABLE"], + cc_ops=[{'op':'remove', 'path':'/ACL_TABLE'}], + ex_ops=[]) + + def test_extend__replace_key__delete_key(self): + self.verify(OperationType.REPLACE, + ["ACL_TABLE", "EVERFLOW", "policy_desc"], + ["ACL_TABLE", "EVERFLOW", "policy_desc"], + cc_ops=[{'op':'replace', 'path':'/ACL_TABLE/EVERFLOW/policy_desc', 'value':'old_desc'}], + ex_ops=[{'op':'remove', 'path':'/ACL_TABLE/EVERFLOW/policy_desc'}]) + + def test_extend__replace_list_item__delete_list_item(self): + self.verify(OperationType.REPLACE, + ["VLAN", "Vlan1000", "dhcp_servers", 1], + ["VLAN", "Vlan1000", "dhcp_servers", 1], + cc_ops=[{'op':'replace', 'path':'/VLAN/Vlan1000/dhcp_servers/1', 'value':'192.0.0.7'}], + ex_ops=[{'op':'remove', 'path':'/VLAN/Vlan1000/dhcp_servers/1'}]) + + def test_extend__replace_table__delete_table(self): + self.verify(OperationType.REPLACE, + ["ACL_TABLE"], + ["ACL_TABLE"], + cc_ops=[{'op':'replace', 'path':'/ACL_TABLE/EVERFLOW/policy_desc', 'value':'old_desc'}], + ex_ops=[{'op':'remove', 'path':'/ACL_TABLE'}]) + + def test_extend__replace_whole_config__delete_whole_config(self): + self.verify(OperationType.REPLACE, + [], + [], + cc_ops=[{'op':'replace', 'path':'/ACL_TABLE/EVERFLOW/policy_desc', 'value':'old_desc'}], + ex_ops=[{'op':'remove', 'path':''}]) + + def verify(self, op_type, ctokens, ttokens=None, cc_ops=[], tc_ops=[], ex_ops=[]): + """ + cc_ops, tc_ops are used to build the diff object. + diff, op_type, ctokens, ttokens are used to build the move. + move is extended and the result should match ex_ops. + """ + # Arrange + current_config=jsonpatch.JsonPatch(cc_ops).apply(Files.CROPPED_CONFIG_DB_AS_JSON) + target_config=jsonpatch.JsonPatch(tc_ops).apply(Files.CROPPED_CONFIG_DB_AS_JSON) + diff = ps.Diff(current_config, target_config) + move = ps.JsonMove(diff, op_type, ctokens, ttokens) + + # Act + moves = self.extender.extend(move, diff) + + # Assert + self.verify_moves(ex_ops, moves) + + def verify_moves(self, ex_ops, moves): + moves_ops = [list(move.patch)[0] for move in moves] + self.assertCountEqual(ex_ops, moves_ops) + +class DeleteRefsMoveExtender(unittest.TestCase): + def setUp(self): + self.extender = ps.DeleteRefsMoveExtender(PathAddressing()) + + def test_extend__non_delete_ops__no_extended_moves(self): + self.verify(OperationType.ADD, + ["ACL_TABLE"], + ["ACL_TABLE"], + cc_ops=[{'op':'remove', 'path':'/ACL_TABLE'}], + ex_ops=[]) + self.verify(OperationType.REPLACE, + ["ACL_TABLE"], + ["ACL_TABLE"], + cc_ops=[{'op':'remove', 'path':'/ACL_TABLE/EVERFLOW'}], + ex_ops=[]) + + def test_extend__path_with_no_refs__no_extended_moves(self): + self.verify(OperationType.REMOVE, + ["ACL_TABLE"], + tc_ops=[{'op':'remove', 'path':'/ACL_TABLE'}], + ex_ops=[]) + + def test_extend__path_with_direct_refs__extended_moves(self): + self.verify(OperationType.REMOVE, + ["PORT", "Ethernet0"], + tc_ops=[{'op':'remove', 'path':'/PORT/Ethernet0'}], + ex_ops=[{'op': 'remove', 'path': '/VLAN_MEMBER/Vlan1000|Ethernet0'}, + {'op': 'remove', 'path': '/ACL_TABLE/NO-NSW-PACL-V4/ports/0'}]) + + def test_extend__path_with_refs_to_children__extended_moves(self): + self.verify(OperationType.REMOVE, + ["PORT"], + tc_ops=[{'op':'remove', 'path':'/PORT/Ethernet0'}], + ex_ops=[{'op': 'remove', 'path': '/VLAN_MEMBER/Vlan1000|Ethernet0'}, + {'op': 'remove', 'path': '/ACL_TABLE/NO-NSW-PACL-V4/ports/0'}, + {'op': 'remove', 'path': '/VLAN_MEMBER/Vlan1000|Ethernet4'}, + {'op': 'remove', 'path': '/ACL_TABLE/DATAACL/ports/0'}, + {'op': 'remove', 'path': '/VLAN_MEMBER/Vlan1000|Ethernet8'}, + {'op': 'remove', 'path': '/ACL_TABLE/EVERFLOWV6/ports/0'}, + {'op': 'remove', 'path': '/ACL_TABLE/EVERFLOW/ports/0'}, + {'op': 'remove', 'path': '/ACL_TABLE/EVERFLOWV6/ports/1'}]) + + def verify(self, op_type, ctokens, ttokens=None, cc_ops=[], tc_ops=[], ex_ops=[]): + """ + cc_ops, tc_ops are used to build the diff object. + diff, op_type, ctokens, ttokens are used to build the move. + move is extended and the result should match ex_ops. + """ + # Arrange + current_config=jsonpatch.JsonPatch(cc_ops).apply(Files.CROPPED_CONFIG_DB_AS_JSON) + target_config=jsonpatch.JsonPatch(tc_ops).apply(Files.CROPPED_CONFIG_DB_AS_JSON) + diff = ps.Diff(current_config, target_config) + move = ps.JsonMove(diff, op_type, ctokens, ttokens) + + # Act + moves = self.extender.extend(move, diff) + + # Assert + self.verify_moves(ex_ops, moves) + + def verify_moves(self, ex_ops, moves): + moves_ops = [list(move.patch)[0] for move in moves] + self.assertCountEqual(ex_ops, moves_ops) + +class TestSortAlgorithmFactory(unittest.TestCase): + def test_dfs_sorter(self): + self.verify(ps.Algorithm.DFS, ps.DfsSorter) + + def test_bfs_sorter(self): + self.verify(ps.Algorithm.BFS, ps.BfsSorter) + + def test_memoization_sorter(self): + self.verify(ps.Algorithm.MEMOIZATION, ps.MemoizationSorter) + + def verify(self, algo, algo_class): + # Arrange + factory = ps.SortAlgorithmFactory(OperationWrapper(), ConfigWrapper(), PathAddressing()) + expected_generators = [ps.LowLevelMoveGenerator] + expected_extenders = [ps.UpperLevelMoveExtender, ps.DeleteInsteadOfReplaceMoveExtender, ps.DeleteRefsMoveExtender] + expected_validator = [ps.DeleteWholeConfigMoveValidator, + ps.FullConfigMoveValidator, + ps.NoDependencyMoveValidator, + ps.UniqueLanesMoveValidator, + ps.CreateOnlyMoveValidator] + + # Act + sorter = factory.create(algo) + actual_generators = [type(item) for item in sorter.move_wrapper.move_generators] + actual_extenders = [type(item) for item in sorter.move_wrapper.move_extenders] + actual_validators = [type(item) for item in sorter.move_wrapper.move_validators] + + # Assert + self.assertIsInstance(sorter, algo_class) + self.assertCountEqual(expected_generators, actual_generators) + self.assertCountEqual(expected_extenders, actual_extenders) + self.assertCountEqual(expected_validator, actual_validators) + +class TestPatchSorter(unittest.TestCase): + def create_patch_sorter(self, config=None): + if config is None: + config=Files.CROPPED_CONFIG_DB_AS_JSON + config_wrapper = ConfigWrapper() + config_wrapper.get_config_db_as_json = MagicMock(return_value=config) + patch_wrapper = PatchWrapper(config_wrapper) + operation_wrapper = OperationWrapper() + path_addressing= ps.PathAddressing() + sort_algorithm_factory = ps.SortAlgorithmFactory(operation_wrapper, config_wrapper, path_addressing) + + return ps.PatchSorter(config_wrapper, patch_wrapper, sort_algorithm_factory) + + def test_sort__empty_patch__returns_empty_changes_list(self): + # Arrange + patch = jsonpatch.JsonPatch([]) + expected = [] + + # Act + actual = self.create_patch_sorter().sort(patch) + + # Assert + self.assertCountEqual(expected, actual) + + def test_sort__patch_with_single_simple_operation__returns_one_change(self): + # Arrange + patch = jsonpatch.JsonPatch([{"op":"remove", "path":"/VLAN/Vlan1000/dhcp_servers/0"}]) + expected = [JsonChange(patch)] + + # Act + actual = self.create_patch_sorter().sort(patch) + + # Assert + self.assertCountEqual(expected, actual) + + def test_sort__replacing_create_only_field__success(self): + # Arrange + patch = jsonpatch.JsonPatch([{"op":"replace", "path": "/PORT/Ethernet0/lanes", "value":"67"}]) + + # Act + actual = self.create_patch_sorter(Files.DPB_1_SPLIT_FULL_CONFIG).sort(patch) + + # Assert + self.assertNotEqual(None, actual) + + def test_sort__inter_dependency_within_same_table__success(self): + # Arrange + patch = jsonpatch.JsonPatch([{"op":"add", "path":"/VLAN_INTERFACE", "value": { + "Vlan1000|fc02:1000::1/64": {}, + "Vlan1000|192.168.0.1/21": {}, + "Vlan1000": {} + }}]) + expected = [ + JsonChange(jsonpatch.JsonPatch([{"op": "add", "path": "/VLAN_INTERFACE", "value": {"Vlan1000": {}}}])), + JsonChange(jsonpatch.JsonPatch([{"op": "add", "path": "/VLAN_INTERFACE/Vlan1000|fc02:1000::1~164", "value": {}}])), + JsonChange(jsonpatch.JsonPatch([{"op": "add", "path": "/VLAN_INTERFACE/Vlan1000|192.168.0.1~121", "value": {}}])) + ] + + # Act + actual = self.create_patch_sorter().sort(patch) + + # Assert + self.assertListEqual(expected, actual) + + def test_sort__add_table__success(self): + self.verify(cc_ops=[{"op":"remove", "path":"/ACL_TABLE"}]) + + def test_sort__remove_table__success(self): + self.verify(tc_ops=[{"op":"remove", "path":"/ACL_TABLE"}]) + + def test_sort__modify_value_in_existing_table__success(self): + self.verify(tc_ops=[{"op":"replace", "path":"/ACL_TABLE/EVERFLOW/stage", "value":"egress"}]) + + def test_sort__modify_value_in_existing_array__success(self): + self.verify(tc_ops=[{"op":"replace", "path":"/ACL_TABLE/EVERFLOWV6/ports/0", "value":"Ethernet0"}]) + + def test_sort__add_value_to_existing_array__success(self): + self.verify(tc_ops=[{"op":"add", "path":"/ACL_TABLE/EVERFLOWV6/ports/0", "value":"Ethernet0"}]) + + def test_sort__add_new_key_to_existing_table__success(self): + self.verify(cc_ops=[{"op":"remove", "path":"/ACL_TABLE/EVERFLOWV6"}]) + + def test_sort__remove_2_items_with_dependency_from_different_tables__success(self): + self.verify(tc_ops=[{"op":"remove", "path":"/PORT/Ethernet0"}, + {"op":"remove", "path":"/VLAN_MEMBER/Vlan1000|Ethernet0"}, + {"op":"remove", "path":"/ACL_TABLE/NO-NSW-PACL-V4"}], # removing ACL from current and target + cc_ops=[{"op":"remove", "path":"/ACL_TABLE/NO-NSW-PACL-V4"}]) + + def test_sort__add_2_items_with_dependency_from_different_tables__success(self): + self.verify(tc_ops=[{"op":"remove", "path":"/ACL_TABLE/NO-NSW-PACL-V4"}], # removing ACL from current and target + cc_ops=[{"op":"remove", "path":"/PORT/Ethernet0"}, + {"op":"remove", "path":"/VLAN_MEMBER/Vlan1000|Ethernet0"}, + {"op":"remove", "path":"/ACL_TABLE/NO-NSW-PACL-V4"}]) + + def test_sort__remove_2_items_with_dependency_from_same_table__success(self): + self.verify(tc_ops=[{"op":"replace", "path":"", "value":Files.CONFIG_DB_WITH_INTERFACE}, + {"op":"remove", "path":"/INTERFACE/Ethernet8"}, + {"op":"remove", "path":"/INTERFACE/Ethernet8|10.0.0.1~130"}], + cc_ops=[{"op":"replace", "path":"", "value":Files.CONFIG_DB_WITH_INTERFACE}]) + + def test_sort__add_2_items_with_dependency_from_same_table__success(self): + self.verify(tc_ops=[{"op":"replace", "path":"", "value":Files.CONFIG_DB_WITH_INTERFACE}], + cc_ops=[{"op":"replace", "path":"", "value":Files.CONFIG_DB_WITH_INTERFACE}, + {"op":"remove", "path":"/INTERFACE/Ethernet8"}, + {"op":"remove", "path":"/INTERFACE/Ethernet8|10.0.0.1~130"}]) + + def test_sort__replace_mandatory_item__success(self): + self.verify(tc_ops=[{"op":"replace", "path":"/ACL_TABLE/EVERFLOWV6/type", "value":"L2"}]) + + def test_sort__dpb_1_to_4__success(self): + self.verify(tc_ops=[{"op":"replace", "path":"", "value":Files.DPB_4_SPLITS_FULL_CONFIG}], + cc_ops=[{"op":"replace", "path":"", "value":Files.DPB_1_SPLIT_FULL_CONFIG}]) + + def test_sort__dpb_4_to_1__success(self): + self.verify(tc_ops=[{"op":"replace", "path":"", "value":Files.DPB_1_SPLIT_FULL_CONFIG}], + cc_ops=[{"op":"replace", "path":"", "value":Files.DPB_4_SPLITS_FULL_CONFIG}]) + + def test_sort__remove_an_item_with_default_value__success(self): + self.verify(tc_ops=[{"op":"remove", "path":"/ACL_TABLE/EVERFLOW/stage"}]) + + def test_sort__modify_items_with_dependencies_using_must__success(self): + self.verify(tc_ops=[{"op":"replace", "path":"", "value":Files.CONFIG_DB_WITH_CRM}, + {"op":"replace", "path":"/CRM/Config/acl_counter_high_threshold", "value":"60"}, + {"op":"replace", "path":"/CRM/Config/acl_counter_low_threshold", "value":"50"}], + cc_ops=[{"op":"replace", "path":"", "value":Files.CONFIG_DB_WITH_CRM}]) + + # in the following example, it is possible to start with acl_counter_high_threshold + self.verify(tc_ops=[{"op":"replace", "path":"", "value":Files.CONFIG_DB_WITH_CRM}, + {"op":"replace", "path":"/CRM/Config/acl_counter_high_threshold", "value":"80"}, + {"op":"replace", "path":"/CRM/Config/acl_counter_low_threshold", "value":"60"}], + cc_ops=[{"op":"replace", "path":"", "value":Files.CONFIG_DB_WITH_CRM}]) + + def verify(self, cc_ops=[], tc_ops=[]): + # Arrange + config_wrapper=ConfigWrapper() + target_config=jsonpatch.JsonPatch(tc_ops).apply(Files.CROPPED_CONFIG_DB_AS_JSON) + current_config=jsonpatch.JsonPatch(cc_ops).apply(Files.CROPPED_CONFIG_DB_AS_JSON) + patch=jsonpatch.make_patch(current_config, target_config) + + # Act + actual = self.create_patch_sorter(current_config).sort(patch) + + # Assert + simulated_config = current_config + for move in actual: + simulated_config = move.apply(simulated_config) + self.assertTrue(config_wrapper.validate_config_db_config(simulated_config)) + self.assertEqual(target_config, simulated_config) From 1bc24ca8faf5df62f9be2100ad632df2e8f92274 Mon Sep 17 00:00:00 2001 From: Kebo Liu Date: Thu, 2 Sep 2021 12:10:53 +0800 Subject: [PATCH 286/342] [portstat pfcstat] Unify the packet number format in the output of portstat and pfcstat in all cases (#1755) #### What I did Unify the packet number format in the output of "portstat" and "pfcstat" for all cases. In some cases, the packet numbers in the output of these two commands are formatted with a comma, in some cases not. This is because only when the numbers are treated by function `ns_diff`, it will format the numbers with commas: `return '{:,}'.format(max(0, new - old))` , but `ns_diff` is not called in all cases. **for example, packet numbers in the output are NOT formatted with commas:** ``` pfcstat root@r-qa-sw-eth-2133:/home/admin# pfcstat Port Rx PFC0 PFC1 PFC2 PFC3 PFC4 PFC5 PFC6 PFC7 ----------- ------ ------ ------ ------ ------ ------ ------ ------ Ethernet120 0 0 0 0 0 0 0 0 Ethernet124 137407 0 45659 45660 0 45662 0 0 <-----FORMAT OF DATA BEFORE clear counters portstat portstat IFACE STATE RX_OK RX_BPS RX_UTIL RX_ERR RX_DRP RX_OVR TX_OK TX_BPS TX_UTIL TX_ERR TX_DRP TX_OVR ----------- ------- -------- -------- --------- -------- -------- -------- -------- -------- --------- -------- -------- -------- Ethernet0 X 0 N/A N/A 0 0 0 0 N/A N/A 0 0 0 Ethernet4 U 12804864 N/A N/A 0 0 0 9 N/A N/A 0 0 0 Ethernet8 X 0 N/A N/A 0 0 0 0 N/A N/A 0 0 0 Ethernet120 U 1 N/A N/A 0 0 0 11 N/A N/A 0 0 0 Ethernet124 U 1 N/A N/A 0 0 0 12363470 N/A N/A 0 429517 0 ``` **packet numbers in the output are formatted with commas:** ``` pfcstat Last cached time was 2021-08-02 10:35:32.725158 Port Rx PFC0 PFC1 PFC2 PFC3 PFC4 PFC5 PFC6 PFC7 ----------- ------ ------ ------ ------ ------ ------ ------ ------ Ethernet120 0 0 0 0 0 0 0 0 Ethernet124 25,007 0 25,006 25,006 0 25,007 0 0 <-----DIFFERENT FORMAT AFTER COUNTER CLEAR COMMAND portstat Last cached time was 2021-08-02 10:35:47.829677 IFACE STATE RX_OK RX_BPS RX_UTIL RX_ERR RX_DRP RX_OVR TX_OK TX_BPS TX_UTIL TX_ERR TX_DRP TX_OVR ----------- ------- --------- ------------ --------- -------- -------- -------- --------- ----------- --------- -------- -------- -------- Ethernet0 X 0 0.00 B/s 0.00% 0 0 0 0 0.00 B/s 0.00% 0 0 0 Ethernet4 U 1,570,775 862.60 MB/s 69.01% 0 0 0 0 28.29 KB/s 0.00% 0 0 0 Ethernet120 U 0 0.00 B/s 0.00% 0 0 0 0 0.00 B/s 0.00% 0 0 0 Ethernet124 U 0 1406.45 KB/s 0.11% 0 0 0 1,488,765 817.56 MB/s 65.40% 0 83,040 0 <----DIFFERENT PRESENTATION FORMAT OF NUMBERS ``` #### How I did it Add a new function `format_number_with_comma` to format the packet numbers with comma, this function will be called in case `ns_diff` is not applicable. Update the unitest to cover this new change. #### How to verify it execute portstat and pfcstat to check the output whether the number format is expected. #### Previous command output (if the output of a command-line utility has changed) ``` pfcstat root@r-qa-sw-eth-2133:/home/admin# pfcstat Port Rx PFC0 PFC1 PFC2 PFC3 PFC4 PFC5 PFC6 PFC7 ----------- ------ ------ ------ ------ ------ ------ ------ ------ Ethernet116 0 0 0 0 0 0 0 0 Ethernet120 0 0 0 0 0 0 0 0 Ethernet124 137407 0 45659 45660 0 45662 0 0 portstat IFACE STATE RX_OK RX_BPS RX_UTIL RX_ERR RX_DRP RX_OVR TX_OK TX_BPS TX_UTIL TX_ERR TX_DRP TX_OVR ----------- ------- -------- -------- --------- -------- -------- -------- -------- -------- --------- -------- -------- -------- Ethernet0 X 0 N/A N/A 0 0 0 0 N/A N/A 0 0 0 Ethernet4 U 804864 N/A N/A 0 0 0 9 N/A N/A 0 0 0 Ethernet120 U 1 N/A N/A 0 0 0 11 N/A N/A 0 0 0 Ethernet124 U 1 N/A N/A 0 0 0 363470 N/A N/A 0 429517 0 ``` #### New command output (if the output of a command-line utility has changed) ``` pfcstat root@r-qa-sw-eth-2133:/home/admin# pfcstat Port Rx PFC0 PFC1 PFC2 PFC3 PFC4 PFC5 PFC6 PFC7 ----------- ------ ------ ------ ------ ------ ------ ------ ------ Ethernet116 0 0 0 0 0 0 0 0 Ethernet120 0 0 0 0 0 0 0 0 Ethernet124 137,407 0 45,659 45,660 0 45,662 0 0 portstat Last cached time was 2021-08-02 10:35:47.829677 IFACE STATE RX_OK RX_BPS RX_UTIL RX_ERR RX_DRP RX_OVR TX_OK TX_BPS TX_UTIL TX_ERR TX_DRP TX_OVR ----------- ------- -------- -------- --------- -------- -------- -------- -------- -------- --------- -------- -------- -------- Ethernet0 X 0 N/A N/A 0 0 0 0 N/A N/A 0 0 0 Ethernet4 U 804,864 N/A N/A 0 0 0 9 N/A N/A 0 0 0 Ethernet120 U 1 N/A N/A 0 0 0 11 N/A N/A 0 0 0 Ethernet124 U 1 N/A N/A 0 0 0 363,470 N/A N/A 0 429,517 0 ``` --- scripts/pfcstat | 26 +++++--- scripts/portstat | 76 +++++++++++++++--------- tests/mock_tables/asic0/counters_db.json | 16 ++--- tests/mock_tables/asic1/counters_db.json | 8 +-- tests/mock_tables/asic2/counters_db.json | 16 ++--- tests/mock_tables/counters_db.json | 12 ++-- tests/pfcstat_test.py | 76 ++++++++++++------------ tests/portstat_test.py | 38 ++++++------ utilities_common/netstat.py | 10 ++++ 9 files changed, 157 insertions(+), 121 deletions(-) diff --git a/scripts/pfcstat b/scripts/pfcstat index f3256444be..6d11361527 100755 --- a/scripts/pfcstat +++ b/scripts/pfcstat @@ -18,7 +18,7 @@ from natsort import natsorted from tabulate import tabulate from sonic_py_common.multi_asic import get_external_ports -from utilities_common.netstat import ns_diff, STATUS_NA +from utilities_common.netstat import ns_diff, STATUS_NA, format_number_with_comma from utilities_common import multi_asic as multi_asic_util from utilities_common import constants @@ -141,10 +141,14 @@ class Pfcstat(object): if key == 'time': continue table.append((key, - data.pfc0, data.pfc1, - data.pfc2, data.pfc3, - data.pfc4, data.pfc5, - data.pfc6, data.pfc7)) + format_number_with_comma(data.pfc0), + format_number_with_comma(data.pfc1), + format_number_with_comma(data.pfc2), + format_number_with_comma(data.pfc3), + format_number_with_comma(data.pfc4), + format_number_with_comma(data.pfc5), + format_number_with_comma(data.pfc6), + format_number_with_comma(data.pfc7))) if rx: print(tabulate(table, header_Rx, tablefmt='simple', stralign='right')) @@ -176,10 +180,14 @@ class Pfcstat(object): ns_diff(cntr.pfc7, old_cntr.pfc7))) else: table.append((key, - cntr.pfc0, cntr.pfc1, - cntr.pfc2, cntr.pfc3, - cntr.pfc4, cntr.pfc5, - cntr.pfc6, cntr.pfc7)) + format_number_with_comma(cntr.pfc0), + format_number_with_comma(cntr.pfc1), + format_number_with_comma(cntr.pfc2), + format_number_with_comma(cntr.pfc3), + format_number_with_comma(cntr.pfc4), + format_number_with_comma(cntr.pfc5), + format_number_with_comma(cntr.pfc6), + format_number_with_comma(cntr.pfc7))) if rx: print(tabulate(table, header_Rx, tablefmt='simple', stralign='right')) diff --git a/scripts/portstat b/scripts/portstat index 7fa37108cf..82d673fea1 100755 --- a/scripts/portstat +++ b/scripts/portstat @@ -38,7 +38,7 @@ from utilities_common import constants from utilities_common.intf_filter import parse_interface_in_filter import utilities_common.multi_asic as multi_asic_util from utilities_common.netstat import (ns_brate, ns_diff, ns_prate, ns_util, - table_as_json) + table_as_json, format_number_with_comma) PORT_RATE = 40 @@ -238,27 +238,45 @@ class Portstat(object): if print_all: header = header_all table.append((key, self.get_port_state(key), - data.rx_ok, STATUS_NA, STATUS_NA, STATUS_NA, data.rx_err, - data.rx_drop, data.rx_ovr, - data.tx_ok, STATUS_NA, STATUS_NA, STATUS_NA, data.tx_err, - data.tx_drop, data.tx_ovr)) + format_number_with_comma(data.rx_ok), + STATUS_NA, STATUS_NA, STATUS_NA, + format_number_with_comma(data.rx_err), + format_number_with_comma(data.rx_drop), + format_number_with_comma(data.rx_ovr), + format_number_with_comma(data.tx_ok), + STATUS_NA, STATUS_NA, STATUS_NA, + format_number_with_comma(data.tx_err), + format_number_with_comma(data.tx_drop), + format_number_with_comma(data.tx_ovr))) elif errors_only: header = header_errors_only table.append((key, self.get_port_state(key), - data.rx_err, data.rx_drop, data.rx_ovr, - data.tx_err, data.tx_drop, data.tx_ovr)) + format_number_with_comma(data.rx_err), + format_number_with_comma(data.rx_drop), + format_number_with_comma(data.rx_ovr), + format_number_with_comma(data.tx_err), + format_number_with_comma(data.tx_drop), + format_number_with_comma(data.tx_ovr))) elif rates_only: header = header_rates_only table.append((key, self.get_port_state(key), - data.rx_ok, STATUS_NA, STATUS_NA, STATUS_NA, - data.tx_ok, STATUS_NA, STATUS_NA, STATUS_NA)) + format_number_with_comma(data.rx_ok), + STATUS_NA, STATUS_NA, STATUS_NA, + format_number_with_comma(data.tx_ok), + STATUS_NA, STATUS_NA, STATUS_NA)) else: header = header_std table.append((key, self.get_port_state(key), - data.rx_ok, STATUS_NA, STATUS_NA, data.rx_err, - data.rx_drop, data.rx_ovr, - data.tx_ok, STATUS_NA, STATUS_NA, data.tx_err, - data.tx_drop, data.tx_ovr)) + format_number_with_comma(data.rx_ok), + STATUS_NA, STATUS_NA, + format_number_with_comma(data.rx_err), + format_number_with_comma(data.rx_drop), + format_number_with_comma(data.rx_ovr), + format_number_with_comma(data.tx_ok), + STATUS_NA, STATUS_NA, + format_number_with_comma(data.tx_err), + format_number_with_comma(data.tx_drop), + format_number_with_comma(data.tx_ovr))) if use_json: print(table_as_json(table, header)) @@ -371,20 +389,20 @@ class Portstat(object): ns_diff(cntr.tx_ovr, old_cntr.tx_ovr))) else: table.append((key, self.get_port_state(key), - cntr.rx_ok, + format_number_with_comma(cntr.rx_ok), STATUS_NA, STATUS_NA, STATUS_NA, - cntr.rx_err, - cntr.rx_drop, - cntr.rx_ovr, - cntr.tx_ok, + format_number_with_comma(cntr.rx_err), + format_number_with_comma(cntr.rx_drop), + format_number_with_comma(cntr.rx_ovr), + format_number_with_comma(cntr.tx_ok), STATUS_NA, STATUS_NA, STATUS_NA, - cntr.tx_err, - cntr.tx_drop, - cntr.tx_ovr)) + format_number_with_comma(cntr.tx_err), + format_number_with_comma(cntr.tx_drop), + format_number_with_comma(cntr.tx_ovr))) elif errors_only: header = header_errors_only table.append((key, self.get_port_state(key), @@ -423,18 +441,18 @@ class Portstat(object): ns_diff(cntr.tx_ovr, old_cntr.tx_ovr))) else: table.append((key, self.get_port_state(key), - cntr.rx_ok, + format_number_with_comma(cntr.rx_ok), STATUS_NA, STATUS_NA, - cntr.rx_err, - cntr.rx_drop, - cntr.rx_ovr, - cntr.tx_ok, + format_number_with_comma(cntr.rx_err), + format_number_with_comma(cntr.rx_drop), + format_number_with_comma(cntr.rx_ovr), + format_number_with_comma(cntr.tx_ok), STATUS_NA, STATUS_NA, - cntr.tx_err, - cntr.tx_drop, - cntr.tx_ovr)) + format_number_with_comma(cntr.tx_err), + format_number_with_comma(cntr.tx_drop), + format_number_with_comma(cntr.tx_ovr))) if use_json: print(table_as_json(table, header)) diff --git a/tests/mock_tables/asic0/counters_db.json b/tests/mock_tables/asic0/counters_db.json index 167805e313..97dc7739e0 100644 --- a/tests/mock_tables/asic0/counters_db.json +++ b/tests/mock_tables/asic0/counters_db.json @@ -1474,7 +1474,7 @@ "SAI_PORT_STAT_IF_IN_DISCARDS": "100", "SAI_PORT_STAT_IN_DROP_REASON_RANGE_BASE": "80", "SAI_PORT_STAT_OUT_CONFIGURED_DROP_REASONS_1_DROPPED_PKTS": "20", - "SAI_PORT_STAT_PFC_0_RX_PKTS": "200", + "SAI_PORT_STAT_PFC_0_RX_PKTS": "1200", "SAI_PORT_STAT_PFC_1_RX_PKTS": "201", "SAI_PORT_STAT_PFC_2_RX_PKTS": "202", "SAI_PORT_STAT_PFC_3_RX_PKTS": "203", @@ -1482,7 +1482,7 @@ "SAI_PORT_STAT_PFC_5_RX_PKTS": "205", "SAI_PORT_STAT_PFC_6_RX_PKTS": "206", "SAI_PORT_STAT_PFC_7_RX_PKTS": "207", - "SAI_PORT_STAT_PFC_0_TX_PKTS": "210", + "SAI_PORT_STAT_PFC_0_TX_PKTS": "1210", "SAI_PORT_STAT_PFC_1_TX_PKTS": "211", "SAI_PORT_STAT_PFC_2_TX_PKTS": "212", "SAI_PORT_STAT_PFC_3_TX_PKTS": "213", @@ -1502,7 +1502,7 @@ "SAI_PORT_STAT_IF_IN_DISCARDS": "1000", "SAI_PORT_STAT_IN_DROP_REASON_RANGE_BASE": "800", "SAI_PORT_STAT_OUT_CONFIGURED_DROP_REASONS_1_DROPPED_PKTS": "100", - "SAI_PORT_STAT_PFC_0_RX_PKTS": "400", + "SAI_PORT_STAT_PFC_0_RX_PKTS": "1400", "SAI_PORT_STAT_PFC_1_RX_PKTS": "401", "SAI_PORT_STAT_PFC_2_RX_PKTS": "402", "SAI_PORT_STAT_PFC_3_RX_PKTS": "403", @@ -1510,7 +1510,7 @@ "SAI_PORT_STAT_PFC_5_RX_PKTS": "405", "SAI_PORT_STAT_PFC_6_RX_PKTS": "406", "SAI_PORT_STAT_PFC_7_RX_PKTS": "407", - "SAI_PORT_STAT_PFC_0_TX_PKTS": "410", + "SAI_PORT_STAT_PFC_0_TX_PKTS": "1410", "SAI_PORT_STAT_PFC_1_TX_PKTS": "411", "SAI_PORT_STAT_PFC_2_TX_PKTS": "412", "SAI_PORT_STAT_PFC_3_TX_PKTS": "413", @@ -1530,7 +1530,7 @@ "SAI_PORT_STAT_IF_IN_DISCARDS": "1000", "SAI_PORT_STAT_IN_DROP_REASON_RANGE_BASE": "800", "SAI_PORT_STAT_OUT_CONFIGURED_DROP_REASONS_1_DROPPED_PKTS": "100", - "SAI_PORT_STAT_PFC_0_RX_PKTS": "600", + "SAI_PORT_STAT_PFC_0_RX_PKTS": "1600", "SAI_PORT_STAT_PFC_1_RX_PKTS": "601", "SAI_PORT_STAT_PFC_2_RX_PKTS": "602", "SAI_PORT_STAT_PFC_3_RX_PKTS": "603", @@ -1538,7 +1538,7 @@ "SAI_PORT_STAT_PFC_5_RX_PKTS": "605", "SAI_PORT_STAT_PFC_6_RX_PKTS": "606", "SAI_PORT_STAT_PFC_7_RX_PKTS": "607", - "SAI_PORT_STAT_PFC_0_TX_PKTS": "610", + "SAI_PORT_STAT_PFC_0_TX_PKTS": "1610", "SAI_PORT_STAT_PFC_1_TX_PKTS": "611", "SAI_PORT_STAT_PFC_2_TX_PKTS": "612", "SAI_PORT_STAT_PFC_3_TX_PKTS": "613", @@ -1558,7 +1558,7 @@ "SAI_PORT_STAT_IF_IN_DISCARDS": "1000", "SAI_PORT_STAT_IN_DROP_REASON_RANGE_BASE": "800", "SAI_PORT_STAT_OUT_CONFIGURED_DROP_REASONS_1_DROPPED_PKTS": "100", - "SAI_PORT_STAT_PFC_0_RX_PKTS": "800", + "SAI_PORT_STAT_PFC_0_RX_PKTS": "1800", "SAI_PORT_STAT_PFC_1_RX_PKTS": "801", "SAI_PORT_STAT_PFC_2_RX_PKTS": "802", "SAI_PORT_STAT_PFC_3_RX_PKTS": "803", @@ -1566,7 +1566,7 @@ "SAI_PORT_STAT_PFC_5_RX_PKTS": "805", "SAI_PORT_STAT_PFC_6_RX_PKTS": "806", "SAI_PORT_STAT_PFC_7_RX_PKTS": "807", - "SAI_PORT_STAT_PFC_0_TX_PKTS": "810", + "SAI_PORT_STAT_PFC_0_TX_PKTS": "1810", "SAI_PORT_STAT_PFC_1_TX_PKTS": "811", "SAI_PORT_STAT_PFC_2_TX_PKTS": "812", "SAI_PORT_STAT_PFC_3_TX_PKTS": "813", diff --git a/tests/mock_tables/asic1/counters_db.json b/tests/mock_tables/asic1/counters_db.json index 279963b81b..d346d42774 100644 --- a/tests/mock_tables/asic1/counters_db.json +++ b/tests/mock_tables/asic1/counters_db.json @@ -130,7 +130,7 @@ "SAI_PORT_STAT_IF_IN_DISCARDS": "100", "SAI_PORT_STAT_IN_DROP_REASON_RANGE_BASE": "80", "SAI_PORT_STAT_OUT_CONFIGURED_DROP_REASONS_1_DROPPED_PKTS": "20", - "SAI_PORT_STAT_PFC_0_RX_PKTS": "900", + "SAI_PORT_STAT_PFC_0_RX_PKTS": "1900", "SAI_PORT_STAT_PFC_1_RX_PKTS": "901", "SAI_PORT_STAT_PFC_2_RX_PKTS": "902", "SAI_PORT_STAT_PFC_3_RX_PKTS": "903", @@ -138,7 +138,7 @@ "SAI_PORT_STAT_PFC_5_RX_PKTS": "905", "SAI_PORT_STAT_PFC_6_RX_PKTS": "906", "SAI_PORT_STAT_PFC_7_RX_PKTS": "907", - "SAI_PORT_STAT_PFC_0_TX_PKTS": "910", + "SAI_PORT_STAT_PFC_0_TX_PKTS": "1910", "SAI_PORT_STAT_PFC_1_TX_PKTS": "911", "SAI_PORT_STAT_PFC_2_TX_PKTS": "912", "SAI_PORT_STAT_PFC_3_TX_PKTS": "913", @@ -158,7 +158,7 @@ "SAI_PORT_STAT_IF_IN_DISCARDS": "1000", "SAI_PORT_STAT_IN_DROP_REASON_RANGE_BASE": "800", "SAI_PORT_STAT_OUT_CONFIGURED_DROP_REASONS_1_DROPPED_PKTS": "100", - "SAI_PORT_STAT_PFC_0_RX_PKTS": "100", + "SAI_PORT_STAT_PFC_0_RX_PKTS": "1100", "SAI_PORT_STAT_PFC_1_RX_PKTS": "101", "SAI_PORT_STAT_PFC_2_RX_PKTS": "102", "SAI_PORT_STAT_PFC_3_RX_PKTS": "103", @@ -166,7 +166,7 @@ "SAI_PORT_STAT_PFC_5_RX_PKTS": "105", "SAI_PORT_STAT_PFC_6_RX_PKTS": "106", "SAI_PORT_STAT_PFC_7_RX_PKTS": "107", - "SAI_PORT_STAT_PFC_0_TX_PKTS": "110", + "SAI_PORT_STAT_PFC_0_TX_PKTS": "1110", "SAI_PORT_STAT_PFC_1_TX_PKTS": "111", "SAI_PORT_STAT_PFC_2_TX_PKTS": "112", "SAI_PORT_STAT_PFC_3_TX_PKTS": "113", diff --git a/tests/mock_tables/asic2/counters_db.json b/tests/mock_tables/asic2/counters_db.json index 3286a0a752..3c40e04bdb 100644 --- a/tests/mock_tables/asic2/counters_db.json +++ b/tests/mock_tables/asic2/counters_db.json @@ -1474,7 +1474,7 @@ "SAI_PORT_STAT_IF_IN_DISCARDS": "100", "SAI_PORT_STAT_IN_DROP_REASON_RANGE_BASE": "80", "SAI_PORT_STAT_OUT_CONFIGURED_DROP_REASONS_1_DROPPED_PKTS": "20", - "SAI_PORT_STAT_PFC_0_RX_PKTS": "200", + "SAI_PORT_STAT_PFC_0_RX_PKTS": "1200", "SAI_PORT_STAT_PFC_1_RX_PKTS": "201", "SAI_PORT_STAT_PFC_2_RX_PKTS": "202", "SAI_PORT_STAT_PFC_3_RX_PKTS": "203", @@ -1482,7 +1482,7 @@ "SAI_PORT_STAT_PFC_5_RX_PKTS": "205", "SAI_PORT_STAT_PFC_6_RX_PKTS": "206", "SAI_PORT_STAT_PFC_7_RX_PKTS": "207", - "SAI_PORT_STAT_PFC_0_TX_PKTS": "210", + "SAI_PORT_STAT_PFC_0_TX_PKTS": "1210", "SAI_PORT_STAT_PFC_1_TX_PKTS": "211", "SAI_PORT_STAT_PFC_2_TX_PKTS": "212", "SAI_PORT_STAT_PFC_3_TX_PKTS": "213", @@ -1502,7 +1502,7 @@ "SAI_PORT_STAT_IF_IN_DISCARDS": "1000", "SAI_PORT_STAT_IN_DROP_REASON_RANGE_BASE": "800", "SAI_PORT_STAT_OUT_CONFIGURED_DROP_REASONS_1_DROPPED_PKTS": "100", - "SAI_PORT_STAT_PFC_0_RX_PKTS": "400", + "SAI_PORT_STAT_PFC_0_RX_PKTS": "1400", "SAI_PORT_STAT_PFC_1_RX_PKTS": "401", "SAI_PORT_STAT_PFC_2_RX_PKTS": "402", "SAI_PORT_STAT_PFC_3_RX_PKTS": "403", @@ -1510,7 +1510,7 @@ "SAI_PORT_STAT_PFC_5_RX_PKTS": "405", "SAI_PORT_STAT_PFC_6_RX_PKTS": "406", "SAI_PORT_STAT_PFC_7_RX_PKTS": "407", - "SAI_PORT_STAT_PFC_0_TX_PKTS": "410", + "SAI_PORT_STAT_PFC_0_TX_PKTS": "1410", "SAI_PORT_STAT_PFC_1_TX_PKTS": "411", "SAI_PORT_STAT_PFC_2_TX_PKTS": "412", "SAI_PORT_STAT_PFC_3_TX_PKTS": "413", @@ -1530,7 +1530,7 @@ "SAI_PORT_STAT_IF_IN_DISCARDS": "1000", "SAI_PORT_STAT_IN_DROP_REASON_RANGE_BASE": "800", "SAI_PORT_STAT_OUT_CONFIGURED_DROP_REASONS_1_DROPPED_PKTS": "100", - "SAI_PORT_STAT_PFC_0_RX_PKTS": "600", + "SAI_PORT_STAT_PFC_0_RX_PKTS": "1600", "SAI_PORT_STAT_PFC_1_RX_PKTS": "601", "SAI_PORT_STAT_PFC_2_RX_PKTS": "602", "SAI_PORT_STAT_PFC_3_RX_PKTS": "603", @@ -1538,7 +1538,7 @@ "SAI_PORT_STAT_PFC_5_RX_PKTS": "605", "SAI_PORT_STAT_PFC_6_RX_PKTS": "606", "SAI_PORT_STAT_PFC_7_RX_PKTS": "607", - "SAI_PORT_STAT_PFC_0_TX_PKTS": "610", + "SAI_PORT_STAT_PFC_0_TX_PKTS": "1610", "SAI_PORT_STAT_PFC_1_TX_PKTS": "611", "SAI_PORT_STAT_PFC_2_TX_PKTS": "612", "SAI_PORT_STAT_PFC_3_TX_PKTS": "613", @@ -1558,7 +1558,7 @@ "SAI_PORT_STAT_IF_IN_DISCARDS": "1000", "SAI_PORT_STAT_IN_DROP_REASON_RANGE_BASE": "800", "SAI_PORT_STAT_OUT_CONFIGURED_DROP_REASONS_1_DROPPED_PKTS": "100", - "SAI_PORT_STAT_PFC_0_RX_PKTS": "800", + "SAI_PORT_STAT_PFC_0_RX_PKTS": "1800", "SAI_PORT_STAT_PFC_1_RX_PKTS": "801", "SAI_PORT_STAT_PFC_2_RX_PKTS": "802", "SAI_PORT_STAT_PFC_3_RX_PKTS": "803", @@ -1566,7 +1566,7 @@ "SAI_PORT_STAT_PFC_5_RX_PKTS": "805", "SAI_PORT_STAT_PFC_6_RX_PKTS": "806", "SAI_PORT_STAT_PFC_7_RX_PKTS": "807", - "SAI_PORT_STAT_PFC_0_TX_PKTS": "810", + "SAI_PORT_STAT_PFC_0_TX_PKTS": "1810", "SAI_PORT_STAT_PFC_1_TX_PKTS": "811", "SAI_PORT_STAT_PFC_2_TX_PKTS": "812", "SAI_PORT_STAT_PFC_3_TX_PKTS": "813", diff --git a/tests/mock_tables/counters_db.json b/tests/mock_tables/counters_db.json index 1d4ce33a02..3aed25f1c7 100644 --- a/tests/mock_tables/counters_db.json +++ b/tests/mock_tables/counters_db.json @@ -539,7 +539,7 @@ "SAI_PORT_STAT_IF_IN_DISCARDS": "100", "SAI_PORT_STAT_IN_DROP_REASON_RANGE_BASE": "80", "SAI_PORT_STAT_OUT_CONFIGURED_DROP_REASONS_1_DROPPED_PKTS": "20", - "SAI_PORT_STAT_PFC_0_RX_PKTS": "200", + "SAI_PORT_STAT_PFC_0_RX_PKTS": "1200", "SAI_PORT_STAT_PFC_1_RX_PKTS": "201", "SAI_PORT_STAT_PFC_2_RX_PKTS": "202", "SAI_PORT_STAT_PFC_3_RX_PKTS": "203", @@ -547,7 +547,7 @@ "SAI_PORT_STAT_PFC_5_RX_PKTS": "205", "SAI_PORT_STAT_PFC_6_RX_PKTS": "206", "SAI_PORT_STAT_PFC_7_RX_PKTS": "207", - "SAI_PORT_STAT_PFC_0_TX_PKTS": "210", + "SAI_PORT_STAT_PFC_0_TX_PKTS": "1210", "SAI_PORT_STAT_PFC_1_TX_PKTS": "211", "SAI_PORT_STAT_PFC_2_TX_PKTS": "212", "SAI_PORT_STAT_PFC_3_TX_PKTS": "213", @@ -596,7 +596,7 @@ "SAI_PORT_STAT_IF_IN_DISCARDS": "1000", "SAI_PORT_STAT_IN_DROP_REASON_RANGE_BASE": "800", "SAI_PORT_STAT_OUT_CONFIGURED_DROP_REASONS_1_DROPPED_PKTS": "100", - "SAI_PORT_STAT_PFC_0_RX_PKTS": "400", + "SAI_PORT_STAT_PFC_0_RX_PKTS": "1400", "SAI_PORT_STAT_PFC_1_RX_PKTS": "401", "SAI_PORT_STAT_PFC_2_RX_PKTS": "402", "SAI_PORT_STAT_PFC_3_RX_PKTS": "403", @@ -604,7 +604,7 @@ "SAI_PORT_STAT_PFC_5_RX_PKTS": "405", "SAI_PORT_STAT_PFC_6_RX_PKTS": "406", "SAI_PORT_STAT_PFC_7_RX_PKTS": "407", - "SAI_PORT_STAT_PFC_0_TX_PKTS": "410", + "SAI_PORT_STAT_PFC_0_TX_PKTS": "1410", "SAI_PORT_STAT_PFC_1_TX_PKTS": "411", "SAI_PORT_STAT_PFC_2_TX_PKTS": "412", "SAI_PORT_STAT_PFC_3_TX_PKTS": "413", @@ -653,7 +653,7 @@ "SAI_PORT_STAT_IF_IN_DISCARDS": "10", "SAI_PORT_STAT_IN_DROP_REASON_RANGE_BASE": "10", "SAI_PORT_STAT_OUT_CONFIGURED_DROP_REASONS_1_DROPPED_PKTS": "0", - "SAI_PORT_STAT_PFC_0_RX_PKTS": "800", + "SAI_PORT_STAT_PFC_0_RX_PKTS": "1800", "SAI_PORT_STAT_PFC_1_RX_PKTS": "801", "SAI_PORT_STAT_PFC_2_RX_PKTS": "802", "SAI_PORT_STAT_PFC_3_RX_PKTS": "803", @@ -661,7 +661,7 @@ "SAI_PORT_STAT_PFC_5_RX_PKTS": "805", "SAI_PORT_STAT_PFC_6_RX_PKTS": "806", "SAI_PORT_STAT_PFC_7_RX_PKTS": "807", - "SAI_PORT_STAT_PFC_0_TX_PKTS": "810", + "SAI_PORT_STAT_PFC_0_TX_PKTS": "1810", "SAI_PORT_STAT_PFC_1_TX_PKTS": "811", "SAI_PORT_STAT_PFC_2_TX_PKTS": "812", "SAI_PORT_STAT_PFC_3_TX_PKTS": "813", diff --git a/tests/pfcstat_test.py b/tests/pfcstat_test.py index 5115ad11f1..955db3c23b 100644 --- a/tests/pfcstat_test.py +++ b/tests/pfcstat_test.py @@ -16,15 +16,15 @@ show_pfc_counters_output = """\ Port Rx PFC0 PFC1 PFC2 PFC3 PFC4 PFC5 PFC6 PFC7 --------- ------ ------ ------ ------ ------ ------ ------ ------ -Ethernet0 200 201 202 203 204 205 206 207 -Ethernet4 400 401 402 403 404 405 406 407 -Ethernet8 800 801 802 803 804 805 806 807 +Ethernet0 1,200 201 202 203 204 205 206 207 +Ethernet4 1,400 401 402 403 404 405 406 407 +Ethernet8 1,800 801 802 803 804 805 806 807 Port Tx PFC0 PFC1 PFC2 PFC3 PFC4 PFC5 PFC6 PFC7 --------- ------ ------ ------ ------ ------ ------ ------ ------ -Ethernet0 210 211 212 213 214 215 216 217 -Ethernet4 410 411 412 413 414 415 416 417 -Ethernet8 810 811 812 813 814 815 816 817 +Ethernet0 1,210 211 212 213 214 215 216 217 +Ethernet4 1,410 411 412 413 414 415 416 417 +Ethernet8 1,810 811 812 813 814 815 816 817 """ show_pfc_counters_output_diff = """\ @@ -44,19 +44,19 @@ show_pfc_counters_all = """\ Port Rx PFC0 PFC1 PFC2 PFC3 PFC4 PFC5 PFC6 PFC7 -------------- ------ ------ ------ ------ ------ ------ ------ ------ - Ethernet0 200 201 202 203 204 205 206 207 - Ethernet4 400 401 402 403 404 405 406 407 - Ethernet-BP0 600 601 602 603 604 605 606 607 - Ethernet-BP4 800 801 802 803 804 805 806 807 + Ethernet0 1,200 201 202 203 204 205 206 207 + Ethernet4 1,400 401 402 403 404 405 406 407 + Ethernet-BP0 1,600 601 602 603 604 605 606 607 + Ethernet-BP4 1,800 801 802 803 804 805 806 807 Ethernet-BP256 N/A N/A N/A N/A N/A N/A N/A N/A Ethernet-BP260 N/A N/A N/A N/A N/A N/A N/A N/A Port Tx PFC0 PFC1 PFC2 PFC3 PFC4 PFC5 PFC6 PFC7 -------------- ------ ------ ------ ------ ------ ------ ------ ------ - Ethernet0 210 211 212 213 214 215 216 217 - Ethernet4 410 411 412 413 414 415 416 417 - Ethernet-BP0 610 611 612 613 614 615 616 617 - Ethernet-BP4 810 811 812 813 814 815 816 817 + Ethernet0 1,210 211 212 213 214 215 216 217 + Ethernet4 1,410 411 412 413 414 415 416 417 + Ethernet-BP0 1,610 611 612 613 614 615 616 617 + Ethernet-BP4 1,810 811 812 813 814 815 816 817 Ethernet-BP256 N/A N/A N/A N/A N/A N/A N/A N/A Ethernet-BP260 N/A N/A N/A N/A N/A N/A N/A N/A """ @@ -64,48 +64,48 @@ show_pfc_counters_all_asic = """\ Port Rx PFC0 PFC1 PFC2 PFC3 PFC4 PFC5 PFC6 PFC7 ------------ ------ ------ ------ ------ ------ ------ ------ ------ - Ethernet0 200 201 202 203 204 205 206 207 - Ethernet4 400 401 402 403 404 405 406 407 -Ethernet-BP0 600 601 602 603 604 605 606 607 -Ethernet-BP4 800 801 802 803 804 805 806 807 + Ethernet0 1,200 201 202 203 204 205 206 207 + Ethernet4 1,400 401 402 403 404 405 406 407 +Ethernet-BP0 1,600 601 602 603 604 605 606 607 +Ethernet-BP4 1,800 801 802 803 804 805 806 807 Port Tx PFC0 PFC1 PFC2 PFC3 PFC4 PFC5 PFC6 PFC7 ------------ ------ ------ ------ ------ ------ ------ ------ ------ - Ethernet0 210 211 212 213 214 215 216 217 - Ethernet4 410 411 412 413 414 415 416 417 -Ethernet-BP0 610 611 612 613 614 615 616 617 -Ethernet-BP4 810 811 812 813 814 815 816 817 + Ethernet0 1,210 211 212 213 214 215 216 217 + Ethernet4 1,410 411 412 413 414 415 416 417 +Ethernet-BP0 1,610 611 612 613 614 615 616 617 +Ethernet-BP4 1,810 811 812 813 814 815 816 817 """ show_pfc_counters_all = """\ Port Rx PFC0 PFC1 PFC2 PFC3 PFC4 PFC5 PFC6 PFC7 -------------- ------ ------ ------ ------ ------ ------ ------ ------ - Ethernet0 200 201 202 203 204 205 206 207 - Ethernet4 400 401 402 403 404 405 406 407 - Ethernet-BP0 600 601 602 603 604 605 606 607 - Ethernet-BP4 800 801 802 803 804 805 806 807 -Ethernet-BP256 900 901 902 903 904 905 906 907 -Ethernet-BP260 100 101 102 103 104 105 106 107 + Ethernet0 1,200 201 202 203 204 205 206 207 + Ethernet4 1,400 401 402 403 404 405 406 407 + Ethernet-BP0 1,600 601 602 603 604 605 606 607 + Ethernet-BP4 1,800 801 802 803 804 805 806 807 +Ethernet-BP256 1,900 901 902 903 904 905 906 907 +Ethernet-BP260 1,100 101 102 103 104 105 106 107 Port Tx PFC0 PFC1 PFC2 PFC3 PFC4 PFC5 PFC6 PFC7 -------------- ------ ------ ------ ------ ------ ------ ------ ------ - Ethernet0 210 211 212 213 214 215 216 217 - Ethernet4 410 411 412 413 414 415 416 417 - Ethernet-BP0 610 611 612 613 614 615 616 617 - Ethernet-BP4 810 811 812 813 814 815 816 817 -Ethernet-BP256 910 911 912 913 914 915 916 917 -Ethernet-BP260 110 111 112 113 114 115 116 117 + Ethernet0 1,210 211 212 213 214 215 216 217 + Ethernet4 1,410 411 412 413 414 415 416 417 + Ethernet-BP0 1,610 611 612 613 614 615 616 617 + Ethernet-BP4 1,810 811 812 813 814 815 816 817 +Ethernet-BP256 1,910 911 912 913 914 915 916 917 +Ethernet-BP260 1,110 111 112 113 114 115 116 117 """ show_pfc_counters_asic0_frontend = """\ Port Rx PFC0 PFC1 PFC2 PFC3 PFC4 PFC5 PFC6 PFC7 --------- ------ ------ ------ ------ ------ ------ ------ ------ -Ethernet0 200 201 202 203 204 205 206 207 -Ethernet4 400 401 402 403 404 405 406 407 +Ethernet0 1,200 201 202 203 204 205 206 207 +Ethernet4 1,400 401 402 403 404 405 406 407 Port Tx PFC0 PFC1 PFC2 PFC3 PFC4 PFC5 PFC6 PFC7 --------- ------ ------ ------ ------ ------ ------ ------ ------ -Ethernet0 210 211 212 213 214 215 216 217 -Ethernet4 410 411 412 413 414 415 416 417 +Ethernet0 1,210 211 212 213 214 215 216 217 +Ethernet4 1,410 411 412 413 414 415 416 417 """ show_pfc_counters_msaic_output_diff = """\ diff --git a/tests/portstat_test.py b/tests/portstat_test.py index b0f60b1e8a..86714b5233 100644 --- a/tests/portstat_test.py +++ b/tests/portstat_test.py @@ -15,21 +15,21 @@ IFACE STATE RX_OK RX_BPS RX_UTIL RX_ERR RX_DRP RX_OVR TX_OK TX_BPS TX_UTIL TX_ERR TX_DRP TX_OVR --------- ------- ------- -------- --------- -------- -------- -------- ------- -------- --------- -------- -------- -------- Ethernet0 D 8 N/A N/A 10 100 N/A 10 N/A N/A N/A N/A N/A -Ethernet4 N/A 4 N/A N/A 0 1000 N/A 40 N/A N/A N/A N/A N/A +Ethernet4 N/A 4 N/A N/A 0 1,000 N/A 40 N/A N/A N/A N/A N/A Ethernet8 N/A 6 N/A N/A 100 10 N/A 60 N/A N/A N/A N/A N/A """ intf_counters_ethernet4 = """\ IFACE STATE RX_OK RX_BPS RX_UTIL RX_ERR RX_DRP RX_OVR TX_OK TX_BPS TX_UTIL TX_ERR TX_DRP TX_OVR --------- ------- ------- -------- --------- -------- -------- -------- ------- -------- --------- -------- -------- -------- -Ethernet4 N/A 4 N/A N/A 0 1000 N/A 40 N/A N/A N/A N/A N/A +Ethernet4 N/A 4 N/A N/A 0 1,000 N/A 40 N/A N/A N/A N/A N/A """ intf_counters_all = """\ IFACE STATE RX_OK RX_BPS RX_PPS RX_UTIL RX_ERR RX_DRP RX_OVR TX_OK TX_BPS Tx_PPS TX_UTIL TX_ERR TX_DRP TX_OVR --------- ------- ------- -------- -------- --------- -------- -------- -------- ------- -------- -------- --------- -------- -------- -------- Ethernet0 D 8 N/A N/A N/A 10 100 N/A 10 N/A N/A N/A N/A N/A N/A -Ethernet4 N/A 4 N/A N/A N/A 0 1000 N/A 40 N/A N/A N/A N/A N/A N/A +Ethernet4 N/A 4 N/A N/A N/A 0 1,000 N/A 40 N/A N/A N/A N/A N/A N/A Ethernet8 N/A 6 N/A N/A N/A 100 10 N/A 60 N/A N/A N/A N/A N/A N/A """ @@ -56,53 +56,53 @@ IFACE STATE RX_OK RX_BPS RX_UTIL RX_ERR RX_DRP RX_OVR TX_OK TX_BPS TX_UTIL TX_ERR TX_DRP TX_OVR --------- ------- ------- -------- --------- -------- -------- -------- ------- -------- --------- -------- -------- -------- Ethernet0 U 8 N/A N/A 10 100 N/A 10 N/A N/A N/A N/A N/A -Ethernet4 U 4 N/A N/A 0 1000 N/A 40 N/A N/A N/A N/A N/A +Ethernet4 U 4 N/A N/A 0 1,000 N/A 40 N/A N/A N/A N/A N/A """ multi_asic_all_intf_counters = """\ IFACE STATE RX_OK RX_BPS RX_UTIL RX_ERR RX_DRP RX_OVR TX_OK TX_BPS TX_UTIL TX_ERR TX_DRP TX_OVR -------------- ------- ------- -------- --------- -------- -------- -------- ------- -------- --------- -------- -------- -------- Ethernet0 U 8 N/A N/A 10 100 N/A 10 N/A N/A N/A N/A N/A - Ethernet4 U 4 N/A N/A 0 1000 N/A 40 N/A N/A N/A N/A N/A - Ethernet-BP0 U 6 N/A N/A 0 1000 N/A 60 N/A N/A N/A N/A N/A - Ethernet-BP4 U 8 N/A N/A 0 1000 N/A 80 N/A N/A N/A N/A N/A + Ethernet4 U 4 N/A N/A 0 1,000 N/A 40 N/A N/A N/A N/A N/A + Ethernet-BP0 U 6 N/A N/A 0 1,000 N/A 60 N/A N/A N/A N/A N/A + Ethernet-BP4 U 8 N/A N/A 0 1,000 N/A 80 N/A N/A N/A N/A N/A Ethernet-BP256 U 8 N/A N/A 10 100 N/A 10 N/A N/A N/A N/A N/A -Ethernet-BP260 U 4 N/A N/A 0 1000 N/A 40 N/A N/A N/A N/A N/A +Ethernet-BP260 U 4 N/A N/A 0 1,000 N/A 40 N/A N/A N/A N/A N/A """ multi_asic_intf_counters_asic0 = """\ IFACE STATE RX_OK RX_BPS RX_UTIL RX_ERR RX_DRP RX_OVR TX_OK TX_BPS TX_UTIL TX_ERR TX_DRP TX_OVR ------------ ------- ------- -------- --------- -------- -------- -------- ------- -------- --------- -------- -------- -------- Ethernet0 U 8 N/A N/A 10 100 N/A 10 N/A N/A N/A N/A N/A - Ethernet4 U 4 N/A N/A 0 1000 N/A 40 N/A N/A N/A N/A N/A -Ethernet-BP0 U 6 N/A N/A 0 1000 N/A 60 N/A N/A N/A N/A N/A -Ethernet-BP4 U 8 N/A N/A 0 1000 N/A 80 N/A N/A N/A N/A N/A + Ethernet4 U 4 N/A N/A 0 1,000 N/A 40 N/A N/A N/A N/A N/A +Ethernet-BP0 U 6 N/A N/A 0 1,000 N/A 60 N/A N/A N/A N/A N/A +Ethernet-BP4 U 8 N/A N/A 0 1,000 N/A 80 N/A N/A N/A N/A N/A """ multi_asic_external_intf_counters_printall = """\ IFACE STATE RX_OK RX_BPS RX_PPS RX_UTIL RX_ERR RX_DRP RX_OVR TX_OK TX_BPS Tx_PPS TX_UTIL TX_ERR TX_DRP TX_OVR --------- ------- ------- -------- -------- --------- -------- -------- -------- ------- -------- -------- --------- -------- -------- -------- Ethernet0 U 8 N/A N/A N/A 10 100 N/A 10 N/A N/A N/A N/A N/A N/A -Ethernet4 U 4 N/A N/A N/A 0 1000 N/A 40 N/A N/A N/A N/A N/A N/A +Ethernet4 U 4 N/A N/A N/A 0 1,000 N/A 40 N/A N/A N/A N/A N/A N/A """ multi_asic_intf_counters_printall = """\ IFACE STATE RX_OK RX_BPS RX_PPS RX_UTIL RX_ERR RX_DRP RX_OVR TX_OK TX_BPS Tx_PPS TX_UTIL TX_ERR TX_DRP TX_OVR -------------- ------- ------- -------- -------- --------- -------- -------- -------- ------- -------- -------- --------- -------- -------- -------- Ethernet0 U 8 N/A N/A N/A 10 100 N/A 10 N/A N/A N/A N/A N/A N/A - Ethernet4 U 4 N/A N/A N/A 0 1000 N/A 40 N/A N/A N/A N/A N/A N/A - Ethernet-BP0 U 6 N/A N/A N/A 0 1000 N/A 60 N/A N/A N/A N/A N/A N/A - Ethernet-BP4 U 8 N/A N/A N/A 0 1000 N/A 80 N/A N/A N/A N/A N/A N/A + Ethernet4 U 4 N/A N/A N/A 0 1,000 N/A 40 N/A N/A N/A N/A N/A N/A + Ethernet-BP0 U 6 N/A N/A N/A 0 1,000 N/A 60 N/A N/A N/A N/A N/A N/A + Ethernet-BP4 U 8 N/A N/A N/A 0 1,000 N/A 80 N/A N/A N/A N/A N/A N/A Ethernet-BP256 U 8 N/A N/A N/A 10 100 N/A 10 N/A N/A N/A N/A N/A N/A -Ethernet-BP260 U 4 N/A N/A N/A 0 1000 N/A 40 N/A N/A N/A N/A N/A N/A +Ethernet-BP260 U 4 N/A N/A N/A 0 1,000 N/A 40 N/A N/A N/A N/A N/A N/A """ multi_asic_intf_counters_asic0_printall = """\ IFACE STATE RX_OK RX_BPS RX_PPS RX_UTIL RX_ERR RX_DRP RX_OVR TX_OK TX_BPS Tx_PPS TX_UTIL TX_ERR TX_DRP TX_OVR ------------ ------- ------- -------- -------- --------- -------- -------- -------- ------- -------- -------- --------- -------- -------- -------- Ethernet0 U 8 N/A N/A N/A 10 100 N/A 10 N/A N/A N/A N/A N/A N/A - Ethernet4 U 4 N/A N/A N/A 0 1000 N/A 40 N/A N/A N/A N/A N/A N/A -Ethernet-BP0 U 6 N/A N/A N/A 0 1000 N/A 60 N/A N/A N/A N/A N/A N/A -Ethernet-BP4 U 8 N/A N/A N/A 0 1000 N/A 80 N/A N/A N/A N/A N/A N/A + Ethernet4 U 4 N/A N/A N/A 0 1,000 N/A 40 N/A N/A N/A N/A N/A N/A +Ethernet-BP0 U 6 N/A N/A N/A 0 1,000 N/A 60 N/A N/A N/A N/A N/A N/A +Ethernet-BP4 U 8 N/A N/A N/A 0 1,000 N/A 80 N/A N/A N/A N/A N/A N/A """ multi_asic_intf_counters_period = """\ The rates are calculated within 3 seconds period diff --git a/utilities_common/netstat.py b/utilities_common/netstat.py index 9bb203af67..3d856e576f 100755 --- a/utilities_common/netstat.py +++ b/utilities_common/netstat.py @@ -69,3 +69,13 @@ def table_as_json(table, header): output[if_name] = {header[i]: line[i] for i in range(1, len(header))} return json.dumps(output, indent=4, sort_keys=True) + + +def format_number_with_comma(number_in_str): + """ + Format the number with comma. + """ + if number_in_str.isdecimal(): + return '{:,}'.format(int(number_in_str)) + else: + return number_in_str From 8d16eb53f903c6105a743a103e92fa1520686e8a Mon Sep 17 00:00:00 2001 From: shlomibitton <60430976+shlomibitton@users.noreply.github.com> Date: Thu, 2 Sep 2021 07:16:00 +0300 Subject: [PATCH 287/342] [Fast-reboot] Set flex counters delay indicator to prevent flex counters enablement after fast-reboot (#1768) #### What I did Set flex counters delay indicator to prevent flex counters enablement after fast-reboot. #### How I did it Modify config DB json file with 'true' status for delay of flex counters indicator. #### How to verify it Run fast-reboot and observe counters are created only when enable_counters script is called, even if the tables are present in config DB. --- counterpoll/main.py | 27 +++++++++++++++++++-------- scripts/fast-reboot | 14 +++++++++++++- 2 files changed, 32 insertions(+), 9 deletions(-) diff --git a/counterpoll/main.py b/counterpoll/main.py index cc0060d991..7c062e9d74 100644 --- a/counterpoll/main.py +++ b/counterpoll/main.py @@ -276,18 +276,24 @@ def show(): click.echo(tabulate(data, headers=header, tablefmt="simple", missingval="")) -def _update_config_db(status, filename): +def _update_config_db_flex_counter_table(status, filename): """ Update counter configuration in config_db file """ with open(filename) as config_db_file: config_db = json.load(config_db_file) write_config_db = False if "FLEX_COUNTER_TABLE" in config_db: - for counter, counter_config in config_db["FLEX_COUNTER_TABLE"].items(): - if "FLEX_COUNTER_STATUS" in counter_config and \ - counter_config["FLEX_COUNTER_STATUS"] is not status: - counter_config["FLEX_COUNTER_STATUS"] = status - write_config_db = True + if status != "delay": + for counter, counter_config in config_db["FLEX_COUNTER_TABLE"].items(): + if "FLEX_COUNTER_STATUS" in counter_config and \ + counter_config["FLEX_COUNTER_STATUS"] is not status: + counter_config["FLEX_COUNTER_STATUS"] = status + write_config_db = True + + elif status == "delay": + write_config_db = True + for key in config_db["FLEX_COUNTER_TABLE"].keys(): + config_db["FLEX_COUNTER_TABLE"][key].update({"FLEX_COUNTER_DELAY_STATUS":"true"}) if write_config_db: with open(filename, 'w') as config_db_file: @@ -302,11 +308,16 @@ def config_db(): @click.argument("filename", default="/etc/sonic/config_db.json", type=click.Path(exists=True)) def enable(filename): """ Enable counter configuration in config_db file """ - _update_config_db("enable", filename) + _update_config_db_flex_counter_table("enable", filename) @config_db.command() @click.argument("filename", default="/etc/sonic/config_db.json", type=click.Path(exists=True)) def disable(filename): """ Disable counter configuration in config_db file """ - _update_config_db("disable", filename) + _update_config_db_flex_counter_table("disable", filename) +@config_db.command() +@click.argument("filename", default="/etc/sonic/config_db.json", type=click.Path(exists=True)) +def delay(filename): + """ Delay counters in config_db file """ + _update_config_db_flex_counter_table("delay", filename) diff --git a/scripts/fast-reboot b/scripts/fast-reboot index 2abdb985b0..aa28954b46 100755 --- a/scripts/fast-reboot +++ b/scripts/fast-reboot @@ -5,6 +5,7 @@ REBOOT_TIME=$(date) REBOOT_CAUSE_FILE="/host/reboot-cause/reboot-cause.txt" WARM_DIR=/host/warmboot REDIS_FILE=dump.rdb +CONFIG_DB_FILE=/etc/sonic/config_db.json REBOOT_SCRIPT_NAME=$(basename $0) REBOOT_TYPE="${REBOOT_SCRIPT_NAME}" SHUTDOWN_ORDER_FILE="/etc/sonic/${REBOOT_TYPE}_order" @@ -36,6 +37,7 @@ EXIT_ORCHAGENT_SHUTDOWN=10 EXIT_SYNCD_SHUTDOWN=11 EXIT_FAST_REBOOT_DUMP_FAILURE=12 EXIT_FILTER_FDB_ENTRIES_FAILURE=13 +EXIT_COUNTERPOLL_DELAY_FAILURE=14 EXIT_NO_CONTROL_PLANE_ASSISTANT=20 EXIT_SONIC_INSTALLER_VERIFY_REBOOT=21 @@ -513,7 +515,6 @@ if [[ "$REBOOT_TYPE" = "fast-reboot" ]]; then # Dump the ARP and FDB tables to files also as default routes for both IPv4 and IPv6 # into /host/fast-reboot DUMP_DIR=/host/fast-reboot - CONFIG_DB_FILE=/etc/sonic/config_db.json mkdir -p $DUMP_DIR FAST_REBOOT_DUMP_RC=0 /usr/local/bin/fast-reboot-dump.py -t $DUMP_DIR || FAST_REBOOT_DUMP_RC=$? @@ -554,6 +555,17 @@ if [[ "$REBOOT_TYPE" = "warm-reboot" || "$REBOOT_TYPE" = "fastfast-reboot" ]]; t fi fi +if [[ "$REBOOT_TYPE" = "fast-reboot" ]]; then + COUNTERPOLL_DELAY_RC=0 + # Delay counters in config_db.json + /usr/local/bin/counterpoll config-db delay $CONFIG_DB_FILE || COUNTERPOLL_DELAY_RC=$? + if [[ COUNTERPOLL_DELAY_RC -ne 0 ]]; then + error "Failed to delay counterpoll. Exit code: $COUNTERPOLL_DELAY_RC" + unload_kernel + exit "${EXIT_COUNTERPOLL_DELAY_FAILURE}" + fi +fi + # We are fully committed to reboot from this point on because critical # service will go down and we cannot recover from it. set +e From 6483b0be561b8d4d7c23944d64ea3c820469df5d Mon Sep 17 00:00:00 2001 From: Ashok Daparthi-Dell Date: Thu, 2 Sep 2021 10:21:12 -0700 Subject: [PATCH 288/342] QOS fieldvalue refernce ABNF format to string (#1626) Qos tables in config db and app db used ABNF format i.e "[TABLE_NAME|name] to refer fieldvalue other qos tables. Example: Config DB: "Ethernet92|3": { "scheduler": "[SCHEDULER|scheduler.1]", "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet0|0": { "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" }, "Ethernet0": { "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", "pfc_enable": "3,4", "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" }, AppDB: "BUFFER_QUEUE_TABLE:Ethernet88:3-4": { "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" }, 1#This format is not consistent with other DB schema followed in sonic. 2# Added db_migrator.py case to change from old format in config_db and appl_db to new format. 3#Modified the test case Dependent pull requests: https://github.com/Azure/sonic-buildimage/pull/7752 - To modify platfrom files https://github.com/Azure/sonic-buildimage/pull/7281 - Yang model https://github.com/Azure/sonic-swss/pull/1754 - swss change to remove ABNF format --- config/main.py | 10 +- scripts/db_migrator.py | 85 +- tests/buffer_input/buffer_test_vectors.py | 30 +- tests/buffer_test.py | 16 +- tests/counterpoll_input/config_db.json | 1028 ++--- .../appl_db/acs-msn2700-t0-version_2_0_3.json | 696 +++ .../appl_db/acs-msn2700-t1-version_2_0_3.json | 789 ++++ .../appl_db/acs-msn3700-t0-version_2_0_3.json | 829 ++++ .../appl_db/acs-msn3700-t1-version_2_0_3.json | 905 ++++ .../appl_db/acs-msn3800-t0-version_2_0_3.json | 983 +++++ .../appl_db/acs-msn3800-t1-version_2_0_3.json | 1079 +++++ .../appl_db/acs-msn4700-t0-version_2_0_3.json | 914 ++++ .../appl_db/acs-msn4700-t1-version_2_0_3.json | 1015 +++++ ...00-c28d8-single-pool-t0-version_2_0_3.json | 692 +++ ...00-c28d8-single-pool-t1-version_2_0_3.json | 785 ++++ ...ellanox-sn2700-c28d8-t0-version_2_0_3.json | 697 ++++ ...ellanox-sn2700-c28d8-t1-version_2_0_3.json | 790 ++++ ...lanox-sn2700-d40c8s8-t0-version_2_0_3.json | 692 +++ ...lanox-sn2700-d40c8s8-t1-version_2_0_3.json | 785 ++++ ...00-d48c8-single-pool-t0-version_2_0_3.json | 692 +++ ...00-d48c8-single-pool-t1-version_2_0_3.json | 785 ++++ ...ellanox-sn2700-d48c8-t0-version_2_0_3.json | 697 ++++ ...ellanox-sn2700-d48c8-t1-version_2_0_3.json | 790 ++++ ...x-sn2700-single-pool-t0-version_2_0_3.json | 692 +++ ...x-sn2700-single-pool-t1-version_2_0_3.json | 785 ++++ .../mellanox-sn2700-t0-version_2_0_3.json | 697 ++++ .../mellanox-sn2700-t1-version_2_0_3.json | 790 ++++ .../mellanox-sn3800-c64-t0-version_2_0_3.json | 705 ++++ .../mellanox-sn3800-c64-t1-version_2_0_3.json | 803 ++++ ...llanox-sn3800-d112c8-t0-version_2_0_3.json | 985 +++++ ...llanox-sn3800-d112c8-t1-version_2_0_3.json | 1075 +++++ ...llanox-sn3800-d24c52-t0-version_2_0_3.json | 705 ++++ ...llanox-sn3800-d24c52-t1-version_2_0_3.json | 803 ++++ ...llanox-sn3800-d28c50-t0-version_2_0_3.json | 705 ++++ .../appl_db/non-default-expected.json | 440 +- ...db_field_value_reference_format_2_0_1.json | 1034 +++++ ...db_field_value_reference_format_2_0_3.json | 1035 +++++ .../acs-msn2700-t0-version_2_0_3.json | 1015 +++++ .../acs-msn2700-t1-version_2_0_3.json | 1091 +++++ .../acs-msn3700-t0-version_2_0_3.json | 1856 ++++++++ .../acs-msn3700-t1-version_2_0_3.json | 1904 +++++++++ .../acs-msn3800-t0-version_2_0_3.json | 1975 +++++++++ .../acs-msn3800-t1-version_2_0_3.json | 2023 +++++++++ .../acs-msn4700-t0-version_2_0_3.json | 1947 +++++++++ .../acs-msn4700-t1-version_2_0_3.json | 2016 +++++++++ .../config_db/empty-config-expected.json | 2 +- ...00-c28d8-single-pool-t0-version_2_0_3.json | 1056 +++++ ...00-c28d8-single-pool-t1-version_2_0_3.json | 1153 +++++ ...ellanox-sn2700-c28d8-t0-version_2_0_3.json | 1061 +++++ ...ellanox-sn2700-c28d8-t1-version_2_0_3.json | 1158 +++++ ...lanox-sn2700-d40c8s8-t0-version_2_0_3.json | 1056 +++++ ...lanox-sn2700-d40c8s8-t1-version_2_0_3.json | 1153 +++++ ...00-d48c8-single-pool-t0-version_2_0_3.json | 1056 +++++ ...00-d48c8-single-pool-t1-version_2_0_3.json | 1153 +++++ ...ellanox-sn2700-d48c8-t0-version_2_0_3.json | 1061 +++++ ...ellanox-sn2700-d48c8-t1-version_2_0_3.json | 1158 +++++ ...x-sn2700-single-pool-t0-version_2_0_3.json | 1056 +++++ ...x-sn2700-single-pool-t1-version_2_0_3.json | 1153 +++++ .../mellanox-sn2700-t0-version_2_0_3.json | 1061 +++++ .../mellanox-sn2700-t1-version_2_0_3.json | 1158 +++++ .../mellanox-sn3800-c64-t0-version_2_0_3.json | 1701 ++++++++ .../mellanox-sn3800-c64-t1-version_2_0_3.json | 1827 ++++++++ ...llanox-sn3800-d112c8-t0-version_2_0_3.json | 1981 +++++++++ ...llanox-sn3800-d112c8-t1-version_2_0_3.json | 2099 ++++++++++ ...llanox-sn3800-d24c52-t0-version_2_0_3.json | 1701 ++++++++ ...llanox-sn3800-d24c52-t1-version_2_0_3.json | 1827 ++++++++ ...llanox-sn3800-d28c50-t0-version_2_0_3.json | 1701 ++++++++ ...llanox-sn3800-d28c50-t1-version_2_0_3.json | 1827 ++++++++ .../non-default-config-expected.json | 442 +- ...fault-lossless-profile-in-pg-expected.json | 568 +-- ...-default-lossy-profile-in-pg-expected.json | 568 +-- .../config_db/non-default-pg-expected.json | 568 +-- .../config_db/non-default-xoff-expected.json | 552 +-- .../config_db/port-an-expected.json | 2 +- .../config_db/portchannel-expected.json | 2 +- ...db_field_value_reference_format_2_0_1.json | 3704 ++++++++++++++++ ...db_field_value_reference_format_2_0_3.json | 3714 +++++++++++++++++ tests/db_migrator_test.py | 62 +- tests/filter_fdb_input/config_db.json | 958 ++--- tests/mock_tables/config_db.json | 8 +- tests/mock_tables/state_db.json | 4 +- tests/qos_config_input/0/buffers_config.j2 | 8 +- .../qos_config_input/0/buffers_defaults_t0.j2 | 6 +- .../qos_config_input/0/buffers_defaults_t1.j2 | 6 +- tests/qos_config_input/0/qos_config.j2 | 30 +- tests/qos_config_input/1/buffers_config.j2 | 8 +- .../qos_config_input/1/buffers_defaults_t0.j2 | 6 +- .../qos_config_input/1/buffers_defaults_t1.j2 | 6 +- tests/qos_config_input/1/qos_config.j2 | 30 +- tests/qos_config_input/buffers_config.j2 | 8 +- tests/qos_config_input/buffers_defaults_t1.j2 | 6 +- tests/qos_config_input/qos_config.j2 | 30 +- .../ACS-MSN2700/buffers_defaults_t0.j2 | 20 +- .../ACS-MSN2700/buffers_defaults_t1.j2 | 20 +- .../buffers_defaults_t0.j2 | 20 +- .../buffers_defaults_t1.j2 | 20 +- .../ACS-MSN3800/buffers_defaults_t0.j2 | 20 +- .../ACS-MSN3800/buffers_defaults_t1.j2 | 20 +- .../buffers_defaults_t0.j2 | 20 +- .../buffers_defaults_t1.j2 | 20 +- 100 files changed, 79718 insertions(+), 2762 deletions(-) create mode 100644 tests/db_migrator_input/appl_db/acs-msn2700-t0-version_2_0_3.json create mode 100644 tests/db_migrator_input/appl_db/acs-msn2700-t1-version_2_0_3.json create mode 100644 tests/db_migrator_input/appl_db/acs-msn3700-t0-version_2_0_3.json create mode 100644 tests/db_migrator_input/appl_db/acs-msn3700-t1-version_2_0_3.json create mode 100644 tests/db_migrator_input/appl_db/acs-msn3800-t0-version_2_0_3.json create mode 100644 tests/db_migrator_input/appl_db/acs-msn3800-t1-version_2_0_3.json create mode 100644 tests/db_migrator_input/appl_db/acs-msn4700-t0-version_2_0_3.json create mode 100644 tests/db_migrator_input/appl_db/acs-msn4700-t1-version_2_0_3.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-single-pool-t0-version_2_0_3.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-single-pool-t1-version_2_0_3.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-t0-version_2_0_3.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-t1-version_2_0_3.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn2700-d40c8s8-t0-version_2_0_3.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn2700-d40c8s8-t1-version_2_0_3.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-single-pool-t0-version_2_0_3.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-single-pool-t1-version_2_0_3.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-t0-version_2_0_3.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-t1-version_2_0_3.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn2700-single-pool-t0-version_2_0_3.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn2700-single-pool-t1-version_2_0_3.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn2700-t0-version_2_0_3.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn2700-t1-version_2_0_3.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn3800-c64-t0-version_2_0_3.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn3800-c64-t1-version_2_0_3.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn3800-d112c8-t0-version_2_0_3.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn3800-d112c8-t1-version_2_0_3.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn3800-d24c52-t0-version_2_0_3.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn3800-d24c52-t1-version_2_0_3.json create mode 100644 tests/db_migrator_input/appl_db/mellanox-sn3800-d28c50-t0-version_2_0_3.json create mode 100644 tests/db_migrator_input/appl_db/qos_tables_db_field_value_reference_format_2_0_1.json create mode 100644 tests/db_migrator_input/appl_db/qos_tables_db_field_value_reference_format_2_0_3.json create mode 100644 tests/db_migrator_input/config_db/acs-msn2700-t0-version_2_0_3.json create mode 100644 tests/db_migrator_input/config_db/acs-msn2700-t1-version_2_0_3.json create mode 100644 tests/db_migrator_input/config_db/acs-msn3700-t0-version_2_0_3.json create mode 100644 tests/db_migrator_input/config_db/acs-msn3700-t1-version_2_0_3.json create mode 100644 tests/db_migrator_input/config_db/acs-msn3800-t0-version_2_0_3.json create mode 100644 tests/db_migrator_input/config_db/acs-msn3800-t1-version_2_0_3.json create mode 100644 tests/db_migrator_input/config_db/acs-msn4700-t0-version_2_0_3.json create mode 100644 tests/db_migrator_input/config_db/acs-msn4700-t1-version_2_0_3.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-single-pool-t0-version_2_0_3.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-single-pool-t1-version_2_0_3.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t0-version_2_0_3.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t1-version_2_0_3.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-d40c8s8-t0-version_2_0_3.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-d40c8s8-t1-version_2_0_3.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-single-pool-t0-version_2_0_3.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-single-pool-t1-version_2_0_3.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t0-version_2_0_3.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t1-version_2_0_3.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-single-pool-t0-version_2_0_3.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-single-pool-t1-version_2_0_3.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-t0-version_2_0_3.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn2700-t1-version_2_0_3.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn3800-c64-t0-version_2_0_3.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn3800-c64-t1-version_2_0_3.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn3800-d112c8-t0-version_2_0_3.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn3800-d112c8-t1-version_2_0_3.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn3800-d24c52-t0-version_2_0_3.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn3800-d24c52-t1-version_2_0_3.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn3800-d28c50-t0-version_2_0_3.json create mode 100644 tests/db_migrator_input/config_db/mellanox-sn3800-d28c50-t1-version_2_0_3.json create mode 100644 tests/db_migrator_input/config_db/qos_tables_db_field_value_reference_format_2_0_1.json create mode 100644 tests/db_migrator_input/config_db/qos_tables_db_field_value_reference_format_2_0_3.json diff --git a/config/main.py b/config/main.py index f9251eb980..5b628345a2 100644 --- a/config/main.py +++ b/config/main.py @@ -3786,8 +3786,7 @@ def update_pg(ctx, interface_name, pg_map, override_profile, add = True): ctx.fail("Profile {} doesn't exist".format(override_profile)) if not 'xoff' in profile_dict.keys() and 'size' in profile_dict.keys(): ctx.fail("Profile {} doesn't exist or isn't a lossless profile".format(override_profile)) - profile_full_name = "[BUFFER_PROFILE|{}]".format(override_profile) - config_db.set_entry("BUFFER_PG", (interface_name, pg_map), {"profile": profile_full_name}) + config_db.set_entry("BUFFER_PG", (interface_name, pg_map), {"profile": override_profile}) else: config_db.set_entry("BUFFER_PG", (interface_name, pg_map), {"profile": "NULL"}) adjust_pfc_enable(ctx, interface_name, pg_map, True) @@ -3809,7 +3808,7 @@ def remove_pg_on_port(ctx, interface_name, pg_map): if port == interface_name and (not pg_map or pg_map == existing_pg): need_to_remove = False referenced_profile = v.get('profile') - if referenced_profile and referenced_profile == '[BUFFER_PROFILE|ingress_lossy_profile]': + if referenced_profile and referenced_profile == 'ingress_lossy_profile': if pg_map: ctx.fail("Lossy PG {} can't be removed".format(pg_map)) else: @@ -4963,7 +4962,7 @@ def update_profile(ctx, config_db, profile_name, xon, xoff, size, dynamic_th, po if not pool: pool = 'ingress_lossless_pool' - params['pool'] = '[BUFFER_POOL|' + pool + ']' + params['pool'] = pool if not config_db.get_entry('BUFFER_POOL', pool): ctx.fail("Pool {} doesn't exist".format(pool)) @@ -5036,12 +5035,11 @@ def remove_profile(db, profile): config_db = db.cfgdb ctx = click.get_current_context() - full_profile_name = '[BUFFER_PROFILE|{}]'.format(profile) existing_pgs = config_db.get_table("BUFFER_PG") for k, v in existing_pgs.items(): port, pg = k referenced_profile = v.get('profile') - if referenced_profile and referenced_profile == full_profile_name: + if referenced_profile and referenced_profile == profile: ctx.fail("Profile {} is referenced by {}|{} and can't be removed".format(profile, port, pg)) entry = config_db.get_entry("BUFFER_PROFILE", profile) diff --git a/scripts/db_migrator.py b/scripts/db_migrator.py index cdfb3337ba..c094ea7423 100755 --- a/scripts/db_migrator.py +++ b/scripts/db_migrator.py @@ -44,7 +44,7 @@ def __init__(self, namespace, socket=None): none-zero values. build: sequentially increase within a minor version domain. """ - self.CURRENT_VERSION = 'version_2_0_2' + self.CURRENT_VERSION = 'version_2_0_3' self.TABLE_NAME = 'VERSIONS' self.TABLE_KEY = 'DATABASE' @@ -60,9 +60,11 @@ def __init__(self, namespace, socket=None): self.configDB = ConfigDBConnector(use_unix_socket_path=True, namespace=namespace, **db_kwargs) self.configDB.db_connect('CONFIG_DB') - self.appDB = SonicV2Connector(host='127.0.0.1') - if self.appDB is not None: - self.appDB.connect(self.appDB.APPL_DB) + if namespace is None: + self.appDB = ConfigDBConnector(**db_kwargs) + else: + self.appDB = ConfigDBConnector(use_unix_socket_path=True, namespace=namespace, **db_kwargs) + self.appDB.db_connect('APPL_DB') self.stateDB = SonicV2Connector(host='127.0.0.1') if self.stateDB is not None: @@ -382,6 +384,69 @@ def migrate_config_db_port_table_for_auto_neg(self): elif value['autoneg'] == '0': self.configDB.set(self.configDB.CONFIG_DB, '{}|{}'.format(table_name, key), 'autoneg', 'off') + def migrate_qos_db_fieldval_reference_remove(self, table_list, db, db_num, db_delimeter): + for pair in table_list: + table_name, fields_list = pair + qos_table = db.get_table(table_name) + for key, value in qos_table.items(): + if type(key) is tuple: + db_key = table_name + db_delimeter + db_delimeter.join(key) + else: + db_key = table_name + db_delimeter + key + + for field in fields_list: + if field in value: + fieldVal = value.get(field) + if not fieldVal or fieldVal == "NULL": + continue + newFiledVal = "" + # Check for ABNF format presence and convert ABNF to string + if "[" in fieldVal and db_delimeter in fieldVal and "]" in fieldVal: + log.log_info("Found ABNF format field value in table {} key {} field {} val {}".format(table_name, db_key, field, fieldVal)) + value_list = fieldVal.split(",") + for item in value_list: + if "[" != item[0] or db_delimeter not in item or "]" != item[-1]: + continue + newFiledVal = newFiledVal + item[1:-1].split(db_delimeter)[1] + ',' + newFiledVal = newFiledVal[:-1] + db.set(db_num, db_key, field, newFiledVal) + log.log_info("Modified ABNF format field value to string in table {} key {} field {} val {}".format(table_name, db_key, field, newFiledVal)) + return True + + def migrate_qos_fieldval_reference_format(self): + ''' + This is to change for first time to remove field refernces of ABNF format + in APPL DB for warm boot. + i.e "[Tabale_name:name]" to string in APPL_DB. Reasons for doing this + - To consistent with all other SoNIC CONFIG_DB/APPL_DB tables and fields + - References in DB is not required, this will be taken care by YANG model leafref. + ''' + qos_app_table_list = [ + ('BUFFER_PG_TABLE', ['profile']), + ('BUFFER_QUEUE_TABLE', ['profile']), + ('BUFFER_PROFILE_TABLE', ['pool']), + ('BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE', ['profile_list']), + ('BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE', ['profile_list']) + ] + + log.log_info("Remove APPL_DB QOS tables field reference ABNF format") + self.migrate_qos_db_fieldval_reference_remove(qos_app_table_list, self.appDB, self.appDB.APPL_DB, ':') + + qos_table_list = [ + ('QUEUE', ['scheduler', 'wred_profile']), + ('PORT_QOS_MAP', ['dscp_to_tc_map', 'dot1p_to_tc_map', + 'pfc_to_queue_map', 'tc_to_pg_map', + 'tc_to_queue_map', 'pfc_to_pg_map']), + ('BUFFER_PG', ['profile']), + ('BUFFER_QUEUE', ['profile']), + ('BUFFER_PROFILE', ['pool']), + ('BUFFER_PORT_INGRESS_PROFILE_LIST', ['profile_list']), + ('BUFFER_PORT_EGRESS_PROFILE_LIST', ['profile_list']) + ] + log.log_info("Remove CONFIG_DB QOS tables field reference ABNF format") + self.migrate_qos_db_fieldval_reference_remove(qos_table_list, self.configDB, self.configDB.CONFIG_DB, '|') + return True + def version_unknown(self): """ version_unknown tracks all SONiC versions that doesn't have a version @@ -542,9 +607,19 @@ def version_2_0_1(self): def version_2_0_2(self): """ - Current latest version. Nothing to do here. + Version 2_0_2. """ log.log_info('Handling version_2_0_2') + self.migrate_qos_fieldval_reference_format() + self.set_version('version_2_0_3') + return 'version_2_0_3' + + + def version_2_0_3(self): + """ + Current latest version. Nothing to do here. + """ + log.log_info('Handling version_2_0_3') return None def get_version(self): diff --git a/tests/buffer_input/buffer_test_vectors.py b/tests/buffer_input/buffer_test_vectors.py index 271733f93c..eebbc5bc59 100644 --- a/tests/buffer_input/buffer_test_vectors.py +++ b/tests/buffer_input/buffer_test_vectors.py @@ -31,27 +31,27 @@ ---- ------- Profile: ingress_lossy_profile ----------- -------------------------------- +---------- ------------------ dynamic_th 3 -pool [BUFFER_POOL|ingress_lossy_pool] +pool ingress_lossy_pool size 0 ----------- -------------------------------- +---------- ------------------ Profile: headroom_profile ----------- ----------------------------------- +---------- --------------------- dynamic_th 0 -pool [BUFFER_POOL|ingress_lossless_pool] +pool ingress_lossless_pool xon 18432 xoff 32768 size 51200 ----------- ----------------------------------- +---------- --------------------- Profile: alpha_profile -------------- ----------------------------------- +------------- --------------------- dynamic_th 0 -pool [BUFFER_POOL|ingress_lossless_pool] +pool ingress_lossless_pool headroom_type dynamic -------------- ----------------------------------- +------------- --------------------- """ @@ -85,20 +85,20 @@ ---- ------- Profile: ingress_lossy_profile ----------- -------------------------------------- +---------- ------------------ dynamic_th 3 -pool [BUFFER_POOL_TABLE|ingress_lossy_pool] +pool ingress_lossy_pool size 0 ----------- -------------------------------------- +---------- ------------------ Profile: headroom_profile ----------- ----------------------------------------- +---------- --------------------- dynamic_th 0 -pool [BUFFER_POOL_TABLE|ingress_lossless_pool] +pool ingress_lossless_pool xon 18432 xoff 32768 size 51200 ----------- ----------------------------------------- +---------- --------------------- """ diff --git a/tests/buffer_test.py b/tests/buffer_test.py index 30abfad8eb..c9580d8750 100644 --- a/tests/buffer_test.py +++ b/tests/buffer_test.py @@ -34,7 +34,7 @@ def test_config_buffer_profile_headroom(self): print(result.output) assert result.exit_code == 0 profile = db.cfgdb.get_entry('BUFFER_PROFILE', 'testprofile') - assert profile == {'dynamic_th': '3', 'pool': '[BUFFER_POOL|ingress_lossless_pool]', 'xon': '18432', 'xoff': '32768', 'size': '18432'} + assert profile == {'dynamic_th': '3', 'pool': 'ingress_lossless_pool', 'xon': '18432', 'xoff': '32768', 'size': '18432'} def test_config_buffer_profile_dynamic_th(self): runner = CliRunner() @@ -45,7 +45,7 @@ def test_config_buffer_profile_dynamic_th(self): print(result.output) assert result.exit_code == 0 profile = db.cfgdb.get_entry('BUFFER_PROFILE', 'testprofile') - assert profile == {'dynamic_th': '3', 'pool': '[BUFFER_POOL|ingress_lossless_pool]', 'headroom_type': 'dynamic'} + assert profile == {'dynamic_th': '3', 'pool': 'ingress_lossless_pool', 'headroom_type': 'dynamic'} def test_config_buffer_profile_add_existing(self): runner = CliRunner() @@ -164,7 +164,7 @@ def test_config_buffer_profile_headroom_toggle_shp(self): print(result.output) assert result.exit_code == 0 profile = db.cfgdb.get_entry('BUFFER_PROFILE', 'test1') - assert profile == {'dynamic_th': '3', 'pool': '[BUFFER_POOL|ingress_lossless_pool]', 'xon': '18432', 'xoff': '32768', 'size': '51200'} + assert profile == {'dynamic_th': '3', 'pool': 'ingress_lossless_pool', 'xon': '18432', 'xoff': '32768', 'size': '51200'} # Xoff should equal size - xon result = runner.invoke(config.config.commands["buffer"].commands["profile"].commands["add"], @@ -173,7 +173,7 @@ def test_config_buffer_profile_headroom_toggle_shp(self): print(result.output) assert result.exit_code == 0 profile = db.cfgdb.get_entry('BUFFER_PROFILE', 'test2') - assert profile == {'dynamic_th': '3', 'pool': '[BUFFER_POOL|ingress_lossless_pool]', 'xon': '18432', 'xoff': '14336', 'size': '32768'} + assert profile == {'dynamic_th': '3', 'pool': 'ingress_lossless_pool', 'xon': '18432', 'xoff': '14336', 'size': '32768'} # Neither xon nor size is provided result = runner.invoke(config.config.commands["buffer"].commands["profile"].commands["add"], @@ -198,7 +198,7 @@ def test_config_buffer_profile_headroom_toggle_shp(self): print(result.output) assert result.exit_code == 0 profile = db.cfgdb.get_entry('BUFFER_PROFILE', 'test2') - assert profile == {'dynamic_th': '3', 'pool': '[BUFFER_POOL|ingress_lossless_pool]', 'xon': '18432', 'xoff': '14336', 'size': '65536'} + assert profile == {'dynamic_th': '3', 'pool': 'ingress_lossless_pool', 'xon': '18432', 'xoff': '14336', 'size': '65536'} # Set xon result = runner.invoke(config.config.commands["buffer"].commands["profile"].commands["set"], @@ -207,7 +207,7 @@ def test_config_buffer_profile_headroom_toggle_shp(self): print(result.output) assert result.exit_code == 0 profile = db.cfgdb.get_entry('BUFFER_PROFILE', 'test2') - assert profile == {'dynamic_th': '3', 'pool': '[BUFFER_POOL|ingress_lossless_pool]', 'xon': '19456', 'xoff': '14336', 'size': '65536'} + assert profile == {'dynamic_th': '3', 'pool': 'ingress_lossless_pool', 'xon': '19456', 'xoff': '14336', 'size': '65536'} # Set xoff result = runner.invoke(config.config.commands["buffer"].commands["profile"].commands["set"], @@ -216,7 +216,7 @@ def test_config_buffer_profile_headroom_toggle_shp(self): print(result.output) assert result.exit_code == 0 profile = db.cfgdb.get_entry('BUFFER_PROFILE', 'test2') - assert profile == {'dynamic_th': '3', 'pool': '[BUFFER_POOL|ingress_lossless_pool]', 'xon': '19456', 'xoff': '18432', 'size': '65536'} + assert profile == {'dynamic_th': '3', 'pool': 'ingress_lossless_pool', 'xon': '19456', 'xoff': '18432', 'size': '65536'} # Enable SHP by setting size result = runner.invoke(config.config.commands["buffer"].commands["shared-headroom-pool"].commands["size"], @@ -232,7 +232,7 @@ def test_config_buffer_profile_headroom_toggle_shp(self): print(result.output) assert result.exit_code == 0 profile = db.cfgdb.get_entry('BUFFER_PROFILE', 'testprofile3') - assert profile == {'dynamic_th': '3', 'pool': '[BUFFER_POOL|ingress_lossless_pool]', 'xon': '18432', 'xoff': '32768', 'size': '18432'} + assert profile == {'dynamic_th': '3', 'pool': 'ingress_lossless_pool', 'xon': '18432', 'xoff': '32768', 'size': '18432'} # Negative test: xoff not provided result = runner.invoke(config.config.commands["buffer"].commands["profile"].commands["add"], diff --git a/tests/counterpoll_input/config_db.json b/tests/counterpoll_input/config_db.json index bf82ff2501..c22bf22088 100644 --- a/tests/counterpoll_input/config_db.json +++ b/tests/counterpoll_input/config_db.json @@ -110,648 +110,648 @@ }, "QUEUE": { "Ethernet4|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet4|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet4|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet4|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet4|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet4|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet4|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet48|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet48|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet48|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet48|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet48|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet48|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet48|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet8|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet8|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet8|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet8|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet8|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet8|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet8|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet124|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet96|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet96|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet96|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet96|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet96|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet96|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet96|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet112|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet112|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet112|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet112|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet112|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet112|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet112|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet28|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet28|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet12|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet28|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet12|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet28|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet28|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet12|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet116|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet116|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet116|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet116|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet116|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet116|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet116|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet40|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet40|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet40|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet40|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet40|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet40|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet40|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet20|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet20|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet20|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet20|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet20|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet20|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet20|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet24|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet24|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet24|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet24|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet24|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet24|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet24|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet16|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet16|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet16|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet16|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet16|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet16|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet16|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet32|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet32|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet32|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet32|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet32|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet32|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet32|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet36|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet44|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet44|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet36|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet36|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet36|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet36|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet36|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet44|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet36|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet120|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet120|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet44|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet120|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet120|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet120|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet120|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet44|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet44|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet44|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet64|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet64|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet64|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet64|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet64|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet64|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet64|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet60|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet60|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet60|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet60|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet60|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet60|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet60|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet76|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet76|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet76|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet76|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet76|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet76|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet76|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet72|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet72|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet72|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet72|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet72|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet72|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet72|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet68|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet68|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet68|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet68|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet68|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet68|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet68|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet12|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet12|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet28|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet12|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet12|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet28|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet88|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet88|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet88|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet88|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet88|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet88|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet88|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet120|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet80|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet80|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet80|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet80|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet80|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet80|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet80|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet124|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet84|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet84|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet124|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet124|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet84|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet84|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet124|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet84|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet124|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet124|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet84|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet84|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet92|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet92|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet92|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet92|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet92|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet92|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet92|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet56|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet56|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet56|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet56|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet56|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet56|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet56|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet52|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet52|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet52|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet52|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet52|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet52|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet52|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" } }, "PORTCHANNEL_MEMBER": { @@ -1158,184 +1158,184 @@ }, "BUFFER_PG": { "Ethernet4|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "Ethernet48|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "Ethernet80|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "Ethernet112|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + "profile": "pg_lossless_40000_40m_profile" }, "Ethernet56|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + "profile": "pg_lossless_40000_5m_profile" }, "Ethernet104|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + "profile": "pg_lossless_40000_300m_profile" }, "Ethernet28|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "Ethernet12|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "Ethernet16|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + "profile": "pg_lossless_40000_5m_profile" }, "Ethernet40|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + "profile": "pg_lossless_40000_5m_profile" }, "Ethernet8|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "Ethernet52|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + "profile": "pg_lossless_40000_5m_profile" }, "Ethernet116|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + "profile": "pg_lossless_40000_40m_profile" }, "Ethernet124|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "Ethernet116|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "Ethernet24|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + "profile": "pg_lossless_40000_5m_profile" }, "Ethernet8|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + "profile": "pg_lossless_40000_5m_profile" }, "Ethernet108|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + "profile": "pg_lossless_40000_300m_profile" }, "Ethernet60|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "Ethernet0|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + "profile": "pg_lossless_40000_300m_profile" }, "Ethernet40|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "Ethernet12|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + "profile": "pg_lossless_40000_5m_profile" }, "Ethernet28|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + "profile": "pg_lossless_40000_5m_profile" }, "Ethernet76|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "Ethernet60|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + "profile": "pg_lossless_40000_5m_profile" }, "Ethernet120|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + "profile": "pg_lossless_40000_40m_profile" }, "Ethernet72|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + "profile": "pg_lossless_40000_5m_profile" }, "Ethernet20|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "Ethernet92|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "Ethernet48|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + "profile": "pg_lossless_40000_5m_profile" }, "Ethernet72|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "Ethernet88|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + "profile": "pg_lossless_40000_5m_profile" }, "Ethernet16|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "Ethernet32|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "Ethernet56|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "Ethernet44|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + "profile": "pg_lossless_40000_5m_profile" }, "Ethernet100|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + "profile": "pg_lossless_40000_300m_profile" }, "Ethernet44|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "Ethernet64|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "Ethernet36|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "Ethernet96|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "Ethernet64|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + "profile": "pg_lossless_40000_5m_profile" }, "Ethernet80|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + "profile": "pg_lossless_40000_5m_profile" }, "Ethernet96|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + "profile": "pg_lossless_40000_5m_profile" }, "Ethernet84|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "Ethernet124|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_40000_40m_profile]" + "profile": "pg_lossless_40000_40m_profile" }, "Ethernet24|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "Ethernet92|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + "profile": "pg_lossless_40000_5m_profile" }, "Ethernet20|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + "profile": "pg_lossless_40000_5m_profile" }, "Ethernet120|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "Ethernet112|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "Ethernet88|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "Ethernet76|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + "profile": "pg_lossless_40000_5m_profile" }, "Ethernet32|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + "profile": "pg_lossless_40000_5m_profile" }, "Ethernet4|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + "profile": "pg_lossless_40000_5m_profile" }, "Ethernet52|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "Ethernet68|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "Ethernet84|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + "profile": "pg_lossless_40000_5m_profile" }, "Ethernet68|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + "profile": "pg_lossless_40000_5m_profile" }, "Ethernet36|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + "profile": "pg_lossless_40000_5m_profile" } }, "BGP_NEIGHBOR": { @@ -1467,200 +1467,200 @@ }, "PORT_QOS_MAP": { "Ethernet8": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" }, "Ethernet4": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" }, "Ethernet96": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" }, "Ethernet124": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" }, "Ethernet92": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" }, "Ethernet120": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" }, "Ethernet52": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" }, "Ethernet56": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" }, "Ethernet76": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" }, "Ethernet72": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" }, "Ethernet32": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" }, "Ethernet16": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" }, "Ethernet36": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" }, "Ethernet12": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" }, "Ethernet28": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" }, "Ethernet88": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" }, "Ethernet24": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" }, "Ethernet116": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" }, "Ethernet80": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" }, "Ethernet112": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" }, "Ethernet84": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" }, "Ethernet48": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" }, "Ethernet44": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" }, "Ethernet40": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" }, "Ethernet64": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" }, "Ethernet60": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" }, "Ethernet20": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" }, "Ethernet68": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" } }, "DHCP_SERVER": { @@ -1789,256 +1789,256 @@ }, "BUFFER_QUEUE": { "Ethernet76|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet80|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet120|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet40|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet16|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet40|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet116|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet52|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet84|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet24|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet124|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet8|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet64|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet12|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet28|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet120|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet112|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet24|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet96|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet4|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet88|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet112|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet68|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet36|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet20|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet36|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet80|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet40|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet64|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet12|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet16|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet72|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet56|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet8|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet52|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet92|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet32|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet56|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet124|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet84|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet84|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet48|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet36|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet48|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet88|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet16|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet44|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet56|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet8|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet88|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet76|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet68|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet28|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet112|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet96|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet60|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet12|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet72|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet120|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet4|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet72|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet60|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet4|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet68|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet80|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet64|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet24|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet44|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet44|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet92|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet48|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet116|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet28|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet96|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet124|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet116|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet92|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet20|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet76|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet60|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet32|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet32|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet20|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet52|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" } }, "WRED_PROFILE": { @@ -2628,17 +2628,17 @@ "dynamic_th": "-3", "xon": "18432", "xoff": "55120", - "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "56368" }, "egress_lossy_profile": { "dynamic_th": "3", - "pool": "[BUFFER_POOL|egress_lossy_pool]", + "pool": "egress_lossy_pool", "size": "1518" }, "egress_lossless_profile": { "static_th": "12766208", - "pool": "[BUFFER_POOL|egress_lossless_pool]", + "pool": "egress_lossless_pool", "size": "0" }, "pg_lossless_40000_5m_profile": { @@ -2646,12 +2646,12 @@ "dynamic_th": "-3", "xon": "18432", "xoff": "55120", - "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "56368" }, "ingress_lossy_profile": { "dynamic_th": "3", - "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "0" }, "pg_lossless_40000_40m_profile": { @@ -2659,7 +2659,7 @@ "dynamic_th": "-3", "xon": "18432", "xoff": "55120", - "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "56368" } } diff --git a/tests/db_migrator_input/appl_db/acs-msn2700-t0-version_2_0_3.json b/tests/db_migrator_input/appl_db/acs-msn2700-t0-version_2_0_3.json new file mode 100644 index 0000000000..3738a97508 --- /dev/null +++ b/tests/db_migrator_input/appl_db/acs-msn2700-t0-version_2_0_3.json @@ -0,0 +1,696 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "pg_lossless_10000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "pg_lossless_25000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet8:3-4": { + "profile": "pg_lossless_40000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet16:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet20:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet24:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet28:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet32:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet36:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet44:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet48:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet52:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet56:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet56:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet60:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet60:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet64:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet68:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet68:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet72:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet72:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet76:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet76:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet80:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet80:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet84:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet84:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet88:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet88:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet92:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet92:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet96:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet96:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet100:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet104:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet108:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet112:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet112:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet116:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet116:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet120:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet120:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet124:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet124:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "4580864" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "4580864" + }, + "BUFFER_POOL_TABLE:ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "4580864" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossy_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "ingress_lossless_pool", + "size": "49152" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "ingress_lossless_pool", + "size": "49152" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "ingress_lossless_pool", + "size": "49152" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "ingress_lossless_pool", + "size": "49152" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "ingress_lossless_pool", + "size": "53248" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "30720", + "pool": "ingress_lossless_pool", + "size": "50176" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "38912", + "pool": "ingress_lossless_pool", + "size": "58368" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:5-6": { + "profile": "q_lossy_profile" + } +} diff --git a/tests/db_migrator_input/appl_db/acs-msn2700-t1-version_2_0_3.json b/tests/db_migrator_input/appl_db/acs-msn2700-t1-version_2_0_3.json new file mode 100644 index 0000000000..72d6af3d9c --- /dev/null +++ b/tests/db_migrator_input/appl_db/acs-msn2700-t1-version_2_0_3.json @@ -0,0 +1,789 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "pg_lossless_10000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "pg_lossless_25000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet8:3-4": { + "profile": "pg_lossless_40000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet16:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet20:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet24:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet28:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet32:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet36:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet44:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet48:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet52:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet56:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet56:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet60:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet60:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet64:3-4": { + "profile": "pg_lossless_10000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet68:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet68:3-4": { + "profile": "pg_lossless_25000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet72:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet72:3-4": { + "profile": "pg_lossless_40000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet76:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet76:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet80:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet80:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet84:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet84:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet88:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet88:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet92:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet92:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet96:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet96:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet100:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet100:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet104:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet104:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet108:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet108:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet112:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet112:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet116:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet116:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet120:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet120:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet124:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet124:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "3302912" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "3302912" + }, + "BUFFER_POOL_TABLE:ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "3302912" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossy_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "ingress_lossless_pool", + "size": "49152" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "36864", + "pool": "ingress_lossless_pool", + "size": "56320" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "31744", + "pool": "ingress_lossless_pool", + "size": "51200" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "48128", + "pool": "ingress_lossless_pool", + "size": "67584" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "32768", + "pool": "ingress_lossless_pool", + "size": "52224" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "59392", + "pool": "ingress_lossless_pool", + "size": "78848" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "ingress_lossless_pool", + "size": "53248" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "66560", + "pool": "ingress_lossless_pool", + "size": "86016" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "38912", + "pool": "ingress_lossless_pool", + "size": "58368" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "104448", + "pool": "ingress_lossless_pool", + "size": "123904" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:5-6": { + "profile": "q_lossy_profile" + } +} diff --git a/tests/db_migrator_input/appl_db/acs-msn3700-t0-version_2_0_3.json b/tests/db_migrator_input/appl_db/acs-msn3700-t0-version_2_0_3.json new file mode 100644 index 0000000000..10e7cbae66 --- /dev/null +++ b/tests/db_migrator_input/appl_db/acs-msn3700-t0-version_2_0_3.json @@ -0,0 +1,829 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "pg_lossless_10000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "pg_lossless_25000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet8:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "pg_lossless_40000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet16:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet20:3-4": { + "profile": "pg_lossless_200000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet24:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet28:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet32:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet36:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet44:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet48:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet52:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet56:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet56:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet60:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet60:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet64:3-4": { + "profile": "pg_lossless_25000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet65:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet65:3-4": { + "profile": "pg_lossless_25000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet66:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet66:3-4": { + "profile": "pg_lossless_25000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet67:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet67:3-4": { + "profile": "pg_lossless_25000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet80:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet80:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet82:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet82:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet88:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet88:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet92:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet92:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet96:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet96:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet100:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet104:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet108:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet112:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet112:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet116:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet116:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet120:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet120:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet124:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet124:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "14542848" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "14542848" + }, + "BUFFER_POOL_TABLE:ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "14542848" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet2": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet6": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet10": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet18": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet22": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet26": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet34": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet38": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet42": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet50": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet54": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet58": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet65": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet66": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet67": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet70": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet82": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet2": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet6": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet10": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet18": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet22": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet26": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet34": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet38": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet42": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet50": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet54": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet58": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet65": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet66": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet67": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet70": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet82": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossy_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "32768", + "pool": "ingress_lossless_pool", + "size": "52224" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "32768", + "pool": "ingress_lossless_pool", + "size": "52224" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "ingress_lossless_pool", + "size": "53248" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "ingress_lossless_pool", + "size": "53248" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "38912", + "pool": "ingress_lossless_pool", + "size": "58368" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "ingress_lossless_pool", + "size": "53248" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "44032", + "pool": "ingress_lossless_pool", + "size": "63488" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_200000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "35840", + "pool": "ingress_lossless_pool", + "size": "55296" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet65:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet65:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet65:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet67:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet67:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet67:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet82:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet82:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet82:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:5-6": { + "profile": "q_lossy_profile" + } +} diff --git a/tests/db_migrator_input/appl_db/acs-msn3700-t1-version_2_0_3.json b/tests/db_migrator_input/appl_db/acs-msn3700-t1-version_2_0_3.json new file mode 100644 index 0000000000..e13fd1fa76 --- /dev/null +++ b/tests/db_migrator_input/appl_db/acs-msn3700-t1-version_2_0_3.json @@ -0,0 +1,905 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "pg_lossless_10000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "pg_lossless_25000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet8:3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "pg_lossless_40000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet16:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet20:3-4": { + "profile": "pg_lossless_200000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet24:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet28:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet32:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet36:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet44:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet48:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet52:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet56:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet56:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet60:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet60:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet64:3-4": { + "profile": "pg_lossless_25000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet65:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet65:3-4": { + "profile": "pg_lossless_25000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet66:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet66:3-4": { + "profile": "pg_lossless_25000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet67:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet67:3-4": { + "profile": "pg_lossless_25000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet80:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet80:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet82:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet82:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet88:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet88:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet92:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet92:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet96:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet96:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet100:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet100:3-4": { + "profile": "pg_lossless_10000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet104:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet104:3-4": { + "profile": "pg_lossless_25000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet108:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet108:3-4": { + "profile": "pg_lossless_40000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet112:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet112:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet116:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet116:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet120:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet120:3-4": { + "profile": "pg_lossless_200000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet124:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet124:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "11622400" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "11622400" + }, + "BUFFER_POOL_TABLE:ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "11622400" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet2": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet6": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet10": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet18": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet22": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet26": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet34": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet38": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet42": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet50": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet54": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet58": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet65": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet66": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet67": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet70": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet82": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet2": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet6": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet10": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet18": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet22": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet26": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet34": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet38": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet42": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet50": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet54": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet58": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet65": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet66": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet67": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet70": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet82": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossy_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "ingress_lossless_pool", + "size": "53248" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "40960", + "pool": "ingress_lossless_pool", + "size": "60416" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "35840", + "pool": "ingress_lossless_pool", + "size": "55296" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "54272", + "pool": "ingress_lossless_pool", + "size": "73728" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "37888", + "pool": "ingress_lossless_pool", + "size": "57344" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "66560", + "pool": "ingress_lossless_pool", + "size": "86016" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "38912", + "pool": "ingress_lossless_pool", + "size": "58368" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "75776", + "pool": "ingress_lossless_pool", + "size": "95232" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "44032", + "pool": "ingress_lossless_pool", + "size": "63488" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "117760", + "pool": "ingress_lossless_pool", + "size": "137216" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_200000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "55296", + "pool": "ingress_lossless_pool", + "size": "74752" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_200000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "203776", + "pool": "ingress_lossless_pool", + "size": "223232" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet65:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet65:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet65:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet67:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet67:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet67:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet82:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet82:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet82:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:5-6": { + "profile": "q_lossy_profile" + } +} diff --git a/tests/db_migrator_input/appl_db/acs-msn3800-t0-version_2_0_3.json b/tests/db_migrator_input/appl_db/acs-msn3800-t0-version_2_0_3.json new file mode 100644 index 0000000000..41bcdf39f0 --- /dev/null +++ b/tests/db_migrator_input/appl_db/acs-msn3800-t0-version_2_0_3.json @@ -0,0 +1,983 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "pg_lossless_10000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet2:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet2:3-4": { + "profile": "pg_lossless_25000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet6:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet6:3-4": { + "profile": "pg_lossless_40000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet8:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet10:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet10:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet16:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet18:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet18:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet20:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet22:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet22:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet24:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet26:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet26:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet28:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet32:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet34:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet34:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet36:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet38:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet38:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet42:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet42:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet44:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet48:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet50:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet50:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet52:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet54:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet54:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet56:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet58:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet60:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet64:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet66:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet66:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet68:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet68:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet70:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet70:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet72:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet74:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet76:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet80:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet82:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet84:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet86:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet88:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet90:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet92:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet96:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet100:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet104:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet106:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet108:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet112:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet116:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet120:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet122:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet124:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet128:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet132:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet136:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet138:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet140:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet144:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet148:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet152:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet154:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet156:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet160:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet162:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet164:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet166:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet168:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet170:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet172:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet176:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet178:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet180:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet182:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet184:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet186:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet188:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet192:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet196:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet198:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet200:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet204:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet208:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet212:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet214:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet216:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet220:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet224:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet228:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet230:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet232:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet236:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet240:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet244:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet246:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet248:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet252:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13924352" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "13924352" + }, + "BUFFER_POOL_TABLE:ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "13924352" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet2": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet6": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet10": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet18": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet22": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet26": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet34": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet38": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet42": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet50": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet54": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet66": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet70": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet2": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet6": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet10": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet18": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet22": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet26": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet34": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet38": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet42": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet50": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet54": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet66": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet70": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossy_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "34816", + "pool": "ingress_lossless_pool", + "size": "54272" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "38912", + "pool": "ingress_lossless_pool", + "size": "58368" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "41984", + "pool": "ingress_lossless_pool", + "size": "61440" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "45056", + "pool": "ingress_lossless_pool", + "size": "64512" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "50176", + "pool": "ingress_lossless_pool", + "size": "69632" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "56320", + "pool": "ingress_lossless_pool", + "size": "75776" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:5-6": { + "profile": "q_lossy_profile" + } +} diff --git a/tests/db_migrator_input/appl_db/acs-msn3800-t1-version_2_0_3.json b/tests/db_migrator_input/appl_db/acs-msn3800-t1-version_2_0_3.json new file mode 100644 index 0000000000..a0e5cc9088 --- /dev/null +++ b/tests/db_migrator_input/appl_db/acs-msn3800-t1-version_2_0_3.json @@ -0,0 +1,1079 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "pg_lossless_10000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet2:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet2:3-4": { + "profile": "pg_lossless_25000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet6:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet6:3-4": { + "profile": "pg_lossless_40000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet8:3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet10:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet10:3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet16:3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet18:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet18:3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet20:3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet22:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet22:3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet24:3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet26:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet26:3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet28:3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet32:3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet34:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet34:3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet36:3-4": { + "profile": "pg_lossless_10000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet38:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet38:3-4": { + "profile": "pg_lossless_25000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "pg_lossless_40000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet42:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet42:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet44:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet48:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet50:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet50:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet52:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet54:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet54:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet56:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet56:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet58:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet58:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet60:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet60:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet64:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet66:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet66:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet68:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet68:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet70:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet70:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet72:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet74:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet76:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet80:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet82:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet84:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet86:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet88:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet90:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet92:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet96:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet100:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet104:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet106:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet108:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet112:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet116:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet120:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet122:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet124:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet128:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet132:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet136:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet138:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet140:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet144:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet148:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet152:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet154:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet156:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet160:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet162:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet164:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet166:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet168:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet170:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet172:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet176:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet178:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet180:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet182:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet184:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet186:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet188:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet192:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet196:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet198:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet200:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet204:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet208:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet212:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet214:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet216:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet220:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet224:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet228:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet230:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet232:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet236:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet240:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet244:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet246:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet248:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet252:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "12457984" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "12457984" + }, + "BUFFER_POOL_TABLE:ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "12457984" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet2": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet6": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet10": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet18": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet22": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet26": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet34": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet38": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet42": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet50": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet54": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet58": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet66": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet70": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet2": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet6": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet10": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet18": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet22": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet26": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet34": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet38": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet42": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet50": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet54": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet58": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet66": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet70": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossy_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "35840", + "pool": "ingress_lossless_pool", + "size": "55296" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "44032", + "pool": "ingress_lossless_pool", + "size": "63488" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "40960", + "pool": "ingress_lossless_pool", + "size": "60416" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "59392", + "pool": "ingress_lossless_pool", + "size": "78848" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "46080", + "pool": "ingress_lossless_pool", + "size": "65536" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "75776", + "pool": "ingress_lossless_pool", + "size": "95232" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "45056", + "pool": "ingress_lossless_pool", + "size": "64512" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "50176", + "pool": "ingress_lossless_pool", + "size": "69632" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "87040", + "pool": "ingress_lossless_pool", + "size": "106496" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "56320", + "pool": "ingress_lossless_pool", + "size": "75776" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "66560", + "pool": "ingress_lossless_pool", + "size": "86016" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "140288", + "pool": "ingress_lossless_pool", + "size": "159744" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet58:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet58:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet58:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:5-6": { + "profile": "q_lossy_profile" + } +} diff --git a/tests/db_migrator_input/appl_db/acs-msn4700-t0-version_2_0_3.json b/tests/db_migrator_input/appl_db/acs-msn4700-t0-version_2_0_3.json new file mode 100644 index 0000000000..ec4b55d56f --- /dev/null +++ b/tests/db_migrator_input/appl_db/acs-msn4700-t0-version_2_0_3.json @@ -0,0 +1,914 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "pg_lossless_10000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet8:3-4": { + "profile": "pg_lossless_25000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet16:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet24:3-4": { + "profile": "pg_lossless_40000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet32:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "pg_lossless_200000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet48:3-4": { + "profile": "pg_lossless_400000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet56:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet56:3-4": { + "profile": "pg_lossless_400000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet64:3-4": { + "profile": "pg_lossless_400000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet72:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet72:3-4": { + "profile": "pg_lossless_400000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet80:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet80:3-4": { + "profile": "pg_lossless_400000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet88:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet88:3-4": { + "profile": "pg_lossless_400000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet96:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet96:3-4": { + "profile": "pg_lossless_400000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet104:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet104:3-4": { + "profile": "pg_lossless_400000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet112:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet112:3-4": { + "profile": "pg_lossless_400000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet120:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet120:3-4": { + "profile": "pg_lossless_400000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet128:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet128:3-4": { + "profile": "pg_lossless_400000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet136:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet136:3-4": { + "profile": "pg_lossless_400000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet144:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet144:3-4": { + "profile": "pg_lossless_400000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet152:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet152:3-4": { + "profile": "pg_lossless_400000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet160:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet160:3-4": { + "profile": "pg_lossless_400000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet168:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet168:3-4": { + "profile": "pg_lossless_400000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet176:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet176:3-4": { + "profile": "pg_lossless_400000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet184:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet184:3-4": { + "profile": "pg_lossless_400000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet192:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet192:3-4": { + "profile": "pg_lossless_400000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet200:3-4": { + "profile": "pg_lossless_400000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet208:3-4": { + "profile": "pg_lossless_400000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet216:3-4": { + "profile": "pg_lossless_400000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet224:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet224:3-4": { + "profile": "pg_lossless_400000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet232:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet232:3-4": { + "profile": "pg_lossless_400000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet240:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet240:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet248:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet248:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "60817392" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "26451968" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "26451968" + }, + "BUFFER_POOL_TABLE:ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "26451968" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet2": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet6": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet10": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet18": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet22": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet26": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet34": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet38": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet42": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet50": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet54": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet58": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet65": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet66": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet67": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet70": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet82": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet128": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet136": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet144": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet152": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet160": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet168": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet176": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet184": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet192": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet224": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet232": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet240": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet248": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet2": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet6": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet10": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet18": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet22": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet26": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet34": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet38": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet42": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet50": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet54": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet58": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet65": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet66": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet67": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet70": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet82": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet128": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet136": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet144": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet152": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet160": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet168": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet176": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet184": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet192": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet224": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet232": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet240": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet248": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossy_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "32768", + "pool": "ingress_lossless_pool", + "size": "52224" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "32768", + "pool": "ingress_lossless_pool", + "size": "52224" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "ingress_lossless_pool", + "size": "53248" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "ingress_lossless_pool", + "size": "53248" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "ingress_lossless_pool", + "size": "53248" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "44032", + "pool": "ingress_lossless_pool", + "size": "63488" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_200000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "35840", + "pool": "ingress_lossless_pool", + "size": "55296" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_400000_5m_profile": { + "xon": "37888", + "dynamic_th": "0", + "xoff": "38912", + "pool": "ingress_lossless_pool", + "size": "86016" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_400000_40m_profile": { + "xon": "37888", + "dynamic_th": "0", + "xoff": "77824", + "pool": "ingress_lossless_pool", + "size": "124928" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet128:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet128:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet128:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet136:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet136:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet136:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet144:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet144:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet144:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet152:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet152:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet152:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet160:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet160:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet160:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet168:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet168:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet168:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet176:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet176:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet176:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet184:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet184:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet184:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet192:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet192:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet192:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet224:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet224:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet224:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet232:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet232:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet232:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet240:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet240:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet240:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet248:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet248:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet248:5-6": { + "profile": "q_lossy_profile" + } +} diff --git a/tests/db_migrator_input/appl_db/acs-msn4700-t1-version_2_0_3.json b/tests/db_migrator_input/appl_db/acs-msn4700-t1-version_2_0_3.json new file mode 100644 index 0000000000..10cf02a1c8 --- /dev/null +++ b/tests/db_migrator_input/appl_db/acs-msn4700-t1-version_2_0_3.json @@ -0,0 +1,1015 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "pg_lossless_10000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet8:3-4": { + "profile": "pg_lossless_25000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet16:3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet24:3-4": { + "profile": "pg_lossless_40000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet32:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "pg_lossless_200000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet48:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet56:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet56:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet64:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet72:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet72:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet80:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet80:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet88:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet88:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet96:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet96:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet104:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet104:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet112:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet112:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet120:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet120:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet128:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet128:3-4": { + "profile": "pg_lossless_10000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet136:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet136:3-4": { + "profile": "pg_lossless_25000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet144:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet144:3-4": { + "profile": "pg_lossless_40000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet152:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet152:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet160:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet160:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet168:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet168:3-4": { + "profile": "pg_lossless_200000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet176:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet176:3-4": { + "profile": "pg_lossless_400000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet184:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet184:3-4": { + "profile": "pg_lossless_400000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet192:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet192:3-4": { + "profile": "pg_lossless_400000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet200:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet200:3-4": { + "profile": "pg_lossless_400000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet208:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet208:3-4": { + "profile": "pg_lossless_400000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet216:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet216:3-4": { + "profile": "pg_lossless_400000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet224:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet224:3-4": { + "profile": "pg_lossless_400000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet232:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet232:3-4": { + "profile": "pg_lossless_400000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet240:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet240:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet248:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet248:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "60817392" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "20627456" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "20627456" + }, + "BUFFER_POOL_TABLE:ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "20627456" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet2": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet6": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet10": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet18": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet22": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet26": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet34": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet38": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet42": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet50": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet54": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet58": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet65": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet66": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet67": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet70": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet82": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet128": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet136": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet144": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet152": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet160": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet168": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet176": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet184": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet192": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet200": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet208": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet216": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet224": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet232": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet240": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet248": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet2": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet6": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet10": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet18": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet22": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet26": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet34": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet38": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet42": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet50": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet54": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet58": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet65": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet66": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet67": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet70": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet82": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet128": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet136": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet144": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet152": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet160": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet168": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet176": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet184": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet192": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet200": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet208": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet216": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet224": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet232": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet240": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet248": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossy_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "33792", + "pool": "ingress_lossless_pool", + "size": "53248" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "40960", + "pool": "ingress_lossless_pool", + "size": "60416" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "35840", + "pool": "ingress_lossless_pool", + "size": "55296" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "54272", + "pool": "ingress_lossless_pool", + "size": "73728" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "37888", + "pool": "ingress_lossless_pool", + "size": "57344" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "66560", + "pool": "ingress_lossless_pool", + "size": "86016" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "38912", + "pool": "ingress_lossless_pool", + "size": "58368" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "75776", + "pool": "ingress_lossless_pool", + "size": "95232" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "44032", + "pool": "ingress_lossless_pool", + "size": "63488" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "117760", + "pool": "ingress_lossless_pool", + "size": "137216" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_200000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "55296", + "pool": "ingress_lossless_pool", + "size": "74752" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_200000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "203776", + "pool": "ingress_lossless_pool", + "size": "223232" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_400000_40m_profile": { + "xon": "37888", + "dynamic_th": "0", + "xoff": "77824", + "pool": "ingress_lossless_pool", + "size": "124928" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_400000_300m_profile": { + "xon": "37888", + "dynamic_th": "0", + "xoff": "373760", + "pool": "ingress_lossless_pool", + "size": "420864" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet128:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet128:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet128:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet136:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet136:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet136:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet144:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet144:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet144:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet152:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet152:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet152:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet160:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet160:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet160:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet168:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet168:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet168:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet176:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet176:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet176:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet184:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet184:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet184:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet192:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet192:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet192:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet200:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet200:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet200:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet208:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet208:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet208:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet216:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet216:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet216:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet224:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet224:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet224:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet232:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet232:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet232:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet240:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet240:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet240:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet248:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet248:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet248:5-6": { + "profile": "q_lossy_profile" + } +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-single-pool-t0-version_2_0_3.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-single-pool-t0-version_2_0_3.json new file mode 100644 index 0000000000..a15c60fbbc --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-single-pool-t0-version_2_0_3.json @@ -0,0 +1,692 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "pg_lossless_10000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet8:3-4": { + "profile": "pg_lossless_25000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "pg_lossless_40000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet16:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet20:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet24:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet28:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet32:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet36:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet44:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet48:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet52:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet56:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet56:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet60:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet60:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet64:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet68:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet68:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet72:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet72:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet76:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet76:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet80:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet80:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet84:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet84:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet88:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet88:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet92:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet92:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet96:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet96:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet100:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet104:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet108:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet112:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet112:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet116:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet116:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet120:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet120:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet124:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet124:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "7719936" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "xoff": "1032192", + "type": "ingress", + "mode": "dynamic", + "size": "7719936" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "23552", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:5-6": { + "profile": "q_lossy_profile" + } +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-single-pool-t1-version_2_0_3.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-single-pool-t1-version_2_0_3.json new file mode 100644 index 0000000000..798d103930 --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-single-pool-t1-version_2_0_3.json @@ -0,0 +1,785 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "pg_lossless_10000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "pg_lossless_25000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet8:3-4": { + "profile": "pg_lossless_40000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet16:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet20:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet24:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet28:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet32:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet36:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet44:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet48:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet52:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet56:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet56:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet60:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet60:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet64:3-4": { + "profile": "pg_lossless_10000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet68:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet68:3-4": { + "profile": "pg_lossless_25000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet72:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet72:3-4": { + "profile": "pg_lossless_40000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet76:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet76:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet80:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet80:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet84:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet84:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet88:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet88:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet92:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet92:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet96:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet96:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet100:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet100:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet104:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet104:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet108:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet108:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet112:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet112:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet116:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet116:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet120:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet120:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet124:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet124:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "9686016" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "xoff": "1179648", + "type": "ingress", + "mode": "dynamic", + "size": "9686016" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "27648", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "24576", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "36864", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "45056", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "50176", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "78848", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:5-6": { + "profile": "q_lossy_profile" + } +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-t0-version_2_0_3.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-t0-version_2_0_3.json new file mode 100644 index 0000000000..8ddd12b932 --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-t0-version_2_0_3.json @@ -0,0 +1,697 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "pg_lossless_10000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet8:3-4": { + "profile": "pg_lossless_25000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "pg_lossless_40000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet16:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet20:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet24:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet28:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet32:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet36:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet44:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet48:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet52:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet56:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet56:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet60:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet60:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet64:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet68:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet68:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet72:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet72:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet76:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet76:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet80:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet80:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet84:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet84:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet88:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet88:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet92:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet92:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet96:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet96:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet100:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet104:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet108:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet112:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet112:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet116:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet116:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet120:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet120:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet124:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet124:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "3859968" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "xoff": "1032192", + "type": "ingress", + "mode": "dynamic", + "size": "3859968" + }, + "BUFFER_POOL_TABLE:ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "3859968" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossy_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "23552", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:5-6": { + "profile": "q_lossy_profile" + } +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-t1-version_2_0_3.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-t1-version_2_0_3.json new file mode 100644 index 0000000000..10b616166d --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn2700-c28d8-t1-version_2_0_3.json @@ -0,0 +1,790 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "pg_lossless_10000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "pg_lossless_25000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet8:3-4": { + "profile": "pg_lossless_40000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet16:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet20:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet24:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet28:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet32:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet36:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet44:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet48:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet52:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet56:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet56:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet60:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet60:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet64:3-4": { + "profile": "pg_lossless_10000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet68:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet68:3-4": { + "profile": "pg_lossless_25000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet72:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet72:3-4": { + "profile": "pg_lossless_40000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet76:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet76:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet80:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet80:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet84:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet84:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet88:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet88:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet92:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet92:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet96:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet96:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet100:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet100:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet104:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet104:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet108:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet108:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet112:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet112:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet116:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet116:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet120:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet120:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet124:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet124:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "4843008" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "xoff": "1179648", + "type": "ingress", + "mode": "dynamic", + "size": "4843008" + }, + "BUFFER_POOL_TABLE:ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "4843008" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossy_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "27648", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "24576", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "36864", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "45056", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "50176", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "78848", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:5-6": { + "profile": "q_lossy_profile" + } +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-d40c8s8-t0-version_2_0_3.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-d40c8s8-t0-version_2_0_3.json new file mode 100644 index 0000000000..a15c60fbbc --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn2700-d40c8s8-t0-version_2_0_3.json @@ -0,0 +1,692 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "pg_lossless_10000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet8:3-4": { + "profile": "pg_lossless_25000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "pg_lossless_40000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet16:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet20:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet24:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet28:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet32:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet36:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet44:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet48:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet52:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet56:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet56:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet60:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet60:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet64:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet68:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet68:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet72:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet72:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet76:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet76:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet80:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet80:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet84:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet84:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet88:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet88:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet92:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet92:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet96:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet96:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet100:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet104:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet108:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet112:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet112:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet116:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet116:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet120:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet120:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet124:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet124:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "7719936" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "xoff": "1032192", + "type": "ingress", + "mode": "dynamic", + "size": "7719936" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "23552", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:5-6": { + "profile": "q_lossy_profile" + } +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-d40c8s8-t1-version_2_0_3.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-d40c8s8-t1-version_2_0_3.json new file mode 100644 index 0000000000..798d103930 --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn2700-d40c8s8-t1-version_2_0_3.json @@ -0,0 +1,785 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "pg_lossless_10000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "pg_lossless_25000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet8:3-4": { + "profile": "pg_lossless_40000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet16:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet20:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet24:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet28:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet32:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet36:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet44:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet48:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet52:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet56:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet56:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet60:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet60:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet64:3-4": { + "profile": "pg_lossless_10000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet68:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet68:3-4": { + "profile": "pg_lossless_25000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet72:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet72:3-4": { + "profile": "pg_lossless_40000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet76:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet76:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet80:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet80:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet84:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet84:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet88:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet88:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet92:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet92:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet96:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet96:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet100:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet100:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet104:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet104:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet108:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet108:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet112:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet112:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet116:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet116:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet120:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet120:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet124:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet124:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "9686016" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "xoff": "1179648", + "type": "ingress", + "mode": "dynamic", + "size": "9686016" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "27648", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "24576", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "36864", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "45056", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "50176", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "78848", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:5-6": { + "profile": "q_lossy_profile" + } +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-single-pool-t0-version_2_0_3.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-single-pool-t0-version_2_0_3.json new file mode 100644 index 0000000000..a15c60fbbc --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-single-pool-t0-version_2_0_3.json @@ -0,0 +1,692 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "pg_lossless_10000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet8:3-4": { + "profile": "pg_lossless_25000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "pg_lossless_40000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet16:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet20:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet24:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet28:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet32:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet36:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet44:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet48:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet52:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet56:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet56:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet60:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet60:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet64:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet68:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet68:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet72:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet72:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet76:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet76:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet80:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet80:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet84:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet84:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet88:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet88:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet92:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet92:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet96:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet96:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet100:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet104:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet108:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet112:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet112:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet116:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet116:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet120:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet120:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet124:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet124:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "7719936" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "xoff": "1032192", + "type": "ingress", + "mode": "dynamic", + "size": "7719936" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "23552", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:5-6": { + "profile": "q_lossy_profile" + } +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-single-pool-t1-version_2_0_3.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-single-pool-t1-version_2_0_3.json new file mode 100644 index 0000000000..798d103930 --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-single-pool-t1-version_2_0_3.json @@ -0,0 +1,785 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "pg_lossless_10000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "pg_lossless_25000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet8:3-4": { + "profile": "pg_lossless_40000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet16:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet20:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet24:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet28:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet32:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet36:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet44:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet48:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet52:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet56:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet56:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet60:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet60:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet64:3-4": { + "profile": "pg_lossless_10000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet68:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet68:3-4": { + "profile": "pg_lossless_25000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet72:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet72:3-4": { + "profile": "pg_lossless_40000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet76:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet76:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet80:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet80:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet84:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet84:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet88:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet88:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet92:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet92:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet96:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet96:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet100:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet100:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet104:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet104:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet108:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet108:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet112:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet112:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet116:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet116:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet120:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet120:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet124:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet124:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "9686016" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "xoff": "1179648", + "type": "ingress", + "mode": "dynamic", + "size": "9686016" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "27648", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "24576", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "36864", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "45056", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "50176", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "78848", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:5-6": { + "profile": "q_lossy_profile" + } +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-t0-version_2_0_3.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-t0-version_2_0_3.json new file mode 100644 index 0000000000..8ddd12b932 --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-t0-version_2_0_3.json @@ -0,0 +1,697 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "pg_lossless_10000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet8:3-4": { + "profile": "pg_lossless_25000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "pg_lossless_40000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet16:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet20:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet24:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet28:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet32:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet36:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet44:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet48:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet52:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet56:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet56:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet60:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet60:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet64:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet68:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet68:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet72:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet72:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet76:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet76:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet80:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet80:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet84:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet84:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet88:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet88:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet92:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet92:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet96:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet96:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet100:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet104:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet108:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet112:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet112:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet116:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet116:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet120:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet120:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet124:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet124:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "3859968" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "xoff": "1032192", + "type": "ingress", + "mode": "dynamic", + "size": "3859968" + }, + "BUFFER_POOL_TABLE:ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "3859968" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossy_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "23552", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:5-6": { + "profile": "q_lossy_profile" + } +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-t1-version_2_0_3.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-t1-version_2_0_3.json new file mode 100644 index 0000000000..10b616166d --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn2700-d48c8-t1-version_2_0_3.json @@ -0,0 +1,790 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "pg_lossless_10000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "pg_lossless_25000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet8:3-4": { + "profile": "pg_lossless_40000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet16:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet20:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet24:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet28:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet32:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet36:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet44:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet48:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet52:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet56:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet56:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet60:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet60:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet64:3-4": { + "profile": "pg_lossless_10000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet68:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet68:3-4": { + "profile": "pg_lossless_25000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet72:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet72:3-4": { + "profile": "pg_lossless_40000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet76:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet76:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet80:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet80:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet84:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet84:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet88:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet88:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet92:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet92:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet96:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet96:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet100:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet100:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet104:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet104:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet108:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet108:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet112:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet112:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet116:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet116:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet120:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet120:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet124:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet124:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "4843008" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "xoff": "1179648", + "type": "ingress", + "mode": "dynamic", + "size": "4843008" + }, + "BUFFER_POOL_TABLE:ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "4843008" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossy_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "27648", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "24576", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "36864", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "45056", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "50176", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "78848", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:5-6": { + "profile": "q_lossy_profile" + } +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-single-pool-t0-version_2_0_3.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-single-pool-t0-version_2_0_3.json new file mode 100644 index 0000000000..3970eda087 --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn2700-single-pool-t0-version_2_0_3.json @@ -0,0 +1,692 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "pg_lossless_10000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "pg_lossless_25000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet8:3-4": { + "profile": "pg_lossless_40000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet16:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet20:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet24:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet28:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet32:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet36:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet44:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet48:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet52:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet56:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet56:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet60:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet60:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet64:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet68:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet68:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet72:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet72:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet76:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet76:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet80:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet80:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet84:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet84:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet88:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet88:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet92:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet92:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet96:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet96:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet100:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet104:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet108:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet112:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet112:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet116:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet116:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet120:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet120:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet124:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet124:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "10177536" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "xoff": "688128", + "type": "ingress", + "mode": "dynamic", + "size": "10177536" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "23552", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:5-6": { + "profile": "q_lossy_profile" + } +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-single-pool-t1-version_2_0_3.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-single-pool-t1-version_2_0_3.json new file mode 100644 index 0000000000..c2905456a5 --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn2700-single-pool-t1-version_2_0_3.json @@ -0,0 +1,785 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "pg_lossless_10000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "pg_lossless_25000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet8:3-4": { + "profile": "pg_lossless_40000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet16:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet20:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet24:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet28:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet32:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet36:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet44:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet48:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet52:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet56:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet56:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet60:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet60:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet64:3-4": { + "profile": "pg_lossless_10000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet68:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet68:3-4": { + "profile": "pg_lossless_25000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet72:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet72:3-4": { + "profile": "pg_lossless_40000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet76:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet76:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet80:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet80:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet84:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet84:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet88:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet88:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet92:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet92:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet96:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet96:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet100:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet100:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet104:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet104:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet108:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet108:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet112:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet112:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet116:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet116:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet120:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet120:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet124:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet124:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "8719360" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "xoff": "2146304", + "type": "ingress", + "mode": "dynamic", + "size": "8719360" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "27648", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "24576", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "36864", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "45056", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "50176", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "78848", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:5-6": { + "profile": "q_lossy_profile" + } +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-t0-version_2_0_3.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-t0-version_2_0_3.json new file mode 100644 index 0000000000..7840dabcc2 --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn2700-t0-version_2_0_3.json @@ -0,0 +1,697 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "pg_lossless_10000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet8:3-4": { + "profile": "pg_lossless_25000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "pg_lossless_40000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet16:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet20:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet24:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet28:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet32:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet36:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet44:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet48:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet52:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet56:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet56:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet60:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet60:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet64:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet68:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet68:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet72:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet72:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet76:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet76:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet80:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet80:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet84:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet84:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet88:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet88:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet92:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet92:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet96:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet96:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet100:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet104:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet108:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet112:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet112:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet116:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet116:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet120:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet120:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet124:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet124:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "5088768" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "xoff": "688128", + "type": "ingress", + "mode": "dynamic", + "size": "5088768" + }, + "BUFFER_POOL_TABLE:ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "5088768" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossy_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "23552", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:5-6": { + "profile": "q_lossy_profile" + } +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn2700-t1-version_2_0_3.json b/tests/db_migrator_input/appl_db/mellanox-sn2700-t1-version_2_0_3.json new file mode 100644 index 0000000000..4643e325d8 --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn2700-t1-version_2_0_3.json @@ -0,0 +1,790 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "pg_lossless_10000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "pg_lossless_25000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet8:3-4": { + "profile": "pg_lossless_40000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet16:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet20:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet24:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet28:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet32:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet36:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet44:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet48:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet52:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet56:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet56:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet60:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet60:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet64:3-4": { + "profile": "pg_lossless_10000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet68:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet68:3-4": { + "profile": "pg_lossless_25000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet72:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet72:3-4": { + "profile": "pg_lossless_40000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet76:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet76:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet80:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet80:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet84:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet84:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet88:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet88:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet92:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet92:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet96:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet96:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet100:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet100:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet104:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet104:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet108:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet108:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet112:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet112:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet116:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet116:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet120:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet120:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet124:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet124:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "4439552" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "xoff": "2146304", + "type": "ingress", + "mode": "dynamic", + "size": "4439552" + }, + "BUFFER_POOL_TABLE:ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "4439552" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossy_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "27648", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "24576", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "36864", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "45056", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "50176", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "78848", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:5-6": { + "profile": "q_lossy_profile" + } +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn3800-c64-t0-version_2_0_3.json b/tests/db_migrator_input/appl_db/mellanox-sn3800-c64-t0-version_2_0_3.json new file mode 100644 index 0000000000..712b2ad3cc --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn3800-c64-t0-version_2_0_3.json @@ -0,0 +1,705 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "pg_lossless_10000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet2:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet2:3-4": { + "profile": "pg_lossless_25000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet6:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet6:3-4": { + "profile": "pg_lossless_40000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet10:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet18:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet22:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet26:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet34:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet38:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet42:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet50:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet54:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet66:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet68:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet70:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "25866240" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "xoff": "2523136", + "type": "ingress", + "mode": "dynamic", + "size": "25866240" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet2": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet6": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet10": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet18": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet22": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet26": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet34": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet38": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet42": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet50": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet54": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet58": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet66": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet70": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet2": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet6": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet10": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet18": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet22": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet26": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet34": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet38": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet42": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet50": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet54": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet58": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet66": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet70": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "25600", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "28672", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "30720", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "32768", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "40960", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:5-6": { + "profile": "q_lossy_profile" + } +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn3800-c64-t1-version_2_0_3.json b/tests/db_migrator_input/appl_db/mellanox-sn3800-c64-t1-version_2_0_3.json new file mode 100644 index 0000000000..66d3453997 --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn3800-c64-t1-version_2_0_3.json @@ -0,0 +1,803 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "pg_lossless_10000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet2:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet2:3-4": { + "profile": "pg_lossless_25000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet6:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet6:3-4": { + "profile": "pg_lossless_40000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet10:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet18:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet22:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet26:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet34:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet36:3-4": { + "profile": "pg_lossless_10000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet38:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet38:3-4": { + "profile": "pg_lossless_25000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "pg_lossless_40000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet42:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet42:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet44:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet50:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet54:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet56:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet58:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet60:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet66:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet68:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet70:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "24219648" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "xoff": "4169728", + "type": "ingress", + "mode": "dynamic", + "size": "24219648" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet2": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet6": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet10": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet18": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet22": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet26": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet34": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet38": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet42": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet50": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet54": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet58": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet66": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet70": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet2": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet6": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet10": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet18": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet22": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet26": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet34": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet38": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet42": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet50": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet54": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet58": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet66": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet70": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "26624", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "31744", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "30720", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "44032", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "33792", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "55296", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "36864", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "63488", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "48128", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "102400", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet58:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet58:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet58:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:5-6": { + "profile": "q_lossy_profile" + } +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn3800-d112c8-t0-version_2_0_3.json b/tests/db_migrator_input/appl_db/mellanox-sn3800-d112c8-t0-version_2_0_3.json new file mode 100644 index 0000000000..60645fcc2d --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn3800-d112c8-t0-version_2_0_3.json @@ -0,0 +1,985 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "pg_lossless_10000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet2:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet2:3-4": { + "profile": "pg_lossless_25000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet6:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet6:3-4": { + "profile": "pg_lossless_40000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet8:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet10:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet10:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet16:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet18:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet18:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet20:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet22:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet22:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet24:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet26:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet26:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet28:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet32:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet34:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet34:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet36:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet38:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet38:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet42:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet42:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet44:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet48:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet50:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet50:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet52:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet54:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet54:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet56:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet58:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet60:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet64:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet66:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet66:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet68:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet68:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet70:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet70:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet72:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet74:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet76:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet80:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet82:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet84:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet86:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet88:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet90:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet92:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet96:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet100:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet104:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet106:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet108:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet112:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet116:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet120:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet122:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet124:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet128:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet132:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet136:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet138:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet140:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet144:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet148:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet152:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet154:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet156:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet160:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet162:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet164:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet166:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet168:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet170:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet172:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet176:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet178:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet180:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet182:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet184:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet186:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet188:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet192:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet196:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet198:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet200:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet204:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet208:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet212:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet214:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet216:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet220:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet224:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet228:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet230:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet232:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet236:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet240:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet244:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet246:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet248:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet252:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "20017152" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "xoff": "3440640", + "type": "ingress", + "mode": "dynamic", + "size": "20017152" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet2": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet6": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet10": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet18": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet22": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet26": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet34": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet38": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet42": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet50": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet54": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet58": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet66": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet70": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet2": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet6": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet10": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet18": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet22": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet26": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet34": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet38": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet42": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet50": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet54": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet58": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet66": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet70": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "25600", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "28672", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "30720", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "32768", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "36864", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "40960", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:5-6": { + "profile": "q_lossy_profile" + } +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn3800-d112c8-t1-version_2_0_3.json b/tests/db_migrator_input/appl_db/mellanox-sn3800-d112c8-t1-version_2_0_3.json new file mode 100644 index 0000000000..af83998130 --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn3800-d112c8-t1-version_2_0_3.json @@ -0,0 +1,1075 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "pg_lossless_10000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet2:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet2:3-4": { + "profile": "pg_lossless_25000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet6:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet6:3-4": { + "profile": "pg_lossless_40000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet8:3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet10:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet10:3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet16:3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet18:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet18:3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet20:3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet22:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet22:3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet24:3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet26:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet26:3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet28:3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet32:3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet34:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet34:3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet36:3-4": { + "profile": "pg_lossless_10000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet38:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet38:3-4": { + "profile": "pg_lossless_25000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "pg_lossless_40000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet42:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet42:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet44:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet48:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet50:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet50:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet52:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet54:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet54:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet56:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet56:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet58:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet58:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet60:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet60:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet64:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet66:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet66:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet68:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet68:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet70:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet70:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet72:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet74:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet76:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet80:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet82:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet84:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet86:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet88:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet90:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet92:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet96:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet100:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet104:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet106:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet108:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet112:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet116:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet120:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet122:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet124:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet128:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet132:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet136:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet138:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet140:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet144:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet148:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet152:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet154:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet156:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet160:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet162:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet164:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet166:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet168:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet170:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet172:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet176:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet178:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet180:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet182:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet184:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet186:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet188:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet192:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet196:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet198:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet200:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet204:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet208:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet212:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet214:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet216:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet220:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet224:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet228:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet230:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet232:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet236:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet240:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet244:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet246:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet248:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet252:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "19124224" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "xoff": "4333568", + "type": "ingress", + "mode": "dynamic", + "size": "19124224" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet2": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet6": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet10": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet18": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet22": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet26": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet34": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet38": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet42": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet50": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet54": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet58": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet66": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet70": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet2": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet6": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet10": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet18": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet22": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet26": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet34": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet38": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet42": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet50": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet54": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet58": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet66": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet70": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "26624", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "31744", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "30720", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "44032", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "33792", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "55296", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "32768", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "36864", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "63488", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "40960", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "48128", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "102400", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet58:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet58:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet58:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:5-6": { + "profile": "q_lossy_profile" + } +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn3800-d24c52-t0-version_2_0_3.json b/tests/db_migrator_input/appl_db/mellanox-sn3800-d24c52-t0-version_2_0_3.json new file mode 100644 index 0000000000..3be1ab7ff0 --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn3800-d24c52-t0-version_2_0_3.json @@ -0,0 +1,705 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "pg_lossless_10000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet2:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet2:3-4": { + "profile": "pg_lossless_25000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet6:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet6:3-4": { + "profile": "pg_lossless_40000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet10:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet18:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet22:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet26:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet34:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet38:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet42:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet50:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet54:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet66:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet68:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet70:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "24576000" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "xoff": "2756608", + "type": "ingress", + "mode": "dynamic", + "size": "24576000" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet2": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet6": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet10": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet18": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet22": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet26": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet34": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet38": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet42": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet50": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet54": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet58": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet66": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet70": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet2": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet6": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet10": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet18": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet22": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet26": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet34": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet38": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet42": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet50": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet54": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet58": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet66": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet70": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "25600", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "28672", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "30720", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "32768", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "40960", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:5-6": { + "profile": "q_lossy_profile" + } +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn3800-d24c52-t1-version_2_0_3.json b/tests/db_migrator_input/appl_db/mellanox-sn3800-d24c52-t1-version_2_0_3.json new file mode 100644 index 0000000000..47c250cf92 --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn3800-d24c52-t1-version_2_0_3.json @@ -0,0 +1,803 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "pg_lossless_10000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet2:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet2:3-4": { + "profile": "pg_lossless_25000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet6:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet6:3-4": { + "profile": "pg_lossless_40000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet10:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet18:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet22:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet26:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet34:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet36:3-4": { + "profile": "pg_lossless_10000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet38:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet38:3-4": { + "profile": "pg_lossless_25000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "pg_lossless_40000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet42:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet42:3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet44:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet50:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet54:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet56:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet58:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet60:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet66:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet68:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet70:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "22597632" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "xoff": "4734976", + "type": "ingress", + "mode": "dynamic", + "size": "22597632" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet2": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet6": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet10": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet18": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet22": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet26": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet34": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet38": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet42": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet50": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet54": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet58": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet66": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet70": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet2": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet6": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet10": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet18": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet22": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet26": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet34": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet38": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet42": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet50": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet54": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet58": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet66": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet70": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "26624", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "31744", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "30720", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "44032", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "33792", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "55296", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "36864", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "63488", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "48128", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "102400", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet58:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet58:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet58:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:5-6": { + "profile": "q_lossy_profile" + } +} diff --git a/tests/db_migrator_input/appl_db/mellanox-sn3800-d28c50-t0-version_2_0_3.json b/tests/db_migrator_input/appl_db/mellanox-sn3800-d28c50-t0-version_2_0_3.json new file mode 100644 index 0000000000..43c281e4e6 --- /dev/null +++ b/tests/db_migrator_input/appl_db/mellanox-sn3800-d28c50-t0-version_2_0_3.json @@ -0,0 +1,705 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "pg_lossless_10000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet2:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet2:3-4": { + "profile": "pg_lossless_25000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet6:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet6:3-4": { + "profile": "pg_lossless_40000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet10:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet18:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet22:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet26:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet34:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet38:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet42:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet50:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet54:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet66:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet68:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet70:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL_TABLE:egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "24360960" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "xoff": "2795520", + "type": "ingress", + "mode": "dynamic", + "size": "24360960" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet2": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet6": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet10": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet18": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet22": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet26": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet34": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet38": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet42": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet50": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet54": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet58": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet66": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet70": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet0": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet2": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet6": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet10": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet18": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet22": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet26": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet34": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet38": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet42": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet50": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet54": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet58": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet66": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet70": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet100": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet104": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet108": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "25600", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_25000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "28672", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_40000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "30720", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "32768", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "40960", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE_TABLE:q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet2:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet6:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet10:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet18:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet22:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet26:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet34:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet38:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet42:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet50:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet54:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet66:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet70:5-6": { + "profile": "q_lossy_profile" + } +} diff --git a/tests/db_migrator_input/appl_db/non-default-expected.json b/tests/db_migrator_input/appl_db/non-default-expected.json index 0169478d0b..8c92f98513 100644 --- a/tests/db_migrator_input/appl_db/non-default-expected.json +++ b/tests/db_migrator_input/appl_db/non-default-expected.json @@ -1,183 +1,183 @@ { "BUFFER_PG_TABLE:Ethernet0:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_10000_5m_profile]" + "profile": "pg_lossless_10000_5m_profile" }, "BUFFER_PG_TABLE:Ethernet4:0": { - "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG_TABLE:Ethernet4:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_25000_5m_profile]" + "profile": "pg_lossless_25000_5m_profile" }, "BUFFER_PG_TABLE:Ethernet8:0": { - "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG_TABLE:Ethernet8:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_40000_5m_profile]" + "profile": "pg_lossless_40000_5m_profile" }, "BUFFER_PG_TABLE:Ethernet12:0": { - "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG_TABLE:Ethernet12:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG_TABLE:Ethernet16:0": { - "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG_TABLE:Ethernet16:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG_TABLE:Ethernet20:0": { - "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG_TABLE:Ethernet20:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG_TABLE:Ethernet24:0": { - "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG_TABLE:Ethernet24:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG_TABLE:Ethernet28:0": { - "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG_TABLE:Ethernet28:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG_TABLE:Ethernet32:0": { - "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG_TABLE:Ethernet32:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG_TABLE:Ethernet36:0": { - "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG_TABLE:Ethernet36:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG_TABLE:Ethernet40:0": { - "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG_TABLE:Ethernet40:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG_TABLE:Ethernet44:0": { - "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG_TABLE:Ethernet44:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG_TABLE:Ethernet48:0": { - "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG_TABLE:Ethernet48:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG_TABLE:Ethernet52:0": { - "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG_TABLE:Ethernet52:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG_TABLE:Ethernet56:0": { - "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG_TABLE:Ethernet56:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG_TABLE:Ethernet60:0": { - "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG_TABLE:Ethernet60:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG_TABLE:Ethernet64:0": { - "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG_TABLE:Ethernet64:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG_TABLE:Ethernet68:0": { - "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG_TABLE:Ethernet68:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG_TABLE:Ethernet72:0": { - "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG_TABLE:Ethernet72:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG_TABLE:Ethernet76:0": { - "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG_TABLE:Ethernet76:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG_TABLE:Ethernet80:0": { - "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG_TABLE:Ethernet80:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG_TABLE:Ethernet84:0": { - "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG_TABLE:Ethernet84:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG_TABLE:Ethernet88:0": { - "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG_TABLE:Ethernet88:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG_TABLE:Ethernet92:0": { - "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG_TABLE:Ethernet92:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG_TABLE:Ethernet96:0": { - "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG_TABLE:Ethernet96:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG_TABLE:Ethernet100:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG_TABLE:Ethernet104:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG_TABLE:Ethernet108:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG_TABLE:Ethernet112:0": { - "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG_TABLE:Ethernet112:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + "profile": "pg_lossless_100000_40m_profile" }, "BUFFER_PG_TABLE:Ethernet116:0": { - "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG_TABLE:Ethernet116:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + "profile": "pg_lossless_100000_40m_profile" }, "BUFFER_PG_TABLE:Ethernet120:0": { - "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG_TABLE:Ethernet120:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + "profile": "pg_lossless_50000_40m_profile" }, "BUFFER_PG_TABLE:Ethernet124:0": { - "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG_TABLE:Ethernet124:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile]" + "profile": "pg_lossless_50000_40m_profile" }, "BUFFER_POOL_TABLE:egress_lossless_pool": { "type": "egress", @@ -200,521 +200,521 @@ "size": "7340032" }, "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet0": { - "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet4": { - "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet8": { - "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet12": { - "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet16": { - "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet20": { - "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet24": { - "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet28": { - "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet32": { - "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet36": { - "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet40": { - "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet44": { - "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet48": { - "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet52": { - "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet56": { - "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet60": { - "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet64": { - "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet68": { - "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet72": { - "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet76": { - "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet80": { - "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet84": { - "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet88": { - "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet92": { - "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet96": { - "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet100": { - "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet104": { - "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet108": { - "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet112": { - "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet116": { - "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet120": { - "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:Ethernet124": { - "profile_list": "[BUFFER_PROFILE_TABLE:egress_lossless_profile],[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet0": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet4": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet8": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet12": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet16": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet20": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet24": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet28": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet32": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet36": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet40": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet44": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet48": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet52": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet56": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet60": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet64": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet68": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet72": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet76": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet80": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet84": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet88": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet92": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet96": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet100": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet104": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet108": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet112": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet116": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet120": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:Ethernet124": { - "profile_list": "[BUFFER_PROFILE_TABLE:ingress_lossless_profile],[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PROFILE_TABLE:egress_lossless_profile": { "dynamic_th": "7", - "pool": "[BUFFER_POOL_TABLE:egress_lossless_pool]", + "pool": "egress_lossless_pool", "size": "0" }, "BUFFER_PROFILE_TABLE:egress_lossy_profile": { "dynamic_th": "3", - "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "pool": "egress_lossy_pool", "size": "4096" }, "BUFFER_PROFILE_TABLE:ingress_lossless_profile": { "dynamic_th": "0", - "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "0" }, "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { "dynamic_th": "3", - "pool": "[BUFFER_POOL_TABLE:ingress_lossy_pool]", + "pool": "ingress_lossy_pool", "size": "0" }, "BUFFER_PROFILE_TABLE:pg_lossless_10000_5m_profile": { "xon": "18432", "dynamic_th": "0", "xoff": "16384", - "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "34816" }, "BUFFER_PROFILE_TABLE:pg_lossless_25000_5m_profile": { "xon": "18432", "dynamic_th": "0", "xoff": "16384", - "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "34816" }, "BUFFER_PROFILE_TABLE:pg_lossless_40000_5m_profile": { "xon": "18432", "dynamic_th": "0", "xoff": "16384", - "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "34816" }, "BUFFER_PROFILE_TABLE:pg_lossless_50000_5m_profile": { "xon": "18432", "dynamic_th": "0", "xoff": "16384", - "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "34816" }, "BUFFER_PROFILE_TABLE:pg_lossless_50000_40m_profile": { "xon": "18432", "dynamic_th": "0", "xoff": "23552", - "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "41984" }, "BUFFER_PROFILE_TABLE:pg_lossless_100000_5m_profile": { "xon": "18432", "dynamic_th": "0", "xoff": "18432", - "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "36864" }, "BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile": { "xon": "18432", "dynamic_th": "0", "xoff": "35840", - "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "54272" }, "BUFFER_PROFILE_TABLE:q_lossy_profile": { "dynamic_th": "3", - "pool": "[BUFFER_POOL_TABLE:egress_lossy_pool]", + "pool": "egress_lossy_pool", "size": "0" }, "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE_TABLE:Ethernet56:0-2": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE_TABLE:Ethernet56:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE_TABLE:Ethernet56:5-6": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE_TABLE:Ethernet60:0-2": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE_TABLE:Ethernet60:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE_TABLE:Ethernet60:5-6": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE_TABLE:Ethernet68:0-2": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE_TABLE:Ethernet68:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE_TABLE:Ethernet68:5-6": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE_TABLE:Ethernet72:0-2": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE_TABLE:Ethernet72:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE_TABLE:Ethernet72:5-6": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE_TABLE:Ethernet76:0-2": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE_TABLE:Ethernet76:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE_TABLE:Ethernet76:5-6": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE_TABLE:Ethernet80:0-2": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE_TABLE:Ethernet80:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE_TABLE:Ethernet80:5-6": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE_TABLE:Ethernet84:0-2": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE_TABLE:Ethernet84:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE_TABLE:Ethernet84:5-6": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE_TABLE:Ethernet88:0-2": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE_TABLE:Ethernet88:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE_TABLE:Ethernet88:5-6": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE_TABLE:Ethernet92:0-2": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE_TABLE:Ethernet92:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE_TABLE:Ethernet92:5-6": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE_TABLE:Ethernet96:0-2": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE_TABLE:Ethernet96:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE_TABLE:Ethernet96:5-6": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE_TABLE:Ethernet112:0-2": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE_TABLE:Ethernet112:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE_TABLE:Ethernet112:5-6": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE_TABLE:Ethernet116:0-2": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE_TABLE:Ethernet116:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE_TABLE:Ethernet116:5-6": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE_TABLE:Ethernet120:0-2": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE_TABLE:Ethernet120:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE_TABLE:Ethernet120:5-6": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE_TABLE:Ethernet124:0-2": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE_TABLE:Ethernet124:3-4": { - "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE_TABLE:Ethernet124:5-6": { - "profile": "[BUFFER_PROFILE_TABLE:q_lossy_profile]" + "profile": "q_lossy_profile" } } diff --git a/tests/db_migrator_input/appl_db/qos_tables_db_field_value_reference_format_2_0_1.json b/tests/db_migrator_input/appl_db/qos_tables_db_field_value_reference_format_2_0_1.json new file mode 100644 index 0000000000..9bff5fd40b --- /dev/null +++ b/tests/db_migrator_input/appl_db/qos_tables_db_field_value_reference_format_2_0_1.json @@ -0,0 +1,1034 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet100:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet100:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet104:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet104:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet108:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet108:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet112:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet112:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet116:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet116:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet120:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet120:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet124:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet124:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet128:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet128:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet132:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet132:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet136:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet136:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet140:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet140:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet144:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet144:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet148:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet148:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet152:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet152:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet156:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet156:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet160:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet160:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet164:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet164:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet168:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet168:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet172:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet172:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet176:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet176:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet180:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet180:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet184:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet184:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet188:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet188:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet192:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet192:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet196:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet196:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet200:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet200:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet204:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet204:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet208:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet208:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet20:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet212:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet212:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet216:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet216:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet220:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet220:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet224:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet224:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet228:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet228:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet232:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet232:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet236:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet236:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet240:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet240:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet244:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet244:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet248:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet248:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet252:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet252:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet256:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet256:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet257:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet257:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_10000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet28:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet52:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet56:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet56:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet60:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet60:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet68:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet68:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet72:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet72:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet76:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet76:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet80:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet80:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet84:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet84:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet88:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet88:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet92:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet92:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_PG_TABLE:Ethernet96:0": { + "profile": "[BUFFER_PROFILE_TABLE:ingress_lossy_profile]" + }, + "BUFFER_PG_TABLE:Ethernet96:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile]" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "mode": "static", + "size": "43468672", + "type": "egress" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "mode": "dynamic", + "size": "35621248", + "type": "ingress", + "xoff": "7847424" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "pool": "[BUFFER_POOL_TABLE:egress_lossless_pool]", + "size": "0", + "static_th": "43468672" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "3", + "mode": "dynamic", + "pool": "[BUFFER_POOL_TABLE:egress_lossless_pool]", + "size": "1518" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile": { + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "1248", + "xoff": "177632", + "xon": "2288", + "xon_offset": "2288" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_40m_profile": { + "dynamic_th": "-3", + "pool": "[BUFFER_POOL_TABLE:ingress_lossless_pool]", + "size": "1248", + "xoff": "37024", + "xon": "2288", + "xon_offset": "2288" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet128:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet128:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet128:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet132:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet132:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet132:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet136:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet136:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet136:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet140:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet140:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet140:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet144:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet144:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet144:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet148:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet148:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet148:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet152:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet152:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet152:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet156:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet156:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet156:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet160:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet160:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet160:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet164:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet164:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet164:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet168:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet168:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet168:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet172:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet172:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet172:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet176:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet176:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet176:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet180:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet180:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet180:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet184:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet184:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet184:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet188:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet188:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet188:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet192:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet192:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet192:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet196:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet196:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet196:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet200:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet200:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet200:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet204:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet204:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet204:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet208:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet208:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet208:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet212:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet212:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet212:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet216:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet216:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet216:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet220:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet220:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet220:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet224:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet224:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet224:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet228:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet228:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet228:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet232:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet232:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet232:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet236:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet236:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet236:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet240:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet240:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet240:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet244:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet244:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet244:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet248:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet248:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet248:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet252:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet252:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet252:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet256:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet256:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet256:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet257:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet257:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet257:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:0-2": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:3-4": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossless_profile]" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:5-6": { + "profile": "[BUFFER_PROFILE_TABLE:egress_lossy_profile]" + } +} diff --git a/tests/db_migrator_input/appl_db/qos_tables_db_field_value_reference_format_2_0_3.json b/tests/db_migrator_input/appl_db/qos_tables_db_field_value_reference_format_2_0_3.json new file mode 100644 index 0000000000..9f842d8861 --- /dev/null +++ b/tests/db_migrator_input/appl_db/qos_tables_db_field_value_reference_format_2_0_3.json @@ -0,0 +1,1035 @@ +{ + "BUFFER_PG_TABLE:Ethernet0:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet0:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet100:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet100:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet104:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet104:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet108:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet108:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet112:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet112:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet116:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet116:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet120:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet120:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet124:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet124:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet128:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet128:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet12:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet132:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet132:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet136:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet136:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet140:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet140:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet144:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet144:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet148:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet148:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet152:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet152:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet156:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet156:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet160:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet160:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet164:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet164:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet168:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet168:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet16:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet16:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet172:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet172:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet176:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet176:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet180:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet180:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet184:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet184:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet188:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet188:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet192:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet192:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet196:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet196:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet200:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet200:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet204:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet204:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet208:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet208:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet20:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet20:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet212:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet212:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet216:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet216:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet220:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet220:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet224:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet224:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet228:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet228:3-4": { + + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet232:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet232:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet236:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet236:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet240:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet240:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet244:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet244:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet248:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet248:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet24:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet24:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet252:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet252:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet256:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet256:3-4": { + "profile": "pg_lossless_10000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet257:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet257:3-4": { + "profile": "pg_lossless_10000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet28:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet28:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet32:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet32:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet36:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet36:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet40:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet44:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet44:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet48:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet48:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet4:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet52:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet52:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet56:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet56:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet60:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet60:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet64:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet64:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet68:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet68:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet72:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet72:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet76:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet76:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet80:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet80:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet84:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet84:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet88:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet88:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet8:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet8:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet92:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet92:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG_TABLE:Ethernet96:0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG_TABLE:Ethernet96:3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_POOL_TABLE:egress_lossless_pool": { + "mode": "static", + "size": "43468672", + "type": "egress" + }, + "BUFFER_POOL_TABLE:ingress_lossless_pool": { + "mode": "dynamic", + "size": "35621248", + "type": "ingress", + "xoff": "7847424" + }, + "BUFFER_PROFILE_TABLE:egress_lossless_profile": { + "pool": "egress_lossless_pool", + "size": "0", + "static_th": "43468672" + }, + "BUFFER_PROFILE_TABLE:egress_lossy_profile": { + "dynamic_th": "3", + "mode": "dynamic", + "pool": "egress_lossless_pool", + "size": "1518" + }, + "BUFFER_PROFILE_TABLE:ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_100000_40m_profile": { + "pool": "ingress_lossless_pool", + "size": "1248", + "xoff": "177632", + "xon": "2288", + "xon_offset": "2288" + }, + "BUFFER_PROFILE_TABLE:pg_lossless_10000_40m_profile": { + "dynamic_th": "-3", + "pool": "ingress_lossless_pool", + "size": "1248", + "xoff": "37024", + "xon": "2288", + "xon_offset": "2288" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet0:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet100:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet104:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet108:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet112:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet116:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet120:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet124:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet128:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet128:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet128:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet12:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet132:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet132:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet132:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet136:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet136:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet136:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet140:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet140:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet140:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet144:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet144:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet144:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet148:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet148:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet148:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet152:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet152:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet152:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet156:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet156:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet156:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet160:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet160:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet160:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet164:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet164:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet164:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet168:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet168:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet168:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet16:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet172:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet172:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet172:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet176:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet176:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet176:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet180:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet180:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet180:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet184:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet184:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet184:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet188:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet188:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet188:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet192:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet192:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet192:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet196:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet196:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet196:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet200:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet200:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet200:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet204:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet204:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet204:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet208:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet208:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet208:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet20:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet212:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet212:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet212:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet216:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet216:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet216:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet220:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet220:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet220:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet224:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet224:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet224:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet228:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet228:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet228:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet232:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet232:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet232:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet236:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet236:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet236:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet240:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet240:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet240:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet244:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet244:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet244:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet248:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet248:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet248:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet24:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet252:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet252:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet252:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet256:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet256:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet256:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet257:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet257:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet257:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet28:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet32:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet36:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet40:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet44:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet48:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet4:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet52:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet56:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet60:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet64:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet68:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet72:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet76:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet80:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet84:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet88:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet8:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet92:5-6": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:0-2": { + "profile": "egress_lossy_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE_TABLE:Ethernet96:5-6": { + "profile": "egress_lossy_profile" + } +} diff --git a/tests/db_migrator_input/config_db/acs-msn2700-t0-version_2_0_3.json b/tests/db_migrator_input/config_db/acs-msn2700-t0-version_2_0_3.json new file mode 100644 index 0000000000..634784798a --- /dev/null +++ b/tests/db_migrator_input/config_db/acs-msn2700-t0-version_2_0_3.json @@ -0,0 +1,1015 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "NULL" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossy_pool", + "size": "0" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "q_lossy_profile" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet76": "5m", + "Ethernet72": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet28": "5m", + "Ethernet88": "5m", + "Ethernet24": "5m", + "Ethernet116": "40m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet84": "5m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet64": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet68": "5m" + }, + "DEFAULT_LOSSLESS_BUFFER_PARAMETER|AZURE": { + "default_dynamic_th": "0" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN2700", + "default_bgp_status": "up", + "docker_routing_config_mode": "unified", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "dynamic", + "deployment_id": "1", + "type": "ToRRouter" + }, + "LOSSLESS_TRAFFIC_PATTERN|AZURE": { + "small_packet_percentage": "100", + "mtu": "1024" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "10000", + "description": "etp1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "Servers0:eth0" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "Servers1:eth0" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "Servers2:eth0" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "Servers3:eth0" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "Servers4:eth0" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "Servers5:eth0" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "Servers6:eth0" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "Servers7:eth0" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "Servers8:eth0" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "Servers9:eth0" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "Servers10:eth0" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "Servers11:eth0" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "Servers12:eth0" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "Servers13:eth0" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "Servers14:eth0" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "100000", + "description": "Servers15:eth0" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "100000", + "description": "Servers16:eth0" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "100000", + "description": "Servers17:eth0" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "100000", + "description": "Servers18:eth0" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "Servers19:eth0" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "Servers20:eth0" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "Servers21:eth0" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "Servers22:eth0" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "Servers23:eth0" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "description": "etp26" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "description": "etp27" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "description": "etp28" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA01T1:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA02T1:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_3" + } +} diff --git a/tests/db_migrator_input/config_db/acs-msn2700-t1-version_2_0_3.json b/tests/db_migrator_input/config_db/acs-msn2700-t1-version_2_0_3.json new file mode 100644 index 0000000000..61dfe5e72f --- /dev/null +++ b/tests/db_migrator_input/config_db/acs-msn2700-t1-version_2_0_3.json @@ -0,0 +1,1091 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "NULL" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossy_pool", + "size": "0" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "q_lossy_profile" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet76": "40m", + "Ethernet72": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet28": "300m", + "Ethernet88": "40m", + "Ethernet24": "300m", + "Ethernet116": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet84": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet64": "40m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet68": "40m" + }, + "DEFAULT_LOSSLESS_BUFFER_PARAMETER|AZURE": { + "default_dynamic_th": "0" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN2700", + "default_bgp_status": "up", + "type": "LeafRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "dynamic", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "LOSSLESS_TRAFFIC_PATTERN|AZURE": { + "small_packet_percentage": "100", + "mtu": "1024" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T2:Ethernet1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA01T2:Ethernet2" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T2:Ethernet1" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA03T2:Ethernet2" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet1" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet2" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet1" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet2" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet1" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet2" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet1" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet2" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet1" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet2" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet1" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet2" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T0:Ethernet1" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA02T0:Ethernet1" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T0:Ethernet1" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA04T0:Ethernet1" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T0:Ethernet1" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA06T0:Ethernet1" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T0:Ethernet1" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA08T0:Ethernet1" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T0:Ethernet1" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp26", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA10T0:Ethernet1" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp27", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T0:Ethernet1" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp28", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA12T0:Ethernet1" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T0:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA14T0:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_3" + } +} diff --git a/tests/db_migrator_input/config_db/acs-msn3700-t0-version_2_0_3.json b/tests/db_migrator_input/config_db/acs-msn3700-t0-version_2_0_3.json new file mode 100644 index 0000000000..db3a133bd4 --- /dev/null +++ b/tests/db_migrator_input/config_db/acs-msn3700-t0-version_2_0_3.json @@ -0,0 +1,1856 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet65|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet65|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet66|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet67|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet67|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet82|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet82|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "NULL" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossy_pool", + "size": "0" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet65|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet65|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet65|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet67|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet67|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet67|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet82|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet82|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet82|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "q_lossy_profile" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet64": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet88": "5m", + "Ethernet116": "40m", + "Ethernet82": "5m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet65": "5m", + "Ethernet28": "5m", + "Ethernet67": "5m", + "Ethernet66": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet24": "5m" + }, + "DEFAULT_LOSSLESS_BUFFER_PARAMETER|AZURE": { + "default_dynamic_th": "0" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN3700", + "default_bgp_status": "up", + "type": "ToRRouter", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "dynamic", + "deployment_id": "1", + "docker_routing_config_mode": "separated", + "cloudtype": "None" + }, + "LOSSLESS_TRAFFIC_PATTERN|AZURE": { + "small_packet_percentage": "100", + "mtu": "1024" + }, + "PORT|Ethernet0": { + "index": "1", + "lanes": "0,1,2,3", + "description": "etp1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "10000", + "fec": "rs" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "ARISTA01T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1b", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "2", + "lanes": "4,5,6,7", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2", + "pfc_asym": "off", + "speed": "25000", + "fec": "rs" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "ARISTA03T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2b", + "admin_status": "up", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "3", + "lanes": "8,9,10,11", + "description": "Servers1:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3", + "pfc_asym": "off", + "speed": "50000", + "fec": "rs" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "ARISTA05T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "4", + "lanes": "12,13,14,15", + "description": "Servers2:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet16": { + "index": "5", + "lanes": "16,17,18,19", + "description": "Servers3:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "ARISTA09T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "6", + "lanes": "20,21,22,23", + "description": "Servers4:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6", + "pfc_asym": "off", + "speed": "200000", + "fec": "rs" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "ARISTA11T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "7", + "lanes": "24,25,26,27", + "description": "Servers5:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "ARISTA13T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "8", + "lanes": "28,29,30,31", + "description": "Servers6:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet32": { + "index": "9", + "lanes": "32,33,34,35", + "description": "Servers7:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "ARISTA15T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "10", + "lanes": "36,37,38,39", + "description": "Servers8:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "ARISTA02T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10b", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "11", + "lanes": "40,41,42,43", + "description": "Servers9:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "ARISTA04T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "12", + "lanes": "44,45,46,47", + "description": "Servers10:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet48": { + "index": "13", + "lanes": "48,49,50,51", + "description": "Servers11:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "ARISTA07T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "14", + "lanes": "52,53,54,55", + "description": "Servers12:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "ARISTA09T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "15", + "lanes": "56,57,58,59", + "description": "Servers13:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "16", + "lanes": "60,61,62,63", + "description": "Servers14:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet64": { + "index": "17", + "lanes": "64", + "description": "Servers15:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet65": { + "index": "17", + "lanes": "65", + "description": "Servers16:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet66": { + "index": "17", + "lanes": "66", + "description": "Servers17:eth0", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17c", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet67": { + "index": "17", + "lanes": "67", + "description": "Servers18:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17d", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "18", + "lanes": "72,73", + "description": "etp19a", + "admin_status": "up", + "mtu": "9100", + "alias": "etp19a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "admin_status": "up", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "21", + "lanes": "80,81", + "description": "Servers19:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "21", + "lanes": "82,83", + "description": "Servers20:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "admin_status": "up", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "23", + "lanes": "88,89,90,91", + "description": "Servers21:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp23", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "24", + "lanes": "92,93,94,95", + "description": "Servers22:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet96": { + "index": "25", + "lanes": "96,97,98,99", + "description": "Servers23:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "26", + "lanes": "100,101,102,103", + "description": "etp26", + "admin_status": "up", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "27", + "lanes": "104,105,106,107", + "description": "etp27", + "admin_status": "up", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "28", + "lanes": "108,109,110,111", + "description": "etp28", + "admin_status": "up", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet112": { + "index": "29", + "lanes": "112,113,114,115", + "description": "ARISTA01T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "30", + "lanes": "116,117,118,119", + "description": "ARISTA02T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "31", + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp31", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "32", + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "32", + "lanes": "128,129,130,131", + "description": "etp33", + "mtu": "9100", + "alias": "etp33", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "34", + "lanes": "136,137", + "description": "etp35a", + "mtu": "9100", + "alias": "etp35a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "36", + "lanes": "144,145,146,147", + "description": "etp37", + "mtu": "9100", + "alias": "etp37", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "38", + "lanes": "152,153", + "description": "etp39a", + "mtu": "9100", + "alias": "etp39a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "40", + "lanes": "160,161", + "description": "etp41a", + "mtu": "9100", + "alias": "etp41a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "42", + "lanes": "168,169", + "description": "etp43a", + "mtu": "9100", + "alias": "etp43a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "44", + "lanes": "176,177", + "description": "etp45a", + "mtu": "9100", + "alias": "etp45a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "46", + "lanes": "184,185", + "description": "etp47a", + "mtu": "9100", + "alias": "etp47a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "48", + "lanes": "192,193", + "description": "etp49a", + "mtu": "9100", + "alias": "etp49a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "50", + "lanes": "200,201", + "description": "etp51a", + "mtu": "9100", + "alias": "etp51a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "52", + "lanes": "208,209", + "description": "etp53a", + "mtu": "9100", + "alias": "etp53a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "54", + "lanes": "216,217", + "description": "etp55a", + "mtu": "9100", + "alias": "etp55a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "56", + "lanes": "224,225", + "description": "etp57a", + "mtu": "9100", + "alias": "etp57a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "58", + "lanes": "232,233", + "description": "etp59a", + "mtu": "9100", + "alias": "etp59a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "60", + "lanes": "240,241", + "description": "etp61a", + "mtu": "9100", + "alias": "etp61a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "62", + "lanes": "248,249", + "description": "etp63a", + "mtu": "9100", + "alias": "etp63a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_3" + } +} diff --git a/tests/db_migrator_input/config_db/acs-msn3700-t1-version_2_0_3.json b/tests/db_migrator_input/config_db/acs-msn3700-t1-version_2_0_3.json new file mode 100644 index 0000000000..b0bebe6e33 --- /dev/null +++ b/tests/db_migrator_input/config_db/acs-msn3700-t1-version_2_0_3.json @@ -0,0 +1,1904 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet65|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet65|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet66|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet67|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet67|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet82|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet82|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "NULL" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossy_pool", + "size": "0" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet65|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet65|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet65|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet67|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet67|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet67|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet82|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet82|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet82|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "q_lossy_profile" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet64": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet88": "40m", + "Ethernet116": "40m", + "Ethernet82": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet65": "40m", + "Ethernet28": "300m", + "Ethernet67": "40m", + "Ethernet66": "40m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet24": "300m" + }, + "DEFAULT_LOSSLESS_BUFFER_PARAMETER|AZURE": { + "default_dynamic_th": "0" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN3700", + "default_bgp_status": "up", + "type": "LeafRouter", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "dynamic", + "deployment_id": "1", + "docker_routing_config_mode": "separated", + "cloudtype": "None" + }, + "LOSSLESS_TRAFFIC_PATTERN|AZURE": { + "small_packet_percentage": "100", + "mtu": "1024" + }, + "PORT|Ethernet0": { + "index": "1", + "lanes": "0,1,2,3", + "description": "ARISTA01T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "10000", + "fec": "rs" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "ARISTA01T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1b", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "2", + "lanes": "4,5,6,7", + "description": "ARISTA01T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2", + "pfc_asym": "off", + "speed": "25000", + "fec": "rs" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "ARISTA03T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2b", + "admin_status": "up", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "3", + "lanes": "8,9,10,11", + "description": "ARISTA03T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3", + "pfc_asym": "off", + "speed": "50000", + "fec": "rs" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "ARISTA05T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "4", + "lanes": "12,13,14,15", + "description": "ARISTA03T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet16": { + "index": "5", + "lanes": "16,17,18,19", + "description": "ARISTA05T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "ARISTA09T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "6", + "lanes": "20,21,22,23", + "description": "ARISTA05T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6", + "pfc_asym": "off", + "speed": "200000", + "fec": "rs" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "ARISTA11T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "7", + "lanes": "24,25,26,27", + "description": "ARISTA07T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "ARISTA13T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "8", + "lanes": "28,29,30,31", + "description": "ARISTA07T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet32": { + "index": "9", + "lanes": "32,33,34,35", + "description": "ARISTA09T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "ARISTA15T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "10", + "lanes": "36,37,38,39", + "description": "ARISTA09T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "ARISTA02T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10b", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "11", + "lanes": "40,41,42,43", + "description": "ARISTA11T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "ARISTA04T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "12", + "lanes": "44,45,46,47", + "description": "ARISTA11T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet48": { + "index": "13", + "lanes": "48,49,50,51", + "description": "ARISTA13T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "ARISTA07T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "14", + "lanes": "52,53,54,55", + "description": "ARISTA13T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "ARISTA09T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "15", + "lanes": "56,57,58,59", + "description": "ARISTA15T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "16", + "lanes": "60,61,62,63", + "description": "ARISTA15T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet64": { + "index": "17", + "lanes": "64", + "description": "ARISTA01T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet65": { + "index": "17", + "lanes": "65", + "description": "ARISTA02T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet66": { + "index": "17", + "lanes": "66", + "description": "ARISTA03T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17c", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet67": { + "index": "17", + "lanes": "67", + "description": "ARISTA04T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17d", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "18", + "lanes": "72,73", + "description": "etp19a", + "admin_status": "up", + "mtu": "9100", + "alias": "etp19a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "admin_status": "up", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "21", + "lanes": "80,81", + "description": "ARISTA05T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "21", + "lanes": "82,83", + "description": "ARISTA06T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "admin_status": "up", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "23", + "lanes": "88,89,90,91", + "description": "ARISTA07T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp23", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "24", + "lanes": "92,93,94,95", + "description": "ARISTA08T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet96": { + "index": "25", + "lanes": "96,97,98,99", + "description": "ARISTA09T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "26", + "lanes": "100,101,102,103", + "description": "ARISTA10T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "10000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "27", + "lanes": "104,105,106,107", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "25000", + "fec": "rs" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "28", + "lanes": "108,109,110,111", + "description": "ARISTA12T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet112": { + "index": "29", + "lanes": "112,113,114,115", + "description": "ARISTA13T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "50000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "30", + "lanes": "116,117,118,119", + "description": "ARISTA14T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "31", + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp31", + "pfc_asym": "off", + "speed": "200000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "32", + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "32", + "lanes": "128,129,130,131", + "description": "etp33", + "mtu": "9100", + "alias": "etp33", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "34", + "lanes": "136,137", + "description": "etp35a", + "mtu": "9100", + "alias": "etp35a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "36", + "lanes": "144,145,146,147", + "description": "etp37", + "mtu": "9100", + "alias": "etp37", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "38", + "lanes": "152,153", + "description": "etp39a", + "mtu": "9100", + "alias": "etp39a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "40", + "lanes": "160,161", + "description": "etp41a", + "mtu": "9100", + "alias": "etp41a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "42", + "lanes": "168,169", + "description": "etp43a", + "mtu": "9100", + "alias": "etp43a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "44", + "lanes": "176,177", + "description": "etp45a", + "mtu": "9100", + "alias": "etp45a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "46", + "lanes": "184,185", + "description": "etp47a", + "mtu": "9100", + "alias": "etp47a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "48", + "lanes": "192,193", + "description": "etp49a", + "mtu": "9100", + "alias": "etp49a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "50", + "lanes": "200,201", + "description": "etp51a", + "mtu": "9100", + "alias": "etp51a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "52", + "lanes": "208,209", + "description": "etp53a", + "mtu": "9100", + "alias": "etp53a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "54", + "lanes": "216,217", + "description": "etp55a", + "mtu": "9100", + "alias": "etp55a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "56", + "lanes": "224,225", + "description": "etp57a", + "mtu": "9100", + "alias": "etp57a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "58", + "lanes": "232,233", + "description": "etp59a", + "mtu": "9100", + "alias": "etp59a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "60", + "lanes": "240,241", + "description": "etp61a", + "mtu": "9100", + "alias": "etp61a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "62", + "lanes": "248,249", + "description": "etp63a", + "mtu": "9100", + "alias": "etp63a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_3" + } +} diff --git a/tests/db_migrator_input/config_db/acs-msn3800-t0-version_2_0_3.json b/tests/db_migrator_input/config_db/acs-msn3800-t0-version_2_0_3.json new file mode 100644 index 0000000000..5c284326c8 --- /dev/null +++ b/tests/db_migrator_input/config_db/acs-msn3800-t0-version_2_0_3.json @@ -0,0 +1,1975 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet2|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet2|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet6|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet6|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet10|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet10|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet18|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet18|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet22|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet22|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet26|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet26|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet34|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet34|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet38|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet38|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet42|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet42|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet50|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet50|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet54|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet54|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet58|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet66|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet70|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet70|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet74|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet82|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet86|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet90|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet106|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet122|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet128|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet132|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet136|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet138|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet140|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet144|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet148|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet152|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet154|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet156|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet160|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet162|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet164|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet166|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet168|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet170|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet172|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet176|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet178|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet180|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet182|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet184|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet186|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet188|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet192|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet196|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet198|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet200|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet204|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet208|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet212|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet214|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet216|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet220|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet224|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet228|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet230|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet232|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet236|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet240|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet244|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet246|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet248|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet252|3-4": { + "profile": "NULL" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossy_pool", + "size": "0" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet2|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet2|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet2|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet6|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet6|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet6|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet10|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet10|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet10|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet18|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet18|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet18|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet22|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet22|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet22|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet26|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet26|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet26|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet34|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet34|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet34|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet38|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet38|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet38|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet42|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet42|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet42|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet50|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet50|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet50|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet54|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet54|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet54|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet70|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet70|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet70|5-6": { + "profile": "q_lossy_profile" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet54": "5m", + "Ethernet248": "5m", + "Ethernet246": "5m", + "Ethernet244": "5m", + "Ethernet240": "5m", + "Ethernet124": "5m", + "Ethernet122": "5m", + "Ethernet120": "5m", + "Ethernet128": "5m", + "Ethernet76": "5m", + "Ethernet74": "5m", + "Ethernet72": "5m", + "Ethernet70": "40m", + "Ethernet136": "5m", + "Ethernet132": "5m", + "Ethernet232": "5m", + "Ethernet230": "5m", + "Ethernet138": "5m", + "Ethernet236": "5m", + "Ethernet64": "40m", + "Ethernet66": "40m", + "Ethernet60": "5m", + "Ethernet68": "40m", + "Ethernet180": "5m", + "Ethernet182": "5m", + "Ethernet184": "5m", + "Ethernet186": "5m", + "Ethernet188": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet106": "5m", + "Ethernet58": "5m", + "Ethernet50": "5m", + "Ethernet52": "5m", + "Ethernet224": "5m", + "Ethernet56": "5m", + "Ethernet196": "5m", + "Ethernet192": "5m", + "Ethernet198": "5m", + "Ethernet116": "5m", + "Ethernet112": "5m", + "Ethernet48": "5m", + "Ethernet214": "5m", + "Ethernet216": "5m", + "Ethernet42": "5m", + "Ethernet40": "5m", + "Ethernet8": "5m", + "Ethernet2": "5m", + "Ethernet0": "5m", + "Ethernet6": "5m", + "Ethernet4": "5m", + "Ethernet200": "5m", + "Ethernet168": "5m", + "Ethernet204": "5m", + "Ethernet162": "5m", + "Ethernet208": "5m", + "Ethernet160": "5m", + "Ethernet166": "5m", + "Ethernet164": "5m", + "Ethernet38": "5m", + "Ethernet32": "5m", + "Ethernet36": "5m", + "Ethernet34": "5m", + "Ethernet178": "5m", + "Ethernet170": "5m", + "Ethernet172": "5m", + "Ethernet176": "5m", + "Ethernet28": "5m", + "Ethernet20": "5m", + "Ethernet22": "5m", + "Ethernet24": "5m", + "Ethernet26": "5m", + "Ethernet44": "5m", + "Ethernet212": "5m", + "Ethernet96": "5m", + "Ethernet90": "5m", + "Ethernet148": "5m", + "Ethernet92": "5m", + "Ethernet144": "5m", + "Ethernet140": "5m", + "Ethernet18": "5m", + "Ethernet16": "5m", + "Ethernet10": "5m", + "Ethernet12": "5m", + "Ethernet228": "5m", + "Ethernet88": "5m", + "Ethernet82": "5m", + "Ethernet80": "5m", + "Ethernet86": "5m", + "Ethernet84": "5m", + "Ethernet152": "5m", + "Ethernet156": "5m", + "Ethernet154": "5m", + "Ethernet220": "5m", + "Ethernet252": "5m" + }, + "DEFAULT_LOSSLESS_BUFFER_PARAMETER|AZURE": { + "default_dynamic_th": "0" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN3800", + "default_bgp_status": "up", + "docker_routing_config_mode": "separated", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3800-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "dynamic", + "cloudtype": "None", + "type": "ToRRouter", + "deployment_id": "1" + }, + "LOSSLESS_TRAFFIC_PATTERN|AZURE": { + "small_packet_percentage": "100", + "mtu": "1024" + }, + "PORT|Ethernet0": { + "index": "0", + "lanes": "0,1", + "description": "etp1a", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "1", + "lanes": "4,5", + "description": "Servers1:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "Servers2:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2b", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9", + "description": "Servers3:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "Servers4:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "3", + "lanes": "12,13,14,15", + "description": "Servers5:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet16": { + "index": "4", + "lanes": "16,17", + "description": "Servers6:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "Servers7:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "5", + "lanes": "20,21", + "description": "Servers8:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "Servers9:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "6", + "lanes": "24,25", + "description": "Servers10:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "Servers11:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "7", + "lanes": "28,29,30,31", + "description": "Servers12:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet32": { + "index": "8", + "lanes": "32,33", + "description": "Servers13:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "Servers14:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "9", + "lanes": "36,37", + "description": "Servers15:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "Servers16:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "10", + "lanes": "40,41", + "description": "Servers17:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "Servers18:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "11", + "lanes": "44,45,46,47", + "description": "Servers19:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet48": { + "index": "12", + "lanes": "48,49", + "description": "Servers20:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "Servers21:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "13", + "lanes": "52,53", + "description": "Servers22:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "Servers23:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "14", + "lanes": "56,57", + "description": "etp15a", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "etp15b", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "15", + "lanes": "60,61,62,63", + "description": "etp16", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet64": { + "index": "16", + "lanes": "64,65", + "description": "ARISTA01T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet66": { + "index": "16", + "lanes": "66,67", + "description": "ARISTA02T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA03T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA04T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "18", + "lanes": "72,73", + "description": "etp19a", + "mtu": "9100", + "alias": "etp19a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "20", + "lanes": "80,81", + "description": "etp21a", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "20", + "lanes": "82,83", + "description": "etp21b", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "22", + "lanes": "88,89", + "description": "etp23a", + "mtu": "9100", + "alias": "etp23a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "23", + "lanes": "92,93,94,95", + "description": "etp24", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet96": { + "index": "24", + "lanes": "96,97,98,99", + "description": "etp25", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "25", + "lanes": "100,101,102,103", + "description": "etp26", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "26", + "lanes": "104,105", + "description": "etp27a", + "mtu": "9100", + "alias": "etp27a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "27", + "lanes": "108,109,110,111", + "description": "etp28", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet112": { + "index": "28", + "lanes": "112,113,114,115", + "description": "etp29", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "29", + "lanes": "116,117,118,119", + "description": "etp30", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "30", + "lanes": "120,121", + "description": "etp31a", + "mtu": "9100", + "alias": "etp31a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "31", + "lanes": "124,125,126,127", + "description": "etp32", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "32", + "lanes": "128,129,130,131", + "description": "etp33", + "mtu": "9100", + "alias": "etp33", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "34", + "lanes": "136,137", + "description": "etp35a", + "mtu": "9100", + "alias": "etp35a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "36", + "lanes": "144,145,146,147", + "description": "etp37", + "mtu": "9100", + "alias": "etp37", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "38", + "lanes": "152,153", + "description": "etp39a", + "mtu": "9100", + "alias": "etp39a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "40", + "lanes": "160,161", + "description": "etp41a", + "mtu": "9100", + "alias": "etp41a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "42", + "lanes": "168,169", + "description": "etp43a", + "mtu": "9100", + "alias": "etp43a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "44", + "lanes": "176,177", + "description": "etp45a", + "mtu": "9100", + "alias": "etp45a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "46", + "lanes": "184,185", + "description": "etp47a", + "mtu": "9100", + "alias": "etp47a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "48", + "lanes": "192,193", + "description": "etp49a", + "mtu": "9100", + "alias": "etp49a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "50", + "lanes": "200,201", + "description": "etp51a", + "mtu": "9100", + "alias": "etp51a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "52", + "lanes": "208,209", + "description": "etp53a", + "mtu": "9100", + "alias": "etp53a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "54", + "lanes": "216,217", + "description": "etp55a", + "mtu": "9100", + "alias": "etp55a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "56", + "lanes": "224,225", + "description": "etp57a", + "mtu": "9100", + "alias": "etp57a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "58", + "lanes": "232,233", + "description": "etp59a", + "mtu": "9100", + "alias": "etp59a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "60", + "lanes": "240,241", + "description": "etp61a", + "mtu": "9100", + "alias": "etp61a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "62", + "lanes": "248,249", + "description": "etp63a", + "mtu": "9100", + "alias": "etp63a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_3" + } +} diff --git a/tests/db_migrator_input/config_db/acs-msn3800-t1-version_2_0_3.json b/tests/db_migrator_input/config_db/acs-msn3800-t1-version_2_0_3.json new file mode 100644 index 0000000000..23d3a2da63 --- /dev/null +++ b/tests/db_migrator_input/config_db/acs-msn3800-t1-version_2_0_3.json @@ -0,0 +1,2023 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet2|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet2|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet6|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet6|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet10|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet10|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet18|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet18|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet22|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet22|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet26|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet26|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet34|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet34|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet38|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet38|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet42|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet42|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet50|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet50|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet54|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet54|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet58|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet58|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet66|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet70|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet70|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet74|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet82|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet86|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet90|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet106|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet122|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet128|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet132|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet136|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet138|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet140|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet144|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet148|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet152|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet154|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet156|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet160|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet162|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet164|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet166|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet168|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet170|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet172|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet176|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet178|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet180|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet182|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet184|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet186|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet188|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet192|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet196|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet198|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet200|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet204|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet208|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet212|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet214|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet216|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet220|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet224|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet228|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet230|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet232|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet236|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet240|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet244|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet246|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet248|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet252|3-4": { + "profile": "NULL" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossy_pool", + "size": "0" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet2|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet2|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet2|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet6|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet6|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet6|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet10|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet10|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet10|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet18|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet18|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet18|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet22|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet22|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet22|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet26|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet26|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet26|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet34|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet34|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet34|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet38|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet38|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet38|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet42|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet42|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet42|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet50|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet50|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet50|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet54|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet54|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet54|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet58|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet58|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet58|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet70|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet70|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet70|5-6": { + "profile": "q_lossy_profile" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet54": "40m", + "Ethernet248": "5m", + "Ethernet246": "5m", + "Ethernet244": "5m", + "Ethernet240": "5m", + "Ethernet124": "5m", + "Ethernet122": "5m", + "Ethernet120": "5m", + "Ethernet128": "5m", + "Ethernet76": "5m", + "Ethernet74": "5m", + "Ethernet72": "5m", + "Ethernet70": "40m", + "Ethernet136": "5m", + "Ethernet132": "5m", + "Ethernet232": "5m", + "Ethernet230": "5m", + "Ethernet138": "5m", + "Ethernet236": "5m", + "Ethernet64": "40m", + "Ethernet66": "40m", + "Ethernet60": "40m", + "Ethernet68": "40m", + "Ethernet180": "5m", + "Ethernet182": "5m", + "Ethernet184": "5m", + "Ethernet186": "5m", + "Ethernet188": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet106": "5m", + "Ethernet58": "40m", + "Ethernet50": "40m", + "Ethernet52": "40m", + "Ethernet224": "5m", + "Ethernet56": "40m", + "Ethernet196": "5m", + "Ethernet192": "5m", + "Ethernet198": "5m", + "Ethernet116": "5m", + "Ethernet112": "5m", + "Ethernet48": "40m", + "Ethernet214": "5m", + "Ethernet216": "5m", + "Ethernet42": "40m", + "Ethernet40": "40m", + "Ethernet8": "300m", + "Ethernet2": "300m", + "Ethernet0": "300m", + "Ethernet6": "300m", + "Ethernet4": "300m", + "Ethernet200": "5m", + "Ethernet168": "5m", + "Ethernet204": "5m", + "Ethernet162": "5m", + "Ethernet208": "5m", + "Ethernet160": "5m", + "Ethernet166": "5m", + "Ethernet164": "5m", + "Ethernet38": "40m", + "Ethernet32": "300m", + "Ethernet36": "40m", + "Ethernet34": "300m", + "Ethernet178": "5m", + "Ethernet170": "5m", + "Ethernet172": "5m", + "Ethernet176": "5m", + "Ethernet28": "300m", + "Ethernet20": "300m", + "Ethernet22": "300m", + "Ethernet24": "300m", + "Ethernet26": "300m", + "Ethernet44": "40m", + "Ethernet212": "5m", + "Ethernet96": "5m", + "Ethernet90": "5m", + "Ethernet148": "5m", + "Ethernet92": "5m", + "Ethernet144": "5m", + "Ethernet140": "5m", + "Ethernet18": "300m", + "Ethernet16": "300m", + "Ethernet10": "300m", + "Ethernet12": "300m", + "Ethernet228": "5m", + "Ethernet88": "5m", + "Ethernet82": "5m", + "Ethernet80": "5m", + "Ethernet86": "5m", + "Ethernet84": "5m", + "Ethernet152": "5m", + "Ethernet156": "5m", + "Ethernet154": "5m", + "Ethernet220": "5m", + "Ethernet252": "5m" + }, + "DEFAULT_LOSSLESS_BUFFER_PARAMETER|AZURE": { + "default_dynamic_th": "0" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN3800", + "default_bgp_status": "up", + "docker_routing_config_mode": "separated", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3800-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "dynamic", + "cloudtype": "None", + "type": "LeafRouter", + "deployment_id": "1" + }, + "LOSSLESS_TRAFFIC_PATTERN|AZURE": { + "small_packet_percentage": "100", + "mtu": "1024" + }, + "PORT|Ethernet0": { + "index": "0", + "lanes": "0,1", + "description": "ARISTA01T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "ARISTA01T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "1", + "lanes": "4,5", + "description": "ARISTA03T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "ARISTA03T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2b", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9", + "description": "ARISTA05T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "ARISTA05T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "3", + "lanes": "12,13,14,15", + "description": "ARISTA07T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet16": { + "index": "4", + "lanes": "16,17", + "description": "ARISTA07T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "ARISTA09T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "5", + "lanes": "20,21", + "description": "ARISTA09T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "ARISTA11T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "6", + "lanes": "24,25", + "description": "ARISTA11T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "ARISTA13T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "7", + "lanes": "28,29,30,31", + "description": "ARISTA13T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet32": { + "index": "8", + "lanes": "32,33", + "description": "ARISTA15T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "ARISTA15T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "9", + "lanes": "36,37", + "description": "ARISTA01T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "ARISTA02T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "10", + "lanes": "40,41", + "description": "ARISTA03T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11a", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "ARISTA04T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "11", + "lanes": "44,45,46,47", + "description": "ARISTA05T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet48": { + "index": "12", + "lanes": "48,49", + "description": "ARISTA06T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "ARISTA07T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "13", + "lanes": "52,53", + "description": "ARISTA08T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "ARISTA09T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "14", + "lanes": "56,57", + "description": "ARISTA10T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "15", + "lanes": "60,61,62,63", + "description": "ARISTA12T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet64": { + "index": "16", + "lanes": "64,65", + "description": "ARISTA13T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet66": { + "index": "16", + "lanes": "66,67", + "description": "ARISTA14T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA16T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "18", + "lanes": "72,73", + "description": "etp19a", + "mtu": "9100", + "alias": "etp19a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "20", + "lanes": "80,81", + "description": "etp21a", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "20", + "lanes": "82,83", + "description": "etp21b", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "22", + "lanes": "88,89", + "description": "etp23a", + "mtu": "9100", + "alias": "etp23a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "23", + "lanes": "92,93,94,95", + "description": "etp24", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet96": { + "index": "24", + "lanes": "96,97,98,99", + "description": "etp25", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "25", + "lanes": "100,101,102,103", + "description": "etp26", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "26", + "lanes": "104,105", + "description": "etp27a", + "mtu": "9100", + "alias": "etp27a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "27", + "lanes": "108,109,110,111", + "description": "etp28", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet112": { + "index": "28", + "lanes": "112,113,114,115", + "description": "etp29", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "29", + "lanes": "116,117,118,119", + "description": "etp30", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "30", + "lanes": "120,121", + "description": "etp31a", + "mtu": "9100", + "alias": "etp31a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "31", + "lanes": "124,125,126,127", + "description": "etp32", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "32", + "lanes": "128,129,130,131", + "description": "etp33", + "mtu": "9100", + "alias": "etp33", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "34", + "lanes": "136,137", + "description": "etp35a", + "mtu": "9100", + "alias": "etp35a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "36", + "lanes": "144,145,146,147", + "description": "etp37", + "mtu": "9100", + "alias": "etp37", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "38", + "lanes": "152,153", + "description": "etp39a", + "mtu": "9100", + "alias": "etp39a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "40", + "lanes": "160,161", + "description": "etp41a", + "mtu": "9100", + "alias": "etp41a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "42", + "lanes": "168,169", + "description": "etp43a", + "mtu": "9100", + "alias": "etp43a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "44", + "lanes": "176,177", + "description": "etp45a", + "mtu": "9100", + "alias": "etp45a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "46", + "lanes": "184,185", + "description": "etp47a", + "mtu": "9100", + "alias": "etp47a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "48", + "lanes": "192,193", + "description": "etp49a", + "mtu": "9100", + "alias": "etp49a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "50", + "lanes": "200,201", + "description": "etp51a", + "mtu": "9100", + "alias": "etp51a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "52", + "lanes": "208,209", + "description": "etp53a", + "mtu": "9100", + "alias": "etp53a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "54", + "lanes": "216,217", + "description": "etp55a", + "mtu": "9100", + "alias": "etp55a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "56", + "lanes": "224,225", + "description": "etp57a", + "mtu": "9100", + "alias": "etp57a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "58", + "lanes": "232,233", + "description": "etp59a", + "mtu": "9100", + "alias": "etp59a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "60", + "lanes": "240,241", + "description": "etp61a", + "mtu": "9100", + "alias": "etp61a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "62", + "lanes": "248,249", + "description": "etp63a", + "mtu": "9100", + "alias": "etp63a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_3" + } +} diff --git a/tests/db_migrator_input/config_db/acs-msn4700-t0-version_2_0_3.json b/tests/db_migrator_input/config_db/acs-msn4700-t0-version_2_0_3.json new file mode 100644 index 0000000000..12bea7ab68 --- /dev/null +++ b/tests/db_migrator_input/config_db/acs-msn4700-t0-version_2_0_3.json @@ -0,0 +1,1947 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet128|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet128|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet136|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet136|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet144|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet144|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet152|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet152|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet160|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet160|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet168|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet168|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet176|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet176|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet184|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet184|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet192|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet192|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet200|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet208|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet216|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet224|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet224|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet232|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet232|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet240|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet240|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet248|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet248|3-4": { + "profile": "NULL" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "60817392" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet128": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet136": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet144": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet152": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet160": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet168": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet176": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet184": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet192": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet224": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet232": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet240": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet248": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet128": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet136": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet144": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet152": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet160": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet168": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet176": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet184": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet192": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet224": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet232": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet240": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet248": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossy_pool", + "size": "0" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet128|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet128|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet128|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet136|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet136|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet136|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet144|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet144|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet144|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet152|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet152|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet152|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet160|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet160|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet160|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet168|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet168|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet168|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet176|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet176|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet176|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet184|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet184|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet184|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet192|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet192|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet192|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet224|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet224|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet224|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet232|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet232|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet232|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet240|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet240|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet240|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet248|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet248|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet248|5-6": { + "profile": "q_lossy_profile" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet184": "5m", + "Ethernet0": "5m", + "Ethernet248": "40m", + "Ethernet104": "5m", + "Ethernet240": "40m", + "Ethernet200": "5m", + "Ethernet168": "5m", + "Ethernet120": "5m", + "Ethernet144": "5m", + "Ethernet208": "5m", + "Ethernet160": "5m", + "Ethernet224": "40m", + "Ethernet56": "5m", + "Ethernet128": "5m", + "Ethernet72": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet192": "5m", + "Ethernet96": "5m", + "Ethernet88": "5m", + "Ethernet80": "5m", + "Ethernet112": "5m", + "Ethernet152": "5m", + "Ethernet136": "5m", + "Ethernet48": "5m", + "Ethernet232": "40m", + "Ethernet216": "5m", + "Ethernet176": "5m", + "Ethernet40": "5m", + "Ethernet64": "5m", + "Ethernet24": "5m" + }, + "DEFAULT_LOSSLESS_BUFFER_PARAMETER|AZURE": { + "default_dynamic_th": "0" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN4700", + "default_bgp_status": "up", + "type": "ToRRouter", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn4700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "dynamic", + "deployment_id": "1", + "docker_routing_config_mode": "separated", + "cloudtype": "None" + }, + "LOSSLESS_TRAFFIC_PATTERN|AZURE": { + "small_packet_percentage": "100", + "mtu": "1024" + }, + "PORT|Ethernet0": { + "index": "1", + "lanes": "0,1,2,3,4,5,6,7", + "description": "etp1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "10000", + "fec": "rs" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "ARISTA01T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1b", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "2", + "lanes": "4,5,6,7", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2", + "pfc_asym": "off", + "speed": "25000", + "fec": "rs" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "ARISTA03T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2b", + "admin_status": "up", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9,10,11,12,13,14,15", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2", + "pfc_asym": "off", + "speed": "25000", + "fec": "rs" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "ARISTA05T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "4", + "lanes": "12,13,14,15", + "description": "Servers2:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet16": { + "index": "3", + "lanes": "16,17,18,19,20,21,22,23", + "description": "Servers1:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3", + "pfc_asym": "off", + "speed": "50000", + "fec": "rs" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "ARISTA09T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "6", + "lanes": "20,21,22,23", + "description": "Servers4:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6", + "pfc_asym": "off", + "speed": "200000", + "fec": "rs" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "ARISTA11T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "4", + "lanes": "24,25,26,27,28,29,30,31", + "description": "Servers2:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "ARISTA13T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "8", + "lanes": "28,29,30,31", + "description": "Servers6:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet32": { + "index": "5", + "lanes": "32,33,34,35,36,37,38,39", + "description": "Servers3:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "ARISTA15T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "10", + "lanes": "36,37,38,39", + "description": "Servers8:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "ARISTA02T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10b", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "6", + "lanes": "40,41,42,43,44,45,46,47", + "description": "Servers4:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6", + "pfc_asym": "off", + "speed": "200000", + "fec": "rs" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "ARISTA04T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "12", + "lanes": "44,45,46,47", + "description": "Servers10:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet48": { + "index": "7", + "lanes": "48,49,50,51,52,53,54,55", + "description": "Servers5:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "ARISTA07T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "14", + "lanes": "52,53,54,55", + "description": "Servers12:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "ARISTA09T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "8", + "lanes": "56,57,58,59,60,61,62,63", + "description": "Servers6:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "16", + "lanes": "60,61,62,63", + "description": "Servers14:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet64": { + "index": "9", + "lanes": "64,65,66,67,68,69,70,71", + "description": "Servers7:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet65": { + "index": "17", + "lanes": "65", + "description": "Servers16:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet66": { + "index": "17", + "lanes": "66", + "description": "Servers17:eth0", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17c", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet67": { + "index": "17", + "lanes": "67", + "description": "Servers18:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17d", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "10", + "lanes": "72,73,74,75,76,77,78,79", + "description": "Servers8:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "admin_status": "up", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "11", + "lanes": "80,81,82,83,84,85,86,87", + "description": "Servers9:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "21", + "lanes": "82,83", + "description": "Servers20:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "admin_status": "up", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "12", + "lanes": "88,89,90,91,92,93,94,95", + "description": "Servers10:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "24", + "lanes": "92,93,94,95", + "description": "Servers22:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet96": { + "index": "13", + "lanes": "96,97,98,99,100,101,102,103", + "description": "Servers11:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "26", + "lanes": "100,101,102,103", + "description": "etp26", + "admin_status": "up", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "14", + "lanes": "104,105,106,107,108,109,110,111", + "description": "Servers12:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "28", + "lanes": "108,109,110,111", + "description": "etp28", + "admin_status": "up", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet112": { + "index": "15", + "lanes": "112,113,114,115,116,117,118,119", + "description": "Servers13:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "30", + "lanes": "116,117,118,119", + "description": "ARISTA02T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "16", + "lanes": "120,121,122,123,124,125,126,127", + "description": "Servers14:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "32", + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "17", + "lanes": "128,129,130,131,132,133,134,135", + "description": "Servers15:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "18", + "lanes": "136,137,138,139,140,141,142,143", + "description": "Servers16:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "19", + "lanes": "144,145,146,147,148,149,150,151", + "description": "Servers17:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp19", + "pfc_asym": "off", + "speed": "400000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "20", + "lanes": "152,153,154,155,156,157,158,159", + "description": "Servers18:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "21", + "lanes": "160,161,162,163,164,165,166,167", + "description": "Servers19:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "22", + "lanes": "168,169,170,171,172,173,174,175", + "description": "Servers20:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp22", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "23", + "lanes": "176,177,178,179,180,181,182,183", + "description": "Servers21:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp23", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "24", + "lanes": "184,185,186,187,188,189,190,191", + "description": "Servers22:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "25", + "lanes": "192,193,194,195,196,197,198,199", + "description": "Servers23:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "26", + "lanes": "200,201,202,203,204,205,206,207", + "description": "etp26", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "27", + "lanes": "208,209,210,211,212,213,214,215", + "description": "etp27", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "28", + "lanes": "216,217,218,219,220,221,222,223", + "description": "etp28", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "29", + "lanes": "224,225,226,227,228,229,230,231", + "description": "ARISTA01T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "30", + "lanes": "232,233,234,235,236,237,238,239", + "description": "ARISTA02T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "31", + "lanes": "240,241,242,243,244,245,246,247", + "description": "ARISTA03T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp31", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "32", + "lanes": "248,249,250,251,252,253,254,255", + "description": "ARISTA04T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_3" + } +} diff --git a/tests/db_migrator_input/config_db/acs-msn4700-t1-version_2_0_3.json b/tests/db_migrator_input/config_db/acs-msn4700-t1-version_2_0_3.json new file mode 100644 index 0000000000..ca9bb8d353 --- /dev/null +++ b/tests/db_migrator_input/config_db/acs-msn4700-t1-version_2_0_3.json @@ -0,0 +1,2016 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet128|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet128|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet136|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet136|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet144|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet144|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet152|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet152|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet160|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet160|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet168|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet168|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet176|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet176|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet184|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet184|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet192|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet192|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet200|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet200|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet208|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet208|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet216|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet216|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet224|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet224|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet232|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet232|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet240|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet240|3-4": { + "profile": "NULL" + }, + "BUFFER_PG|Ethernet248|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet248|3-4": { + "profile": "NULL" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "60817392" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet128": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet136": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet144": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet152": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet160": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet168": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet176": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet184": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet192": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet200": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet208": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet216": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet224": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet232": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet240": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet248": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet65": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet67": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet82": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet128": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet136": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet144": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet152": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet160": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet168": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet176": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet184": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet192": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet200": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet208": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet216": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet224": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet232": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet240": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet248": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossy_pool", + "size": "0" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet128|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet128|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet128|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet136|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet136|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet136|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet144|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet144|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet144|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet152|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet152|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet152|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet160|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet160|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet160|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet168|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet168|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet168|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet176|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet176|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet176|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet184|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet184|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet184|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet192|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet192|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet192|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet200|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet200|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet200|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet208|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet208|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet208|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet216|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet216|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet216|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet224|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet224|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet224|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet232|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet232|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet232|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet240|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet240|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet240|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet248|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet248|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet248|5-6": { + "profile": "q_lossy_profile" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet184": "40m", + "Ethernet0": "300m", + "Ethernet248": "40m", + "Ethernet104": "300m", + "Ethernet240": "40m", + "Ethernet200": "40m", + "Ethernet168": "40m", + "Ethernet120": "300m", + "Ethernet144": "40m", + "Ethernet208": "40m", + "Ethernet160": "40m", + "Ethernet224": "40m", + "Ethernet56": "300m", + "Ethernet128": "40m", + "Ethernet72": "300m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet192": "40m", + "Ethernet96": "300m", + "Ethernet88": "300m", + "Ethernet80": "300m", + "Ethernet112": "300m", + "Ethernet152": "40m", + "Ethernet136": "40m", + "Ethernet48": "300m", + "Ethernet232": "40m", + "Ethernet216": "40m", + "Ethernet176": "40m", + "Ethernet40": "300m", + "Ethernet64": "300m", + "Ethernet24": "300m" + }, + "DEFAULT_LOSSLESS_BUFFER_PARAMETER|AZURE": { + "default_dynamic_th": "0" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "ACS-MSN4700", + "default_bgp_status": "up", + "type": "LeafRouter", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn4700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "dynamic", + "deployment_id": "1", + "docker_routing_config_mode": "separated", + "cloudtype": "None" + }, + "LOSSLESS_TRAFFIC_PATTERN|AZURE": { + "small_packet_percentage": "100", + "mtu": "1024" + }, + "PORT|Ethernet0": { + "index": "1", + "lanes": "0,1,2,3,4,5,6,7", + "description": "ARISTA01T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "10000", + "fec": "rs" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "ARISTA01T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1b", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "2", + "lanes": "4,5,6,7", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2", + "pfc_asym": "off", + "speed": "25000", + "fec": "rs" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "ARISTA03T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2b", + "admin_status": "up", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9,10,11,12,13,14,15", + "description": "ARISTA01T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2", + "pfc_asym": "off", + "speed": "25000", + "fec": "rs" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "ARISTA05T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "4", + "lanes": "12,13,14,15", + "description": "Servers2:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet16": { + "index": "3", + "lanes": "16,17,18,19,20,21,22,23", + "description": "ARISTA03T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3", + "pfc_asym": "off", + "speed": "50000", + "fec": "rs" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "ARISTA09T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "6", + "lanes": "20,21,22,23", + "description": "Servers4:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6", + "pfc_asym": "off", + "speed": "200000", + "fec": "rs" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "ARISTA11T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "4", + "lanes": "24,25,26,27,28,29,30,31", + "description": "ARISTA03T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "ARISTA13T2:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "8", + "lanes": "28,29,30,31", + "description": "Servers6:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet32": { + "index": "5", + "lanes": "32,33,34,35,36,37,38,39", + "description": "ARISTA05T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "ARISTA15T2:Ethernet2", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "10", + "lanes": "36,37,38,39", + "description": "Servers8:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "ARISTA02T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10b", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "6", + "lanes": "40,41,42,43,44,45,46,47", + "description": "ARISTA05T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6", + "pfc_asym": "off", + "speed": "200000", + "fec": "rs" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "ARISTA04T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "12", + "lanes": "44,45,46,47", + "description": "Servers10:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet48": { + "index": "7", + "lanes": "48,49,50,51,52,53,54,55", + "description": "ARISTA07T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "ARISTA07T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "14", + "lanes": "52,53,54,55", + "description": "Servers12:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "ARISTA09T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "8", + "lanes": "56,57,58,59,60,61,62,63", + "description": "ARISTA07T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "16", + "lanes": "60,61,62,63", + "description": "Servers14:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet64": { + "index": "9", + "lanes": "64,65,66,67,68,69,70,71", + "description": "ARISTA09T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet65": { + "index": "17", + "lanes": "65", + "description": "Servers16:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet66": { + "index": "17", + "lanes": "66", + "description": "Servers17:eth0", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17c", + "admin_status": "up", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet67": { + "index": "17", + "lanes": "67", + "description": "Servers18:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17d", + "pfc_asym": "off", + "speed": "25000" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18b", + "admin_status": "up", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "10", + "lanes": "72,73,74,75,76,77,78,79", + "description": "ARISTA09T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "admin_status": "up", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "11", + "lanes": "80,81,82,83,84,85,86,87", + "description": "ARISTA11T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "21", + "lanes": "82,83", + "description": "Servers20:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "admin_status": "up", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "12", + "lanes": "88,89,90,91,92,93,94,95", + "description": "ARISTA11T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "24", + "lanes": "92,93,94,95", + "description": "Servers22:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet96": { + "index": "13", + "lanes": "96,97,98,99,100,101,102,103", + "description": "ARISTA13T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "26", + "lanes": "100,101,102,103", + "description": "etp26", + "admin_status": "up", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "14", + "lanes": "104,105,106,107,108,109,110,111", + "description": "ARISTA13T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "28", + "lanes": "108,109,110,111", + "description": "etp28", + "admin_status": "up", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet112": { + "index": "15", + "lanes": "112,113,114,115,116,117,118,119", + "description": "ARISTA15T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "30", + "lanes": "116,117,118,119", + "description": "ARISTA02T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "16", + "lanes": "120,121,122,123,124,125,126,127", + "description": "ARISTA15T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "32", + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "17", + "lanes": "128,129,130,131,132,133,134,135", + "description": "ARISTA01T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17", + "pfc_asym": "off", + "speed": "10000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "18", + "lanes": "136,137,138,139,140,141,142,143", + "description": "ARISTA02T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "19", + "lanes": "144,145,146,147,148,149,150,151", + "description": "ARISTA03T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp19", + "pfc_asym": "off", + "speed": "40000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "20", + "lanes": "152,153,154,155,156,157,158,159", + "description": "ARISTA04T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "21", + "lanes": "160,161,162,163,164,165,166,167", + "description": "ARISTA05T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp21", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "22", + "lanes": "168,169,170,171,172,173,174,175", + "description": "ARISTA06T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp22", + "pfc_asym": "off", + "speed": "200000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "23", + "lanes": "176,177,178,179,180,181,182,183", + "description": "ARISTA07T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp23", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "24", + "lanes": "184,185,186,187,188,189,190,191", + "description": "ARISTA08T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "25", + "lanes": "192,193,194,195,196,197,198,199", + "description": "ARISTA09T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "26", + "lanes": "200,201,202,203,204,205,206,207", + "description": "ARISTA10T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "27", + "lanes": "208,209,210,211,212,213,214,215", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "28", + "lanes": "216,217,218,219,220,221,222,223", + "description": "ARISTA12T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "29", + "lanes": "224,225,226,227,228,229,230,231", + "description": "ARISTA13T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "30", + "lanes": "232,233,234,235,236,237,238,239", + "description": "ARISTA14T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "400000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "31", + "lanes": "240,241,242,243,244,245,246,247", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp31", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "32", + "lanes": "248,249,250,251,252,253,254,255", + "description": "ARISTA16T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_3" + } +} diff --git a/tests/db_migrator_input/config_db/empty-config-expected.json b/tests/db_migrator_input/config_db/empty-config-expected.json index f3d3593ffc..8111516340 100644 --- a/tests/db_migrator_input/config_db/empty-config-expected.json +++ b/tests/db_migrator_input/config_db/empty-config-expected.json @@ -1,5 +1,5 @@ { "VERSIONS|DATABASE": { - "VERSION": "version_2_0_0" + "VERSION": "version_2_0_3" } } diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-single-pool-t0-version_2_0_3.json b/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-single-pool-t0-version_2_0_3.json new file mode 100644 index 0000000000..62c0d88c9e --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-single-pool-t0-version_2_0_3.json @@ -0,0 +1,1056 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "pg_lossless_10000_5m_profile" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "pg_lossless_25000_5m_profile" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "pg_lossless_40000_5m_profile" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "7719936" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "1032192", + "type": "ingress", + "mode": "dynamic", + "size": "7719936" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "23552", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "q_lossy_profile" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet68": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet76": "5m", + "Ethernet72": "5m", + "Ethernet64": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet88": "5m", + "Ethernet116": "40m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet84": "5m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet28": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-C28D8", + "default_bgp_status": "up", + "type": "ToRRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "traditional", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "100000", + "description": "etp1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "10000", + "description": "Servers0:eth0" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "25000", + "description": "Servers1:eth0" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "40000", + "description": "Servers2:eth0" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "50000", + "description": "Servers3:eth0" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "Servers4:eth0" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "Servers5:eth0" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "Servers6:eth0" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "Servers7:eth0" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "Servers8:eth0" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "Servers9:eth0" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "Servers10:eth0" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "Servers11:eth0" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "Servers12:eth0" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "Servers13:eth0" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "Servers14:eth0" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "100000", + "description": "Servers15:eth0" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "100000", + "description": "Servers16:eth0" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "100000", + "description": "Servers17:eth0" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "100000", + "description": "Servers18:eth0" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "Servers19:eth0" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "Servers20:eth0" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "Servers21:eth0" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "Servers22:eth0" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "Servers23:eth0" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "description": "etp26" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "description": "etp27" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "description": "etp28" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA01T1:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA02T1:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_3" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-single-pool-t1-version_2_0_3.json b/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-single-pool-t1-version_2_0_3.json new file mode 100644 index 0000000000..ccde40f2ff --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-single-pool-t1-version_2_0_3.json @@ -0,0 +1,1153 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "pg_lossless_10000_300m_profile" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "pg_lossless_25000_300m_profile" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "pg_lossless_40000_300m_profile" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "pg_lossless_10000_40m_profile" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "pg_lossless_25000_40m_profile" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "pg_lossless_40000_40m_profile" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "9686016" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "1179648", + "type": "ingress", + "mode": "dynamic", + "size": "9686016" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "27648", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "24576", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "36864", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "45056", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "50176", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "78848", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "q_lossy_profile" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet68": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet76": "40m", + "Ethernet72": "40m", + "Ethernet64": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet88": "40m", + "Ethernet116": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet84": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet28": "300m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet24": "300m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-C28D8", + "default_bgp_status": "up", + "type": "LeafRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "traditional", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T2:Ethernet1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA01T2:Ethernet2" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T2:Ethernet1" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA03T2:Ethernet2" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet1" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet2" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet1" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet2" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet1" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet2" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet1" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet2" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet1" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet2" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet1" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet2" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T0:Ethernet1" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA02T0:Ethernet1" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T0:Ethernet1" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA04T0:Ethernet1" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T0:Ethernet1" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA06T0:Ethernet1" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T0:Ethernet1" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA08T0:Ethernet1" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T0:Ethernet1" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp26", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA10T0:Ethernet1" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp27", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T0:Ethernet1" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp28", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA12T0:Ethernet1" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T0:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA14T0:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_3" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t0-version_2_0_3.json b/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t0-version_2_0_3.json new file mode 100644 index 0000000000..80f0c488bd --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t0-version_2_0_3.json @@ -0,0 +1,1061 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "pg_lossless_10000_5m_profile" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "pg_lossless_25000_5m_profile" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "pg_lossless_40000_5m_profile" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "3859968" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "1032192", + "type": "ingress", + "mode": "dynamic", + "size": "3859968" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "3859968" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossy_pool", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "23552", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "q_lossy_profile" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet68": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet76": "5m", + "Ethernet72": "5m", + "Ethernet64": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet88": "5m", + "Ethernet116": "40m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet84": "5m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet28": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-C28D8", + "default_bgp_status": "up", + "type": "ToRRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "traditional", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "100000", + "description": "etp1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "10000", + "description": "Servers0:eth0" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "25000", + "description": "Servers1:eth0" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "40000", + "description": "Servers2:eth0" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "50000", + "description": "Servers3:eth0" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "Servers4:eth0" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "Servers5:eth0" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "Servers6:eth0" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "Servers7:eth0" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "Servers8:eth0" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "Servers9:eth0" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "Servers10:eth0" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "Servers11:eth0" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "Servers12:eth0" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "Servers13:eth0" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "Servers14:eth0" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "100000", + "description": "Servers15:eth0" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "100000", + "description": "Servers16:eth0" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "100000", + "description": "Servers17:eth0" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "100000", + "description": "Servers18:eth0" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "Servers19:eth0" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "Servers20:eth0" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "Servers21:eth0" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "Servers22:eth0" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "Servers23:eth0" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "description": "etp26" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "description": "etp27" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "description": "etp28" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA01T1:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA02T1:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_3" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t1-version_2_0_3.json b/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t1-version_2_0_3.json new file mode 100644 index 0000000000..45d6e80400 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-c28d8-t1-version_2_0_3.json @@ -0,0 +1,1158 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "pg_lossless_10000_300m_profile" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "pg_lossless_25000_300m_profile" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "pg_lossless_40000_300m_profile" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "pg_lossless_10000_40m_profile" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "pg_lossless_25000_40m_profile" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "pg_lossless_40000_40m_profile" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "4843008" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "1179648", + "type": "ingress", + "mode": "dynamic", + "size": "4843008" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "4843008" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossy_pool", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "27648", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "24576", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "36864", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "45056", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "50176", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "78848", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "q_lossy_profile" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet68": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet76": "40m", + "Ethernet72": "40m", + "Ethernet64": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet88": "40m", + "Ethernet116": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet84": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet28": "300m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet24": "300m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-C28D8", + "default_bgp_status": "up", + "type": "LeafRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "traditional", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T2:Ethernet1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA01T2:Ethernet2" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T2:Ethernet1" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA03T2:Ethernet2" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet1" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet2" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet1" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet2" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet1" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet2" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet1" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet2" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet1" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet2" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet1" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet2" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T0:Ethernet1" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA02T0:Ethernet1" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T0:Ethernet1" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA04T0:Ethernet1" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T0:Ethernet1" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA06T0:Ethernet1" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T0:Ethernet1" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA08T0:Ethernet1" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T0:Ethernet1" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp26", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA10T0:Ethernet1" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp27", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T0:Ethernet1" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp28", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA12T0:Ethernet1" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T0:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA14T0:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_3" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-d40c8s8-t0-version_2_0_3.json b/tests/db_migrator_input/config_db/mellanox-sn2700-d40c8s8-t0-version_2_0_3.json new file mode 100644 index 0000000000..a9b48e0e2d --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-d40c8s8-t0-version_2_0_3.json @@ -0,0 +1,1056 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "pg_lossless_10000_5m_profile" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "pg_lossless_25000_5m_profile" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "pg_lossless_40000_5m_profile" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "7719936" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "1032192", + "type": "ingress", + "mode": "dynamic", + "size": "7719936" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "23552", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "q_lossy_profile" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet68": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet76": "5m", + "Ethernet72": "5m", + "Ethernet64": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet88": "5m", + "Ethernet116": "40m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet84": "5m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet28": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-D40C8S8", + "default_bgp_status": "up", + "type": "ToRRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "traditional", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "100000", + "description": "etp1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "10000", + "description": "Servers0:eth0" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "25000", + "description": "Servers1:eth0" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "40000", + "description": "Servers2:eth0" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "50000", + "description": "Servers3:eth0" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "Servers4:eth0" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "Servers5:eth0" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "Servers6:eth0" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "Servers7:eth0" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "Servers8:eth0" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "Servers9:eth0" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "Servers10:eth0" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "Servers11:eth0" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "Servers12:eth0" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "Servers13:eth0" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "Servers14:eth0" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "100000", + "description": "Servers15:eth0" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "100000", + "description": "Servers16:eth0" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "100000", + "description": "Servers17:eth0" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "100000", + "description": "Servers18:eth0" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "Servers19:eth0" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "Servers20:eth0" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "Servers21:eth0" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "Servers22:eth0" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "Servers23:eth0" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "description": "etp26" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "description": "etp27" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "description": "etp28" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA01T1:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA02T1:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_3" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-d40c8s8-t1-version_2_0_3.json b/tests/db_migrator_input/config_db/mellanox-sn2700-d40c8s8-t1-version_2_0_3.json new file mode 100644 index 0000000000..e8a0db0449 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-d40c8s8-t1-version_2_0_3.json @@ -0,0 +1,1153 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "pg_lossless_10000_300m_profile" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "pg_lossless_25000_300m_profile" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "pg_lossless_40000_300m_profile" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "pg_lossless_10000_40m_profile" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "pg_lossless_25000_40m_profile" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "pg_lossless_40000_40m_profile" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "9686016" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "1179648", + "type": "ingress", + "mode": "dynamic", + "size": "9686016" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "27648", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "24576", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "36864", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "45056", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "50176", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "78848", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "q_lossy_profile" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet68": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet76": "40m", + "Ethernet72": "40m", + "Ethernet64": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet88": "40m", + "Ethernet116": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet84": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet28": "300m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet24": "300m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-D40C8S8", + "default_bgp_status": "up", + "type": "LeafRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "traditional", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T2:Ethernet1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA01T2:Ethernet2" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T2:Ethernet1" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA03T2:Ethernet2" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet1" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet2" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet1" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet2" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet1" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet2" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet1" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet2" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet1" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet2" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet1" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet2" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T0:Ethernet1" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA02T0:Ethernet1" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T0:Ethernet1" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA04T0:Ethernet1" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T0:Ethernet1" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA06T0:Ethernet1" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T0:Ethernet1" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA08T0:Ethernet1" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T0:Ethernet1" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp26", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA10T0:Ethernet1" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp27", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T0:Ethernet1" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp28", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA12T0:Ethernet1" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T0:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA14T0:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_3" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-single-pool-t0-version_2_0_3.json b/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-single-pool-t0-version_2_0_3.json new file mode 100644 index 0000000000..5ee9c5ac83 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-single-pool-t0-version_2_0_3.json @@ -0,0 +1,1056 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "pg_lossless_10000_5m_profile" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "pg_lossless_25000_5m_profile" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "pg_lossless_40000_5m_profile" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "7719936" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "1032192", + "type": "ingress", + "mode": "dynamic", + "size": "7719936" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "23552", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "q_lossy_profile" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet68": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet76": "5m", + "Ethernet72": "5m", + "Ethernet64": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet88": "5m", + "Ethernet116": "40m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet84": "5m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet28": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-D48C8", + "default_bgp_status": "up", + "type": "ToRRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "traditional", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "100000", + "description": "etp1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "10000", + "description": "Servers0:eth0" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "25000", + "description": "Servers1:eth0" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "40000", + "description": "Servers2:eth0" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "50000", + "description": "Servers3:eth0" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "Servers4:eth0" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "Servers5:eth0" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "Servers6:eth0" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "Servers7:eth0" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "Servers8:eth0" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "Servers9:eth0" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "Servers10:eth0" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "Servers11:eth0" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "Servers12:eth0" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "Servers13:eth0" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "Servers14:eth0" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "100000", + "description": "Servers15:eth0" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "100000", + "description": "Servers16:eth0" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "100000", + "description": "Servers17:eth0" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "100000", + "description": "Servers18:eth0" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "Servers19:eth0" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "Servers20:eth0" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "Servers21:eth0" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "Servers22:eth0" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "Servers23:eth0" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "description": "etp26" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "description": "etp27" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "description": "etp28" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA01T1:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA02T1:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_3" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-single-pool-t1-version_2_0_3.json b/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-single-pool-t1-version_2_0_3.json new file mode 100644 index 0000000000..fe58365227 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-single-pool-t1-version_2_0_3.json @@ -0,0 +1,1153 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "pg_lossless_10000_300m_profile" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "pg_lossless_25000_300m_profile" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "pg_lossless_40000_300m_profile" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "pg_lossless_10000_40m_profile" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "pg_lossless_25000_40m_profile" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "pg_lossless_40000_40m_profile" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "9686016" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "1179648", + "type": "ingress", + "mode": "dynamic", + "size": "9686016" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "27648", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "24576", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "36864", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "45056", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "50176", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "78848", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "q_lossy_profile" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet68": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet76": "40m", + "Ethernet72": "40m", + "Ethernet64": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet88": "40m", + "Ethernet116": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet84": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet28": "300m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet24": "300m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-D48C8", + "default_bgp_status": "up", + "type": "LeafRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "traditional", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T2:Ethernet1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA01T2:Ethernet2" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T2:Ethernet1" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA03T2:Ethernet2" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet1" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet2" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet1" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet2" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet1" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet2" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet1" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet2" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet1" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet2" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet1" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet2" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T0:Ethernet1" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA02T0:Ethernet1" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T0:Ethernet1" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA04T0:Ethernet1" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T0:Ethernet1" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA06T0:Ethernet1" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T0:Ethernet1" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA08T0:Ethernet1" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T0:Ethernet1" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp26", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA10T0:Ethernet1" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp27", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T0:Ethernet1" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp28", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA12T0:Ethernet1" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T0:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA14T0:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_3" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t0-version_2_0_3.json b/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t0-version_2_0_3.json new file mode 100644 index 0000000000..07e9842e25 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t0-version_2_0_3.json @@ -0,0 +1,1061 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "pg_lossless_10000_5m_profile" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "pg_lossless_25000_5m_profile" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "pg_lossless_40000_5m_profile" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "3859968" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "1032192", + "type": "ingress", + "mode": "dynamic", + "size": "3859968" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "3859968" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossy_pool", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "23552", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "q_lossy_profile" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet68": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet76": "5m", + "Ethernet72": "5m", + "Ethernet64": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet88": "5m", + "Ethernet116": "40m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet84": "5m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet28": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-D48C8", + "default_bgp_status": "up", + "type": "ToRRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "traditional", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "100000", + "description": "etp1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "10000", + "description": "Servers0:eth0" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "25000", + "description": "Servers1:eth0" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "40000", + "description": "Servers2:eth0" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "50000", + "description": "Servers3:eth0" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "Servers4:eth0" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "Servers5:eth0" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "Servers6:eth0" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "Servers7:eth0" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "Servers8:eth0" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "Servers9:eth0" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "Servers10:eth0" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "Servers11:eth0" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "Servers12:eth0" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "Servers13:eth0" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "Servers14:eth0" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "100000", + "description": "Servers15:eth0" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "100000", + "description": "Servers16:eth0" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "100000", + "description": "Servers17:eth0" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "100000", + "description": "Servers18:eth0" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "Servers19:eth0" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "Servers20:eth0" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "Servers21:eth0" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "Servers22:eth0" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "Servers23:eth0" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "description": "etp26" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "description": "etp27" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "description": "etp28" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA01T1:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA02T1:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_3" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t1-version_2_0_3.json b/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t1-version_2_0_3.json new file mode 100644 index 0000000000..2364b06d45 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-d48c8-t1-version_2_0_3.json @@ -0,0 +1,1158 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "pg_lossless_10000_300m_profile" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "pg_lossless_25000_300m_profile" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "pg_lossless_40000_300m_profile" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "pg_lossless_10000_40m_profile" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "pg_lossless_25000_40m_profile" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "pg_lossless_40000_40m_profile" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "4843008" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "1179648", + "type": "ingress", + "mode": "dynamic", + "size": "4843008" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "4843008" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossy_pool", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "27648", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "24576", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "36864", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "45056", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "50176", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "78848", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "q_lossy_profile" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet68": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet76": "40m", + "Ethernet72": "40m", + "Ethernet64": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet88": "40m", + "Ethernet116": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet84": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet28": "300m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet24": "300m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700-D48C8", + "default_bgp_status": "up", + "type": "LeafRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "traditional", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T2:Ethernet1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA01T2:Ethernet2" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T2:Ethernet1" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA03T2:Ethernet2" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet1" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet2" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet1" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet2" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet1" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet2" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet1" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet2" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet1" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet2" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet1" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet2" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T0:Ethernet1" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA02T0:Ethernet1" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T0:Ethernet1" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA04T0:Ethernet1" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T0:Ethernet1" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA06T0:Ethernet1" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T0:Ethernet1" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA08T0:Ethernet1" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T0:Ethernet1" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp26", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA10T0:Ethernet1" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp27", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T0:Ethernet1" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp28", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA12T0:Ethernet1" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T0:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA14T0:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_3" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-single-pool-t0-version_2_0_3.json b/tests/db_migrator_input/config_db/mellanox-sn2700-single-pool-t0-version_2_0_3.json new file mode 100644 index 0000000000..b0df84604e --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-single-pool-t0-version_2_0_3.json @@ -0,0 +1,1056 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "pg_lossless_10000_5m_profile" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "pg_lossless_25000_5m_profile" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "pg_lossless_40000_5m_profile" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "10177536" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "688128", + "type": "ingress", + "mode": "dynamic", + "size": "10177536" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "23552", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "q_lossy_profile" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet76": "5m", + "Ethernet72": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet28": "5m", + "Ethernet88": "5m", + "Ethernet24": "5m", + "Ethernet116": "40m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet84": "5m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet64": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet68": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700", + "default_bgp_status": "up", + "docker_routing_config_mode": "unified", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "traditional", + "deployment_id": "1", + "type": "ToRRouter" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "10000", + "description": "etp1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "Servers0:eth0" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "Servers1:eth0" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "Servers2:eth0" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "Servers3:eth0" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "Servers4:eth0" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "Servers5:eth0" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "Servers6:eth0" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "Servers7:eth0" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "Servers8:eth0" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "Servers9:eth0" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "Servers10:eth0" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "Servers11:eth0" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "Servers12:eth0" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "Servers13:eth0" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "Servers14:eth0" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "100000", + "description": "Servers15:eth0" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "100000", + "description": "Servers16:eth0" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "100000", + "description": "Servers17:eth0" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "100000", + "description": "Servers18:eth0" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "Servers19:eth0" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "Servers20:eth0" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "Servers21:eth0" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "Servers22:eth0" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "Servers23:eth0" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "description": "etp26" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "description": "etp27" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "description": "etp28" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA01T1:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA02T1:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_3" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-single-pool-t1-version_2_0_3.json b/tests/db_migrator_input/config_db/mellanox-sn2700-single-pool-t1-version_2_0_3.json new file mode 100644 index 0000000000..b30d6bf297 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-single-pool-t1-version_2_0_3.json @@ -0,0 +1,1153 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "pg_lossless_10000_300m_profile" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "pg_lossless_25000_300m_profile" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "pg_lossless_40000_300m_profile" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "pg_lossless_10000_40m_profile" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "pg_lossless_25000_40m_profile" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "pg_lossless_40000_40m_profile" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "8719360" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "2146304", + "type": "ingress", + "mode": "dynamic", + "size": "8719360" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "27648", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "24576", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "36864", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "45056", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "50176", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "78848", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "q_lossy_profile" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet68": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet76": "40m", + "Ethernet72": "40m", + "Ethernet64": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet88": "40m", + "Ethernet116": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet84": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet28": "300m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet24": "300m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700", + "default_bgp_status": "up", + "type": "LeafRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "traditional", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T2:Ethernet1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA01T2:Ethernet2" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T2:Ethernet1" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA03T2:Ethernet2" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet1" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet2" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet1" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet2" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet1" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet2" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet1" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet2" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet1" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet2" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet1" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet2" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T0:Ethernet1" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA02T0:Ethernet1" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T0:Ethernet1" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA04T0:Ethernet1" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T0:Ethernet1" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA06T0:Ethernet1" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T0:Ethernet1" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA08T0:Ethernet1" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T0:Ethernet1" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp26", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA10T0:Ethernet1" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp27", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T0:Ethernet1" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp28", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA12T0:Ethernet1" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T0:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA14T0:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_3" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-t0-version_2_0_3.json b/tests/db_migrator_input/config_db/mellanox-sn2700-t0-version_2_0_3.json new file mode 100644 index 0000000000..31b03a51c8 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-t0-version_2_0_3.json @@ -0,0 +1,1061 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "pg_lossless_10000_5m_profile" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "pg_lossless_25000_5m_profile" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "pg_lossless_40000_5m_profile" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "5088768" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "688128", + "type": "ingress", + "mode": "dynamic", + "size": "5088768" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "5088768" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossy_pool", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "23552", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "q_lossy_profile" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "5m", + "Ethernet0": "5m", + "Ethernet4": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet68": "5m", + "Ethernet96": "5m", + "Ethernet124": "40m", + "Ethernet92": "5m", + "Ethernet120": "40m", + "Ethernet52": "5m", + "Ethernet56": "5m", + "Ethernet76": "5m", + "Ethernet72": "5m", + "Ethernet64": "5m", + "Ethernet32": "5m", + "Ethernet16": "5m", + "Ethernet36": "5m", + "Ethernet12": "5m", + "Ethernet88": "5m", + "Ethernet116": "40m", + "Ethernet80": "5m", + "Ethernet112": "40m", + "Ethernet84": "5m", + "Ethernet48": "5m", + "Ethernet44": "5m", + "Ethernet40": "5m", + "Ethernet28": "5m", + "Ethernet60": "5m", + "Ethernet20": "5m", + "Ethernet24": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700", + "default_bgp_status": "up", + "type": "ToRRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "traditional", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "mtu": "9100", + "alias": "etp1", + "pfc_asym": "off", + "speed": "100000", + "description": "etp1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "10000", + "description": "Servers0:eth0" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "25000", + "description": "Servers1:eth0" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "40000", + "description": "Servers2:eth0" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "50000", + "description": "Servers3:eth0" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "Servers4:eth0" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "Servers5:eth0" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "Servers6:eth0" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "Servers7:eth0" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "Servers8:eth0" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "Servers9:eth0" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "Servers10:eth0" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "Servers11:eth0" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "Servers12:eth0" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "Servers13:eth0" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "Servers14:eth0" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "100000", + "description": "Servers15:eth0" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "100000", + "description": "Servers16:eth0" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "100000", + "description": "Servers17:eth0" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "100000", + "description": "Servers18:eth0" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "Servers19:eth0" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "Servers20:eth0" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "Servers21:eth0" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "Servers22:eth0" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "Servers23:eth0" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "description": "etp26" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "mtu": "9100", + "alias": "etp27", + "pfc_asym": "off", + "speed": "100000", + "description": "etp27" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "100000", + "description": "etp28" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA01T1:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA02T1:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA03T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA04T1:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_3" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn2700-t1-version_2_0_3.json b/tests/db_migrator_input/config_db/mellanox-sn2700-t1-version_2_0_3.json new file mode 100644 index 0000000000..8a241ad760 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn2700-t1-version_2_0_3.json @@ -0,0 +1,1158 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "pg_lossless_10000_300m_profile" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "pg_lossless_25000_300m_profile" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "pg_lossless_40000_300m_profile" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "pg_lossless_10000_40m_profile" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "pg_lossless_25000_40m_profile" + }, + "BUFFER_PG|Ethernet72|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "pg_lossless_40000_40m_profile" + }, + "BUFFER_PG|Ethernet76|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG|Ethernet80|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet84|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet88|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet92|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet96|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet100|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet104|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet108|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet112|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet116|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet120|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG|Ethernet124|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "13945824" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "4439552" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "2146304", + "type": "ingress", + "mode": "dynamic", + "size": "4439552" + }, + "BUFFER_POOL|ingress_lossy_pool": { + "type": "ingress", + "mode": "dynamic", + "size": "4439552" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossy_pool", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "22528", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "27648", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "24576", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "36864", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "45056", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "25600", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "50176", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "29696", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "xon": "19456", + "dynamic_th": "0", + "xoff": "78848", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet72|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet72|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet72|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet76|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet76|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet76|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet80|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet80|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet80|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet84|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet84|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet84|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet88|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet88|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet88|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet92|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet92|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet92|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet96|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet96|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet96|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet100|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet100|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet100|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet104|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet104|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet104|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet108|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet108|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet108|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet112|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet112|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet112|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet116|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet116|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet116|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet120|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet120|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet120|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet124|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet124|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet124|5-6": { + "profile": "q_lossy_profile" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet8": "300m", + "Ethernet0": "300m", + "Ethernet4": "300m", + "Ethernet108": "40m", + "Ethernet100": "40m", + "Ethernet104": "40m", + "Ethernet68": "40m", + "Ethernet96": "40m", + "Ethernet124": "40m", + "Ethernet92": "40m", + "Ethernet120": "40m", + "Ethernet52": "300m", + "Ethernet56": "300m", + "Ethernet76": "40m", + "Ethernet72": "40m", + "Ethernet64": "40m", + "Ethernet32": "300m", + "Ethernet16": "300m", + "Ethernet36": "300m", + "Ethernet12": "300m", + "Ethernet88": "40m", + "Ethernet116": "40m", + "Ethernet80": "40m", + "Ethernet112": "40m", + "Ethernet84": "40m", + "Ethernet48": "300m", + "Ethernet44": "300m", + "Ethernet40": "300m", + "Ethernet28": "300m", + "Ethernet60": "300m", + "Ethernet20": "300m", + "Ethernet24": "300m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN2700", + "default_bgp_status": "up", + "type": "LeafRouter", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn2700-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "traditional", + "deployment_id": "1", + "docker_routing_config_mode": "unified" + }, + "PORT|Ethernet0": { + "lanes": "0,1,2,3", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp1", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T2:Ethernet1" + }, + "PORT|Ethernet4": { + "lanes": "4,5,6,7", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp2", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA01T2:Ethernet2" + }, + "PORT|Ethernet8": { + "lanes": "8,9,10,11", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp3", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T2:Ethernet1" + }, + "PORT|Ethernet12": { + "lanes": "12,13,14,15", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp4", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA03T2:Ethernet2" + }, + "PORT|Ethernet16": { + "lanes": "16,17,18,19", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp5", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet1" + }, + "PORT|Ethernet20": { + "lanes": "20,21,22,23", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp6", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T2:Ethernet2" + }, + "PORT|Ethernet24": { + "lanes": "24,25,26,27", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp7", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet1" + }, + "PORT|Ethernet28": { + "lanes": "28,29,30,31", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp8", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T2:Ethernet2" + }, + "PORT|Ethernet32": { + "lanes": "32,33,34,35", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp9", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet1" + }, + "PORT|Ethernet36": { + "lanes": "36,37,38,39", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp10", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T2:Ethernet2" + }, + "PORT|Ethernet40": { + "lanes": "40,41,42,43", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp11", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet1" + }, + "PORT|Ethernet44": { + "lanes": "44,45,46,47", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp12", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T2:Ethernet2" + }, + "PORT|Ethernet48": { + "lanes": "48,49,50,51", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp13", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet1" + }, + "PORT|Ethernet52": { + "lanes": "52,53,54,55", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp14", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T2:Ethernet2" + }, + "PORT|Ethernet56": { + "lanes": "56,57,58,59", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp15", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet1" + }, + "PORT|Ethernet60": { + "lanes": "60,61,62,63", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp16", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA15T2:Ethernet2" + }, + "PORT|Ethernet64": { + "lanes": "64,65,66,67", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp17", + "admin_status": "up", + "speed": "10000", + "description": "ARISTA01T0:Ethernet1" + }, + "PORT|Ethernet68": { + "lanes": "68,69,70,71", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp18", + "admin_status": "up", + "speed": "25000", + "description": "ARISTA02T0:Ethernet1" + }, + "PORT|Ethernet72": { + "lanes": "72,73,74,75", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp19", + "admin_status": "up", + "speed": "40000", + "description": "ARISTA03T0:Ethernet1" + }, + "PORT|Ethernet76": { + "lanes": "76,77,78,79", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp20", + "admin_status": "up", + "speed": "50000", + "description": "ARISTA04T0:Ethernet1" + }, + "PORT|Ethernet80": { + "lanes": "80,81,82,83", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp21", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA05T0:Ethernet1" + }, + "PORT|Ethernet84": { + "lanes": "84,85,86,87", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp22", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA06T0:Ethernet1" + }, + "PORT|Ethernet88": { + "lanes": "88,89,90,91", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp23", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA07T0:Ethernet1" + }, + "PORT|Ethernet92": { + "lanes": "92,93,94,95", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp24", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA08T0:Ethernet1" + }, + "PORT|Ethernet96": { + "lanes": "96,97,98,99", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp25", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA09T0:Ethernet1" + }, + "PORT|Ethernet100": { + "lanes": "100,101,102,103", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp26", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA10T0:Ethernet1" + }, + "PORT|Ethernet104": { + "lanes": "104,105,106,107", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp27", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA11T0:Ethernet1" + }, + "PORT|Ethernet108": { + "lanes": "108,109,110,111", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp28", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA12T0:Ethernet1" + }, + "PORT|Ethernet112": { + "lanes": "112,113,114,115", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp29", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA13T0:Ethernet1" + }, + "PORT|Ethernet116": { + "lanes": "116,117,118,119", + "fec": "rs", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp30", + "admin_status": "up", + "speed": "100000", + "description": "ARISTA14T0:Ethernet1" + }, + "PORT|Ethernet120": { + "lanes": "120,121,122,123", + "description": "ARISTA15T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp31", + "admin_status": "up", + "speed": "50000" + }, + "PORT|Ethernet124": { + "lanes": "124,125,126,127", + "description": "ARISTA16T0:Ethernet1", + "pfc_asym": "off", + "mtu": "9100", + "alias": "etp32", + "admin_status": "up", + "speed": "50000" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_3" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn3800-c64-t0-version_2_0_3.json b/tests/db_migrator_input/config_db/mellanox-sn3800-c64-t0-version_2_0_3.json new file mode 100644 index 0000000000..e1a288fa0c --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn3800-c64-t0-version_2_0_3.json @@ -0,0 +1,1701 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "pg_lossless_10000_5m_profile" + }, + "BUFFER_PG|Ethernet2|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet2|3-4": { + "profile": "pg_lossless_25000_5m_profile" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet6|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet6|3-4": { + "profile": "pg_lossless_40000_5m_profile" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet10|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet18|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet22|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet26|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet34|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet38|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet42|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet50|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet54|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet70|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "25866240" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "2523136", + "type": "ingress", + "mode": "dynamic", + "size": "25866240" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "25600", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "28672", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "30720", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "32768", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "40960", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet2|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet2|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet2|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet6|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet6|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet6|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet10|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet10|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet10|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet18|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet18|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet18|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet22|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet22|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet22|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet26|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet26|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet26|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet34|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet34|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet34|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet38|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet38|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet38|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet42|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet42|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet42|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet50|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet50|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet50|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet54|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet54|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet54|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet70|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet70|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet70|5-6": { + "profile": "q_lossy_profile" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet54": "5m", + "Ethernet248": "5m", + "Ethernet246": "5m", + "Ethernet244": "5m", + "Ethernet240": "5m", + "Ethernet124": "5m", + "Ethernet122": "5m", + "Ethernet120": "5m", + "Ethernet128": "5m", + "Ethernet76": "5m", + "Ethernet74": "5m", + "Ethernet72": "5m", + "Ethernet70": "40m", + "Ethernet136": "5m", + "Ethernet132": "5m", + "Ethernet232": "5m", + "Ethernet230": "5m", + "Ethernet138": "5m", + "Ethernet236": "5m", + "Ethernet64": "40m", + "Ethernet66": "40m", + "Ethernet60": "5m", + "Ethernet68": "40m", + "Ethernet180": "5m", + "Ethernet182": "5m", + "Ethernet184": "5m", + "Ethernet186": "5m", + "Ethernet188": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet106": "5m", + "Ethernet58": "5m", + "Ethernet50": "5m", + "Ethernet52": "5m", + "Ethernet224": "5m", + "Ethernet56": "5m", + "Ethernet196": "5m", + "Ethernet192": "5m", + "Ethernet198": "5m", + "Ethernet116": "5m", + "Ethernet112": "5m", + "Ethernet48": "5m", + "Ethernet214": "5m", + "Ethernet216": "5m", + "Ethernet42": "5m", + "Ethernet40": "5m", + "Ethernet8": "5m", + "Ethernet2": "5m", + "Ethernet0": "5m", + "Ethernet6": "5m", + "Ethernet4": "5m", + "Ethernet200": "5m", + "Ethernet168": "5m", + "Ethernet204": "5m", + "Ethernet162": "5m", + "Ethernet208": "5m", + "Ethernet160": "5m", + "Ethernet166": "5m", + "Ethernet164": "5m", + "Ethernet38": "5m", + "Ethernet32": "5m", + "Ethernet36": "5m", + "Ethernet34": "5m", + "Ethernet178": "5m", + "Ethernet170": "5m", + "Ethernet172": "5m", + "Ethernet176": "5m", + "Ethernet28": "5m", + "Ethernet20": "5m", + "Ethernet22": "5m", + "Ethernet24": "5m", + "Ethernet26": "5m", + "Ethernet44": "5m", + "Ethernet212": "5m", + "Ethernet96": "5m", + "Ethernet90": "5m", + "Ethernet148": "5m", + "Ethernet92": "5m", + "Ethernet144": "5m", + "Ethernet140": "5m", + "Ethernet18": "5m", + "Ethernet16": "5m", + "Ethernet10": "5m", + "Ethernet12": "5m", + "Ethernet228": "5m", + "Ethernet88": "5m", + "Ethernet82": "5m", + "Ethernet80": "5m", + "Ethernet86": "5m", + "Ethernet84": "5m", + "Ethernet152": "5m", + "Ethernet156": "5m", + "Ethernet154": "5m", + "Ethernet220": "5m", + "Ethernet252": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN3800-C64", + "default_bgp_status": "up", + "docker_routing_config_mode": "separated", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3800-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "traditional", + "cloudtype": "None", + "type": "ToRRouter", + "deployment_id": "1" + }, + "PORT|Ethernet0": { + "index": "0", + "lanes": "0,1", + "description": "etp1a", + "mtu": "9100", + "alias": "etp1a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "1", + "lanes": "4,5", + "description": "Servers1:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "Servers2:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2b", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9", + "description": "Servers3:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "Servers4:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "3", + "lanes": "12,13,14,15", + "description": "Servers5:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet16": { + "index": "4", + "lanes": "16,17", + "description": "Servers6:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "Servers7:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "5", + "lanes": "20,21", + "description": "Servers8:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "Servers9:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "6", + "lanes": "24,25", + "description": "Servers10:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "Servers11:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "7", + "lanes": "28,29,30,31", + "description": "Servers12:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet32": { + "index": "8", + "lanes": "32,33", + "description": "Servers13:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "Servers14:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "9", + "lanes": "36,37", + "description": "Servers15:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "Servers16:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "10", + "lanes": "40,41", + "description": "Servers17:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "Servers18:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "11", + "lanes": "44,45,46,47", + "description": "Servers19:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet48": { + "index": "12", + "lanes": "48,49", + "description": "Servers20:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "Servers21:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "13", + "lanes": "52,53", + "description": "Servers22:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "Servers23:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "14", + "lanes": "56,57", + "description": "etp15a", + "mtu": "9100", + "alias": "etp15a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "etp15b", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "15", + "lanes": "60,61,62,63", + "description": "etp16", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet64": { + "index": "16", + "lanes": "64,65", + "description": "ARISTA01T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet66": { + "index": "16", + "lanes": "66,67", + "description": "ARISTA02T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA03T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA04T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "18", + "lanes": "72,73", + "description": "etp19a", + "mtu": "9100", + "alias": "etp19a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "20", + "lanes": "80,81", + "description": "etp21a", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "20", + "lanes": "82,83", + "description": "etp21b", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "22", + "lanes": "88,89", + "description": "etp23a", + "mtu": "9100", + "alias": "etp23a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "23", + "lanes": "92,93,94,95", + "description": "etp24", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet96": { + "index": "24", + "lanes": "96,97,98,99", + "description": "etp25", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "25", + "lanes": "100,101,102,103", + "description": "etp26", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "26", + "lanes": "104,105", + "description": "etp27a", + "mtu": "9100", + "alias": "etp27a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "27", + "lanes": "108,109,110,111", + "description": "etp28", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet112": { + "index": "28", + "lanes": "112,113,114,115", + "description": "etp29", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "29", + "lanes": "116,117,118,119", + "description": "etp30", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "30", + "lanes": "120,121", + "description": "etp31a", + "mtu": "9100", + "alias": "etp31a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "31", + "lanes": "124,125,126,127", + "description": "etp32", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "32", + "lanes": "128,129,130,131", + "description": "etp33", + "mtu": "9100", + "alias": "etp33", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "34", + "lanes": "136,137", + "description": "etp35a", + "mtu": "9100", + "alias": "etp35a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "36", + "lanes": "144,145,146,147", + "description": "etp37", + "mtu": "9100", + "alias": "etp37", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "38", + "lanes": "152,153", + "description": "etp39a", + "mtu": "9100", + "alias": "etp39a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "40", + "lanes": "160,161", + "description": "etp41a", + "mtu": "9100", + "alias": "etp41a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "42", + "lanes": "168,169", + "description": "etp43a", + "mtu": "9100", + "alias": "etp43a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "44", + "lanes": "176,177", + "description": "etp45a", + "mtu": "9100", + "alias": "etp45a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "46", + "lanes": "184,185", + "description": "etp47a", + "mtu": "9100", + "alias": "etp47a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "48", + "lanes": "192,193", + "description": "etp49a", + "mtu": "9100", + "alias": "etp49a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "50", + "lanes": "200,201", + "description": "etp51a", + "mtu": "9100", + "alias": "etp51a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "52", + "lanes": "208,209", + "description": "etp53a", + "mtu": "9100", + "alias": "etp53a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "54", + "lanes": "216,217", + "description": "etp55a", + "mtu": "9100", + "alias": "etp55a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "56", + "lanes": "224,225", + "description": "etp57a", + "mtu": "9100", + "alias": "etp57a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "58", + "lanes": "232,233", + "description": "etp59a", + "mtu": "9100", + "alias": "etp59a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "60", + "lanes": "240,241", + "description": "etp61a", + "mtu": "9100", + "alias": "etp61a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "62", + "lanes": "248,249", + "description": "etp63a", + "mtu": "9100", + "alias": "etp63a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_3" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn3800-c64-t1-version_2_0_3.json b/tests/db_migrator_input/config_db/mellanox-sn3800-c64-t1-version_2_0_3.json new file mode 100644 index 0000000000..a56a6a3df9 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn3800-c64-t1-version_2_0_3.json @@ -0,0 +1,1827 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "pg_lossless_10000_300m_profile" + }, + "BUFFER_PG|Ethernet2|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet2|3-4": { + "profile": "pg_lossless_25000_300m_profile" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG|Ethernet6|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet6|3-4": { + "profile": "pg_lossless_40000_300m_profile" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet10|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet18|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet22|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet26|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet34|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "pg_lossless_10000_40m_profile" + }, + "BUFFER_PG|Ethernet38|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet38|3-4": { + "profile": "pg_lossless_25000_40m_profile" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "pg_lossless_40000_40m_profile" + }, + "BUFFER_PG|Ethernet42|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet42|3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet50|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet54|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet58|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet70|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "24219648" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "4169728", + "type": "ingress", + "mode": "dynamic", + "size": "24219648" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "26624", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "31744", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "30720", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "44032", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "33792", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "55296", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "36864", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "63488", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "48128", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "102400", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet2|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet2|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet2|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet6|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet6|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet6|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet10|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet10|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet10|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet18|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet18|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet18|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet22|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet22|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet22|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet26|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet26|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet26|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet34|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet34|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet34|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet38|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet38|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet38|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet42|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet42|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet42|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet50|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet50|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet50|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet54|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet54|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet54|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet58|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet58|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet58|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet70|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet70|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet70|5-6": { + "profile": "q_lossy_profile" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet54": "40m", + "Ethernet248": "5m", + "Ethernet246": "5m", + "Ethernet244": "5m", + "Ethernet240": "5m", + "Ethernet124": "5m", + "Ethernet122": "5m", + "Ethernet120": "5m", + "Ethernet128": "5m", + "Ethernet76": "5m", + "Ethernet74": "5m", + "Ethernet72": "5m", + "Ethernet70": "40m", + "Ethernet136": "5m", + "Ethernet132": "5m", + "Ethernet232": "5m", + "Ethernet230": "5m", + "Ethernet138": "5m", + "Ethernet236": "5m", + "Ethernet64": "40m", + "Ethernet66": "40m", + "Ethernet60": "40m", + "Ethernet68": "40m", + "Ethernet180": "5m", + "Ethernet182": "5m", + "Ethernet184": "5m", + "Ethernet186": "5m", + "Ethernet188": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet106": "5m", + "Ethernet58": "40m", + "Ethernet50": "40m", + "Ethernet52": "40m", + "Ethernet224": "5m", + "Ethernet56": "40m", + "Ethernet196": "5m", + "Ethernet192": "5m", + "Ethernet198": "5m", + "Ethernet116": "5m", + "Ethernet112": "5m", + "Ethernet48": "40m", + "Ethernet214": "5m", + "Ethernet216": "5m", + "Ethernet42": "40m", + "Ethernet40": "40m", + "Ethernet8": "300m", + "Ethernet2": "300m", + "Ethernet0": "300m", + "Ethernet6": "300m", + "Ethernet4": "300m", + "Ethernet200": "5m", + "Ethernet168": "5m", + "Ethernet204": "5m", + "Ethernet162": "5m", + "Ethernet208": "5m", + "Ethernet160": "5m", + "Ethernet166": "5m", + "Ethernet164": "5m", + "Ethernet38": "40m", + "Ethernet32": "300m", + "Ethernet36": "40m", + "Ethernet34": "300m", + "Ethernet178": "5m", + "Ethernet170": "5m", + "Ethernet172": "5m", + "Ethernet176": "5m", + "Ethernet28": "300m", + "Ethernet20": "300m", + "Ethernet22": "300m", + "Ethernet24": "300m", + "Ethernet26": "300m", + "Ethernet44": "40m", + "Ethernet212": "5m", + "Ethernet96": "5m", + "Ethernet90": "5m", + "Ethernet148": "5m", + "Ethernet92": "5m", + "Ethernet144": "5m", + "Ethernet140": "5m", + "Ethernet18": "300m", + "Ethernet16": "300m", + "Ethernet10": "300m", + "Ethernet12": "300m", + "Ethernet228": "5m", + "Ethernet88": "5m", + "Ethernet82": "5m", + "Ethernet80": "5m", + "Ethernet86": "5m", + "Ethernet84": "5m", + "Ethernet152": "5m", + "Ethernet156": "5m", + "Ethernet154": "5m", + "Ethernet220": "5m", + "Ethernet252": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN3800-C64", + "default_bgp_status": "up", + "docker_routing_config_mode": "separated", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3800-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "traditional", + "cloudtype": "None", + "type": "LeafRouter", + "deployment_id": "1" + }, + "PORT|Ethernet0": { + "index": "0", + "lanes": "0,1", + "description": "ARISTA01T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "ARISTA01T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "1", + "lanes": "4,5", + "description": "ARISTA03T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "ARISTA03T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2b", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9", + "description": "ARISTA05T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "ARISTA05T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "3", + "lanes": "12,13,14,15", + "description": "ARISTA07T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet16": { + "index": "4", + "lanes": "16,17", + "description": "ARISTA07T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "ARISTA09T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "5", + "lanes": "20,21", + "description": "ARISTA09T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "ARISTA11T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "6", + "lanes": "24,25", + "description": "ARISTA11T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "ARISTA13T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "7", + "lanes": "28,29,30,31", + "description": "ARISTA13T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet32": { + "index": "8", + "lanes": "32,33", + "description": "ARISTA15T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "ARISTA15T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "9", + "lanes": "36,37", + "description": "ARISTA01T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "ARISTA02T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "10", + "lanes": "40,41", + "description": "ARISTA03T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11a", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "ARISTA04T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "11", + "lanes": "44,45,46,47", + "description": "ARISTA05T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet48": { + "index": "12", + "lanes": "48,49", + "description": "ARISTA06T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "ARISTA07T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "13", + "lanes": "52,53", + "description": "ARISTA08T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "ARISTA09T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "14", + "lanes": "56,57", + "description": "ARISTA10T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "15", + "lanes": "60,61,62,63", + "description": "ARISTA12T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet64": { + "index": "16", + "lanes": "64,65", + "description": "ARISTA13T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet66": { + "index": "16", + "lanes": "66,67", + "description": "ARISTA14T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA16T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "18", + "lanes": "72,73", + "description": "etp19a", + "mtu": "9100", + "alias": "etp19a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "20", + "lanes": "80,81", + "description": "etp21a", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "20", + "lanes": "82,83", + "description": "etp21b", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "22", + "lanes": "88,89", + "description": "etp23a", + "mtu": "9100", + "alias": "etp23a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "23", + "lanes": "92,93,94,95", + "description": "etp24", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet96": { + "index": "24", + "lanes": "96,97,98,99", + "description": "etp25", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "25", + "lanes": "100,101,102,103", + "description": "etp26", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "26", + "lanes": "104,105", + "description": "etp27a", + "mtu": "9100", + "alias": "etp27a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "27", + "lanes": "108,109,110,111", + "description": "etp28", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet112": { + "index": "28", + "lanes": "112,113,114,115", + "description": "etp29", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "29", + "lanes": "116,117,118,119", + "description": "etp30", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "30", + "lanes": "120,121", + "description": "etp31a", + "mtu": "9100", + "alias": "etp31a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "31", + "lanes": "124,125,126,127", + "description": "etp32", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "32", + "lanes": "128,129,130,131", + "description": "etp33", + "mtu": "9100", + "alias": "etp33", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "34", + "lanes": "136,137", + "description": "etp35a", + "mtu": "9100", + "alias": "etp35a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "36", + "lanes": "144,145,146,147", + "description": "etp37", + "mtu": "9100", + "alias": "etp37", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "38", + "lanes": "152,153", + "description": "etp39a", + "mtu": "9100", + "alias": "etp39a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "40", + "lanes": "160,161", + "description": "etp41a", + "mtu": "9100", + "alias": "etp41a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "42", + "lanes": "168,169", + "description": "etp43a", + "mtu": "9100", + "alias": "etp43a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "44", + "lanes": "176,177", + "description": "etp45a", + "mtu": "9100", + "alias": "etp45a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "46", + "lanes": "184,185", + "description": "etp47a", + "mtu": "9100", + "alias": "etp47a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "48", + "lanes": "192,193", + "description": "etp49a", + "mtu": "9100", + "alias": "etp49a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "50", + "lanes": "200,201", + "description": "etp51a", + "mtu": "9100", + "alias": "etp51a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "52", + "lanes": "208,209", + "description": "etp53a", + "mtu": "9100", + "alias": "etp53a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "54", + "lanes": "216,217", + "description": "etp55a", + "mtu": "9100", + "alias": "etp55a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "56", + "lanes": "224,225", + "description": "etp57a", + "mtu": "9100", + "alias": "etp57a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "58", + "lanes": "232,233", + "description": "etp59a", + "mtu": "9100", + "alias": "etp59a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "60", + "lanes": "240,241", + "description": "etp61a", + "mtu": "9100", + "alias": "etp61a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "62", + "lanes": "248,249", + "description": "etp63a", + "mtu": "9100", + "alias": "etp63a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_3" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn3800-d112c8-t0-version_2_0_3.json b/tests/db_migrator_input/config_db/mellanox-sn3800-d112c8-t0-version_2_0_3.json new file mode 100644 index 0000000000..59848c7ab6 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn3800-d112c8-t0-version_2_0_3.json @@ -0,0 +1,1981 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "pg_lossless_10000_5m_profile" + }, + "BUFFER_PG|Ethernet2|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet2|3-4": { + "profile": "pg_lossless_25000_5m_profile" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet6|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet6|3-4": { + "profile": "pg_lossless_40000_5m_profile" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet10|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet10|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet18|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet18|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet22|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet22|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet26|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet26|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet34|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet34|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet38|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet38|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet42|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet42|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet50|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet50|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet54|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet54|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet58|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet66|3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG|Ethernet70|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet70|3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet74|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet82|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet86|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet90|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet106|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet122|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet128|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet132|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet136|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet138|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet140|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet144|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet148|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet152|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet154|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet156|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet160|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet162|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet164|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet166|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet168|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet170|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet172|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet176|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet178|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet180|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet182|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet184|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet186|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet188|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet192|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet196|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet198|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet200|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet204|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet208|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet212|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet214|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet216|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet220|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet224|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet228|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet230|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet232|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet236|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet240|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet244|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet246|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet248|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet252|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "20017152" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "3440640", + "type": "ingress", + "mode": "dynamic", + "size": "20017152" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "25600", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "28672", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "30720", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "32768", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "36864", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "40960", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet2|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet2|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet2|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet6|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet6|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet6|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet10|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet10|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet10|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet18|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet18|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet18|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet22|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet22|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet22|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet26|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet26|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet26|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet34|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet34|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet34|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet38|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet38|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet38|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet42|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet42|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet42|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet50|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet50|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet50|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet54|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet54|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet54|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet70|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet70|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet70|5-6": { + "profile": "q_lossy_profile" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet54": "5m", + "Ethernet248": "5m", + "Ethernet246": "5m", + "Ethernet244": "5m", + "Ethernet240": "5m", + "Ethernet124": "5m", + "Ethernet122": "5m", + "Ethernet120": "5m", + "Ethernet128": "5m", + "Ethernet76": "5m", + "Ethernet74": "5m", + "Ethernet72": "5m", + "Ethernet70": "40m", + "Ethernet136": "5m", + "Ethernet132": "5m", + "Ethernet232": "5m", + "Ethernet230": "5m", + "Ethernet138": "5m", + "Ethernet236": "5m", + "Ethernet64": "40m", + "Ethernet66": "40m", + "Ethernet60": "5m", + "Ethernet68": "40m", + "Ethernet180": "5m", + "Ethernet182": "5m", + "Ethernet184": "5m", + "Ethernet186": "5m", + "Ethernet188": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet106": "5m", + "Ethernet58": "5m", + "Ethernet50": "5m", + "Ethernet52": "5m", + "Ethernet224": "5m", + "Ethernet56": "5m", + "Ethernet196": "5m", + "Ethernet192": "5m", + "Ethernet198": "5m", + "Ethernet116": "5m", + "Ethernet112": "5m", + "Ethernet48": "5m", + "Ethernet214": "5m", + "Ethernet216": "5m", + "Ethernet42": "5m", + "Ethernet40": "5m", + "Ethernet8": "5m", + "Ethernet2": "5m", + "Ethernet0": "5m", + "Ethernet6": "5m", + "Ethernet4": "5m", + "Ethernet200": "5m", + "Ethernet168": "5m", + "Ethernet204": "5m", + "Ethernet162": "5m", + "Ethernet208": "5m", + "Ethernet160": "5m", + "Ethernet166": "5m", + "Ethernet164": "5m", + "Ethernet38": "5m", + "Ethernet32": "5m", + "Ethernet36": "5m", + "Ethernet34": "5m", + "Ethernet178": "5m", + "Ethernet170": "5m", + "Ethernet172": "5m", + "Ethernet176": "5m", + "Ethernet28": "5m", + "Ethernet20": "5m", + "Ethernet22": "5m", + "Ethernet24": "5m", + "Ethernet26": "5m", + "Ethernet44": "5m", + "Ethernet212": "5m", + "Ethernet96": "5m", + "Ethernet90": "5m", + "Ethernet148": "5m", + "Ethernet92": "5m", + "Ethernet144": "5m", + "Ethernet140": "5m", + "Ethernet18": "5m", + "Ethernet16": "5m", + "Ethernet10": "5m", + "Ethernet12": "5m", + "Ethernet228": "5m", + "Ethernet88": "5m", + "Ethernet82": "5m", + "Ethernet80": "5m", + "Ethernet86": "5m", + "Ethernet84": "5m", + "Ethernet152": "5m", + "Ethernet156": "5m", + "Ethernet154": "5m", + "Ethernet220": "5m", + "Ethernet252": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN3800-D112C8", + "default_bgp_status": "up", + "docker_routing_config_mode": "separated", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3800-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "traditional", + "cloudtype": "None", + "type": "ToRRouter", + "deployment_id": "1" + }, + "PORT|Ethernet0": { + "index": "0", + "lanes": "0,1", + "description": "etp1a", + "mtu": "9100", + "alias": "etp1a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "1", + "lanes": "4,5", + "description": "Servers1:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "Servers2:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2b", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9", + "description": "Servers3:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "Servers4:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "3", + "lanes": "12,13,14,15", + "description": "Servers5:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet16": { + "index": "4", + "lanes": "16,17", + "description": "Servers6:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "Servers7:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "5", + "lanes": "20,21", + "description": "Servers8:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "Servers9:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "6", + "lanes": "24,25", + "description": "Servers10:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "Servers11:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "7", + "lanes": "28,29,30,31", + "description": "Servers12:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet32": { + "index": "8", + "lanes": "32,33", + "description": "Servers13:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "Servers14:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "9", + "lanes": "36,37", + "description": "Servers15:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "Servers16:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "10", + "lanes": "40,41", + "description": "Servers17:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "Servers18:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "11", + "lanes": "44,45,46,47", + "description": "Servers19:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet48": { + "index": "12", + "lanes": "48,49", + "description": "Servers20:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "Servers21:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "13", + "lanes": "52,53", + "description": "Servers22:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "Servers23:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "14", + "lanes": "56,57", + "description": "etp15a", + "mtu": "9100", + "alias": "etp15a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "etp15b", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "15", + "lanes": "60,61,62,63", + "description": "etp16", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet64": { + "index": "16", + "lanes": "64,65", + "description": "ARISTA01T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet66": { + "index": "16", + "lanes": "66,67", + "description": "ARISTA02T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA03T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA04T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "18", + "lanes": "72,73", + "description": "etp19a", + "mtu": "9100", + "alias": "etp19a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "20", + "lanes": "80,81", + "description": "etp21a", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "20", + "lanes": "82,83", + "description": "etp21b", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "22", + "lanes": "88,89", + "description": "etp23a", + "mtu": "9100", + "alias": "etp23a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "23", + "lanes": "92,93,94,95", + "description": "etp24", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet96": { + "index": "24", + "lanes": "96,97,98,99", + "description": "etp25", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "25", + "lanes": "100,101,102,103", + "description": "etp26", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "26", + "lanes": "104,105", + "description": "etp27a", + "mtu": "9100", + "alias": "etp27a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "27", + "lanes": "108,109,110,111", + "description": "etp28", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet112": { + "index": "28", + "lanes": "112,113,114,115", + "description": "etp29", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "29", + "lanes": "116,117,118,119", + "description": "etp30", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "30", + "lanes": "120,121", + "description": "etp31a", + "mtu": "9100", + "alias": "etp31a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "31", + "lanes": "124,125,126,127", + "description": "etp32", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "32", + "lanes": "128,129,130,131", + "description": "etp33", + "mtu": "9100", + "alias": "etp33", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "34", + "lanes": "136,137", + "description": "etp35a", + "mtu": "9100", + "alias": "etp35a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "36", + "lanes": "144,145,146,147", + "description": "etp37", + "mtu": "9100", + "alias": "etp37", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "38", + "lanes": "152,153", + "description": "etp39a", + "mtu": "9100", + "alias": "etp39a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "40", + "lanes": "160,161", + "description": "etp41a", + "mtu": "9100", + "alias": "etp41a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "42", + "lanes": "168,169", + "description": "etp43a", + "mtu": "9100", + "alias": "etp43a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "44", + "lanes": "176,177", + "description": "etp45a", + "mtu": "9100", + "alias": "etp45a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "46", + "lanes": "184,185", + "description": "etp47a", + "mtu": "9100", + "alias": "etp47a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "48", + "lanes": "192,193", + "description": "etp49a", + "mtu": "9100", + "alias": "etp49a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "50", + "lanes": "200,201", + "description": "etp51a", + "mtu": "9100", + "alias": "etp51a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "52", + "lanes": "208,209", + "description": "etp53a", + "mtu": "9100", + "alias": "etp53a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "54", + "lanes": "216,217", + "description": "etp55a", + "mtu": "9100", + "alias": "etp55a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "56", + "lanes": "224,225", + "description": "etp57a", + "mtu": "9100", + "alias": "etp57a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "58", + "lanes": "232,233", + "description": "etp59a", + "mtu": "9100", + "alias": "etp59a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "60", + "lanes": "240,241", + "description": "etp61a", + "mtu": "9100", + "alias": "etp61a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "62", + "lanes": "248,249", + "description": "etp63a", + "mtu": "9100", + "alias": "etp63a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_3" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn3800-d112c8-t1-version_2_0_3.json b/tests/db_migrator_input/config_db/mellanox-sn3800-d112c8-t1-version_2_0_3.json new file mode 100644 index 0000000000..2b9a0fc916 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn3800-d112c8-t1-version_2_0_3.json @@ -0,0 +1,2099 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "pg_lossless_10000_300m_profile" + }, + "BUFFER_PG|Ethernet2|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet2|3-4": { + "profile": "pg_lossless_25000_300m_profile" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG|Ethernet6|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet6|3-4": { + "profile": "pg_lossless_40000_300m_profile" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet8|3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG|Ethernet10|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet10|3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet16|3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG|Ethernet18|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet18|3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet20|3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG|Ethernet22|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet22|3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet24|3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG|Ethernet26|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet26|3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet28|3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet32|3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG|Ethernet34|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet34|3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "pg_lossless_10000_40m_profile" + }, + "BUFFER_PG|Ethernet38|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet38|3-4": { + "profile": "pg_lossless_25000_40m_profile" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "pg_lossless_40000_40m_profile" + }, + "BUFFER_PG|Ethernet42|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet42|3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet48|3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG|Ethernet50|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet50|3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet52|3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG|Ethernet54|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet54|3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet56|3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG|Ethernet58|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet58|3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet60|3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet64|3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet66|3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet68|3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG|Ethernet70|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet70|3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG|Ethernet72|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet74|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet76|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet80|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet82|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet84|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet86|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet88|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet90|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet92|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet96|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet100|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet104|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet106|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet108|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet112|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet116|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet120|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet122|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet124|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet128|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet132|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet136|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet138|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet140|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet144|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet148|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet152|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet154|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet156|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet160|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet162|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet164|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet166|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet168|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet170|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet172|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet176|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet178|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet180|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet182|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet184|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet186|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet188|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet192|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet196|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet198|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet200|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet204|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet208|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet212|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet214|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet216|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet220|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet224|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet228|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet230|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet232|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet236|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet240|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet244|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet246|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet248|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet252|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "19124224" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "4333568", + "type": "ingress", + "mode": "dynamic", + "size": "19124224" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "26624", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "31744", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "30720", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "44032", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "33792", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "55296", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "32768", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "36864", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "63488", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "40960", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "48128", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "102400", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet2|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet2|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet2|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet6|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet6|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet6|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet10|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet10|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet10|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet18|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet18|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet18|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet22|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet22|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet22|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet26|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet26|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet26|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet34|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet34|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet34|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet38|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet38|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet38|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet42|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet42|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet42|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet50|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet50|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet50|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet54|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet54|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet54|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet58|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet58|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet58|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet70|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet70|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet70|5-6": { + "profile": "q_lossy_profile" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet54": "40m", + "Ethernet248": "5m", + "Ethernet246": "5m", + "Ethernet244": "5m", + "Ethernet240": "5m", + "Ethernet124": "5m", + "Ethernet122": "5m", + "Ethernet120": "5m", + "Ethernet128": "5m", + "Ethernet76": "5m", + "Ethernet74": "5m", + "Ethernet72": "5m", + "Ethernet70": "40m", + "Ethernet136": "5m", + "Ethernet132": "5m", + "Ethernet232": "5m", + "Ethernet230": "5m", + "Ethernet138": "5m", + "Ethernet236": "5m", + "Ethernet64": "40m", + "Ethernet66": "40m", + "Ethernet60": "40m", + "Ethernet68": "40m", + "Ethernet180": "5m", + "Ethernet182": "5m", + "Ethernet184": "5m", + "Ethernet186": "5m", + "Ethernet188": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet106": "5m", + "Ethernet58": "40m", + "Ethernet50": "40m", + "Ethernet52": "40m", + "Ethernet224": "5m", + "Ethernet56": "40m", + "Ethernet196": "5m", + "Ethernet192": "5m", + "Ethernet198": "5m", + "Ethernet116": "5m", + "Ethernet112": "5m", + "Ethernet48": "40m", + "Ethernet214": "5m", + "Ethernet216": "5m", + "Ethernet42": "40m", + "Ethernet40": "40m", + "Ethernet8": "300m", + "Ethernet2": "300m", + "Ethernet0": "300m", + "Ethernet6": "300m", + "Ethernet4": "300m", + "Ethernet200": "5m", + "Ethernet168": "5m", + "Ethernet204": "5m", + "Ethernet162": "5m", + "Ethernet208": "5m", + "Ethernet160": "5m", + "Ethernet166": "5m", + "Ethernet164": "5m", + "Ethernet38": "40m", + "Ethernet32": "300m", + "Ethernet36": "40m", + "Ethernet34": "300m", + "Ethernet178": "5m", + "Ethernet170": "5m", + "Ethernet172": "5m", + "Ethernet176": "5m", + "Ethernet28": "300m", + "Ethernet20": "300m", + "Ethernet22": "300m", + "Ethernet24": "300m", + "Ethernet26": "300m", + "Ethernet44": "40m", + "Ethernet212": "5m", + "Ethernet96": "5m", + "Ethernet90": "5m", + "Ethernet148": "5m", + "Ethernet92": "5m", + "Ethernet144": "5m", + "Ethernet140": "5m", + "Ethernet18": "300m", + "Ethernet16": "300m", + "Ethernet10": "300m", + "Ethernet12": "300m", + "Ethernet228": "5m", + "Ethernet88": "5m", + "Ethernet82": "5m", + "Ethernet80": "5m", + "Ethernet86": "5m", + "Ethernet84": "5m", + "Ethernet152": "5m", + "Ethernet156": "5m", + "Ethernet154": "5m", + "Ethernet220": "5m", + "Ethernet252": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN3800-D112C8", + "default_bgp_status": "up", + "docker_routing_config_mode": "separated", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3800-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "traditional", + "cloudtype": "None", + "type": "LeafRouter", + "deployment_id": "1" + }, + "PORT|Ethernet0": { + "index": "0", + "lanes": "0,1", + "description": "ARISTA01T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "ARISTA01T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "1", + "lanes": "4,5", + "description": "ARISTA03T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "ARISTA03T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2b", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9", + "description": "ARISTA05T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "ARISTA05T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "3", + "lanes": "12,13,14,15", + "description": "ARISTA07T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet16": { + "index": "4", + "lanes": "16,17", + "description": "ARISTA07T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "ARISTA09T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "5", + "lanes": "20,21", + "description": "ARISTA09T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "ARISTA11T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "6", + "lanes": "24,25", + "description": "ARISTA11T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "ARISTA13T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "7", + "lanes": "28,29,30,31", + "description": "ARISTA13T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet32": { + "index": "8", + "lanes": "32,33", + "description": "ARISTA15T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "ARISTA15T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "9", + "lanes": "36,37", + "description": "ARISTA01T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "ARISTA02T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "10", + "lanes": "40,41", + "description": "ARISTA03T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11a", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "ARISTA04T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "11", + "lanes": "44,45,46,47", + "description": "ARISTA05T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet48": { + "index": "12", + "lanes": "48,49", + "description": "ARISTA06T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "ARISTA07T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "13", + "lanes": "52,53", + "description": "ARISTA08T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "ARISTA09T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "14", + "lanes": "56,57", + "description": "ARISTA10T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "15", + "lanes": "60,61,62,63", + "description": "ARISTA12T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet64": { + "index": "16", + "lanes": "64,65", + "description": "ARISTA13T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet66": { + "index": "16", + "lanes": "66,67", + "description": "ARISTA14T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA16T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "18", + "lanes": "72,73", + "description": "etp19a", + "mtu": "9100", + "alias": "etp19a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "20", + "lanes": "80,81", + "description": "etp21a", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "20", + "lanes": "82,83", + "description": "etp21b", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "22", + "lanes": "88,89", + "description": "etp23a", + "mtu": "9100", + "alias": "etp23a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "23", + "lanes": "92,93,94,95", + "description": "etp24", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet96": { + "index": "24", + "lanes": "96,97,98,99", + "description": "etp25", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "25", + "lanes": "100,101,102,103", + "description": "etp26", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "26", + "lanes": "104,105", + "description": "etp27a", + "mtu": "9100", + "alias": "etp27a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "27", + "lanes": "108,109,110,111", + "description": "etp28", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet112": { + "index": "28", + "lanes": "112,113,114,115", + "description": "etp29", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "29", + "lanes": "116,117,118,119", + "description": "etp30", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "30", + "lanes": "120,121", + "description": "etp31a", + "mtu": "9100", + "alias": "etp31a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "31", + "lanes": "124,125,126,127", + "description": "etp32", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "32", + "lanes": "128,129,130,131", + "description": "etp33", + "mtu": "9100", + "alias": "etp33", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "34", + "lanes": "136,137", + "description": "etp35a", + "mtu": "9100", + "alias": "etp35a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "36", + "lanes": "144,145,146,147", + "description": "etp37", + "mtu": "9100", + "alias": "etp37", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "38", + "lanes": "152,153", + "description": "etp39a", + "mtu": "9100", + "alias": "etp39a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "40", + "lanes": "160,161", + "description": "etp41a", + "mtu": "9100", + "alias": "etp41a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "42", + "lanes": "168,169", + "description": "etp43a", + "mtu": "9100", + "alias": "etp43a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "44", + "lanes": "176,177", + "description": "etp45a", + "mtu": "9100", + "alias": "etp45a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "46", + "lanes": "184,185", + "description": "etp47a", + "mtu": "9100", + "alias": "etp47a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "48", + "lanes": "192,193", + "description": "etp49a", + "mtu": "9100", + "alias": "etp49a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "50", + "lanes": "200,201", + "description": "etp51a", + "mtu": "9100", + "alias": "etp51a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "52", + "lanes": "208,209", + "description": "etp53a", + "mtu": "9100", + "alias": "etp53a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "54", + "lanes": "216,217", + "description": "etp55a", + "mtu": "9100", + "alias": "etp55a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "56", + "lanes": "224,225", + "description": "etp57a", + "mtu": "9100", + "alias": "etp57a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "58", + "lanes": "232,233", + "description": "etp59a", + "mtu": "9100", + "alias": "etp59a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "60", + "lanes": "240,241", + "description": "etp61a", + "mtu": "9100", + "alias": "etp61a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "62", + "lanes": "248,249", + "description": "etp63a", + "mtu": "9100", + "alias": "etp63a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_3" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn3800-d24c52-t0-version_2_0_3.json b/tests/db_migrator_input/config_db/mellanox-sn3800-d24c52-t0-version_2_0_3.json new file mode 100644 index 0000000000..ef5903fe05 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn3800-d24c52-t0-version_2_0_3.json @@ -0,0 +1,1701 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "pg_lossless_10000_5m_profile" + }, + "BUFFER_PG|Ethernet2|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet2|3-4": { + "profile": "pg_lossless_25000_5m_profile" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet6|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet6|3-4": { + "profile": "pg_lossless_40000_5m_profile" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet10|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet18|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet22|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet26|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet34|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet38|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet42|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet50|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet54|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet70|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "24576000" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "2756608", + "type": "ingress", + "mode": "dynamic", + "size": "24576000" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "25600", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "28672", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "30720", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "32768", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "40960", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet2|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet2|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet2|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet6|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet6|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet6|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet10|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet10|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet10|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet18|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet18|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet18|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet22|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet22|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet22|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet26|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet26|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet26|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet34|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet34|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet34|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet38|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet38|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet38|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet42|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet42|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet42|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet50|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet50|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet50|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet54|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet54|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet54|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet70|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet70|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet70|5-6": { + "profile": "q_lossy_profile" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet54": "5m", + "Ethernet248": "5m", + "Ethernet246": "5m", + "Ethernet244": "5m", + "Ethernet240": "5m", + "Ethernet124": "5m", + "Ethernet122": "5m", + "Ethernet120": "5m", + "Ethernet128": "5m", + "Ethernet76": "5m", + "Ethernet74": "5m", + "Ethernet72": "5m", + "Ethernet70": "40m", + "Ethernet136": "5m", + "Ethernet132": "5m", + "Ethernet232": "5m", + "Ethernet230": "5m", + "Ethernet138": "5m", + "Ethernet236": "5m", + "Ethernet64": "40m", + "Ethernet66": "40m", + "Ethernet60": "5m", + "Ethernet68": "40m", + "Ethernet180": "5m", + "Ethernet182": "5m", + "Ethernet184": "5m", + "Ethernet186": "5m", + "Ethernet188": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet106": "5m", + "Ethernet58": "5m", + "Ethernet50": "5m", + "Ethernet52": "5m", + "Ethernet224": "5m", + "Ethernet56": "5m", + "Ethernet196": "5m", + "Ethernet192": "5m", + "Ethernet198": "5m", + "Ethernet116": "5m", + "Ethernet112": "5m", + "Ethernet48": "5m", + "Ethernet214": "5m", + "Ethernet216": "5m", + "Ethernet42": "5m", + "Ethernet40": "5m", + "Ethernet8": "5m", + "Ethernet2": "5m", + "Ethernet0": "5m", + "Ethernet6": "5m", + "Ethernet4": "5m", + "Ethernet200": "5m", + "Ethernet168": "5m", + "Ethernet204": "5m", + "Ethernet162": "5m", + "Ethernet208": "5m", + "Ethernet160": "5m", + "Ethernet166": "5m", + "Ethernet164": "5m", + "Ethernet38": "5m", + "Ethernet32": "5m", + "Ethernet36": "5m", + "Ethernet34": "5m", + "Ethernet178": "5m", + "Ethernet170": "5m", + "Ethernet172": "5m", + "Ethernet176": "5m", + "Ethernet28": "5m", + "Ethernet20": "5m", + "Ethernet22": "5m", + "Ethernet24": "5m", + "Ethernet26": "5m", + "Ethernet44": "5m", + "Ethernet212": "5m", + "Ethernet96": "5m", + "Ethernet90": "5m", + "Ethernet148": "5m", + "Ethernet92": "5m", + "Ethernet144": "5m", + "Ethernet140": "5m", + "Ethernet18": "5m", + "Ethernet16": "5m", + "Ethernet10": "5m", + "Ethernet12": "5m", + "Ethernet228": "5m", + "Ethernet88": "5m", + "Ethernet82": "5m", + "Ethernet80": "5m", + "Ethernet86": "5m", + "Ethernet84": "5m", + "Ethernet152": "5m", + "Ethernet156": "5m", + "Ethernet154": "5m", + "Ethernet220": "5m", + "Ethernet252": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN3800-D24C52", + "default_bgp_status": "up", + "docker_routing_config_mode": "separated", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3800-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "traditional", + "cloudtype": "None", + "type": "ToRRouter", + "deployment_id": "1" + }, + "PORT|Ethernet0": { + "index": "0", + "lanes": "0,1", + "description": "etp1a", + "mtu": "9100", + "alias": "etp1a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "1", + "lanes": "4,5", + "description": "Servers1:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "Servers2:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2b", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9", + "description": "Servers3:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "Servers4:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "3", + "lanes": "12,13,14,15", + "description": "Servers5:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet16": { + "index": "4", + "lanes": "16,17", + "description": "Servers6:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "Servers7:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "5", + "lanes": "20,21", + "description": "Servers8:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "Servers9:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "6", + "lanes": "24,25", + "description": "Servers10:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "Servers11:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "7", + "lanes": "28,29,30,31", + "description": "Servers12:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet32": { + "index": "8", + "lanes": "32,33", + "description": "Servers13:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "Servers14:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "9", + "lanes": "36,37", + "description": "Servers15:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "Servers16:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "10", + "lanes": "40,41", + "description": "Servers17:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "Servers18:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "11", + "lanes": "44,45,46,47", + "description": "Servers19:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet48": { + "index": "12", + "lanes": "48,49", + "description": "Servers20:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "Servers21:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "13", + "lanes": "52,53", + "description": "Servers22:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "Servers23:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "14", + "lanes": "56,57", + "description": "etp15a", + "mtu": "9100", + "alias": "etp15a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "etp15b", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "15", + "lanes": "60,61,62,63", + "description": "etp16", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet64": { + "index": "16", + "lanes": "64,65", + "description": "ARISTA01T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet66": { + "index": "16", + "lanes": "66,67", + "description": "ARISTA02T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA03T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA04T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "18", + "lanes": "72,73", + "description": "etp19a", + "mtu": "9100", + "alias": "etp19a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "20", + "lanes": "80,81", + "description": "etp21a", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "20", + "lanes": "82,83", + "description": "etp21b", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "22", + "lanes": "88,89", + "description": "etp23a", + "mtu": "9100", + "alias": "etp23a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "23", + "lanes": "92,93,94,95", + "description": "etp24", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet96": { + "index": "24", + "lanes": "96,97,98,99", + "description": "etp25", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "25", + "lanes": "100,101,102,103", + "description": "etp26", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "26", + "lanes": "104,105", + "description": "etp27a", + "mtu": "9100", + "alias": "etp27a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "27", + "lanes": "108,109,110,111", + "description": "etp28", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet112": { + "index": "28", + "lanes": "112,113,114,115", + "description": "etp29", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "29", + "lanes": "116,117,118,119", + "description": "etp30", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "30", + "lanes": "120,121", + "description": "etp31a", + "mtu": "9100", + "alias": "etp31a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "31", + "lanes": "124,125,126,127", + "description": "etp32", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "32", + "lanes": "128,129,130,131", + "description": "etp33", + "mtu": "9100", + "alias": "etp33", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "34", + "lanes": "136,137", + "description": "etp35a", + "mtu": "9100", + "alias": "etp35a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "36", + "lanes": "144,145,146,147", + "description": "etp37", + "mtu": "9100", + "alias": "etp37", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "38", + "lanes": "152,153", + "description": "etp39a", + "mtu": "9100", + "alias": "etp39a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "40", + "lanes": "160,161", + "description": "etp41a", + "mtu": "9100", + "alias": "etp41a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "42", + "lanes": "168,169", + "description": "etp43a", + "mtu": "9100", + "alias": "etp43a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "44", + "lanes": "176,177", + "description": "etp45a", + "mtu": "9100", + "alias": "etp45a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "46", + "lanes": "184,185", + "description": "etp47a", + "mtu": "9100", + "alias": "etp47a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "48", + "lanes": "192,193", + "description": "etp49a", + "mtu": "9100", + "alias": "etp49a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "50", + "lanes": "200,201", + "description": "etp51a", + "mtu": "9100", + "alias": "etp51a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "52", + "lanes": "208,209", + "description": "etp53a", + "mtu": "9100", + "alias": "etp53a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "54", + "lanes": "216,217", + "description": "etp55a", + "mtu": "9100", + "alias": "etp55a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "56", + "lanes": "224,225", + "description": "etp57a", + "mtu": "9100", + "alias": "etp57a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "58", + "lanes": "232,233", + "description": "etp59a", + "mtu": "9100", + "alias": "etp59a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "60", + "lanes": "240,241", + "description": "etp61a", + "mtu": "9100", + "alias": "etp61a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "62", + "lanes": "248,249", + "description": "etp63a", + "mtu": "9100", + "alias": "etp63a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_3" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn3800-d24c52-t1-version_2_0_3.json b/tests/db_migrator_input/config_db/mellanox-sn3800-d24c52-t1-version_2_0_3.json new file mode 100644 index 0000000000..36fb641289 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn3800-d24c52-t1-version_2_0_3.json @@ -0,0 +1,1827 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "pg_lossless_10000_300m_profile" + }, + "BUFFER_PG|Ethernet2|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet2|3-4": { + "profile": "pg_lossless_25000_300m_profile" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG|Ethernet6|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet6|3-4": { + "profile": "pg_lossless_40000_300m_profile" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet10|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet18|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet22|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet26|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet34|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "pg_lossless_10000_40m_profile" + }, + "BUFFER_PG|Ethernet38|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet38|3-4": { + "profile": "pg_lossless_25000_40m_profile" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "pg_lossless_40000_40m_profile" + }, + "BUFFER_PG|Ethernet42|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet42|3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet50|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet54|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet58|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet70|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "22597632" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "4734976", + "type": "ingress", + "mode": "dynamic", + "size": "22597632" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "26624", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "31744", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "30720", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "44032", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "33792", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "55296", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "36864", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "63488", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "48128", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "102400", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet2|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet2|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet2|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet6|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet6|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet6|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet10|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet10|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet10|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet18|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet18|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet18|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet22|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet22|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet22|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet26|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet26|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet26|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet34|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet34|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet34|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet38|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet38|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet38|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet42|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet42|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet42|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet50|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet50|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet50|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet54|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet54|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet54|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet58|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet58|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet58|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet70|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet70|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet70|5-6": { + "profile": "q_lossy_profile" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet54": "40m", + "Ethernet248": "5m", + "Ethernet246": "5m", + "Ethernet244": "5m", + "Ethernet240": "5m", + "Ethernet124": "5m", + "Ethernet122": "5m", + "Ethernet120": "5m", + "Ethernet128": "5m", + "Ethernet76": "5m", + "Ethernet74": "5m", + "Ethernet72": "5m", + "Ethernet70": "40m", + "Ethernet136": "5m", + "Ethernet132": "5m", + "Ethernet232": "5m", + "Ethernet230": "5m", + "Ethernet138": "5m", + "Ethernet236": "5m", + "Ethernet64": "40m", + "Ethernet66": "40m", + "Ethernet60": "40m", + "Ethernet68": "40m", + "Ethernet180": "5m", + "Ethernet182": "5m", + "Ethernet184": "5m", + "Ethernet186": "5m", + "Ethernet188": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet106": "5m", + "Ethernet58": "40m", + "Ethernet50": "40m", + "Ethernet52": "40m", + "Ethernet224": "5m", + "Ethernet56": "40m", + "Ethernet196": "5m", + "Ethernet192": "5m", + "Ethernet198": "5m", + "Ethernet116": "5m", + "Ethernet112": "5m", + "Ethernet48": "40m", + "Ethernet214": "5m", + "Ethernet216": "5m", + "Ethernet42": "40m", + "Ethernet40": "40m", + "Ethernet8": "300m", + "Ethernet2": "300m", + "Ethernet0": "300m", + "Ethernet6": "300m", + "Ethernet4": "300m", + "Ethernet200": "5m", + "Ethernet168": "5m", + "Ethernet204": "5m", + "Ethernet162": "5m", + "Ethernet208": "5m", + "Ethernet160": "5m", + "Ethernet166": "5m", + "Ethernet164": "5m", + "Ethernet38": "40m", + "Ethernet32": "300m", + "Ethernet36": "40m", + "Ethernet34": "300m", + "Ethernet178": "5m", + "Ethernet170": "5m", + "Ethernet172": "5m", + "Ethernet176": "5m", + "Ethernet28": "300m", + "Ethernet20": "300m", + "Ethernet22": "300m", + "Ethernet24": "300m", + "Ethernet26": "300m", + "Ethernet44": "40m", + "Ethernet212": "5m", + "Ethernet96": "5m", + "Ethernet90": "5m", + "Ethernet148": "5m", + "Ethernet92": "5m", + "Ethernet144": "5m", + "Ethernet140": "5m", + "Ethernet18": "300m", + "Ethernet16": "300m", + "Ethernet10": "300m", + "Ethernet12": "300m", + "Ethernet228": "5m", + "Ethernet88": "5m", + "Ethernet82": "5m", + "Ethernet80": "5m", + "Ethernet86": "5m", + "Ethernet84": "5m", + "Ethernet152": "5m", + "Ethernet156": "5m", + "Ethernet154": "5m", + "Ethernet220": "5m", + "Ethernet252": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN3800-D24C52", + "default_bgp_status": "up", + "docker_routing_config_mode": "separated", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3800-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "traditional", + "cloudtype": "None", + "type": "LeafRouter", + "deployment_id": "1" + }, + "PORT|Ethernet0": { + "index": "0", + "lanes": "0,1", + "description": "ARISTA01T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "ARISTA01T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "1", + "lanes": "4,5", + "description": "ARISTA03T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "ARISTA03T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2b", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9", + "description": "ARISTA05T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "ARISTA05T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "3", + "lanes": "12,13,14,15", + "description": "ARISTA07T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet16": { + "index": "4", + "lanes": "16,17", + "description": "ARISTA07T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "ARISTA09T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "5", + "lanes": "20,21", + "description": "ARISTA09T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "ARISTA11T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "6", + "lanes": "24,25", + "description": "ARISTA11T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "ARISTA13T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "7", + "lanes": "28,29,30,31", + "description": "ARISTA13T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet32": { + "index": "8", + "lanes": "32,33", + "description": "ARISTA15T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "ARISTA15T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "9", + "lanes": "36,37", + "description": "ARISTA01T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "ARISTA02T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "10", + "lanes": "40,41", + "description": "ARISTA03T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11a", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "ARISTA04T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "11", + "lanes": "44,45,46,47", + "description": "ARISTA05T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet48": { + "index": "12", + "lanes": "48,49", + "description": "ARISTA06T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "ARISTA07T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "13", + "lanes": "52,53", + "description": "ARISTA08T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "ARISTA09T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "14", + "lanes": "56,57", + "description": "ARISTA10T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "15", + "lanes": "60,61,62,63", + "description": "ARISTA12T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet64": { + "index": "16", + "lanes": "64,65", + "description": "ARISTA13T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet66": { + "index": "16", + "lanes": "66,67", + "description": "ARISTA14T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA16T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "18", + "lanes": "72,73", + "description": "etp19a", + "mtu": "9100", + "alias": "etp19a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "20", + "lanes": "80,81", + "description": "etp21a", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "20", + "lanes": "82,83", + "description": "etp21b", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "22", + "lanes": "88,89", + "description": "etp23a", + "mtu": "9100", + "alias": "etp23a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "23", + "lanes": "92,93,94,95", + "description": "etp24", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet96": { + "index": "24", + "lanes": "96,97,98,99", + "description": "etp25", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "25", + "lanes": "100,101,102,103", + "description": "etp26", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "26", + "lanes": "104,105", + "description": "etp27a", + "mtu": "9100", + "alias": "etp27a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "27", + "lanes": "108,109,110,111", + "description": "etp28", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet112": { + "index": "28", + "lanes": "112,113,114,115", + "description": "etp29", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "29", + "lanes": "116,117,118,119", + "description": "etp30", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "30", + "lanes": "120,121", + "description": "etp31a", + "mtu": "9100", + "alias": "etp31a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "31", + "lanes": "124,125,126,127", + "description": "etp32", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "32", + "lanes": "128,129,130,131", + "description": "etp33", + "mtu": "9100", + "alias": "etp33", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "34", + "lanes": "136,137", + "description": "etp35a", + "mtu": "9100", + "alias": "etp35a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "36", + "lanes": "144,145,146,147", + "description": "etp37", + "mtu": "9100", + "alias": "etp37", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "38", + "lanes": "152,153", + "description": "etp39a", + "mtu": "9100", + "alias": "etp39a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "40", + "lanes": "160,161", + "description": "etp41a", + "mtu": "9100", + "alias": "etp41a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "42", + "lanes": "168,169", + "description": "etp43a", + "mtu": "9100", + "alias": "etp43a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "44", + "lanes": "176,177", + "description": "etp45a", + "mtu": "9100", + "alias": "etp45a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "46", + "lanes": "184,185", + "description": "etp47a", + "mtu": "9100", + "alias": "etp47a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "48", + "lanes": "192,193", + "description": "etp49a", + "mtu": "9100", + "alias": "etp49a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "50", + "lanes": "200,201", + "description": "etp51a", + "mtu": "9100", + "alias": "etp51a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "52", + "lanes": "208,209", + "description": "etp53a", + "mtu": "9100", + "alias": "etp53a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "54", + "lanes": "216,217", + "description": "etp55a", + "mtu": "9100", + "alias": "etp55a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "56", + "lanes": "224,225", + "description": "etp57a", + "mtu": "9100", + "alias": "etp57a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "58", + "lanes": "232,233", + "description": "etp59a", + "mtu": "9100", + "alias": "etp59a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "60", + "lanes": "240,241", + "description": "etp61a", + "mtu": "9100", + "alias": "etp61a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "62", + "lanes": "248,249", + "description": "etp63a", + "mtu": "9100", + "alias": "etp63a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_3" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn3800-d28c50-t0-version_2_0_3.json b/tests/db_migrator_input/config_db/mellanox-sn3800-d28c50-t0-version_2_0_3.json new file mode 100644 index 0000000000..af62d48346 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn3800-d28c50-t0-version_2_0_3.json @@ -0,0 +1,1701 @@ +{ + "BUFFER_PG|Ethernet0|3-4": { + "profile": "pg_lossless_10000_5m_profile" + }, + "BUFFER_PG|Ethernet2|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet2|3-4": { + "profile": "pg_lossless_25000_5m_profile" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "pg_lossless_50000_5m_profile" + }, + "BUFFER_PG|Ethernet6|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet6|3-4": { + "profile": "pg_lossless_40000_5m_profile" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet10|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "pg_lossless_100000_5m_profile" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet18|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet22|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet26|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet34|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet38|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet42|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet50|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet54|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet70|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "24360960" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "2795520", + "type": "ingress", + "mode": "dynamic", + "size": "24360960" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "25600", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "28672", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "30720", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "32768", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "40960", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet2|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet2|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet2|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet6|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet6|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet6|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet10|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet10|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet10|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet18|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet18|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet18|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet22|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet22|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet22|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet26|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet26|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet26|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet34|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet34|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet34|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet38|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet38|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet38|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet42|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet42|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet42|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet50|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet50|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet50|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet54|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet54|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet54|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet70|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet70|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet70|5-6": { + "profile": "q_lossy_profile" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet54": "5m", + "Ethernet248": "5m", + "Ethernet246": "5m", + "Ethernet244": "5m", + "Ethernet240": "5m", + "Ethernet124": "5m", + "Ethernet122": "5m", + "Ethernet120": "5m", + "Ethernet128": "5m", + "Ethernet76": "5m", + "Ethernet74": "5m", + "Ethernet72": "5m", + "Ethernet70": "40m", + "Ethernet136": "5m", + "Ethernet132": "5m", + "Ethernet232": "5m", + "Ethernet230": "5m", + "Ethernet138": "5m", + "Ethernet236": "5m", + "Ethernet64": "40m", + "Ethernet66": "40m", + "Ethernet60": "5m", + "Ethernet68": "40m", + "Ethernet180": "5m", + "Ethernet182": "5m", + "Ethernet184": "5m", + "Ethernet186": "5m", + "Ethernet188": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet106": "5m", + "Ethernet58": "5m", + "Ethernet50": "5m", + "Ethernet52": "5m", + "Ethernet224": "5m", + "Ethernet56": "5m", + "Ethernet196": "5m", + "Ethernet192": "5m", + "Ethernet198": "5m", + "Ethernet116": "5m", + "Ethernet112": "5m", + "Ethernet48": "5m", + "Ethernet214": "5m", + "Ethernet216": "5m", + "Ethernet42": "5m", + "Ethernet40": "5m", + "Ethernet8": "5m", + "Ethernet2": "5m", + "Ethernet0": "5m", + "Ethernet6": "5m", + "Ethernet4": "5m", + "Ethernet200": "5m", + "Ethernet168": "5m", + "Ethernet204": "5m", + "Ethernet162": "5m", + "Ethernet208": "5m", + "Ethernet160": "5m", + "Ethernet166": "5m", + "Ethernet164": "5m", + "Ethernet38": "5m", + "Ethernet32": "5m", + "Ethernet36": "5m", + "Ethernet34": "5m", + "Ethernet178": "5m", + "Ethernet170": "5m", + "Ethernet172": "5m", + "Ethernet176": "5m", + "Ethernet28": "5m", + "Ethernet20": "5m", + "Ethernet22": "5m", + "Ethernet24": "5m", + "Ethernet26": "5m", + "Ethernet44": "5m", + "Ethernet212": "5m", + "Ethernet96": "5m", + "Ethernet90": "5m", + "Ethernet148": "5m", + "Ethernet92": "5m", + "Ethernet144": "5m", + "Ethernet140": "5m", + "Ethernet18": "5m", + "Ethernet16": "5m", + "Ethernet10": "5m", + "Ethernet12": "5m", + "Ethernet228": "5m", + "Ethernet88": "5m", + "Ethernet82": "5m", + "Ethernet80": "5m", + "Ethernet86": "5m", + "Ethernet84": "5m", + "Ethernet152": "5m", + "Ethernet156": "5m", + "Ethernet154": "5m", + "Ethernet220": "5m", + "Ethernet252": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN3800-D28C50", + "default_bgp_status": "up", + "docker_routing_config_mode": "separated", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3800-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "traditional", + "cloudtype": "None", + "type": "ToRRouter", + "deployment_id": "1" + }, + "PORT|Ethernet0": { + "index": "0", + "lanes": "0,1", + "description": "etp1a", + "mtu": "9100", + "alias": "etp1a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "Servers0:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "1", + "lanes": "4,5", + "description": "Servers1:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "Servers2:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2b", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9", + "description": "Servers3:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "Servers4:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "3", + "lanes": "12,13,14,15", + "description": "Servers5:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet16": { + "index": "4", + "lanes": "16,17", + "description": "Servers6:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "Servers7:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "5", + "lanes": "20,21", + "description": "Servers8:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "Servers9:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "6", + "lanes": "24,25", + "description": "Servers10:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "Servers11:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "7", + "lanes": "28,29,30,31", + "description": "Servers12:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet32": { + "index": "8", + "lanes": "32,33", + "description": "Servers13:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "Servers14:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "9", + "lanes": "36,37", + "description": "Servers15:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "Servers16:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "10", + "lanes": "40,41", + "description": "Servers17:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "Servers18:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "11", + "lanes": "44,45,46,47", + "description": "Servers19:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet48": { + "index": "12", + "lanes": "48,49", + "description": "Servers20:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "Servers21:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "13", + "lanes": "52,53", + "description": "Servers22:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "Servers23:eth0", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "14", + "lanes": "56,57", + "description": "etp15a", + "mtu": "9100", + "alias": "etp15a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "etp15b", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "15", + "lanes": "60,61,62,63", + "description": "etp16", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet64": { + "index": "16", + "lanes": "64,65", + "description": "ARISTA01T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet66": { + "index": "16", + "lanes": "66,67", + "description": "ARISTA02T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA03T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA04T1:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "18", + "lanes": "72,73", + "description": "etp19a", + "mtu": "9100", + "alias": "etp19a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "20", + "lanes": "80,81", + "description": "etp21a", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "20", + "lanes": "82,83", + "description": "etp21b", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "22", + "lanes": "88,89", + "description": "etp23a", + "mtu": "9100", + "alias": "etp23a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "23", + "lanes": "92,93,94,95", + "description": "etp24", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet96": { + "index": "24", + "lanes": "96,97,98,99", + "description": "etp25", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "25", + "lanes": "100,101,102,103", + "description": "etp26", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "26", + "lanes": "104,105", + "description": "etp27a", + "mtu": "9100", + "alias": "etp27a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "27", + "lanes": "108,109,110,111", + "description": "etp28", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet112": { + "index": "28", + "lanes": "112,113,114,115", + "description": "etp29", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "29", + "lanes": "116,117,118,119", + "description": "etp30", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "30", + "lanes": "120,121", + "description": "etp31a", + "mtu": "9100", + "alias": "etp31a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "31", + "lanes": "124,125,126,127", + "description": "etp32", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "32", + "lanes": "128,129,130,131", + "description": "etp33", + "mtu": "9100", + "alias": "etp33", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "34", + "lanes": "136,137", + "description": "etp35a", + "mtu": "9100", + "alias": "etp35a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "36", + "lanes": "144,145,146,147", + "description": "etp37", + "mtu": "9100", + "alias": "etp37", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "38", + "lanes": "152,153", + "description": "etp39a", + "mtu": "9100", + "alias": "etp39a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "40", + "lanes": "160,161", + "description": "etp41a", + "mtu": "9100", + "alias": "etp41a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "42", + "lanes": "168,169", + "description": "etp43a", + "mtu": "9100", + "alias": "etp43a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "44", + "lanes": "176,177", + "description": "etp45a", + "mtu": "9100", + "alias": "etp45a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "46", + "lanes": "184,185", + "description": "etp47a", + "mtu": "9100", + "alias": "etp47a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "48", + "lanes": "192,193", + "description": "etp49a", + "mtu": "9100", + "alias": "etp49a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "50", + "lanes": "200,201", + "description": "etp51a", + "mtu": "9100", + "alias": "etp51a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "52", + "lanes": "208,209", + "description": "etp53a", + "mtu": "9100", + "alias": "etp53a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "54", + "lanes": "216,217", + "description": "etp55a", + "mtu": "9100", + "alias": "etp55a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "56", + "lanes": "224,225", + "description": "etp57a", + "mtu": "9100", + "alias": "etp57a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "58", + "lanes": "232,233", + "description": "etp59a", + "mtu": "9100", + "alias": "etp59a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "60", + "lanes": "240,241", + "description": "etp61a", + "mtu": "9100", + "alias": "etp61a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "62", + "lanes": "248,249", + "description": "etp63a", + "mtu": "9100", + "alias": "etp63a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_3" + } +} diff --git a/tests/db_migrator_input/config_db/mellanox-sn3800-d28c50-t1-version_2_0_3.json b/tests/db_migrator_input/config_db/mellanox-sn3800-d28c50-t1-version_2_0_3.json new file mode 100644 index 0000000000..de7a6ed7d2 --- /dev/null +++ b/tests/db_migrator_input/config_db/mellanox-sn3800-d28c50-t1-version_2_0_3.json @@ -0,0 +1,1827 @@ +{ + "BUFFER_PG|Ethernet0|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet0|3-4": { + "profile": "pg_lossless_10000_300m_profile" + }, + "BUFFER_PG|Ethernet2|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet2|3-4": { + "profile": "pg_lossless_25000_300m_profile" + }, + "BUFFER_PG|Ethernet4|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet4|3-4": { + "profile": "pg_lossless_50000_300m_profile" + }, + "BUFFER_PG|Ethernet6|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet6|3-4": { + "profile": "pg_lossless_40000_300m_profile" + }, + "BUFFER_PG|Ethernet8|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet10|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet12|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet12|3-4": { + "profile": "pg_lossless_100000_300m_profile" + }, + "BUFFER_PG|Ethernet16|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet18|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet20|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet22|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet24|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet26|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet28|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet32|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet34|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet36|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet36|3-4": { + "profile": "pg_lossless_10000_40m_profile" + }, + "BUFFER_PG|Ethernet38|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet38|3-4": { + "profile": "pg_lossless_25000_40m_profile" + }, + "BUFFER_PG|Ethernet40|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet40|3-4": { + "profile": "pg_lossless_40000_40m_profile" + }, + "BUFFER_PG|Ethernet42|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet42|3-4": { + "profile": "pg_lossless_50000_40m_profile" + }, + "BUFFER_PG|Ethernet44|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet44|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "BUFFER_PG|Ethernet48|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet50|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet52|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet54|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet56|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet58|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet60|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet64|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet66|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet68|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_PG|Ethernet70|0": { + "profile": "ingress_lossy_profile" + }, + "BUFFER_POOL|egress_lossless_pool": { + "type": "egress", + "mode": "dynamic", + "size": "34287552" + }, + "BUFFER_POOL|egress_lossy_pool": { + "type": "egress", + "mode": "dynamic", + "size": "22380544" + }, + "BUFFER_POOL|ingress_lossless_pool": { + "xoff": "4775936", + "type": "ingress", + "mode": "dynamic", + "size": "22380544" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet58": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { + "profile_list": "ingress_lossless_profile" + }, + "BUFFER_PROFILE|egress_lossless_profile": { + "dynamic_th": "7", + "pool": "egress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|egress_lossy_profile": { + "dynamic_th": "7", + "pool": "egress_lossy_pool", + "size": "9216" + }, + "BUFFER_PROFILE|ingress_lossless_profile": { + "dynamic_th": "7", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "BUFFER_PROFILE|pg_lossless_10000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "26624", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_10000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "31744", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "30720", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_25000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "44032", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "33792", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_40000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "55296", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "36864", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_50000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "63488", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "48128", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|pg_lossless_100000_300m_profile": { + "dynamic_th": "0", + "xon": "19456", + "xoff": "102400", + "pool": "ingress_lossless_pool", + "size": "19456" + }, + "BUFFER_PROFILE|q_lossy_profile": { + "dynamic_th": "3", + "pool": "egress_lossy_pool", + "size": "0" + }, + "BUFFER_QUEUE|Ethernet0|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet0|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet0|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet2|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet2|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet2|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet4|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet4|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet4|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet6|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet6|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet6|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet8|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet8|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet10|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet10|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet10|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet12|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet12|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet16|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet16|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet18|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet18|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet18|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet20|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet20|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet22|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet22|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet22|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet24|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet24|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet26|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet26|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet26|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet28|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet28|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet32|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet32|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet34|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet34|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet34|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet36|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet36|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet38|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet38|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet38|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet40|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet40|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet42|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet42|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet42|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet44|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet44|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet48|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet48|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet50|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet50|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet50|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet52|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet52|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet54|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet54|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet54|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet56|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet56|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet56|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet58|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet58|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet58|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet60|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet60|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet60|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet64|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet64|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet66|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet66|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet66|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet68|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet68|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet68|5-6": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet70|0-2": { + "profile": "q_lossy_profile" + }, + "BUFFER_QUEUE|Ethernet70|3-4": { + "profile": "egress_lossless_profile" + }, + "BUFFER_QUEUE|Ethernet70|5-6": { + "profile": "q_lossy_profile" + }, + "CABLE_LENGTH|AZURE": { + "Ethernet54": "40m", + "Ethernet248": "5m", + "Ethernet246": "5m", + "Ethernet244": "5m", + "Ethernet240": "5m", + "Ethernet124": "5m", + "Ethernet122": "5m", + "Ethernet120": "5m", + "Ethernet128": "5m", + "Ethernet76": "5m", + "Ethernet74": "5m", + "Ethernet72": "5m", + "Ethernet70": "40m", + "Ethernet136": "5m", + "Ethernet132": "5m", + "Ethernet232": "5m", + "Ethernet230": "5m", + "Ethernet138": "5m", + "Ethernet236": "5m", + "Ethernet64": "40m", + "Ethernet66": "40m", + "Ethernet60": "40m", + "Ethernet68": "40m", + "Ethernet180": "5m", + "Ethernet182": "5m", + "Ethernet184": "5m", + "Ethernet186": "5m", + "Ethernet188": "5m", + "Ethernet108": "5m", + "Ethernet100": "5m", + "Ethernet104": "5m", + "Ethernet106": "5m", + "Ethernet58": "40m", + "Ethernet50": "40m", + "Ethernet52": "40m", + "Ethernet224": "5m", + "Ethernet56": "40m", + "Ethernet196": "5m", + "Ethernet192": "5m", + "Ethernet198": "5m", + "Ethernet116": "5m", + "Ethernet112": "5m", + "Ethernet48": "40m", + "Ethernet214": "5m", + "Ethernet216": "5m", + "Ethernet42": "40m", + "Ethernet40": "40m", + "Ethernet8": "300m", + "Ethernet2": "300m", + "Ethernet0": "300m", + "Ethernet6": "300m", + "Ethernet4": "300m", + "Ethernet200": "5m", + "Ethernet168": "5m", + "Ethernet204": "5m", + "Ethernet162": "5m", + "Ethernet208": "5m", + "Ethernet160": "5m", + "Ethernet166": "5m", + "Ethernet164": "5m", + "Ethernet38": "40m", + "Ethernet32": "300m", + "Ethernet36": "40m", + "Ethernet34": "300m", + "Ethernet178": "5m", + "Ethernet170": "5m", + "Ethernet172": "5m", + "Ethernet176": "5m", + "Ethernet28": "300m", + "Ethernet20": "300m", + "Ethernet22": "300m", + "Ethernet24": "300m", + "Ethernet26": "300m", + "Ethernet44": "40m", + "Ethernet212": "5m", + "Ethernet96": "5m", + "Ethernet90": "5m", + "Ethernet148": "5m", + "Ethernet92": "5m", + "Ethernet144": "5m", + "Ethernet140": "5m", + "Ethernet18": "300m", + "Ethernet16": "300m", + "Ethernet10": "300m", + "Ethernet12": "300m", + "Ethernet228": "5m", + "Ethernet88": "5m", + "Ethernet82": "5m", + "Ethernet80": "5m", + "Ethernet86": "5m", + "Ethernet84": "5m", + "Ethernet152": "5m", + "Ethernet156": "5m", + "Ethernet154": "5m", + "Ethernet220": "5m", + "Ethernet252": "5m" + }, + "DEVICE_METADATA|localhost": { + "hwsku": "Mellanox-SN3800-D28C50", + "default_bgp_status": "up", + "docker_routing_config_mode": "separated", + "region": "None", + "hostname": "sonic", + "platform": "x86_64-mlnx_msn3800-r0", + "mac": "00:01:02:03:04:00", + "default_pfcwd_status": "disable", + "bgp_asn": "65100", + "buffer_model": "traditional", + "cloudtype": "None", + "type": "LeafRouter", + "deployment_id": "1" + }, + "PORT|Ethernet0": { + "index": "0", + "lanes": "0,1", + "description": "ARISTA01T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet2": { + "index": "0", + "lanes": "2,3", + "description": "ARISTA01T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp1b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet4": { + "index": "1", + "lanes": "4,5", + "description": "ARISTA03T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet6": { + "index": "1", + "lanes": "6,7", + "description": "ARISTA03T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp2b", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet8": { + "index": "2", + "lanes": "8,9", + "description": "ARISTA05T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet10": { + "index": "2", + "lanes": "10,11", + "description": "ARISTA05T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp3b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet12": { + "index": "3", + "lanes": "12,13,14,15", + "description": "ARISTA07T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp4", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet16": { + "index": "4", + "lanes": "16,17", + "description": "ARISTA07T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet18": { + "index": "4", + "lanes": "18,19", + "description": "ARISTA09T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp5b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet20": { + "index": "5", + "lanes": "20,21", + "description": "ARISTA09T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet22": { + "index": "5", + "lanes": "22,23", + "description": "ARISTA11T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp6b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet24": { + "index": "6", + "lanes": "24,25", + "description": "ARISTA11T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet26": { + "index": "6", + "lanes": "26,27", + "description": "ARISTA13T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp7b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet28": { + "index": "7", + "lanes": "28,29,30,31", + "description": "ARISTA13T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp8", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet32": { + "index": "8", + "lanes": "32,33", + "description": "ARISTA15T2:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet34": { + "index": "8", + "lanes": "34,35", + "description": "ARISTA15T2:Ethernet2", + "admin_status": "up", + "mtu": "9100", + "alias": "etp9b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet36": { + "index": "9", + "lanes": "36,37", + "description": "ARISTA01T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10a", + "pfc_asym": "off", + "speed": "10000", + "fec": "none" + }, + "PORT|Ethernet38": { + "index": "9", + "lanes": "38,39", + "description": "ARISTA02T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp10b", + "pfc_asym": "off", + "speed": "25000", + "fec": "none" + }, + "PORT|Ethernet40": { + "index": "10", + "lanes": "40,41", + "description": "ARISTA03T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11a", + "pfc_asym": "off", + "speed": "40000", + "fec": "none" + }, + "PORT|Ethernet42": { + "index": "10", + "lanes": "42,43", + "description": "ARISTA04T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp11b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet44": { + "index": "11", + "lanes": "44,45,46,47", + "description": "ARISTA05T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp12", + "pfc_asym": "off", + "speed": "100000", + "fec": "none" + }, + "PORT|Ethernet48": { + "index": "12", + "lanes": "48,49", + "description": "ARISTA06T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet50": { + "index": "12", + "lanes": "50,51", + "description": "ARISTA07T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp13b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet52": { + "index": "13", + "lanes": "52,53", + "description": "ARISTA08T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet54": { + "index": "13", + "lanes": "54,55", + "description": "ARISTA09T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp14b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet56": { + "index": "14", + "lanes": "56,57", + "description": "ARISTA10T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet58": { + "index": "14", + "lanes": "58,59", + "description": "ARISTA11T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp15b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet60": { + "index": "15", + "lanes": "60,61,62,63", + "description": "ARISTA12T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp16", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet64": { + "index": "16", + "lanes": "64,65", + "description": "ARISTA13T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet66": { + "index": "16", + "lanes": "66,67", + "description": "ARISTA14T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp17b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet68": { + "index": "17", + "lanes": "68,69", + "description": "ARISTA15T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet70": { + "index": "17", + "lanes": "70,71", + "description": "ARISTA16T0:Ethernet1", + "admin_status": "up", + "mtu": "9100", + "alias": "etp18b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet72": { + "index": "18", + "lanes": "72,73", + "description": "etp19a", + "mtu": "9100", + "alias": "etp19a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet74": { + "index": "18", + "lanes": "74,75", + "description": "etp19b", + "mtu": "9100", + "alias": "etp19b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet76": { + "index": "19", + "lanes": "76,77,78,79", + "description": "etp20", + "mtu": "9100", + "alias": "etp20", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet80": { + "index": "20", + "lanes": "80,81", + "description": "etp21a", + "mtu": "9100", + "alias": "etp21a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet82": { + "index": "20", + "lanes": "82,83", + "description": "etp21b", + "mtu": "9100", + "alias": "etp21b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet84": { + "index": "21", + "lanes": "84,85", + "description": "etp22a", + "mtu": "9100", + "alias": "etp22a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet86": { + "index": "21", + "lanes": "86,87", + "description": "etp22b", + "mtu": "9100", + "alias": "etp22b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet88": { + "index": "22", + "lanes": "88,89", + "description": "etp23a", + "mtu": "9100", + "alias": "etp23a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet90": { + "index": "22", + "lanes": "90,91", + "description": "etp23b", + "mtu": "9100", + "alias": "etp23b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet92": { + "index": "23", + "lanes": "92,93,94,95", + "description": "etp24", + "mtu": "9100", + "alias": "etp24", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet96": { + "index": "24", + "lanes": "96,97,98,99", + "description": "etp25", + "mtu": "9100", + "alias": "etp25", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet100": { + "index": "25", + "lanes": "100,101,102,103", + "description": "etp26", + "mtu": "9100", + "alias": "etp26", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet104": { + "index": "26", + "lanes": "104,105", + "description": "etp27a", + "mtu": "9100", + "alias": "etp27a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet106": { + "index": "26", + "lanes": "106,107", + "description": "etp27b", + "mtu": "9100", + "alias": "etp27b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet108": { + "index": "27", + "lanes": "108,109,110,111", + "description": "etp28", + "mtu": "9100", + "alias": "etp28", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet112": { + "index": "28", + "lanes": "112,113,114,115", + "description": "etp29", + "mtu": "9100", + "alias": "etp29", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet116": { + "index": "29", + "lanes": "116,117,118,119", + "description": "etp30", + "mtu": "9100", + "alias": "etp30", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet120": { + "index": "30", + "lanes": "120,121", + "description": "etp31a", + "mtu": "9100", + "alias": "etp31a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet122": { + "index": "30", + "lanes": "122,123", + "description": "etp31b", + "mtu": "9100", + "alias": "etp31b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet124": { + "index": "31", + "lanes": "124,125,126,127", + "description": "etp32", + "mtu": "9100", + "alias": "etp32", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet128": { + "index": "32", + "lanes": "128,129,130,131", + "description": "etp33", + "mtu": "9100", + "alias": "etp33", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet132": { + "index": "33", + "lanes": "132,133,134,135", + "description": "etp34", + "mtu": "9100", + "alias": "etp34", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet136": { + "index": "34", + "lanes": "136,137", + "description": "etp35a", + "mtu": "9100", + "alias": "etp35a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet138": { + "index": "34", + "lanes": "138,139", + "description": "etp35b", + "mtu": "9100", + "alias": "etp35b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet140": { + "index": "35", + "lanes": "140,141,142,143", + "description": "etp36", + "mtu": "9100", + "alias": "etp36", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet144": { + "index": "36", + "lanes": "144,145,146,147", + "description": "etp37", + "mtu": "9100", + "alias": "etp37", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet148": { + "index": "37", + "lanes": "148,149,150,151", + "description": "etp38", + "mtu": "9100", + "alias": "etp38", + "pfc_asym": "off", + "speed": "100000", + "fec": "rs" + }, + "PORT|Ethernet152": { + "index": "38", + "lanes": "152,153", + "description": "etp39a", + "mtu": "9100", + "alias": "etp39a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet154": { + "index": "38", + "lanes": "154,155", + "description": "etp39b", + "mtu": "9100", + "alias": "etp39b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet156": { + "index": "39", + "lanes": "156,157,158,159", + "description": "etp40", + "mtu": "9100", + "alias": "etp40", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet160": { + "index": "40", + "lanes": "160,161", + "description": "etp41a", + "mtu": "9100", + "alias": "etp41a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet162": { + "index": "40", + "lanes": "162,163", + "description": "etp41b", + "mtu": "9100", + "alias": "etp41b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet164": { + "index": "41", + "lanes": "164,165", + "description": "etp42a", + "mtu": "9100", + "alias": "etp42a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet166": { + "index": "41", + "lanes": "166,167", + "description": "etp42b", + "mtu": "9100", + "alias": "etp42b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet168": { + "index": "42", + "lanes": "168,169", + "description": "etp43a", + "mtu": "9100", + "alias": "etp43a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet170": { + "index": "42", + "lanes": "170,171", + "description": "etp43b", + "mtu": "9100", + "alias": "etp43b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet172": { + "index": "43", + "lanes": "172,173,174,175", + "description": "etp44", + "mtu": "9100", + "alias": "etp44", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet176": { + "index": "44", + "lanes": "176,177", + "description": "etp45a", + "mtu": "9100", + "alias": "etp45a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet178": { + "index": "44", + "lanes": "178,179", + "description": "etp45b", + "mtu": "9100", + "alias": "etp45b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet180": { + "index": "45", + "lanes": "180,181", + "description": "etp46a", + "mtu": "9100", + "alias": "etp46a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet182": { + "index": "45", + "lanes": "182,183", + "description": "etp46b", + "mtu": "9100", + "alias": "etp46b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet184": { + "index": "46", + "lanes": "184,185", + "description": "etp47a", + "mtu": "9100", + "alias": "etp47a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet186": { + "index": "46", + "lanes": "186,187", + "description": "etp47b", + "mtu": "9100", + "alias": "etp47b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet188": { + "index": "47", + "lanes": "188,189,190,191", + "description": "etp48", + "mtu": "9100", + "alias": "etp48", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet192": { + "index": "48", + "lanes": "192,193", + "description": "etp49a", + "mtu": "9100", + "alias": "etp49a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet196": { + "index": "49", + "lanes": "196,197", + "description": "etp50a", + "mtu": "9100", + "alias": "etp50a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet198": { + "index": "49", + "lanes": "198,199", + "description": "etp50b", + "mtu": "9100", + "alias": "etp50b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet200": { + "index": "50", + "lanes": "200,201", + "description": "etp51a", + "mtu": "9100", + "alias": "etp51a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet204": { + "index": "51", + "lanes": "204,205,206,207", + "description": "etp52", + "mtu": "9100", + "alias": "etp52", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet208": { + "index": "52", + "lanes": "208,209", + "description": "etp53a", + "mtu": "9100", + "alias": "etp53a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet212": { + "index": "53", + "lanes": "212,213", + "description": "etp54a", + "mtu": "9100", + "alias": "etp54a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet214": { + "index": "53", + "lanes": "214,215", + "description": "etp54b", + "mtu": "9100", + "alias": "etp54b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet216": { + "index": "54", + "lanes": "216,217", + "description": "etp55a", + "mtu": "9100", + "alias": "etp55a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet220": { + "index": "55", + "lanes": "220,221,222,223", + "description": "etp56", + "mtu": "9100", + "alias": "etp56", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet224": { + "index": "56", + "lanes": "224,225", + "description": "etp57a", + "mtu": "9100", + "alias": "etp57a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet228": { + "index": "57", + "lanes": "228,229", + "description": "etp58a", + "mtu": "9100", + "alias": "etp58a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet230": { + "index": "57", + "lanes": "230,231", + "description": "etp58b", + "mtu": "9100", + "alias": "etp58b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet232": { + "index": "58", + "lanes": "232,233", + "description": "etp59a", + "mtu": "9100", + "alias": "etp59a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet236": { + "index": "59", + "lanes": "236,237,238,239", + "description": "etp60", + "mtu": "9100", + "alias": "etp60", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet240": { + "index": "60", + "lanes": "240,241", + "description": "etp61a", + "mtu": "9100", + "alias": "etp61a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet244": { + "index": "61", + "lanes": "244,245", + "description": "etp62a", + "mtu": "9100", + "alias": "etp62a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet246": { + "index": "61", + "lanes": "246,247", + "description": "etp62b", + "mtu": "9100", + "alias": "etp62b", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet248": { + "index": "62", + "lanes": "248,249", + "description": "etp63a", + "mtu": "9100", + "alias": "etp63a", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "PORT|Ethernet252": { + "index": "63", + "lanes": "252,253,254,255", + "description": "etp64", + "mtu": "9100", + "alias": "etp64", + "pfc_asym": "off", + "speed": "50000", + "fec": "none" + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_3" + } +} diff --git a/tests/db_migrator_input/config_db/non-default-config-expected.json b/tests/db_migrator_input/config_db/non-default-config-expected.json index a31a50b45e..ebc8ab187f 100644 --- a/tests/db_migrator_input/config_db/non-default-config-expected.json +++ b/tests/db_migrator_input/config_db/non-default-config-expected.json @@ -1,183 +1,183 @@ { "BUFFER_PG|Ethernet0|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + "profile": "pg_lossless_10000_5m_profile" }, "BUFFER_PG|Ethernet4|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet4|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + "profile": "pg_lossless_25000_5m_profile" }, "BUFFER_PG|Ethernet8|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet8|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + "profile": "pg_lossless_40000_5m_profile" }, "BUFFER_PG|Ethernet12|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet12|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet16|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet16|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG|Ethernet20|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet20|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG|Ethernet24|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet24|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG|Ethernet28|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet28|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG|Ethernet32|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet32|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG|Ethernet36|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet36|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG|Ethernet40|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet40|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG|Ethernet44|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet44|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG|Ethernet48|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet48|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG|Ethernet52|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet52|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG|Ethernet56|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet56|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG|Ethernet60|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet60|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG|Ethernet64|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet64|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG|Ethernet68|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet68|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG|Ethernet72|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet72|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG|Ethernet76|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet76|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG|Ethernet80|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet80|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG|Ethernet84|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet84|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG|Ethernet88|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet88|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG|Ethernet92|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet92|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG|Ethernet96|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet96|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG|Ethernet100|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG|Ethernet104|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG|Ethernet108|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG|Ethernet112|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet112|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + "profile": "pg_lossless_100000_40m_profile" }, "BUFFER_PG|Ethernet116|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet116|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + "profile": "pg_lossless_100000_40m_profile" }, "BUFFER_PG|Ethernet120|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet120|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + "profile": "pg_lossless_50000_40m_profile" }, "BUFFER_PG|Ethernet124|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet124|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + "profile": "pg_lossless_50000_40m_profile" }, "BUFFER_POOL|egress_lossless_pool": { "type": "egress", @@ -200,522 +200,522 @@ "size": "7340032" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PROFILE|egress_lossless_profile": { "dynamic_th": "7", - "pool": "[BUFFER_POOL|egress_lossless_pool]", + "pool": "egress_lossless_pool", "size": "0" }, "BUFFER_PROFILE|egress_lossy_profile": { "dynamic_th": "3", - "pool": "[BUFFER_POOL|egress_lossy_pool]", + "pool": "egress_lossy_pool", "size": "4096" }, "BUFFER_PROFILE|ingress_lossless_profile": { "dynamic_th": "0", - "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "0" }, "BUFFER_PROFILE|ingress_lossy_profile": { "dynamic_th": "3", - "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "pool": "ingress_lossy_pool", "size": "0" }, "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { "xon": "18432", "dynamic_th": "0", "xoff": "16384", - "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "34816" }, "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { "xon": "18432", "dynamic_th": "0", "xoff": "16384", - "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "34816" }, "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { "xon": "18432", "dynamic_th": "0", "xoff": "16384", - "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "34816" }, "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { "xon": "18432", "dynamic_th": "0", "xoff": "16384", - "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "34816" }, "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { "xon": "18432", "dynamic_th": "0", "xoff": "23552", - "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "41984" }, "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { "xon": "18432", "dynamic_th": "0", "xoff": "18432", - "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "36864" }, "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { "xon": "18432", "dynamic_th": "0", "xoff": "35840", - "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "54272" }, "BUFFER_PROFILE|q_lossy_profile": { "dynamic_th": "3", - "pool": "[BUFFER_POOL|egress_lossy_pool]", + "pool": "egress_lossy_pool", "size": "0" }, "BUFFER_QUEUE|Ethernet4|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet4|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet4|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet8|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet8|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet8|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet12|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet12|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet12|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet16|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet16|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet16|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet20|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet20|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet20|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet24|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet24|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet24|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet28|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet28|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet28|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet32|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet32|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet32|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet36|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet36|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet36|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet40|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet40|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet40|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet44|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet44|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet44|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet48|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet48|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet48|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet52|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet52|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet52|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet56|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet56|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet56|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet60|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet60|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet60|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet64|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet64|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet64|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet68|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet68|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet68|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet72|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet72|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet72|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet76|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet76|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet76|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet80|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet80|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet80|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet84|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet84|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet84|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet88|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet88|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet88|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet92|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet92|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet92|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet96|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet96|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet96|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet112|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet112|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet112|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet116|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet116|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet116|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet120|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet120|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet120|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet124|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet124|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet124|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "CABLE_LENGTH|AZURE": { "Ethernet8": "5m", @@ -1115,6 +1115,6 @@ "speed": "50000" }, "VERSIONS|DATABASE": { - "VERSION": "version_2_0_0" + "VERSION": "version_2_0_3" } } diff --git a/tests/db_migrator_input/config_db/non-default-lossless-profile-in-pg-expected.json b/tests/db_migrator_input/config_db/non-default-lossless-profile-in-pg-expected.json index 21532e1900..7355db0d94 100644 --- a/tests/db_migrator_input/config_db/non-default-lossless-profile-in-pg-expected.json +++ b/tests/db_migrator_input/config_db/non-default-lossless-profile-in-pg-expected.json @@ -1,183 +1,183 @@ { "BUFFER_PG|Ethernet0|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + "profile": "pg_lossless_10000_5m_profile" }, "BUFFER_PG|Ethernet8|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet8|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + "profile": "pg_lossless_25000_5m_profile" }, "BUFFER_PG|Ethernet16|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet16|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet24|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet24|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + "profile": "pg_lossless_40000_5m_profile" }, "BUFFER_PG|Ethernet32|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet32|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG|Ethernet40|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet40|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_200000_5m_profile]" + "profile": "pg_lossless_200000_5m_profile" }, "BUFFER_PG|Ethernet48|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet48|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet56|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet56|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet64|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet64|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet72|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet72|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet80|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet80|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet88|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet88|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet96|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet96|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet104|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet104|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet112|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet112|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet120|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet120|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet128|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet128|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet136|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet136|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet144|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet144|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet152|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet152|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet160|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet160|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet168|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet168|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet176|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet176|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet184|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet184|3-4": { - "profile": "[BUFFER_PROFILE|test_profile]" + "profile": "test_profile" }, "BUFFER_PG|Ethernet192|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet192|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet200|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet208|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet216|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet224|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet224|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_40m_profile]" + "profile": "pg_lossless_400000_40m_profile" }, "BUFFER_PG|Ethernet232|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet232|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_40m_profile]" + "profile": "pg_lossless_400000_40m_profile" }, "BUFFER_PG|Ethernet240|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet240|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + "profile": "pg_lossless_100000_40m_profile" }, "BUFFER_PG|Ethernet248|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet248|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + "profile": "pg_lossless_100000_40m_profile" }, "BUFFER_POOL|egress_lossless_pool": { "type": "egress", @@ -200,723 +200,723 @@ "size": "26451968" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet58": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet65": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet67": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet82": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet128": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet136": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet144": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet152": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet160": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet168": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet176": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet184": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet192": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet224": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet232": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet240": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet248": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + "profile_list": "ingress_lossless_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + "profile_list": "ingress_lossless_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + "profile_list": "ingress_lossless_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + "profile_list": "ingress_lossless_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + "profile_list": "ingress_lossless_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + "profile_list": "ingress_lossless_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + "profile_list": "ingress_lossless_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + "profile_list": "ingress_lossless_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + "profile_list": "ingress_lossless_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + "profile_list": "ingress_lossless_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + "profile_list": "ingress_lossless_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + "profile_list": "ingress_lossless_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet58": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + "profile_list": "ingress_lossless_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet65": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet67": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + "profile_list": "ingress_lossless_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + "profile_list": "ingress_lossless_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet82": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet128": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet136": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet144": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet152": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet160": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet168": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet176": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet184": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet192": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet224": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet232": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet240": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet248": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PROFILE|egress_lossless_profile": { "dynamic_th": "7", - "pool": "[BUFFER_POOL|egress_lossless_pool]", + "pool": "egress_lossless_pool", "size": "0" }, "BUFFER_PROFILE|egress_lossy_profile": { "dynamic_th": "7", - "pool": "[BUFFER_POOL|egress_lossy_pool]", + "pool": "egress_lossy_pool", "size": "9216" }, "BUFFER_PROFILE|ingress_lossless_profile": { "dynamic_th": "7", - "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "0" }, "BUFFER_PROFILE|ingress_lossy_profile": { "dynamic_th": "3", - "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "pool": "ingress_lossy_pool", "size": "0" }, "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { "xon": "19456", "dynamic_th": "0", "xoff": "32768", - "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "52224" }, "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { "xon": "19456", "dynamic_th": "0", "xoff": "32768", - "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "52224" }, "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { "xon": "19456", "dynamic_th": "0", "xoff": "33792", - "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "53248" }, "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { "xon": "19456", "dynamic_th": "0", "xoff": "33792", - "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "53248" }, "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { "xon": "19456", "dynamic_th": "0", "xoff": "33792", - "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "53248" }, "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { "xon": "19456", "dynamic_th": "0", "xoff": "44032", - "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "63488" }, "BUFFER_PROFILE|pg_lossless_200000_5m_profile": { "xon": "19456", "dynamic_th": "0", "xoff": "35840", - "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "55296" }, "BUFFER_PROFILE|pg_lossless_400000_5m_profile": { "xon": "37888", "dynamic_th": "0", "xoff": "38912", - "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "86016" }, "BUFFER_PROFILE|pg_lossless_400000_40m_profile": { "xon": "37888", "dynamic_th": "0", "xoff": "77824", - "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "124928" }, "BUFFER_PROFILE|test_profile": { "xon": "37888", "dynamic_th": "0", "xoff": "77824", - "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "124928" }, "BUFFER_PROFILE|q_lossy_profile": { "dynamic_th": "3", - "pool": "[BUFFER_POOL|egress_lossy_pool]", + "pool": "egress_lossy_pool", "size": "0" }, "BUFFER_QUEUE|Ethernet8|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet8|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet8|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet16|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet16|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet16|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet24|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet24|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet24|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet32|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet32|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet32|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet40|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet40|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet40|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet48|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet48|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet48|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet56|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet56|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet56|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet64|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet64|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet64|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet72|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet72|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet72|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet80|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet80|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet80|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet88|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet88|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet88|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet96|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet96|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet96|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet104|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet104|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet104|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet112|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet112|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet112|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet120|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet120|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet120|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet128|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet128|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet128|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet136|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet136|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet136|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet144|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet144|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet144|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet152|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet152|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet152|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet160|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet160|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet160|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet168|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet168|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet168|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet176|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet176|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet176|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet184|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet184|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet184|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet192|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet192|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet192|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet224|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet224|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet224|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet232|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet232|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet232|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet240|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet240|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet240|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet248|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet248|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet248|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "CABLE_LENGTH|AZURE": { "Ethernet8": "5m", @@ -2008,6 +2008,6 @@ "fec": "none" }, "VERSIONS|DATABASE": { - "VERSION": "version_2_0_0" + "VERSION": "version_2_0_3" } } diff --git a/tests/db_migrator_input/config_db/non-default-lossy-profile-in-pg-expected.json b/tests/db_migrator_input/config_db/non-default-lossy-profile-in-pg-expected.json index 0b06f0541d..d7b489979c 100644 --- a/tests/db_migrator_input/config_db/non-default-lossy-profile-in-pg-expected.json +++ b/tests/db_migrator_input/config_db/non-default-lossy-profile-in-pg-expected.json @@ -1,183 +1,183 @@ { "BUFFER_PG|Ethernet0|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + "profile": "pg_lossless_10000_5m_profile" }, "BUFFER_PG|Ethernet8|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_test_profile]" + "profile": "ingress_lossy_test_profile" }, "BUFFER_PG|Ethernet8|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + "profile": "pg_lossless_25000_5m_profile" }, "BUFFER_PG|Ethernet16|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet16|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet24|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet24|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + "profile": "pg_lossless_40000_5m_profile" }, "BUFFER_PG|Ethernet32|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet32|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG|Ethernet40|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet40|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_200000_5m_profile]" + "profile": "pg_lossless_200000_5m_profile" }, "BUFFER_PG|Ethernet48|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet48|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet56|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet56|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet64|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet64|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet72|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet72|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet80|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet80|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet88|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet88|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet96|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet96|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet104|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet104|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet112|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet112|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet120|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet120|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet128|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet128|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet136|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet136|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet144|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet144|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet152|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet152|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet160|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet160|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet168|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet168|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet176|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet176|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet184|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet184|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet192|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet192|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet200|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet208|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet216|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet224|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet224|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_40m_profile]" + "profile": "pg_lossless_400000_40m_profile" }, "BUFFER_PG|Ethernet232|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet232|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_40m_profile]" + "profile": "pg_lossless_400000_40m_profile" }, "BUFFER_PG|Ethernet240|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet240|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + "profile": "pg_lossless_100000_40m_profile" }, "BUFFER_PG|Ethernet248|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet248|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + "profile": "pg_lossless_100000_40m_profile" }, "BUFFER_POOL|egress_lossless_pool": { "type": "egress", @@ -200,721 +200,721 @@ "size": "26451968" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet58": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet65": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet67": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet82": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet128": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet136": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet144": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet152": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet160": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet168": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet176": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet184": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet192": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet224": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet232": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet240": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet248": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + "profile_list": "ingress_lossless_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + "profile_list": "ingress_lossless_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + "profile_list": "ingress_lossless_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + "profile_list": "ingress_lossless_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + "profile_list": "ingress_lossless_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + "profile_list": "ingress_lossless_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + "profile_list": "ingress_lossless_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + "profile_list": "ingress_lossless_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + "profile_list": "ingress_lossless_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + "profile_list": "ingress_lossless_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + "profile_list": "ingress_lossless_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + "profile_list": "ingress_lossless_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet58": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + "profile_list": "ingress_lossless_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet65": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet67": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + "profile_list": "ingress_lossless_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + "profile_list": "ingress_lossless_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet82": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet128": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet136": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet144": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet152": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet160": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet168": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet176": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet184": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet192": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet224": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet232": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet240": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet248": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PROFILE|egress_lossless_profile": { "dynamic_th": "7", - "pool": "[BUFFER_POOL|egress_lossless_pool]", + "pool": "egress_lossless_pool", "size": "0" }, "BUFFER_PROFILE|egress_lossy_profile": { "dynamic_th": "7", - "pool": "[BUFFER_POOL|egress_lossy_pool]", + "pool": "egress_lossy_pool", "size": "9216" }, "BUFFER_PROFILE|ingress_lossless_profile": { "dynamic_th": "7", - "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "0" }, "BUFFER_PROFILE|ingress_lossy_profile": { "dynamic_th": "3", - "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "pool": "ingress_lossy_pool", "size": "0" }, "BUFFER_PROFILE|ingress_lossy_test_profile": { "dynamic_th": "3", - "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "pool": "ingress_lossy_pool", "size": "0" }, "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { "xon": "19456", "dynamic_th": "0", "xoff": "32768", - "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "52224" }, "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { "xon": "19456", "dynamic_th": "0", "xoff": "32768", - "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "52224" }, "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { "xon": "19456", "dynamic_th": "0", "xoff": "33792", - "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "53248" }, "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { "xon": "19456", "dynamic_th": "0", "xoff": "33792", - "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "53248" }, "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { "xon": "19456", "dynamic_th": "0", "xoff": "33792", - "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "53248" }, "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { "xon": "19456", "dynamic_th": "0", "xoff": "44032", - "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "63488" }, "BUFFER_PROFILE|pg_lossless_200000_5m_profile": { "xon": "19456", "dynamic_th": "0", "xoff": "35840", - "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "55296" }, "BUFFER_PROFILE|pg_lossless_400000_5m_profile": { "xon": "37888", "dynamic_th": "0", "xoff": "38912", - "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "86016" }, "BUFFER_PROFILE|pg_lossless_400000_40m_profile": { "xon": "37888", "dynamic_th": "0", "xoff": "77824", - "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "124928" }, "BUFFER_PROFILE|q_lossy_profile": { "dynamic_th": "3", - "pool": "[BUFFER_POOL|egress_lossy_pool]", + "pool": "egress_lossy_pool", "size": "0" }, "BUFFER_QUEUE|Ethernet8|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet8|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet8|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet16|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet16|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet16|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet24|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet24|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet24|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet32|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet32|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet32|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet40|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet40|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet40|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet48|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet48|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet48|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet56|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet56|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet56|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet64|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet64|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet64|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet72|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet72|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet72|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet80|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet80|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet80|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet88|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet88|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet88|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet96|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet96|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet96|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet104|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet104|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet104|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet112|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet112|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet112|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet120|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet120|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet120|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet128|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet128|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet128|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet136|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet136|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet136|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet144|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet144|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet144|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet152|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet152|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet152|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet160|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet160|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet160|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet168|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet168|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet168|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet176|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet176|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet176|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet184|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet184|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet184|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet192|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet192|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet192|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet224|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet224|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet224|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet232|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet232|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet232|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet240|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet240|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet240|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet248|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet248|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet248|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "CABLE_LENGTH|AZURE": { "Ethernet8": "5m", @@ -2006,6 +2006,6 @@ "fec": "none" }, "VERSIONS|DATABASE": { - "VERSION": "version_2_0_0" + "VERSION": "version_2_0_3" } } diff --git a/tests/db_migrator_input/config_db/non-default-pg-expected.json b/tests/db_migrator_input/config_db/non-default-pg-expected.json index 725d7fb37c..eff61f4f74 100644 --- a/tests/db_migrator_input/config_db/non-default-pg-expected.json +++ b/tests/db_migrator_input/config_db/non-default-pg-expected.json @@ -1,186 +1,186 @@ { "BUFFER_PG|Ethernet0|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + "profile": "pg_lossless_10000_5m_profile" }, "BUFFER_PG|Ethernet8|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet8|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + "profile": "pg_lossless_25000_5m_profile" }, "BUFFER_PG|Ethernet16|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet16|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet16|6": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet24|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet24|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + "profile": "pg_lossless_40000_5m_profile" }, "BUFFER_PG|Ethernet32|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet32|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG|Ethernet40|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet40|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_200000_5m_profile]" + "profile": "pg_lossless_200000_5m_profile" }, "BUFFER_PG|Ethernet48|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet48|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet56|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet56|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet64|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet64|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet72|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet72|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet80|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet80|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet88|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet88|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet96|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet96|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet104|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet104|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet112|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet112|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet120|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet120|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet128|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet128|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet136|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet136|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet144|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet144|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet152|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet152|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet160|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet160|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet168|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet168|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet176|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet176|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet184|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet184|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet192|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet192|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet200|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet208|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet216|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_5m_profile]" + "profile": "pg_lossless_400000_5m_profile" }, "BUFFER_PG|Ethernet224|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet224|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_40m_profile]" + "profile": "pg_lossless_400000_40m_profile" }, "BUFFER_PG|Ethernet232|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet232|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_400000_40m_profile]" + "profile": "pg_lossless_400000_40m_profile" }, "BUFFER_PG|Ethernet240|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet240|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + "profile": "pg_lossless_100000_40m_profile" }, "BUFFER_PG|Ethernet248|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet248|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + "profile": "pg_lossless_100000_40m_profile" }, "BUFFER_POOL|egress_lossless_pool": { "type": "egress", @@ -203,716 +203,716 @@ "size": "26451968" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet0": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet56": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet58": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet60": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet65": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet67": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet72": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet76": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet80": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet82": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet84": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet88": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet92": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet96": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet100": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet104": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet108": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet112": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet116": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet120": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet124": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet128": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet136": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet144": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet152": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet160": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet168": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet176": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet184": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet192": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet224": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet232": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet240": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet248": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet0": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + "profile_list": "ingress_lossless_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + "profile_list": "ingress_lossless_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + "profile_list": "ingress_lossless_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + "profile_list": "ingress_lossless_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + "profile_list": "ingress_lossless_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + "profile_list": "ingress_lossless_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + "profile_list": "ingress_lossless_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + "profile_list": "ingress_lossless_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + "profile_list": "ingress_lossless_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + "profile_list": "ingress_lossless_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + "profile_list": "ingress_lossless_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + "profile_list": "ingress_lossless_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet56": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet58": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + "profile_list": "ingress_lossless_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet60": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet65": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet67": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + "profile_list": "ingress_lossless_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile]" + "profile_list": "ingress_lossless_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet72": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet76": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet80": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet82": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet84": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet88": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet92": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet96": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet100": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet104": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet108": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet112": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet116": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet120": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet124": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet128": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet136": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet144": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet152": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet160": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet168": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet176": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet184": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet192": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet224": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet232": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet240": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet248": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PROFILE|egress_lossless_profile": { "dynamic_th": "7", - "pool": "[BUFFER_POOL|egress_lossless_pool]", + "pool": "egress_lossless_pool", "size": "0" }, "BUFFER_PROFILE|egress_lossy_profile": { "dynamic_th": "7", - "pool": "[BUFFER_POOL|egress_lossy_pool]", + "pool": "egress_lossy_pool", "size": "9216" }, "BUFFER_PROFILE|ingress_lossless_profile": { "dynamic_th": "7", - "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "0" }, "BUFFER_PROFILE|ingress_lossy_profile": { "dynamic_th": "3", - "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "pool": "ingress_lossy_pool", "size": "0" }, "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { "xon": "19456", "dynamic_th": "0", "xoff": "32768", - "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "52224" }, "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { "xon": "19456", "dynamic_th": "0", "xoff": "32768", - "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "52224" }, "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { "xon": "19456", "dynamic_th": "0", "xoff": "33792", - "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "53248" }, "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { "xon": "19456", "dynamic_th": "0", "xoff": "33792", - "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "53248" }, "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { "xon": "19456", "dynamic_th": "0", "xoff": "33792", - "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "53248" }, "BUFFER_PROFILE|pg_lossless_100000_40m_profile": { "xon": "19456", "dynamic_th": "0", "xoff": "44032", - "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "63488" }, "BUFFER_PROFILE|pg_lossless_200000_5m_profile": { "xon": "19456", "dynamic_th": "0", "xoff": "35840", - "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "55296" }, "BUFFER_PROFILE|pg_lossless_400000_5m_profile": { "xon": "37888", "dynamic_th": "0", "xoff": "38912", - "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "86016" }, "BUFFER_PROFILE|pg_lossless_400000_40m_profile": { "xon": "37888", "dynamic_th": "0", "xoff": "77824", - "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "124928" }, "BUFFER_PROFILE|q_lossy_profile": { "dynamic_th": "3", - "pool": "[BUFFER_POOL|egress_lossy_pool]", + "pool": "egress_lossy_pool", "size": "0" }, "BUFFER_QUEUE|Ethernet8|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet8|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet8|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet16|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet16|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet16|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet24|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet24|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet24|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet32|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet32|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet32|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet40|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet40|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet40|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet48|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet48|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet48|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet56|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet56|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet56|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet64|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet64|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet64|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet72|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet72|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet72|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet80|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet80|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet80|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet88|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet88|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet88|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet96|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet96|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet96|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet104|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet104|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet104|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet112|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet112|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet112|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet120|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet120|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet120|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet128|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet128|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet128|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet136|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet136|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet136|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet144|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet144|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet144|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet152|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet152|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet152|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet160|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet160|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet160|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet168|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet168|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet168|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet176|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet176|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet176|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet184|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet184|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet184|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet192|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet192|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet192|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet224|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet224|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet224|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet232|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet232|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet232|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet240|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet240|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet240|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet248|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet248|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet248|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "CABLE_LENGTH|AZURE": { "Ethernet8": "5m", @@ -2004,6 +2004,6 @@ "fec": "none" }, "VERSIONS|DATABASE": { - "VERSION": "version_2_0_0" + "VERSION": "version_2_0_3" } } diff --git a/tests/db_migrator_input/config_db/non-default-xoff-expected.json b/tests/db_migrator_input/config_db/non-default-xoff-expected.json index d43257431f..26b3b8faef 100644 --- a/tests/db_migrator_input/config_db/non-default-xoff-expected.json +++ b/tests/db_migrator_input/config_db/non-default-xoff-expected.json @@ -1,375 +1,375 @@ { "BUFFER_PG|Ethernet0|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_10000_5m_profile]" + "profile": "pg_lossless_10000_5m_profile" }, "BUFFER_PG|Ethernet2|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet2|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_25000_5m_profile]" + "profile": "pg_lossless_25000_5m_profile" }, "BUFFER_PG|Ethernet4|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet4|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet6|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet6|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_40000_5m_profile]" + "profile": "pg_lossless_40000_5m_profile" }, "BUFFER_PG|Ethernet8|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet8|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet10|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet10|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet12|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet12|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG|Ethernet16|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet16|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet18|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet18|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet20|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet20|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet22|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet22|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet24|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet24|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet26|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet26|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet28|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet28|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet32|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet32|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet34|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet34|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet36|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet36|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet38|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet38|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet40|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet40|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet42|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet42|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet44|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet44|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet48|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet48|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet50|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet50|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet52|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet52|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet54|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet54|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet56|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet58|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet60|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet64|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet64|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + "profile": "pg_lossless_50000_40m_profile" }, "BUFFER_PG|Ethernet66|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet66|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + "profile": "pg_lossless_50000_40m_profile" }, "BUFFER_PG|Ethernet68|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet68|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + "profile": "pg_lossless_50000_40m_profile" }, "BUFFER_PG|Ethernet70|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "BUFFER_PG|Ethernet70|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_40m_profile]" + "profile": "pg_lossless_50000_40m_profile" }, "BUFFER_PG|Ethernet72|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet74|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet76|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet80|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet82|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet84|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet86|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet88|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet90|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet92|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet96|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG|Ethernet100|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG|Ethernet104|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet106|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet108|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet112|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG|Ethernet116|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG|Ethernet120|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet122|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet124|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet128|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG|Ethernet132|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG|Ethernet136|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet138|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet140|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet144|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG|Ethernet148|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_100000_5m_profile]" + "profile": "pg_lossless_100000_5m_profile" }, "BUFFER_PG|Ethernet152|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet154|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet156|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet160|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet162|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet164|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet166|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet168|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet170|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet172|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet176|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet178|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet180|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet182|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet184|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet186|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet188|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet192|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet196|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet198|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet200|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet204|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet208|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet212|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet214|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet216|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet220|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet224|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet228|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet230|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet232|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet236|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet240|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet244|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet246|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet248|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_PG|Ethernet252|3-4": { - "profile": "[BUFFER_PROFILE|pg_lossless_50000_5m_profile]" + "profile": "pg_lossless_50000_5m_profile" }, "BUFFER_POOL|egress_lossless_pool": { "type": "egress", @@ -393,491 +393,491 @@ "size": "13924352" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet2": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet4": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet6": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet8": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet10": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet12": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet16": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet18": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet20": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet22": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet24": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet26": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet28": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet32": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet34": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet36": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet38": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet40": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet42": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet44": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet48": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet50": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet52": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet54": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet64": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet66": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet68": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_EGRESS_PROFILE_LIST|Ethernet70": { - "profile_list": "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list": "egress_lossless_profile,egress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet2": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet4": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet6": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet8": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet10": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet12": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet16": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet18": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet20": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet22": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet24": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet26": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet28": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet32": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet34": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet36": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet38": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet40": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet42": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet44": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet48": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet50": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet52": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet54": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet64": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet66": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet68": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PORT_INGRESS_PROFILE_LIST|Ethernet70": { - "profile_list": "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list": "ingress_lossless_profile,ingress_lossy_profile" }, "BUFFER_PROFILE|egress_lossless_profile": { "dynamic_th": "7", - "pool": "[BUFFER_POOL|egress_lossless_pool]", + "pool": "egress_lossless_pool", "size": "0" }, "BUFFER_PROFILE|egress_lossy_profile": { "dynamic_th": "7", - "pool": "[BUFFER_POOL|egress_lossy_pool]", + "pool": "egress_lossy_pool", "size": "9216" }, "BUFFER_PROFILE|ingress_lossless_profile": { "dynamic_th": "7", - "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "0" }, "BUFFER_PROFILE|ingress_lossy_profile": { "dynamic_th": "3", - "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "pool": "ingress_lossy_pool", "size": "0" }, "BUFFER_PROFILE|pg_lossless_10000_5m_profile": { "dynamic_th": "0", "xon": "19456", "xoff": "34816", - "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "54272" }, "BUFFER_PROFILE|pg_lossless_25000_5m_profile": { "dynamic_th": "0", "xon": "19456", "xoff": "38912", - "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "58368" }, "BUFFER_PROFILE|pg_lossless_40000_5m_profile": { "dynamic_th": "0", "xon": "19456", "xoff": "41984", - "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "61440" }, "BUFFER_PROFILE|pg_lossless_50000_5m_profile": { "dynamic_th": "0", "xon": "19456", "xoff": "45056", - "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "64512" }, "BUFFER_PROFILE|pg_lossless_50000_40m_profile": { "dynamic_th": "0", "xon": "19456", "xoff": "50176", - "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "69632" }, "BUFFER_PROFILE|pg_lossless_100000_5m_profile": { "dynamic_th": "0", "xon": "19456", "xoff": "56320", - "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "75776" }, "BUFFER_PROFILE|q_lossy_profile": { "dynamic_th": "3", - "pool": "[BUFFER_POOL|egress_lossy_pool]", + "pool": "egress_lossy_pool", "size": "0" }, "BUFFER_QUEUE|Ethernet2|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet2|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet2|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet4|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet4|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet4|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet6|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet6|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet6|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet8|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet8|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet8|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet10|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet10|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet10|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet12|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet12|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet12|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet16|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet16|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet16|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet18|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet18|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet18|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet20|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet20|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet20|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet22|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet22|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet22|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet24|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet24|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet24|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet26|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet26|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet26|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet28|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet28|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet28|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet32|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet32|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet32|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet34|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet34|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet34|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet36|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet36|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet36|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet38|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet38|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet38|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet40|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet40|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet40|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet42|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet42|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet42|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet44|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet44|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet44|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet48|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet48|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet48|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet50|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet50|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet50|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet52|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet52|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet52|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet54|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet54|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet54|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet64|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet64|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet64|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet66|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet66|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet66|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet68|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet68|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet68|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet70|0-2": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "BUFFER_QUEUE|Ethernet70|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "BUFFER_QUEUE|Ethernet70|5-6": { - "profile": "[BUFFER_PROFILE|q_lossy_profile]" + "profile": "q_lossy_profile" }, "CABLE_LENGTH|AZURE": { "Ethernet54": "5m", @@ -1981,6 +1981,6 @@ "fec": "none" }, "VERSIONS|DATABASE": { - "VERSION": "version_2_0_0" + "VERSION": "version_2_0_3" } } diff --git a/tests/db_migrator_input/config_db/port-an-expected.json b/tests/db_migrator_input/config_db/port-an-expected.json index 766ea64a94..1f3a461206 100644 --- a/tests/db_migrator_input/config_db/port-an-expected.json +++ b/tests/db_migrator_input/config_db/port-an-expected.json @@ -37,4 +37,4 @@ "VERSIONS|DATABASE": { "VERSION": "version_2_0_1" } -} \ No newline at end of file +} diff --git a/tests/db_migrator_input/config_db/portchannel-expected.json b/tests/db_migrator_input/config_db/portchannel-expected.json index acc61d1316..fcd115d225 100644 --- a/tests/db_migrator_input/config_db/portchannel-expected.json +++ b/tests/db_migrator_input/config_db/portchannel-expected.json @@ -33,7 +33,7 @@ "lacp_key": "auto" }, "VERSIONS|DATABASE": { - "VERSION": "version_2_0_2" + "VERSION": "version_2_0_3" } } diff --git a/tests/db_migrator_input/config_db/qos_tables_db_field_value_reference_format_2_0_1.json b/tests/db_migrator_input/config_db/qos_tables_db_field_value_reference_format_2_0_1.json new file mode 100644 index 0000000000..4b14ad7568 --- /dev/null +++ b/tests/db_migrator_input/config_db/qos_tables_db_field_value_reference_format_2_0_1.json @@ -0,0 +1,3704 @@ +{ + "BUFFER_PG": { + "Ethernet0|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet100|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet104|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet108|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet116|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet120|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet124|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet128|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet128|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet12|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet132|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet132|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet136|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet136|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet140|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet140|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet144|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet144|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet148|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet148|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet152|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet152|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet156|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet156|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet160|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet160|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet164|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet164|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet168|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet168|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet16|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet172|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet172|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet176|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet176|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet180|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet180|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet184|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet184|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet188|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet188|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet192|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet192|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet196|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet196|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet200|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet200|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet204|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet204|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet208|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet208|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet20|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet212|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet212|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet216|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet216|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet220|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet220|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet224|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet224|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet228|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet228|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet232|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet232|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet236|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet236|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet240|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet240|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet244|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet244|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet248|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet248|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet24|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet252|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet252|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet256|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet256|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "Ethernet257|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet257|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_10000_40m_profile]" + }, + "Ethernet28|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet32|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet36|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet40|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet44|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet48|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet4|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet52|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet56|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet60|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet64|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet68|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet72|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet76|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet80|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet84|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet88|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet8|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet92|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + }, + "Ethernet96|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_100000_40m_profile]" + } + }, + "BUFFER_POOL": { + "egress_lossless_pool": { + "mode": "static", + "size": "43468672", + "type": "egress" + }, + "ingress_lossless_pool": { + "mode": "dynamic", + "size": "35621248", + "type": "ingress", + "xoff": "7847424" + } + }, + "BUFFER_PROFILE": { + "egress_lossless_profile": { + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "0", + "static_th": "43468672" + }, + "egress_lossy_profile": { + "dynamic_th": "3", + "mode": "dynamic", + "pool": "[BUFFER_POOL|egress_lossless_pool]", + "size": "1518" + }, + "ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "0" + }, + "pg_lossless_100000_40m_profile": { + "dynamic_th": "-3", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "1248", + "xoff": "177632", + "xon": "2288", + "xon_offset": "2288" + }, + "pg_lossless_10000_40m_profile": { + "dynamic_th": "-3", + "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "size": "1248", + "xoff": "37024", + "xon": "2288", + "xon_offset": "2288" + } + }, + "BUFFER_QUEUE": { + "Ethernet0|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet0|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet100|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet100|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet104|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet104|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet108|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet108|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet112|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet112|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet116|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet116|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet116|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet120|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet120|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet120|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet124|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet124|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet124|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet128|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet128|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet128|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet12|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet12|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet12|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet132|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet132|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet132|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet136|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet136|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet136|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet140|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet140|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet140|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet144|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet144|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet144|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet148|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet148|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet148|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet152|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet152|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet152|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet156|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet156|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet156|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet160|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet160|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet160|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet164|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet164|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet164|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet168|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet168|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet168|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet16|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet16|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet16|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet172|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet172|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet172|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet176|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet176|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet176|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet180|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet180|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet180|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet184|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet184|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet184|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet188|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet188|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet188|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet192|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet192|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet192|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet196|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet196|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet196|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet200|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet200|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet200|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet204|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet204|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet204|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet208|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet208|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet208|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet20|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet20|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet20|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet212|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet212|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet212|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet216|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet216|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet216|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet220|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet220|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet220|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet224|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet224|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet224|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet228|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet228|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet228|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet232|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet232|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet232|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet236|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet236|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet236|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet240|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet240|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet240|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet244|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet244|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet244|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet248|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet248|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet248|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet24|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet24|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet24|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet252|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet252|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet252|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet256|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet256|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet256|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet257|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet257|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet257|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet28|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet28|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet28|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet32|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet32|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet32|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet36|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet36|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet36|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet40|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet40|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet40|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet44|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet44|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet44|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet48|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet48|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet48|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet4|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet4|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet4|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet52|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet52|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet52|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet56|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet56|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet56|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet60|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet60|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet60|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet64|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet64|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet64|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet68|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet68|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet68|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet72|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet72|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet72|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet76|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet76|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet76|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet80|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet80|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet80|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet84|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet84|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet84|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet88|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet88|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet88|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet8|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet8|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet8|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet92|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet92|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet92|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet96|0-2": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet96|3-4": { + "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + }, + "Ethernet96|5-6": { + "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + } + }, + "DEVICE_METADATA": { + "localhost": { + "bgp_asn": "65100", + "buffer_model": "traditional", + "default_bgp_status": "up", + "default_pfcwd_status": "disable", + "hostname": "sonic", + "hwsku": "DellEMC-Z9264f-C64", + "mac": "50:9a:4c:d3:86:70", + "platform": "x86_64-dellemc_z9264f_c3538-r0", + "type": "LeafRouter" + } + }, + "DSCP_TO_TC_MAP": { + "AZURE": { + "0": "1", + "1": "1", + "10": "1", + "11": "1", + "12": "1", + "13": "1", + "14": "1", + "15": "1", + "16": "1", + "17": "1", + "18": "1", + "19": "1", + "2": "1", + "20": "1", + "21": "1", + "22": "1", + "23": "1", + "24": "1", + "25": "1", + "26": "1", + "27": "1", + "28": "1", + "29": "1", + "3": "3", + "30": "1", + "31": "1", + "32": "1", + "33": "1", + "34": "1", + "35": "1", + "36": "1", + "37": "1", + "38": "1", + "39": "1", + "4": "4", + "40": "1", + "41": "1", + "42": "1", + "43": "1", + "44": "1", + "45": "1", + "46": "5", + "47": "1", + "48": "6", + "49": "1", + "5": "2", + "50": "1", + "51": "1", + "52": "1", + "53": "1", + "54": "1", + "55": "1", + "56": "1", + "57": "1", + "58": "1", + "59": "1", + "6": "1", + "60": "1", + "61": "1", + "62": "1", + "63": "1", + "7": "1", + "8": "0", + "9": "1" + } + }, + "MAP_PFC_PRIORITY_TO_QUEUE": { + "AZURE": { + "0": "0", + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7" + } + }, + "PORT": { + "Ethernet0": { + "admin_status": "up", + "alias": "hundredGigE1/1", + "index": "1", + "lanes": "49,50,51,52", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet100": { + "admin_status": "up", + "alias": "hundredGigE1/26", + "index": "26", + "lanes": "145,146,147,148", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet104": { + "admin_status": "up", + "alias": "hundredGigE1/27", + "index": "27", + "lanes": "165,166,167,168", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet108": { + "admin_status": "up", + "alias": "hundredGigE1/28", + "index": "28", + "lanes": "161,162,163,164", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet112": { + "admin_status": "up", + "alias": "hundredGigE1/29", + "index": "29", + "lanes": "181,182,183,184", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet116": { + "admin_status": "up", + "alias": "hundredGigE1/30", + "index": "30", + "lanes": "177,178,179,180", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet12": { + "admin_status": "up", + "alias": "hundredGigE1/4", + "index": "4", + "lanes": "69,70,71,72", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet120": { + "admin_status": "up", + "alias": "hundredGigE1/31", + "index": "31", + "lanes": "197,198,199,200", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet124": { + "admin_status": "up", + "alias": "hundredGigE1/32", + "index": "32", + "lanes": "193,194,195,196", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet128": { + "admin_status": "up", + "alias": "hundredGigE1/33", + "index": "33", + "lanes": "61,62,63,64", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet132": { + "admin_status": "up", + "alias": "hundredGigE1/34", + "index": "34", + "lanes": "57,58,59,60", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet136": { + "admin_status": "up", + "alias": "hundredGigE1/35", + "index": "35", + "lanes": "77,78,79,80", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet140": { + "admin_status": "up", + "alias": "hundredGigE1/36", + "index": "36", + "lanes": "73,74,75,76", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet144": { + "admin_status": "up", + "alias": "hundredGigE1/37", + "index": "37", + "lanes": "93,94,95,96", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet148": { + "admin_status": "up", + "alias": "hundredGigE1/38", + "index": "38", + "lanes": "89,90,91,92", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet152": { + "admin_status": "up", + "alias": "hundredGigE1/39", + "index": "39", + "lanes": "109,110,111,112", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet156": { + "admin_status": "up", + "alias": "hundredGigE1/40", + "index": "40", + "lanes": "105,106,107,108", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet16": { + "admin_status": "up", + "alias": "hundredGigE1/5", + "index": "5", + "lanes": "81,82,83,84", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet160": { + "admin_status": "up", + "alias": "hundredGigE1/41", + "index": "41", + "lanes": "13,14,15,16", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet164": { + "admin_status": "up", + "alias": "hundredGigE1/42", + "index": "42", + "lanes": "9,10,11,12", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet168": { + "admin_status": "up", + "alias": "hundredGigE1/43", + "index": "43", + "lanes": "29,30,31,32", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet172": { + "admin_status": "up", + "alias": "hundredGigE1/44", + "index": "44", + "lanes": "25,26,27,28", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet176": { + "admin_status": "up", + "alias": "hundredGigE1/45", + "index": "45", + "lanes": "45,46,47,48", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet180": { + "admin_status": "up", + "alias": "hundredGigE1/46", + "index": "46", + "lanes": "41,42,43,44", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet184": { + "admin_status": "up", + "alias": "hundredGigE1/47", + "index": "47", + "lanes": "125,126,127,128", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet188": { + "admin_status": "up", + "alias": "hundredGigE1/48", + "index": "48", + "lanes": "121,122,123,124", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet192": { + "admin_status": "up", + "alias": "hundredGigE1/49", + "index": "49", + "lanes": "137,138,139,140", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet196": { + "admin_status": "up", + "alias": "hundredGigE1/50", + "index": "50", + "lanes": "141,142,143,144", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet20": { + "admin_status": "up", + "alias": "hundredGigE1/6", + "index": "6", + "lanes": "85,86,87,88", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet200": { + "admin_status": "up", + "alias": "hundredGigE1/51", + "index": "51", + "lanes": "217,218,219,220", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet204": { + "admin_status": "up", + "alias": "hundredGigE1/52", + "index": "52", + "lanes": "221,222,223,224", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet208": { + "admin_status": "up", + "alias": "hundredGigE1/53", + "index": "53", + "lanes": "233,234,235,236", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet212": { + "admin_status": "up", + "alias": "hundredGigE1/54", + "index": "54", + "lanes": "237,238,239,240", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet216": { + "admin_status": "up", + "alias": "hundredGigE1/55", + "index": "55", + "lanes": "249,250,251,252", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet220": { + "admin_status": "up", + "alias": "hundredGigE1/56", + "index": "56", + "lanes": "253,254,255,256", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet224": { + "admin_status": "up", + "alias": "hundredGigE1/57", + "index": "57", + "lanes": "153,154,155,156", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet228": { + "admin_status": "up", + "alias": "hundredGigE1/58", + "index": "58", + "lanes": "157,158,159,160", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet232": { + "admin_status": "up", + "alias": "hundredGigE1/59", + "index": "59", + "lanes": "169,170,171,172", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet236": { + "admin_status": "up", + "alias": "hundredGigE1/60", + "index": "60", + "lanes": "173,174,175,176", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet24": { + "admin_status": "up", + "alias": "hundredGigE1/7", + "index": "7", + "lanes": "97,98,99,100", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet240": { + "admin_status": "up", + "alias": "hundredGigE1/61", + "index": "61", + "lanes": "185,186,187,188", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet244": { + "admin_status": "up", + "alias": "hundredGigE1/62", + "index": "62", + "lanes": "189,190,191,192", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet248": { + "admin_status": "up", + "alias": "hundredGigE1/63", + "index": "63", + "lanes": "201,202,203,204", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet252": { + "admin_status": "up", + "alias": "hundredGigE1/64", + "index": "64", + "lanes": "205,206,207,208", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet256": { + "admin_status": "up", + "alias": "tenGigE1/65", + "index": "65", + "lanes": "257", + "mtu": "9100", + "speed": "10000" + }, + "Ethernet257": { + "admin_status": "up", + "alias": "tenGigE1/66", + "index": "66", + "lanes": "259", + "mtu": "9100", + "speed": "10000" + }, + "Ethernet28": { + "admin_status": "up", + "alias": "hundredGigE1/8", + "index": "8", + "lanes": "101,102,103,104", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet32": { + "admin_status": "up", + "alias": "hundredGigE1/9", + "index": "9", + "lanes": "1,2,3,4", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet36": { + "admin_status": "up", + "alias": "hundredGigE1/10", + "index": "10", + "lanes": "5,6,7,8", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet4": { + "admin_status": "up", + "alias": "hundredGigE1/2", + "index": "2", + "lanes": "53,54,55,56", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet40": { + "admin_status": "up", + "alias": "hundredGigE1/11", + "index": "11", + "lanes": "17,18,19,20", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet44": { + "admin_status": "up", + "alias": "hundredGigE1/12", + "index": "12", + "lanes": "21,22,23,24", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet48": { + "admin_status": "up", + "alias": "hundredGigE1/13", + "index": "13", + "lanes": "33,34,35,36", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet52": { + "admin_status": "up", + "alias": "hundredGigE1/14", + "index": "14", + "lanes": "37,38,39,40", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet56": { + "admin_status": "up", + "alias": "hundredGigE1/15", + "index": "15", + "lanes": "113,114,115,116", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet60": { + "admin_status": "up", + "alias": "hundredGigE1/16", + "index": "16", + "lanes": "117,118,119,120", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet64": { + "admin_status": "up", + "alias": "hundredGigE1/17", + "index": "17", + "lanes": "133,134,135,136", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet68": { + "admin_status": "up", + "alias": "hundredGigE1/18", + "index": "18", + "lanes": "129,130,131,132", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet72": { + "admin_status": "up", + "alias": "hundredGigE1/19", + "index": "19", + "lanes": "213,214,215,216", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet76": { + "admin_status": "up", + "alias": "hundredGigE1/20", + "index": "20", + "lanes": "209,210,211,212", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet8": { + "admin_status": "up", + "alias": "hundredGigE1/3", + "index": "3", + "lanes": "65,66,67,68", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet80": { + "admin_status": "up", + "alias": "hundredGigE1/21", + "index": "21", + "lanes": "229,230,231,232", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet84": { + "admin_status": "up", + "alias": "hundredGigE1/22", + "index": "22", + "lanes": "225,226,227,228", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet88": { + "admin_status": "up", + "alias": "hundredGigE1/23", + "index": "23", + "lanes": "245,246,247,248", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet92": { + "admin_status": "up", + "alias": "hundredGigE1/24", + "index": "24", + "lanes": "241,242,243,244", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet96": { + "admin_status": "up", + "alias": "hundredGigE1/25", + "index": "25", + "lanes": "149,150,151,152", + "mtu": "9100", + "speed": "100000" + } + }, + "PORT_QOS_MAP": { + "Ethernet0": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet100": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet104": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet108": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet112": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet116": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet12": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet120": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet124": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet128": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet132": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet136": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet140": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet144": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet148": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet152": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet156": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet16": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet160": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet164": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet168": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet172": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet176": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet180": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet184": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet188": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet192": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet196": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet20": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet200": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet204": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet208": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet212": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet216": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet220": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet224": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet228": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet232": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet236": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet24": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet240": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet244": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet248": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet252": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet256": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet257": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet28": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet32": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet36": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet4": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet40": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet44": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet48": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet52": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet56": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet60": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet64": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet68": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet72": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet76": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet8": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet80": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet84": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet88": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet92": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + }, + "Ethernet96": { + "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]", + "pfc_enable": "3,4", + "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", + "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]" + } + }, + "QUEUE": { + "Ethernet0|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet0|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet0|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet0|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet0|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet0|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet0|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet100|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet100|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet100|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet100|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet100|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet100|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet100|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet104|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet104|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet104|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet104|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet104|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet104|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet104|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet108|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet108|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet108|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet108|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet108|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet108|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet108|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet112|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet112|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet112|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet112|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet112|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet112|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet112|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet116|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet116|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet116|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet116|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet116|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet116|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet116|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet120|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet120|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet120|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet120|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet120|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet120|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet120|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet124|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet124|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet124|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet124|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet124|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet124|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet124|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet128|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet128|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet128|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet128|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet128|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet128|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet128|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet12|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet12|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet12|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet12|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet12|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet12|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet12|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet132|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet132|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet132|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet132|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet132|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet132|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet132|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet136|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet136|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet136|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet136|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet136|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet136|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet136|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet140|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet140|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet140|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet140|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet140|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet140|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet140|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet144|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet144|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet144|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet144|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet144|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet144|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet144|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet148|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet148|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet148|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet148|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet148|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet148|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet148|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet152|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet152|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet152|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet152|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet152|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet152|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet152|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet156|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet156|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet156|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet156|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet156|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet156|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet156|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet160|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet160|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet160|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet160|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet160|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet160|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet160|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet164|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet164|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet164|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet164|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet164|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet164|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet164|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet168|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet168|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet168|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet168|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet168|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet168|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet168|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet16|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet16|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet16|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet16|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet16|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet16|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet16|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet172|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet172|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet172|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet172|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet172|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet172|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet172|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet176|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet176|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet176|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet176|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet176|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet176|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet176|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet180|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet180|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet180|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet180|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet180|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet180|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet180|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet184|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet184|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet184|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet184|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet184|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet184|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet184|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet188|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet188|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet188|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet188|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet188|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet188|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet188|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet192|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet192|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet192|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet192|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet192|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet192|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet192|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet196|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet196|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet196|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet196|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet196|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet196|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet196|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet200|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet200|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet200|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet200|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet200|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet200|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet200|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet204|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet204|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet204|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet204|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet204|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet204|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet204|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet208|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet208|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet208|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet208|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet208|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet208|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet208|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet20|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet20|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet20|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet20|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet20|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet20|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet20|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet212|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet212|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet212|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet212|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet212|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet212|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet212|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet216|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet216|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet216|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet216|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet216|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet216|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet216|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet220|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet220|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet220|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet220|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet220|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet220|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet220|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet224|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet224|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet224|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet224|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet224|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet224|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet224|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet228|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet228|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet228|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet228|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet228|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet228|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet228|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet232|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet232|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet232|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet232|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet232|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet232|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet232|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet236|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet236|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet236|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet236|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet236|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet236|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet236|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet240|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet240|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet240|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet240|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet240|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet240|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet240|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet244|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet244|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet244|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet244|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet244|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet244|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet244|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet248|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet248|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet248|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet248|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet248|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet248|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet248|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet24|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet24|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet24|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet24|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet24|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet24|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet24|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet252|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet252|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet252|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet252|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet252|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet252|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet252|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet256|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet256|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet256|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet256|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet256|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet256|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet256|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet257|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet257|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet257|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet257|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet257|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet257|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet257|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet28|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet28|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet28|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet28|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet28|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet28|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet28|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet32|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet32|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet32|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet32|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet32|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet32|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet32|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet36|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet36|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet36|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet36|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet36|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet36|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet36|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet40|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet40|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet40|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet40|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet40|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet40|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet40|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet44|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet44|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet44|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet44|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet44|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet44|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet44|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet48|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet48|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet48|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet48|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet48|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet48|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet48|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet4|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet4|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet4|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet4|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet4|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet4|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet4|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet52|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet52|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet52|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet52|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet52|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet52|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet52|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet56|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet56|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet56|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet56|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet56|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet56|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet56|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet60|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet60|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet60|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet60|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet60|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet60|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet60|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet64|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet64|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet64|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet64|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet64|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet64|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet64|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet68|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet68|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet68|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet68|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet68|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet68|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet68|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet72|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet72|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet72|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet72|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet72|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet72|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet72|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet76|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet76|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet76|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet76|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet76|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet76|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet76|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet80|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet80|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet80|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet80|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet80|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet80|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet80|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet84|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet84|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet84|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet84|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet84|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet84|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet84|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet88|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet88|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet88|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet88|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet88|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet88|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet88|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet8|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet8|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet8|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet8|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet8|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet8|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet8|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet92|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet92|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet92|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet92|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet92|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet92|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet92|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet96|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet96|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet96|2": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet96|3": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet96|4": { + "scheduler": "[SCHEDULER|scheduler.1]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + }, + "Ethernet96|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet96|6": { + "scheduler": "[SCHEDULER|scheduler.0]" + } + }, + "SCHEDULER": { + "scheduler.0": { + "type": "DWRR", + "weight": "14" + }, + "scheduler.1": { + "type": "DWRR", + "weight": "15" + } + }, + "TC_TO_PRIORITY_GROUP_MAP": { + "AZURE": { + "0": "0", + "1": "0", + "2": "0", + "3": "3", + "4": "4", + "5": "0", + "6": "0", + "7": "7" + } + }, + "TC_TO_QUEUE_MAP": { + "AZURE": { + "0": "0", + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7" + } + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_1" + }, + "WRED_PROFILE": { + "AZURE_LOSSLESS": { + "ecn": "ecn_all", + "green_drop_probability": "5", + "green_max_threshold": "2097152", + "green_min_threshold": "1048576", + "red_drop_probability": "5", + "red_max_threshold": "2097152", + "red_min_threshold": "1048576", + "wred_green_enable": "true", + "wred_red_enable": "true", + "wred_yellow_enable": "true", + "yellow_drop_probability": "5", + "yellow_max_threshold": "2097152", + "yellow_min_threshold": "1048576" + } + } +} diff --git a/tests/db_migrator_input/config_db/qos_tables_db_field_value_reference_format_2_0_3.json b/tests/db_migrator_input/config_db/qos_tables_db_field_value_reference_format_2_0_3.json new file mode 100644 index 0000000000..9d22794dc2 --- /dev/null +++ b/tests/db_migrator_input/config_db/qos_tables_db_field_value_reference_format_2_0_3.json @@ -0,0 +1,3714 @@ +{ + "BUFFER_PG": { + "Ethernet0|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet0|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet100|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet100|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet104|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet104|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet108|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet108|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet112|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet112|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet116|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet116|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet120|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet120|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet124|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet124|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet128|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet128|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet12|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet12|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet132|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet132|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet136|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet136|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet140|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet140|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet144|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet144|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet148|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet148|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet152|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet152|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet156|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet156|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet160|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet160|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet164|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet164|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet168|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet168|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet16|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet16|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet172|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet172|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet176|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet176|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet180|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet180|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet184|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet184|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet188|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet188|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet192|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet192|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet196|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet196|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet200|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet200|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet204|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet204|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet208|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet208|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet20|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet20|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet212|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet212|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet216|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet216|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet220|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet220|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet224|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet224|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet228|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet228|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet232|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet232|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet236|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet236|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet240|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet240|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet244|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet244|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet248|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet248|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet24|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet24|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet252|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet252|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet256|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet256|3-4": { + "profile": "pg_lossless_10000_40m_profile" + }, + "Ethernet257|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet257|3-4": { + "profile": "pg_lossless_10000_40m_profile" + }, + "Ethernet28|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet28|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet32|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet32|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet36|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet36|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet40|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet40|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet44|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet44|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet48|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet48|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet4|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet4|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet52|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet52|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet56|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet56|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet60|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet60|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet64|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet64|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet68|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet68|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet72|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet72|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet76|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet76|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet80|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet80|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet84|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet84|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet88|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet88|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet8|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet8|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet92|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet92|3-4": { + "profile": "pg_lossless_100000_40m_profile" + }, + "Ethernet96|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet96|3-4": { + "profile": "pg_lossless_100000_40m_profile" + } + }, + "BUFFER_POOL": { + "egress_lossless_pool": { + "mode": "static", + "size": "43468672", + "type": "egress" + }, + "ingress_lossless_pool": { + "mode": "dynamic", + "size": "35621248", + "type": "ingress", + "xoff": "7847424" + } + }, + "BUFFER_PROFILE": { + "egress_lossless_profile": { + "pool": "egress_lossless_pool", + "size": "0", + "static_th": "43468672" + }, + "egress_lossy_profile": { + "dynamic_th": "3", + "mode": "dynamic", + "pool": "egress_lossless_pool", + "size": "1518" + }, + "ingress_lossy_profile": { + "dynamic_th": "3", + "pool": "ingress_lossless_pool", + "size": "0" + }, + "pg_lossless_100000_40m_profile": { + "dynamic_th": "-3", + "pool": "ingress_lossless_pool", + "size": "1248", + "xoff": "177632", + "xon": "2288", + "xon_offset": "2288" + }, + "pg_lossless_10000_40m_profile": { + "dynamic_th": "-3", + "pool": "ingress_lossless_pool", + "size": "1248", + "xoff": "37024", + "xon": "2288", + "xon_offset": "2288" + } + }, + "BUFFER_QUEUE": { + "Ethernet0|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet0|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet0|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet100|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet100|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet100|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet104|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet104|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet104|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet108|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet108|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet108|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet112|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet112|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet112|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet116|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet116|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet116|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet120|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet120|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet120|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet124|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet124|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet124|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet128|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet128|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet128|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet12|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet12|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet12|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet132|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet132|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet132|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet136|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet136|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet136|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet140|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet140|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet140|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet144|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet144|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet144|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet148|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet148|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet148|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet152|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet152|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet152|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet156|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet156|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet156|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet160|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet160|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet160|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet164|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet164|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet164|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet168|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet168|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet168|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet16|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet16|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet16|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet172|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet172|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet172|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet176|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet176|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet176|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet180|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet180|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet180|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet184|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet184|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet184|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet188|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet188|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet188|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet192|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet192|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet192|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet196|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet196|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet196|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet200|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet200|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet200|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet204|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet204|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet204|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet208|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet208|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet208|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet20|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet20|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet20|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet212|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet212|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet212|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet216|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet216|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet216|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet220|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet220|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet220|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet224|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet224|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet224|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet228|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet228|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet228|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet232|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet232|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet232|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet236|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet236|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet236|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet240|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet240|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet240|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet244|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet244|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet244|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet248|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet248|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet248|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet24|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet24|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet24|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet252|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet252|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet252|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet256|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet256|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet256|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet257|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet257|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet257|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet28|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet28|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet28|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet32|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet32|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet32|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet36|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet36|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet36|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet40|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet40|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet40|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet44|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet44|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet44|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet48|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet48|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet48|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet4|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet4|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet4|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet52|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet52|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet52|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet56|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet56|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet56|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet60|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet60|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet60|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet64|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet64|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet64|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet68|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet68|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet68|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet72|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet72|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet72|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet76|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet76|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet76|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet80|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet80|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet80|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet84|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet84|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet84|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet88|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet88|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet88|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet8|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet8|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet8|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet92|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet92|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet92|5-6": { + "profile": "egress_lossy_profile" + }, + "Ethernet96|0-2": { + "profile": "egress_lossy_profile" + }, + "Ethernet96|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet96|5-6": { + "profile": "egress_lossy_profile" + } + }, + "DEVICE_METADATA": { + "localhost": { + "bgp_asn": "65100", + "buffer_model": "traditional", + "default_bgp_status": "up", + "default_pfcwd_status": "disable", + "hostname": "sonic", + "hwsku": "DellEMC-Z9264f-C64", + "mac": "50:9a:4c:d3:86:70", + "platform": "x86_64-dellemc_z9264f_c3538-r0", + "type": "LeafRouter" + } + }, + "DSCP_TO_TC_MAP": { + "AZURE": { + "0": "1", + "1": "1", + "10": "1", + "11": "1", + "12": "1", + "13": "1", + "14": "1", + "15": "1", + "16": "1", + "17": "1", + "18": "1", + "19": "1", + "2": "1", + "20": "1", + "21": "1", + "22": "1", + "23": "1", + "24": "1", + "25": "1", + "26": "1", + "27": "1", + "28": "1", + "29": "1", + "3": "3", + "30": "1", + "31": "1", + "32": "1", + "33": "1", + "34": "1", + "35": "1", + "36": "1", + "37": "1", + "38": "1", + "39": "1", + "4": "4", + "40": "1", + "41": "1", + "42": "1", + "43": "1", + "44": "1", + "45": "1", + "46": "5", + "47": "1", + "48": "6", + "49": "1", + "5": "2", + "50": "1", + "51": "1", + "52": "1", + "53": "1", + "54": "1", + "55": "1", + "56": "1", + "57": "1", + "58": "1", + "59": "1", + "6": "1", + "60": "1", + "61": "1", + "62": "1", + "63": "1", + "7": "1", + "8": "0", + "9": "1" + } + }, + "MAP_PFC_PRIORITY_TO_QUEUE": { + "AZURE": { + "0": "0", + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7" + } + }, + "PORT": { + "Ethernet0": { + "admin_status": "up", + "alias": "hundredGigE1/1", + "index": "1", + "lanes": "49,50,51,52", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet100": { + "admin_status": "up", + "alias": "hundredGigE1/26", + "index": "26", + "lanes": "145,146,147,148", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet104": { + "admin_status": "up", + "alias": "hundredGigE1/27", + "index": "27", + "lanes": "165,166,167,168", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet108": { + "admin_status": "up", + "alias": "hundredGigE1/28", + "index": "28", + "lanes": "161,162,163,164", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet112": { + "admin_status": "up", + "alias": "hundredGigE1/29", + "index": "29", + "lanes": "181,182,183,184", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet116": { + "admin_status": "up", + "alias": "hundredGigE1/30", + "index": "30", + "lanes": "177,178,179,180", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet12": { + "admin_status": "up", + "alias": "hundredGigE1/4", + "index": "4", + "lanes": "69,70,71,72", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet120": { + "admin_status": "up", + "alias": "hundredGigE1/31", + "index": "31", + "lanes": "197,198,199,200", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet124": { + "admin_status": "up", + "alias": "hundredGigE1/32", + "index": "32", + "lanes": "193,194,195,196", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet128": { + "admin_status": "up", + "alias": "hundredGigE1/33", + "index": "33", + "lanes": "61,62,63,64", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet132": { + "admin_status": "up", + "alias": "hundredGigE1/34", + "index": "34", + "lanes": "57,58,59,60", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet136": { + "admin_status": "up", + "alias": "hundredGigE1/35", + "index": "35", + "lanes": "77,78,79,80", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet140": { + "admin_status": "up", + "alias": "hundredGigE1/36", + "index": "36", + "lanes": "73,74,75,76", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet144": { + "admin_status": "up", + "alias": "hundredGigE1/37", + "index": "37", + "lanes": "93,94,95,96", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet148": { + "admin_status": "up", + "alias": "hundredGigE1/38", + "index": "38", + "lanes": "89,90,91,92", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet152": { + "admin_status": "up", + "alias": "hundredGigE1/39", + "index": "39", + "lanes": "109,110,111,112", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet156": { + "admin_status": "up", + "alias": "hundredGigE1/40", + "index": "40", + "lanes": "105,106,107,108", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet16": { + "admin_status": "up", + "alias": "hundredGigE1/5", + "index": "5", + "lanes": "81,82,83,84", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet160": { + "admin_status": "up", + "alias": "hundredGigE1/41", + "index": "41", + "lanes": "13,14,15,16", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet164": { + "admin_status": "up", + "alias": "hundredGigE1/42", + "index": "42", + "lanes": "9,10,11,12", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet168": { + "admin_status": "up", + "alias": "hundredGigE1/43", + "index": "43", + "lanes": "29,30,31,32", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet172": { + "admin_status": "up", + "alias": "hundredGigE1/44", + "index": "44", + "lanes": "25,26,27,28", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet176": { + "admin_status": "up", + "alias": "hundredGigE1/45", + "index": "45", + "lanes": "45,46,47,48", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet180": { + "admin_status": "up", + "alias": "hundredGigE1/46", + "index": "46", + "lanes": "41,42,43,44", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet184": { + "admin_status": "up", + "alias": "hundredGigE1/47", + "index": "47", + "lanes": "125,126,127,128", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet188": { + "admin_status": "up", + "alias": "hundredGigE1/48", + "index": "48", + "lanes": "121,122,123,124", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet192": { + "admin_status": "up", + "alias": "hundredGigE1/49", + "index": "49", + "lanes": "137,138,139,140", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet196": { + "admin_status": "up", + "alias": "hundredGigE1/50", + "index": "50", + "lanes": "141,142,143,144", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet20": { + "admin_status": "up", + "alias": "hundredGigE1/6", + "index": "6", + "lanes": "85,86,87,88", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet200": { + "admin_status": "up", + "alias": "hundredGigE1/51", + "index": "51", + "lanes": "217,218,219,220", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet204": { + "admin_status": "up", + "alias": "hundredGigE1/52", + "index": "52", + "lanes": "221,222,223,224", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet208": { + "admin_status": "up", + "alias": "hundredGigE1/53", + "index": "53", + "lanes": "233,234,235,236", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet212": { + "admin_status": "up", + "alias": "hundredGigE1/54", + "index": "54", + "lanes": "237,238,239,240", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet216": { + "admin_status": "up", + "alias": "hundredGigE1/55", + "index": "55", + "lanes": "249,250,251,252", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet220": { + "admin_status": "up", + "alias": "hundredGigE1/56", + "index": "56", + "lanes": "253,254,255,256", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet224": { + "admin_status": "up", + "alias": "hundredGigE1/57", + "index": "57", + "lanes": "153,154,155,156", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet228": { + "admin_status": "up", + "alias": "hundredGigE1/58", + "index": "58", + "lanes": "157,158,159,160", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet232": { + "admin_status": "up", + "alias": "hundredGigE1/59", + "index": "59", + "lanes": "169,170,171,172", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet236": { + "admin_status": "up", + "alias": "hundredGigE1/60", + "index": "60", + "lanes": "173,174,175,176", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet24": { + "admin_status": "up", + "alias": "hundredGigE1/7", + "index": "7", + "lanes": "97,98,99,100", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet240": { + "admin_status": "up", + "alias": "hundredGigE1/61", + "index": "61", + "lanes": "185,186,187,188", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet244": { + "admin_status": "up", + "alias": "hundredGigE1/62", + "index": "62", + "lanes": "189,190,191,192", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet248": { + "admin_status": "up", + "alias": "hundredGigE1/63", + "index": "63", + "lanes": "201,202,203,204", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet252": { + "admin_status": "up", + "alias": "hundredGigE1/64", + "index": "64", + "lanes": "205,206,207,208", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet256": { + "admin_status": "up", + "alias": "tenGigE1/65", + "index": "65", + "lanes": "257", + "mtu": "9100", + "speed": "10000" + }, + "Ethernet257": { + "admin_status": "up", + "alias": "tenGigE1/66", + "index": "66", + "lanes": "259", + "mtu": "9100", + "speed": "10000" + }, + "Ethernet28": { + "admin_status": "up", + "alias": "hundredGigE1/8", + "index": "8", + "lanes": "101,102,103,104", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet32": { + "admin_status": "up", + "alias": "hundredGigE1/9", + "index": "9", + "lanes": "1,2,3,4", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet36": { + "admin_status": "up", + "alias": "hundredGigE1/10", + "index": "10", + "lanes": "5,6,7,8", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet4": { + "admin_status": "up", + "alias": "hundredGigE1/2", + "index": "2", + "lanes": "53,54,55,56", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet40": { + "admin_status": "up", + "alias": "hundredGigE1/11", + "index": "11", + "lanes": "17,18,19,20", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet44": { + "admin_status": "up", + "alias": "hundredGigE1/12", + "index": "12", + "lanes": "21,22,23,24", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet48": { + "admin_status": "up", + "alias": "hundredGigE1/13", + "index": "13", + "lanes": "33,34,35,36", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet52": { + "admin_status": "up", + "alias": "hundredGigE1/14", + "index": "14", + "lanes": "37,38,39,40", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet56": { + "admin_status": "up", + "alias": "hundredGigE1/15", + "index": "15", + "lanes": "113,114,115,116", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet60": { + "admin_status": "up", + "alias": "hundredGigE1/16", + "index": "16", + "lanes": "117,118,119,120", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet64": { + "admin_status": "up", + "alias": "hundredGigE1/17", + "index": "17", + "lanes": "133,134,135,136", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet68": { + "admin_status": "up", + "alias": "hundredGigE1/18", + "index": "18", + "lanes": "129,130,131,132", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet72": { + "admin_status": "up", + "alias": "hundredGigE1/19", + "index": "19", + "lanes": "213,214,215,216", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet76": { + "admin_status": "up", + "alias": "hundredGigE1/20", + "index": "20", + "lanes": "209,210,211,212", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet8": { + "admin_status": "up", + "alias": "hundredGigE1/3", + "index": "3", + "lanes": "65,66,67,68", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet80": { + "admin_status": "up", + "alias": "hundredGigE1/21", + "index": "21", + "lanes": "229,230,231,232", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet84": { + "admin_status": "up", + "alias": "hundredGigE1/22", + "index": "22", + "lanes": "225,226,227,228", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet88": { + "admin_status": "up", + "alias": "hundredGigE1/23", + "index": "23", + "lanes": "245,246,247,248", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet92": { + "admin_status": "up", + "alias": "hundredGigE1/24", + "index": "24", + "lanes": "241,242,243,244", + "mtu": "9100", + "speed": "100000" + }, + "Ethernet96": { + "admin_status": "up", + "alias": "hundredGigE1/25", + "index": "25", + "lanes": "149,150,151,152", + "mtu": "9100", + "speed": "100000" + } + }, + "PORT_QOS_MAP": { + "Ethernet0": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet100": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet104": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet108": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet112": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet116": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet12": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet120": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet124": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet128": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet132": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet136": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet140": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet144": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet148": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet152": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet156": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet16": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet160": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet164": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet168": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet172": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet176": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet180": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet184": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet188": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet192": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet196": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet20": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet200": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet204": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet208": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet212": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet216": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet220": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet224": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet228": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet232": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet236": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet24": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet240": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet244": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet248": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet252": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet256": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet257": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet28": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet32": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet36": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet4": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet40": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet44": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet48": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet52": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet56": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet60": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet64": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet68": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet72": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet76": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet8": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet80": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet84": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet88": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet92": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + }, + "Ethernet96": { + "dscp_to_tc_map": "AZURE", + "pfc_enable": "3,4", + "pfc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE" + } + }, + "QUEUE": { + "Ethernet0|0": { + "scheduler": "scheduler.0" + }, + "Ethernet0|1": { + "scheduler": "scheduler.0" + }, + "Ethernet0|2": { + "scheduler": "scheduler.0" + }, + "Ethernet0|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet0|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet0|5": { + "scheduler": "scheduler.0" + }, + "Ethernet0|6": { + "scheduler": "scheduler.0" + }, + "Ethernet100|0": { + "scheduler": "scheduler.0" + }, + "Ethernet100|1": { + "scheduler": "scheduler.0" + }, + "Ethernet100|2": { + "scheduler": "scheduler.0" + }, + "Ethernet100|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet100|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet100|5": { + "scheduler": "scheduler.0" + }, + "Ethernet100|6": { + "scheduler": "scheduler.0" + }, + "Ethernet104|0": { + "scheduler": "scheduler.0" + }, + "Ethernet104|1": { + "scheduler": "scheduler.0" + }, + "Ethernet104|2": { + "scheduler": "scheduler.0" + }, + "Ethernet104|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet104|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet104|5": { + "scheduler": "scheduler.0" + }, + "Ethernet104|6": { + "scheduler": "scheduler.0" + }, + "Ethernet108|0": { + "scheduler": "scheduler.0" + }, + "Ethernet108|1": { + "scheduler": "scheduler.0" + }, + "Ethernet108|2": { + "scheduler": "scheduler.0" + }, + "Ethernet108|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet108|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet108|5": { + "scheduler": "scheduler.0" + }, + "Ethernet108|6": { + "scheduler": "scheduler.0" + }, + "Ethernet112|0": { + "scheduler": "scheduler.0" + }, + "Ethernet112|1": { + "scheduler": "scheduler.0" + }, + "Ethernet112|2": { + "scheduler": "scheduler.0" + }, + "Ethernet112|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet112|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet112|5": { + "scheduler": "scheduler.0" + }, + "Ethernet112|6": { + "scheduler": "scheduler.0" + }, + "Ethernet116|0": { + "scheduler": "scheduler.0" + }, + "Ethernet116|1": { + "scheduler": "scheduler.0" + }, + "Ethernet116|2": { + "scheduler": "scheduler.0" + }, + "Ethernet116|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet116|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet116|5": { + "scheduler": "scheduler.0" + }, + "Ethernet116|6": { + "scheduler": "scheduler.0" + }, + "Ethernet120|0": { + "scheduler": "scheduler.0" + }, + "Ethernet120|1": { + "scheduler": "scheduler.0" + }, + "Ethernet120|2": { + "scheduler": "scheduler.0" + }, + "Ethernet120|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet120|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet120|5": { + "scheduler": "scheduler.0" + }, + "Ethernet120|6": { + "scheduler": "scheduler.0" + }, + "Ethernet124|0": { + "scheduler": "scheduler.0" + }, + "Ethernet124|1": { + "scheduler": "scheduler.0" + }, + "Ethernet124|2": { + "scheduler": "scheduler.0" + }, + "Ethernet124|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet124|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet124|5": { + "scheduler": "scheduler.0" + }, + "Ethernet124|6": { + "scheduler": "scheduler.0" + }, + "Ethernet128|0": { + "scheduler": "scheduler.0" + }, + "Ethernet128|1": { + "scheduler": "scheduler.0" + }, + "Ethernet128|2": { + "scheduler": "scheduler.0" + }, + "Ethernet128|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet128|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet128|5": { + "scheduler": "scheduler.0" + }, + "Ethernet128|6": { + "scheduler": "scheduler.0" + }, + "Ethernet12|0": { + "scheduler": "scheduler.0" + }, + "Ethernet12|1": { + "scheduler": "scheduler.0" + }, + "Ethernet12|2": { + "scheduler": "scheduler.0" + }, + "Ethernet12|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet12|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet12|5": { + "scheduler": "scheduler.0" + }, + "Ethernet12|6": { + "scheduler": "scheduler.0" + }, + "Ethernet132|0": { + "scheduler": "scheduler.0" + }, + "Ethernet132|1": { + "scheduler": "scheduler.0" + }, + "Ethernet132|2": { + "scheduler": "scheduler.0" + }, + "Ethernet132|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet132|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet132|5": { + "scheduler": "scheduler.0" + }, + "Ethernet132|6": { + "scheduler": "scheduler.0" + }, + "Ethernet136|0": { + "scheduler": "scheduler.0" + }, + "Ethernet136|1": { + "scheduler": "scheduler.0" + }, + "Ethernet136|2": { + "scheduler": "scheduler.0" + }, + "Ethernet136|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet136|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet136|5": { + "scheduler": "scheduler.0" + }, + "Ethernet136|6": { + "scheduler": "scheduler.0" + }, + "Ethernet140|0": { + "scheduler": "scheduler.0" + }, + "Ethernet140|1": { + "scheduler": "scheduler.0" + }, + "Ethernet140|2": { + "scheduler": "scheduler.0" + }, + "Ethernet140|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet140|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet140|5": { + "scheduler": "scheduler.0" + }, + "Ethernet140|6": { + "scheduler": "scheduler.0" + }, + "Ethernet144|0": { + "scheduler": "scheduler.0" + }, + "Ethernet144|1": { + "scheduler": "scheduler.0" + }, + "Ethernet144|2": { + "scheduler": "scheduler.0" + }, + "Ethernet144|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet144|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet144|5": { + "scheduler": "scheduler.0" + }, + "Ethernet144|6": { + "scheduler": "scheduler.0" + }, + "Ethernet148|0": { + "scheduler": "scheduler.0" + }, + "Ethernet148|1": { + "scheduler": "scheduler.0" + }, + "Ethernet148|2": { + "scheduler": "scheduler.0" + }, + "Ethernet148|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet148|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet148|5": { + "scheduler": "scheduler.0" + }, + "Ethernet148|6": { + "scheduler": "scheduler.0" + }, + "Ethernet152|0": { + "scheduler": "scheduler.0" + }, + "Ethernet152|1": { + "scheduler": "scheduler.0" + }, + "Ethernet152|2": { + "scheduler": "scheduler.0" + }, + "Ethernet152|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet152|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet152|5": { + "scheduler": "scheduler.0" + }, + "Ethernet152|6": { + "scheduler": "scheduler.0" + }, + "Ethernet156|0": { + "scheduler": "scheduler.0" + }, + "Ethernet156|1": { + "scheduler": "scheduler.0" + }, + "Ethernet156|2": { + "scheduler": "scheduler.0" + }, + "Ethernet156|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet156|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet156|5": { + "scheduler": "scheduler.0" + }, + "Ethernet156|6": { + "scheduler": "scheduler.0" + }, + "Ethernet160|0": { + "scheduler": "scheduler.0" + }, + "Ethernet160|1": { + "scheduler": "scheduler.0" + }, + "Ethernet160|2": { + "scheduler": "scheduler.0" + }, + "Ethernet160|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet160|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet160|5": { + "scheduler": "scheduler.0" + }, + "Ethernet160|6": { + "scheduler": "scheduler.0" + }, + "Ethernet164|0": { + "scheduler": "scheduler.0" + }, + "Ethernet164|1": { + "scheduler": "scheduler.0" + }, + "Ethernet164|2": { + "scheduler": "scheduler.0" + }, + "Ethernet164|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet164|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet164|5": { + "scheduler": "scheduler.0" + }, + "Ethernet164|6": { + "scheduler": "scheduler.0" + }, + "Ethernet168|0": { + "scheduler": "scheduler.0" + }, + "Ethernet168|1": { + "scheduler": "scheduler.0" + }, + "Ethernet168|2": { + "scheduler": "scheduler.0" + }, + "Ethernet168|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet168|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet168|5": { + "scheduler": "scheduler.0" + }, + "Ethernet168|6": { + "scheduler": "scheduler.0" + }, + "Ethernet16|0": { + "scheduler": "scheduler.0" + }, + "Ethernet16|1": { + "scheduler": "scheduler.0" + }, + "Ethernet16|2": { + "scheduler": "scheduler.0" + }, + "Ethernet16|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet16|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet16|5": { + "scheduler": "scheduler.0" + }, + "Ethernet16|6": { + "scheduler": "scheduler.0" + }, + "Ethernet172|0": { + "scheduler": "scheduler.0" + }, + "Ethernet172|1": { + "scheduler": "scheduler.0" + }, + "Ethernet172|2": { + "scheduler": "scheduler.0" + }, + "Ethernet172|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet172|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet172|5": { + "scheduler": "scheduler.0" + }, + "Ethernet172|6": { + "scheduler": "scheduler.0" + }, + "Ethernet176|0": { + "scheduler": "scheduler.0" + }, + "Ethernet176|1": { + "scheduler": "scheduler.0" + }, + "Ethernet176|2": { + "scheduler": "scheduler.0" + }, + "Ethernet176|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet176|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet176|5": { + "scheduler": "scheduler.0" + }, + "Ethernet176|6": { + "scheduler": "scheduler.0" + }, + "Ethernet180|0": { + "scheduler": "scheduler.0" + }, + "Ethernet180|1": { + "scheduler": "scheduler.0" + }, + "Ethernet180|2": { + "scheduler": "scheduler.0" + }, + "Ethernet180|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet180|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet180|5": { + "scheduler": "scheduler.0" + }, + "Ethernet180|6": { + "scheduler": "scheduler.0" + }, + "Ethernet184|0": { + "scheduler": "scheduler.0" + }, + "Ethernet184|1": { + "scheduler": "scheduler.0" + }, + "Ethernet184|2": { + "scheduler": "scheduler.0" + }, + "Ethernet184|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet184|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet184|5": { + "scheduler": "scheduler.0" + }, + "Ethernet184|6": { + "scheduler": "scheduler.0" + }, + "Ethernet188|0": { + "scheduler": "scheduler.0" + }, + "Ethernet188|1": { + "scheduler": "scheduler.0" + }, + "Ethernet188|2": { + "scheduler": "scheduler.0" + }, + "Ethernet188|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet188|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet188|5": { + "scheduler": "scheduler.0" + }, + "Ethernet188|6": { + "scheduler": "scheduler.0" + }, + "Ethernet192|0": { + "scheduler": "scheduler.0" + }, + "Ethernet192|1": { + "scheduler": "scheduler.0" + }, + "Ethernet192|2": { + "scheduler": "scheduler.0" + }, + "Ethernet192|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet192|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet192|5": { + "scheduler": "scheduler.0" + }, + "Ethernet192|6": { + "scheduler": "scheduler.0" + }, + "Ethernet196|0": { + "scheduler": "scheduler.0" + }, + "Ethernet196|1": { + "scheduler": "scheduler.0" + }, + "Ethernet196|2": { + "scheduler": "scheduler.0" + }, + "Ethernet196|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet196|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet196|5": { + "scheduler": "scheduler.0" + }, + "Ethernet196|6": { + "scheduler": "scheduler.0" + }, + "Ethernet200|0": { + "scheduler": "scheduler.0" + }, + "Ethernet200|1": { + "scheduler": "scheduler.0" + }, + "Ethernet200|2": { + "scheduler": "scheduler.0" + }, + "Ethernet200|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet200|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet200|5": { + "scheduler": "scheduler.0" + }, + "Ethernet200|6": { + "scheduler": "scheduler.0" + }, + "Ethernet204|0": { + "scheduler": "scheduler.0" + }, + "Ethernet204|1": { + "scheduler": "scheduler.0" + }, + "Ethernet204|2": { + "scheduler": "scheduler.0" + }, + "Ethernet204|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet204|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet204|5": { + "scheduler": "scheduler.0" + }, + "Ethernet204|6": { + "scheduler": "scheduler.0" + }, + "Ethernet208|0": { + "scheduler": "scheduler.0" + }, + "Ethernet208|1": { + "scheduler": "scheduler.0" + }, + "Ethernet208|2": { + "scheduler": "scheduler.0" + }, + "Ethernet208|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet208|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet208|5": { + "scheduler": "scheduler.0" + }, + "Ethernet208|6": { + "scheduler": "scheduler.0" + }, + "Ethernet20|0": { + "scheduler": "scheduler.0" + }, + "Ethernet20|1": { + "scheduler": "scheduler.0" + }, + "Ethernet20|2": { + "scheduler": "scheduler.0" + }, + "Ethernet20|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet20|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet20|5": { + "scheduler": "scheduler.0" + }, + "Ethernet20|6": { + "scheduler": "scheduler.0" + }, + "Ethernet212|0": { + "scheduler": "scheduler.0" + }, + "Ethernet212|1": { + "scheduler": "scheduler.0" + }, + "Ethernet212|2": { + "scheduler": "scheduler.0" + }, + "Ethernet212|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet212|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet212|5": { + "scheduler": "scheduler.0" + }, + "Ethernet212|6": { + "scheduler": "scheduler.0" + }, + "Ethernet216|0": { + "scheduler": "scheduler.0" + }, + "Ethernet216|1": { + "scheduler": "scheduler.0" + }, + "Ethernet216|2": { + "scheduler": "scheduler.0" + }, + "Ethernet216|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet216|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet216|5": { + "scheduler": "scheduler.0" + }, + "Ethernet216|6": { + "scheduler": "scheduler.0" + }, + "Ethernet220|0": { + "scheduler": "scheduler.0" + }, + "Ethernet220|1": { + "scheduler": "scheduler.0" + }, + "Ethernet220|2": { + "scheduler": "scheduler.0" + }, + "Ethernet220|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet220|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet220|5": { + "scheduler": "scheduler.0" + }, + "Ethernet220|6": { + "scheduler": "scheduler.0" + }, + "Ethernet224|0": { + "scheduler": "scheduler.0" + }, + "Ethernet224|1": { + "scheduler": "scheduler.0" + }, + "Ethernet224|2": { + "scheduler": "scheduler.0" + }, + "Ethernet224|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet224|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet224|5": { + "scheduler": "scheduler.0" + }, + "Ethernet224|6": { + "scheduler": "scheduler.0" + }, + "Ethernet228|0": { + "scheduler": "scheduler.0" + }, + "Ethernet228|1": { + "scheduler": "scheduler.0" + }, + "Ethernet228|2": { + "scheduler": "scheduler.0" + }, + "Ethernet228|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet228|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet228|5": { + "scheduler": "scheduler.0" + }, + "Ethernet228|6": { + "scheduler": "scheduler.0" + }, + "Ethernet232|0": { + "scheduler": "scheduler.0" + }, + "Ethernet232|1": { + "scheduler": "scheduler.0" + }, + "Ethernet232|2": { + "scheduler": "scheduler.0" + }, + "Ethernet232|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet232|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet232|5": { + "scheduler": "scheduler.0" + }, + "Ethernet232|6": { + "scheduler": "scheduler.0" + }, + "Ethernet236|0": { + "scheduler": "scheduler.0" + }, + "Ethernet236|1": { + "scheduler": "scheduler.0" + }, + "Ethernet236|2": { + "scheduler": "scheduler.0" + }, + "Ethernet236|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet236|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet236|5": { + "scheduler": "scheduler.0" + }, + "Ethernet236|6": { + "scheduler": "scheduler.0" + }, + "Ethernet240|0": { + "scheduler": "scheduler.0" + }, + "Ethernet240|1": { + "scheduler": "scheduler.0" + }, + "Ethernet240|2": { + "scheduler": "scheduler.0" + }, + "Ethernet240|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet240|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet240|5": { + "scheduler": "scheduler.0" + }, + "Ethernet240|6": { + "scheduler": "scheduler.0" + }, + "Ethernet244|0": { + "scheduler": "scheduler.0" + }, + "Ethernet244|1": { + "scheduler": "scheduler.0" + }, + "Ethernet244|2": { + "scheduler": "scheduler.0" + }, + "Ethernet244|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet244|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet244|5": { + "scheduler": "scheduler.0" + }, + "Ethernet244|6": { + "scheduler": "scheduler.0" + }, + "Ethernet248|0": { + "scheduler": "scheduler.0" + }, + "Ethernet248|1": { + "scheduler": "scheduler.0" + }, + "Ethernet248|2": { + "scheduler": "scheduler.0" + }, + "Ethernet248|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet248|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet248|5": { + "scheduler": "scheduler.0" + }, + "Ethernet248|6": { + "scheduler": "scheduler.0" + }, + "Ethernet24|0": { + "scheduler": "scheduler.0" + }, + "Ethernet24|1": { + "scheduler": "scheduler.0" + }, + "Ethernet24|2": { + "scheduler": "scheduler.0" + }, + "Ethernet24|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet24|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet24|5": { + "scheduler": "scheduler.0" + }, + "Ethernet24|6": { + "scheduler": "scheduler.0" + }, + "Ethernet252|0": { + "scheduler": "scheduler.0" + }, + "Ethernet252|1": { + "scheduler": "scheduler.0" + }, + "Ethernet252|2": { + "scheduler": "scheduler.0" + }, + "Ethernet252|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet252|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet252|5": { + "scheduler": "scheduler.0" + }, + "Ethernet252|6": { + "scheduler": "scheduler.0" + }, + "Ethernet256|0": { + "scheduler": "scheduler.0" + }, + "Ethernet256|1": { + "scheduler": "scheduler.0" + }, + "Ethernet256|2": { + "scheduler": "scheduler.0" + }, + "Ethernet256|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet256|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet256|5": { + "scheduler": "scheduler.0" + }, + "Ethernet256|6": { + "scheduler": "scheduler.0" + }, + "Ethernet257|0": { + "scheduler": "scheduler.0" + }, + "Ethernet257|1": { + "scheduler": "scheduler.0" + }, + "Ethernet257|2": { + "scheduler": "scheduler.0" + }, + "Ethernet257|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet257|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet257|5": { + "scheduler": "scheduler.0" + }, + "Ethernet257|6": { + "scheduler": "scheduler.0" + }, + "Ethernet28|0": { + "scheduler": "scheduler.0" + }, + "Ethernet28|1": { + "scheduler": "scheduler.0" + }, + "Ethernet28|2": { + "scheduler": "scheduler.0" + }, + "Ethernet28|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet28|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet28|5": { + "scheduler": "scheduler.0" + }, + "Ethernet28|6": { + "scheduler": "scheduler.0" + }, + "Ethernet32|0": { + "scheduler": "scheduler.0" + }, + "Ethernet32|1": { + "scheduler": "scheduler.0" + }, + "Ethernet32|2": { + "scheduler": "scheduler.0" + }, + "Ethernet32|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet32|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet32|5": { + "scheduler": "scheduler.0" + }, + "Ethernet32|6": { + "scheduler": "scheduler.0" + }, + "Ethernet36|0": { + "scheduler": "scheduler.0" + }, + "Ethernet36|1": { + "scheduler": "scheduler.0" + }, + "Ethernet36|2": { + "scheduler": "scheduler.0" + }, + "Ethernet36|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet36|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet36|5": { + "scheduler": "scheduler.0" + }, + "Ethernet36|6": { + "scheduler": "scheduler.0" + }, + "Ethernet40|0": { + "scheduler": "scheduler.0" + }, + "Ethernet40|1": { + "scheduler": "scheduler.0" + }, + "Ethernet40|2": { + "scheduler": "scheduler.0" + }, + "Ethernet40|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet40|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet40|5": { + "scheduler": "scheduler.0" + }, + "Ethernet40|6": { + "scheduler": "scheduler.0" + }, + "Ethernet44|0": { + "scheduler": "scheduler.0" + }, + "Ethernet44|1": { + "scheduler": "scheduler.0" + }, + "Ethernet44|2": { + "scheduler": "scheduler.0" + }, + "Ethernet44|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet44|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet44|5": { + "scheduler": "scheduler.0" + }, + "Ethernet44|6": { + "scheduler": "scheduler.0" + }, + "Ethernet48|0": { + "scheduler": "scheduler.0" + }, + "Ethernet48|1": { + "scheduler": "scheduler.0" + }, + "Ethernet48|2": { + "scheduler": "scheduler.0" + }, + "Ethernet48|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet48|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet48|5": { + "scheduler": "scheduler.0" + }, + "Ethernet48|6": { + "scheduler": "scheduler.0" + }, + "Ethernet4|0": { + "scheduler": "scheduler.0" + }, + "Ethernet4|1": { + "scheduler": "scheduler.0" + }, + "Ethernet4|2": { + "scheduler": "scheduler.0" + }, + "Ethernet4|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet4|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet4|5": { + "scheduler": "scheduler.0" + }, + "Ethernet4|6": { + "scheduler": "scheduler.0" + }, + "Ethernet52|0": { + "scheduler": "scheduler.0" + }, + "Ethernet52|1": { + "scheduler": "scheduler.0" + }, + "Ethernet52|2": { + "scheduler": "scheduler.0" + }, + "Ethernet52|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet52|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet52|5": { + "scheduler": "scheduler.0" + }, + "Ethernet52|6": { + "scheduler": "scheduler.0" + }, + "Ethernet56|0": { + "scheduler": "scheduler.0" + }, + "Ethernet56|1": { + "scheduler": "scheduler.0" + }, + "Ethernet56|2": { + "scheduler": "scheduler.0" + }, + "Ethernet56|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet56|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet56|5": { + "scheduler": "scheduler.0" + }, + "Ethernet56|6": { + "scheduler": "scheduler.0" + }, + "Ethernet60|0": { + "scheduler": "scheduler.0" + }, + "Ethernet60|1": { + "scheduler": "scheduler.0" + }, + "Ethernet60|2": { + "scheduler": "scheduler.0" + }, + "Ethernet60|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet60|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet60|5": { + "scheduler": "scheduler.0" + }, + "Ethernet60|6": { + "scheduler": "scheduler.0" + }, + "Ethernet64|0": { + "scheduler": "scheduler.0" + }, + "Ethernet64|1": { + "scheduler": "scheduler.0" + }, + "Ethernet64|2": { + "scheduler": "scheduler.0" + }, + "Ethernet64|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet64|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet64|5": { + "scheduler": "scheduler.0" + }, + "Ethernet64|6": { + "scheduler": "scheduler.0" + }, + "Ethernet68|0": { + "scheduler": "scheduler.0" + }, + "Ethernet68|1": { + "scheduler": "scheduler.0" + }, + "Ethernet68|2": { + "scheduler": "scheduler.0" + }, + "Ethernet68|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet68|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet68|5": { + "scheduler": "scheduler.0" + }, + "Ethernet68|6": { + "scheduler": "scheduler.0" + }, + "Ethernet72|0": { + "scheduler": "scheduler.0" + }, + "Ethernet72|1": { + "scheduler": "scheduler.0" + }, + "Ethernet72|2": { + "scheduler": "scheduler.0" + }, + "Ethernet72|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet72|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet72|5": { + "scheduler": "scheduler.0" + }, + "Ethernet72|6": { + "scheduler": "scheduler.0" + }, + "Ethernet76|0": { + "scheduler": "scheduler.0" + }, + "Ethernet76|1": { + "scheduler": "scheduler.0" + }, + "Ethernet76|2": { + "scheduler": "scheduler.0" + }, + "Ethernet76|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet76|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet76|5": { + "scheduler": "scheduler.0" + }, + "Ethernet76|6": { + "scheduler": "scheduler.0" + }, + "Ethernet80|0": { + "scheduler": "scheduler.0" + }, + "Ethernet80|1": { + "scheduler": "scheduler.0" + }, + "Ethernet80|2": { + "scheduler": "scheduler.0" + }, + "Ethernet80|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet80|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet80|5": { + "scheduler": "scheduler.0" + }, + "Ethernet80|6": { + "scheduler": "scheduler.0" + }, + "Ethernet84|0": { + "scheduler": "scheduler.0" + }, + "Ethernet84|1": { + "scheduler": "scheduler.0" + }, + "Ethernet84|2": { + "scheduler": "scheduler.0" + }, + "Ethernet84|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet84|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet84|5": { + "scheduler": "scheduler.0" + }, + "Ethernet84|6": { + "scheduler": "scheduler.0" + }, + "Ethernet88|0": { + "scheduler": "scheduler.0" + }, + "Ethernet88|1": { + "scheduler": "scheduler.0" + }, + "Ethernet88|2": { + "scheduler": "scheduler.0" + }, + "Ethernet88|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet88|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet88|5": { + "scheduler": "scheduler.0" + }, + "Ethernet88|6": { + "scheduler": "scheduler.0" + }, + "Ethernet8|0": { + "scheduler": "scheduler.0" + }, + "Ethernet8|1": { + "scheduler": "scheduler.0" + }, + "Ethernet8|2": { + "scheduler": "scheduler.0" + }, + "Ethernet8|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet8|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet8|5": { + "scheduler": "scheduler.0" + }, + "Ethernet8|6": { + "scheduler": "scheduler.0" + }, + "Ethernet92|0": { + "scheduler": "scheduler.0" + }, + "Ethernet92|1": { + "scheduler": "scheduler.0" + }, + "Ethernet92|2": { + "scheduler": "scheduler.0" + }, + "Ethernet92|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet92|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet92|5": { + "scheduler": "scheduler.0" + }, + "Ethernet92|6": { + "scheduler": "scheduler.0" + }, + "Ethernet96|0": { + "scheduler": "scheduler.0" + }, + "Ethernet96|1": { + "scheduler": "scheduler.0" + }, + "Ethernet96|2": { + "scheduler": "scheduler.0" + }, + "Ethernet96|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet96|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet96|5": { + "scheduler": "scheduler.0" + }, + "Ethernet96|6": { + "scheduler": "scheduler.0" + } + }, + "SCHEDULER": { + "scheduler.0": { + "type": "DWRR", + "weight": "14" + }, + "scheduler.1": { + "type": "DWRR", + "weight": "15" + } + }, + "SNMP": { + "LOCATION": { + "Location": "public" + } + }, + "SNMP_COMMUNITY": { + "public": { + "TYPE": "RO" + } + }, + "TC_TO_PRIORITY_GROUP_MAP": { + "AZURE": { + "0": "0", + "1": "0", + "2": "0", + "3": "3", + "4": "4", + "5": "0", + "6": "0", + "7": "7" + } + }, + "TC_TO_QUEUE_MAP": { + "AZURE": { + "0": "0", + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7" + } + }, + "VERSIONS|DATABASE": { + "VERSION": "version_2_0_3" + }, + "WRED_PROFILE": { + "AZURE_LOSSLESS": { + "ecn": "ecn_all", + "green_drop_probability": "5", + "green_max_threshold": "2097152", + "green_min_threshold": "1048576", + "red_drop_probability": "5", + "red_max_threshold": "2097152", + "red_min_threshold": "1048576", + "wred_green_enable": "true", + "wred_red_enable": "true", + "wred_yellow_enable": "true", + "yellow_drop_probability": "5", + "yellow_max_threshold": "2097152", + "yellow_min_threshold": "1048576" + } + } +} diff --git a/tests/db_migrator_test.py b/tests/db_migrator_test.py index f871350fd5..a5973269db 100644 --- a/tests/db_migrator_test.py +++ b/tests/db_migrator_test.py @@ -43,10 +43,9 @@ def setup_class(cls): cls.config_db_tables_to_verify = ['BUFFER_POOL', 'BUFFER_PROFILE', 'BUFFER_PG', 'DEFAULT_LOSSLESS_BUFFER_PARAMETER', 'LOSSLESS_TRAFFIC_PATTERN', 'VERSIONS', 'DEVICE_METADATA'] cls.appl_db_tables_to_verify = ['BUFFER_POOL_TABLE:*', 'BUFFER_PROFILE_TABLE:*', 'BUFFER_PG_TABLE:*', 'BUFFER_QUEUE:*', 'BUFFER_PORT_INGRESS_PROFILE_LIST:*', 'BUFFER_PORT_EGRESS_PROFILE_LIST:*'] cls.warm_reboot_from_version = 'version_1_0_6' - cls.warm_reboot_to_version = 'version_2_0_0' - - cls.version_list = ['version_1_0_1', 'version_1_0_2', 'version_1_0_3', 'version_1_0_4', 'version_1_0_5', 'version_1_0_6', 'version_2_0_0'] + cls.warm_reboot_to_version = 'version_2_0_3' + cls.version_list = ['version_1_0_1', 'version_1_0_2', 'version_1_0_3', 'version_1_0_4', 'version_1_0_5', 'version_1_0_6', 'version_2_0_0', 'version_2_0_3'] os.environ['UTILITIES_UNIT_TESTING'] = "2" @classmethod @@ -221,7 +220,6 @@ def test_port_autoneg_migrator(self): assert dbmgtr.configDB.get_table('PORT') == expected_db.cfgdb.get_table('PORT') assert dbmgtr.configDB.get_table('VERSIONS') == expected_db.cfgdb.get_table('VERSIONS') - class TestInitConfigMigrator(object): @classmethod def setup_class(cls): @@ -248,7 +246,6 @@ def test_init_config_feature_migration(self): assert not expected_db.cfgdb.get_table('CONTAINER_FEATURE') - class TestLacpKeyMigrator(object): @classmethod def setup_class(cls): @@ -270,3 +267,58 @@ def test_lacp_key_migrator(self): assert dbmgtr.configDB.get_table('PORTCHANNEL') == expected_db.cfgdb.get_table('PORTCHANNEL') assert dbmgtr.configDB.get_table('VERSIONS') == expected_db.cfgdb.get_table('VERSIONS') + +class TestQosDBFieldValueReferenceRemoveMigrator(object): + @classmethod + def setup_class(cls): + cls.config_db_tables_to_verify = ['QUEUE', 'PORT_QOS_MAP', 'BUFFER_PROFILE', 'BUFFER_PG', 'BUFFER_PORT_INGRESS_PROFILE_LIST', 'BUFFER_PORT_EGRESS_PROFILE_LIST', 'VERSIONS'] + cls.appl_db_tables_to_verify = ['BUFFER_PROFILE_TABLE:*', 'BUFFER_PG_TABLE:*', 'BUFFER_QUEUE_TABLE:*', 'BUFFER_PORT_INGRESS_PROFILE_LIST_TABLE:*', 'BUFFER_PORT_EGRESS_PROFILE_LIST_TABLE:*'] + os.environ['UTILITIES_UNIT_TESTING'] = "2" + + def teardown_class(cls): + os.environ['UTILITIES_UNIT_TESTING'] = "0" + dbconnector.dedicated_dbs['CONFIG_DB'] = None + + def mock_dedicated_config_db(self, filename): + jsonfile = os.path.join(mock_db_path, 'config_db', filename) + dbconnector.dedicated_dbs['CONFIG_DB'] = jsonfile + db = Db() + return db + + def mock_dedicated_appl_db(self, filename): + jsonfile = os.path.join(mock_db_path, 'appl_db', filename) + dbconnector.dedicated_dbs['APPL_DB'] = jsonfile + appl_db = SonicV2Connector(host='127.0.0.1') + appl_db.connect(appl_db.APPL_DB) + return appl_db + + def clear_dedicated_mock_dbs(self): + dbconnector.dedicated_dbs['CONFIG_DB'] = None + dbconnector.dedicated_dbs['APPL_DB'] = None + + def check_config_db(self, result, expected): + for table in self.config_db_tables_to_verify: + assert result.get_table(table) == expected.get_table(table) + + def check_appl_db(self, result, expected): + for table in self.appl_db_tables_to_verify: + keys = expected.keys(expected.APPL_DB, table) + if keys is None: + continue + for key in keys: + assert expected.get_all(expected.APPL_DB, key) == result.get_all(result.APPL_DB, key) + + def test_qos_buffer_migrator_for_cold_reboot(self): + db_before_migrate = 'qos_tables_db_field_value_reference_format_2_0_1' + db_after_migrate = 'qos_tables_db_field_value_reference_format_2_0_3' + db = self.mock_dedicated_config_db(db_before_migrate) + _ = self.mock_dedicated_appl_db(db_before_migrate) + import db_migrator + dbmgtr = db_migrator.DBMigrator(None) + dbmgtr.migrate() + expected_db = self.mock_dedicated_config_db(db_after_migrate) + expected_appl_db = self.mock_dedicated_appl_db(db_after_migrate) + advance_version_for_expected_database(dbmgtr.configDB, expected_db.cfgdb, 'version_2_0_3') + self.check_config_db(dbmgtr.configDB, expected_db.cfgdb) + self.check_appl_db(dbmgtr.appDB, expected_appl_db) + self.clear_dedicated_mock_dbs() diff --git a/tests/filter_fdb_input/config_db.json b/tests/filter_fdb_input/config_db.json index 0f4d548c3c..612603b749 100644 --- a/tests/filter_fdb_input/config_db.json +++ b/tests/filter_fdb_input/config_db.json @@ -108,648 +108,648 @@ }, "QUEUE": { "Ethernet4|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet4|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet4|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet4|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet4|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet4|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet4|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet8|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet8|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet8|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet8|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet8|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet8|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet8|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet12|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet12|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet12|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet12|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet12|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet12|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet12|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet16|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet16|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet16|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet16|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet16|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet16|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet16|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet20|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet20|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet20|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet20|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet20|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet20|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet20|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet24|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet24|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet24|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet24|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet24|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet24|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet24|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet28|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet28|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet28|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet28|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet28|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet28|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet28|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet32|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet32|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet32|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet32|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet32|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet32|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet32|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet36|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet36|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet36|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet36|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet36|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet36|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet36|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet40|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet40|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet40|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet40|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet40|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet40|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet40|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet44|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet44|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet44|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet44|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet44|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet44|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet44|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet48|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet48|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet48|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet48|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet48|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet48|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet48|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet52|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet52|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet52|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet52|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet52|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet52|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet52|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet56|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet56|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet56|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet56|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet56|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet56|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet56|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet60|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet60|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet60|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet60|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet60|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet60|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet60|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet64|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet64|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet64|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet64|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet64|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet64|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet64|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet68|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet68|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet68|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet68|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet68|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet68|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet68|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet72|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet72|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet72|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet72|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet72|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet72|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet72|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet76|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet76|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet76|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet76|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet76|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet76|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet76|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet80|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet80|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet80|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet80|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet80|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet80|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet80|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet84|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet84|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet84|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet84|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet84|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet84|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet84|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet88|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet88|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet88|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet88|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet88|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet88|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet88|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet92|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet92|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet92|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet92|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet92|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet92|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet92|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet96|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet96|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet96|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet96|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet96|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet96|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet96|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet112|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet112|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet112|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet112|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet112|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet112|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet112|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet116|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet116|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet116|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet116|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet116|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet116|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet116|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet120|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet120|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet120|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet120|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet120|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet120|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet120|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet124|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet124|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet124|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet124|3": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet124|4": { - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]", - "scheduler": "[SCHEDULER|scheduler.1]" + "wred_profile": "AZURE_LOSSLESS", + "scheduler": "scheduler.1" }, "Ethernet124|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, "Ethernet124|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" } }, "PORTCHANNEL_MEMBER": { @@ -1131,88 +1131,88 @@ }, "BUFFER_PG": { "Ethernet4|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "Ethernet8|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "Ethernet12|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "Ethernet16|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "Ethernet20|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "Ethernet24|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "Ethernet28|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "Ethernet32|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "Ethernet36|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "Ethernet40|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "Ethernet44|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "Ethernet48|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "Ethernet52|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "Ethernet56|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "Ethernet60|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "Ethernet64|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "Ethernet68|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "Ethernet72|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "Ethernet76|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "Ethernet80|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "Ethernet84|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "Ethernet88|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "Ethernet92|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "Ethernet96|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "Ethernet112|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "Ethernet116|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "Ethernet120|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "Ethernet124|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" } }, "BGP_NEIGHBOR": { @@ -1484,200 +1484,200 @@ }, "PORT_QOS_MAP": { "Ethernet4": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" }, "Ethernet8": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" }, "Ethernet12": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" }, "Ethernet16": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" }, "Ethernet20": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" }, "Ethernet24": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" }, "Ethernet28": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" }, "Ethernet32": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" }, "Ethernet36": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" }, "Ethernet40": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" }, "Ethernet44": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" }, "Ethernet48": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" }, "Ethernet52": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" }, "Ethernet56": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" }, "Ethernet60": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" }, "Ethernet64": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" }, "Ethernet68": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" }, "Ethernet72": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" }, "Ethernet76": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" }, "Ethernet80": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" }, "Ethernet84": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" }, "Ethernet88": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" }, "Ethernet92": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" }, "Ethernet96": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" }, "Ethernet112": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" }, "Ethernet116": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" }, "Ethernet120": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" }, "Ethernet124": { - "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]", + "tc_to_pg_map": "AZURE", + "tc_to_queue_map": "AZURE", "pfc_enable": "3,4", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", - "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]" + "pfc_to_queue_map": "AZURE", + "dscp_to_tc_map": "AZURE" } }, "DHCP_SERVER": { @@ -1806,256 +1806,256 @@ }, "BUFFER_QUEUE": { "Ethernet4|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet4|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet4|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet8|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet8|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet8|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet12|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet12|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet12|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet16|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet16|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet16|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet20|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet20|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet20|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet24|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet24|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet24|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet28|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet28|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet28|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet32|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet32|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet32|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet36|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet36|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet36|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet40|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet40|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet40|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet44|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet44|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet44|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet48|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet48|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet48|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet52|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet52|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet52|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet56|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet56|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet56|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet60|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet60|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet60|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet64|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet64|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet64|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet68|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet68|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet68|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet72|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet72|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet72|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet76|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet76|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet76|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet80|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet80|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet80|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet84|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet84|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet84|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet88|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet88|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet88|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet92|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet92|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet92|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet96|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet96|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet96|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet112|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet112|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet112|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet116|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet116|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet116|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet120|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet120|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet120|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet124|0-2": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" }, "Ethernet124|3-4": { - "profile": "[BUFFER_PROFILE|egress_lossless_profile]" + "profile": "egress_lossless_profile" }, "Ethernet124|5-6": { - "profile": "[BUFFER_PROFILE|egress_lossy_profile]" + "profile": "egress_lossy_profile" } }, "WRED_PROFILE": { @@ -2502,17 +2502,17 @@ "BUFFER_PROFILE": { "egress_lossless_profile": { "static_th": "12766208", - "pool": "[BUFFER_POOL|egress_lossless_pool]", + "pool": "egress_lossless_pool", "size": "0" }, "egress_lossy_profile": { "dynamic_th": "3", - "pool": "[BUFFER_POOL|egress_lossy_pool]", + "pool": "egress_lossy_pool", "size": "1518" }, "ingress_lossy_profile": { "dynamic_th": "3", - "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "size": "0" } } diff --git a/tests/mock_tables/config_db.json b/tests/mock_tables/config_db.json index a69bd173c6..07e0e28425 100644 --- a/tests/mock_tables/config_db.json +++ b/tests/mock_tables/config_db.json @@ -1709,26 +1709,26 @@ }, "BUFFER_PROFILE|ingress_lossy_profile": { "dynamic_th": "3", - "pool": "[BUFFER_POOL|ingress_lossy_pool]", + "pool": "ingress_lossy_pool", "size": "0" }, "BUFFER_PROFILE|headroom_profile": { "dynamic_th": "0", - "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "xon": "18432", "xoff": "32768", "size": "51200" }, "BUFFER_PROFILE|alpha_profile": { "dynamic_th": "0", - "pool": "[BUFFER_POOL|ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "headroom_type": "dynamic" }, "BUFFER_PG|Ethernet0|3-4": { "profile": "NULL" }, "BUFFER_PG|Ethernet0|0": { - "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile": "ingress_lossy_profile" }, "PORT_QOS_MAP|Ethernet0": { "pfc_enable": "3,4" diff --git a/tests/mock_tables/state_db.json b/tests/mock_tables/state_db.json index 5b028a15a2..729725fe22 100644 --- a/tests/mock_tables/state_db.json +++ b/tests/mock_tables/state_db.json @@ -603,12 +603,12 @@ }, "BUFFER_PROFILE_TABLE|ingress_lossy_profile": { "dynamic_th": "3", - "pool": "[BUFFER_POOL_TABLE|ingress_lossy_pool]", + "pool": "ingress_lossy_pool", "size": "0" }, "BUFFER_PROFILE_TABLE|headroom_profile": { "dynamic_th": "0", - "pool": "[BUFFER_POOL_TABLE|ingress_lossless_pool]", + "pool": "ingress_lossless_pool", "xon": "18432", "xoff": "32768", "size": "51200" diff --git a/tests/qos_config_input/0/buffers_config.j2 b/tests/qos_config_input/0/buffers_config.j2 index f5dbb9784f..aa7f3577ac 100644 --- a/tests/qos_config_input/0/buffers_config.j2 +++ b/tests/qos_config_input/0/buffers_config.j2 @@ -140,7 +140,7 @@ def "BUFFER_PG": { {% for port in PORT_ACTIVE %} "{{ port }}|0": { - "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile" : "ingress_lossy_profile" }{% if not loop.last %},{% endif %} {% endfor %} @@ -153,17 +153,17 @@ def "BUFFER_QUEUE": { {% for port in PORT_ACTIVE %} "{{ port }}|3-4": { - "profile" : "[BUFFER_PROFILE|egress_lossless_profile]" + "profile" : "egress_lossless_profile" }, {% endfor %} {% for port in PORT_ACTIVE %} "{{ port }}|0-2": { - "profile" : "[BUFFER_PROFILE|egress_lossy_profile]" + "profile" : "egress_lossy_profile" }, {% endfor %} {% for port in PORT_ACTIVE %} "{{ port }}|5-6": { - "profile" : "[BUFFER_PROFILE|egress_lossy_profile]" + "profile" : "egress_lossy_profile" }{% if not loop.last %},{% endif %} {% endfor %} diff --git a/tests/qos_config_input/0/buffers_defaults_t0.j2 b/tests/qos_config_input/0/buffers_defaults_t0.j2 index 38e34eb571..ff6c35e0d9 100644 --- a/tests/qos_config_input/0/buffers_defaults_t0.j2 +++ b/tests/qos_config_input/0/buffers_defaults_t0.j2 @@ -27,17 +27,17 @@ }, "BUFFER_PROFILE": { "ingress_lossy_profile": { - "pool":"[BUFFER_POOL|ingress_lossless_pool]", + "pool":"ingress_lossless_pool", "size":"0", "dynamic_th":"3" }, "egress_lossless_profile": { - "pool":"[BUFFER_POOL|egress_lossless_pool]", + "pool":"egress_lossless_pool", "size":"0", "static_th":"12766208" }, "egress_lossy_profile": { - "pool":"[BUFFER_POOL|egress_lossy_pool]", + "pool":"egress_lossy_pool", "size":"1518", "dynamic_th":"3" } diff --git a/tests/qos_config_input/0/buffers_defaults_t1.j2 b/tests/qos_config_input/0/buffers_defaults_t1.j2 index 38e34eb571..ff6c35e0d9 100644 --- a/tests/qos_config_input/0/buffers_defaults_t1.j2 +++ b/tests/qos_config_input/0/buffers_defaults_t1.j2 @@ -27,17 +27,17 @@ }, "BUFFER_PROFILE": { "ingress_lossy_profile": { - "pool":"[BUFFER_POOL|ingress_lossless_pool]", + "pool":"ingress_lossless_pool", "size":"0", "dynamic_th":"3" }, "egress_lossless_profile": { - "pool":"[BUFFER_POOL|egress_lossless_pool]", + "pool":"egress_lossless_pool", "size":"0", "static_th":"12766208" }, "egress_lossy_profile": { - "pool":"[BUFFER_POOL|egress_lossy_pool]", + "pool":"egress_lossy_pool", "size":"1518", "dynamic_th":"3" } diff --git a/tests/qos_config_input/0/qos_config.j2 b/tests/qos_config_input/0/qos_config.j2 index a7c361d69f..e0336b3ef8 100644 --- a/tests/qos_config_input/0/qos_config.j2 +++ b/tests/qos_config_input/0/qos_config.j2 @@ -178,15 +178,15 @@ {% for port in PORT_ACTIVE %} "{{ port }}": { {% if 'type' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['type'] in backend_device_types and 'storage_device' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['storage_device'] == 'true' %} - "dot1p_to_tc_map" : "[DOT1P_TO_TC_MAP|AZURE]", + "dot1p_to_tc_map" : "AZURE", {% else %} - "dscp_to_tc_map" : "[DSCP_TO_TC_MAP|AZURE]", + "dscp_to_tc_map" : "AZURE", {% endif %} - "tc_to_queue_map" : "[TC_TO_QUEUE_MAP|AZURE]", - "tc_to_pg_map" : "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_queue_map" : "AZURE", + "tc_to_pg_map" : "AZURE", + "pfc_to_queue_map": "AZURE", {% if asic_type in pfc_to_pg_map_supported_asics %} - "pfc_to_pg_map" : "[PFC_PRIORITY_TO_PRIORITY_GROUP_MAP|AZURE]", + "pfc_to_pg_map" : "AZURE", {% endif %} "pfc_enable" : "3,4" }{% if not loop.last %},{% endif %} @@ -217,39 +217,39 @@ "QUEUE": { {% for port in PORT_ACTIVE %} "{{ port }}|3": { - "scheduler" : "[SCHEDULER|scheduler.1]", - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + "scheduler" : "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" }, {% endfor %} {% for port in PORT_ACTIVE %} "{{ port }}|4": { - "scheduler" : "[SCHEDULER|scheduler.1]", - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + "scheduler" : "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" }, {% endfor %} {% for port in PORT_ACTIVE %} "{{ port }}|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, {% endfor %} {% for port in PORT_ACTIVE %} "{{ port }}|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, {% endfor %} {% for port in PORT_ACTIVE %} "{{ port }}|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, {% endfor %} {% for port in PORT_ACTIVE %} "{{ port }}|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, {% endfor %} {% for port in PORT_ACTIVE %} "{{ port }}|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }{% if not loop.last %},{% endif %} {% endfor %} diff --git a/tests/qos_config_input/1/buffers_config.j2 b/tests/qos_config_input/1/buffers_config.j2 index f5dbb9784f..aa7f3577ac 100644 --- a/tests/qos_config_input/1/buffers_config.j2 +++ b/tests/qos_config_input/1/buffers_config.j2 @@ -140,7 +140,7 @@ def "BUFFER_PG": { {% for port in PORT_ACTIVE %} "{{ port }}|0": { - "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile" : "ingress_lossy_profile" }{% if not loop.last %},{% endif %} {% endfor %} @@ -153,17 +153,17 @@ def "BUFFER_QUEUE": { {% for port in PORT_ACTIVE %} "{{ port }}|3-4": { - "profile" : "[BUFFER_PROFILE|egress_lossless_profile]" + "profile" : "egress_lossless_profile" }, {% endfor %} {% for port in PORT_ACTIVE %} "{{ port }}|0-2": { - "profile" : "[BUFFER_PROFILE|egress_lossy_profile]" + "profile" : "egress_lossy_profile" }, {% endfor %} {% for port in PORT_ACTIVE %} "{{ port }}|5-6": { - "profile" : "[BUFFER_PROFILE|egress_lossy_profile]" + "profile" : "egress_lossy_profile" }{% if not loop.last %},{% endif %} {% endfor %} diff --git a/tests/qos_config_input/1/buffers_defaults_t0.j2 b/tests/qos_config_input/1/buffers_defaults_t0.j2 index 38e34eb571..ff6c35e0d9 100644 --- a/tests/qos_config_input/1/buffers_defaults_t0.j2 +++ b/tests/qos_config_input/1/buffers_defaults_t0.j2 @@ -27,17 +27,17 @@ }, "BUFFER_PROFILE": { "ingress_lossy_profile": { - "pool":"[BUFFER_POOL|ingress_lossless_pool]", + "pool":"ingress_lossless_pool", "size":"0", "dynamic_th":"3" }, "egress_lossless_profile": { - "pool":"[BUFFER_POOL|egress_lossless_pool]", + "pool":"egress_lossless_pool", "size":"0", "static_th":"12766208" }, "egress_lossy_profile": { - "pool":"[BUFFER_POOL|egress_lossy_pool]", + "pool":"egress_lossy_pool", "size":"1518", "dynamic_th":"3" } diff --git a/tests/qos_config_input/1/buffers_defaults_t1.j2 b/tests/qos_config_input/1/buffers_defaults_t1.j2 index 38e34eb571..ff6c35e0d9 100644 --- a/tests/qos_config_input/1/buffers_defaults_t1.j2 +++ b/tests/qos_config_input/1/buffers_defaults_t1.j2 @@ -27,17 +27,17 @@ }, "BUFFER_PROFILE": { "ingress_lossy_profile": { - "pool":"[BUFFER_POOL|ingress_lossless_pool]", + "pool":"ingress_lossless_pool", "size":"0", "dynamic_th":"3" }, "egress_lossless_profile": { - "pool":"[BUFFER_POOL|egress_lossless_pool]", + "pool":"egress_lossless_pool", "size":"0", "static_th":"12766208" }, "egress_lossy_profile": { - "pool":"[BUFFER_POOL|egress_lossy_pool]", + "pool":"egress_lossy_pool", "size":"1518", "dynamic_th":"3" } diff --git a/tests/qos_config_input/1/qos_config.j2 b/tests/qos_config_input/1/qos_config.j2 index a7c361d69f..e0336b3ef8 100644 --- a/tests/qos_config_input/1/qos_config.j2 +++ b/tests/qos_config_input/1/qos_config.j2 @@ -178,15 +178,15 @@ {% for port in PORT_ACTIVE %} "{{ port }}": { {% if 'type' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['type'] in backend_device_types and 'storage_device' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['storage_device'] == 'true' %} - "dot1p_to_tc_map" : "[DOT1P_TO_TC_MAP|AZURE]", + "dot1p_to_tc_map" : "AZURE", {% else %} - "dscp_to_tc_map" : "[DSCP_TO_TC_MAP|AZURE]", + "dscp_to_tc_map" : "AZURE", {% endif %} - "tc_to_queue_map" : "[TC_TO_QUEUE_MAP|AZURE]", - "tc_to_pg_map" : "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_queue_map" : "AZURE", + "tc_to_pg_map" : "AZURE", + "pfc_to_queue_map": "AZURE", {% if asic_type in pfc_to_pg_map_supported_asics %} - "pfc_to_pg_map" : "[PFC_PRIORITY_TO_PRIORITY_GROUP_MAP|AZURE]", + "pfc_to_pg_map" : "AZURE", {% endif %} "pfc_enable" : "3,4" }{% if not loop.last %},{% endif %} @@ -217,39 +217,39 @@ "QUEUE": { {% for port in PORT_ACTIVE %} "{{ port }}|3": { - "scheduler" : "[SCHEDULER|scheduler.1]", - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + "scheduler" : "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" }, {% endfor %} {% for port in PORT_ACTIVE %} "{{ port }}|4": { - "scheduler" : "[SCHEDULER|scheduler.1]", - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + "scheduler" : "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" }, {% endfor %} {% for port in PORT_ACTIVE %} "{{ port }}|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, {% endfor %} {% for port in PORT_ACTIVE %} "{{ port }}|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, {% endfor %} {% for port in PORT_ACTIVE %} "{{ port }}|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, {% endfor %} {% for port in PORT_ACTIVE %} "{{ port }}|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, {% endfor %} {% for port in PORT_ACTIVE %} "{{ port }}|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }{% if not loop.last %},{% endif %} {% endfor %} diff --git a/tests/qos_config_input/buffers_config.j2 b/tests/qos_config_input/buffers_config.j2 index f5dbb9784f..aa7f3577ac 100644 --- a/tests/qos_config_input/buffers_config.j2 +++ b/tests/qos_config_input/buffers_config.j2 @@ -140,7 +140,7 @@ def "BUFFER_PG": { {% for port in PORT_ACTIVE %} "{{ port }}|0": { - "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]" + "profile" : "ingress_lossy_profile" }{% if not loop.last %},{% endif %} {% endfor %} @@ -153,17 +153,17 @@ def "BUFFER_QUEUE": { {% for port in PORT_ACTIVE %} "{{ port }}|3-4": { - "profile" : "[BUFFER_PROFILE|egress_lossless_profile]" + "profile" : "egress_lossless_profile" }, {% endfor %} {% for port in PORT_ACTIVE %} "{{ port }}|0-2": { - "profile" : "[BUFFER_PROFILE|egress_lossy_profile]" + "profile" : "egress_lossy_profile" }, {% endfor %} {% for port in PORT_ACTIVE %} "{{ port }}|5-6": { - "profile" : "[BUFFER_PROFILE|egress_lossy_profile]" + "profile" : "egress_lossy_profile" }{% if not loop.last %},{% endif %} {% endfor %} diff --git a/tests/qos_config_input/buffers_defaults_t1.j2 b/tests/qos_config_input/buffers_defaults_t1.j2 index 38e34eb571..ff6c35e0d9 100644 --- a/tests/qos_config_input/buffers_defaults_t1.j2 +++ b/tests/qos_config_input/buffers_defaults_t1.j2 @@ -27,17 +27,17 @@ }, "BUFFER_PROFILE": { "ingress_lossy_profile": { - "pool":"[BUFFER_POOL|ingress_lossless_pool]", + "pool":"ingress_lossless_pool", "size":"0", "dynamic_th":"3" }, "egress_lossless_profile": { - "pool":"[BUFFER_POOL|egress_lossless_pool]", + "pool":"egress_lossless_pool", "size":"0", "static_th":"12766208" }, "egress_lossy_profile": { - "pool":"[BUFFER_POOL|egress_lossy_pool]", + "pool":"egress_lossy_pool", "size":"1518", "dynamic_th":"3" } diff --git a/tests/qos_config_input/qos_config.j2 b/tests/qos_config_input/qos_config.j2 index a7c361d69f..e0336b3ef8 100644 --- a/tests/qos_config_input/qos_config.j2 +++ b/tests/qos_config_input/qos_config.j2 @@ -178,15 +178,15 @@ {% for port in PORT_ACTIVE %} "{{ port }}": { {% if 'type' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['type'] in backend_device_types and 'storage_device' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['storage_device'] == 'true' %} - "dot1p_to_tc_map" : "[DOT1P_TO_TC_MAP|AZURE]", + "dot1p_to_tc_map" : "AZURE", {% else %} - "dscp_to_tc_map" : "[DSCP_TO_TC_MAP|AZURE]", + "dscp_to_tc_map" : "AZURE", {% endif %} - "tc_to_queue_map" : "[TC_TO_QUEUE_MAP|AZURE]", - "tc_to_pg_map" : "[TC_TO_PRIORITY_GROUP_MAP|AZURE]", - "pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]", + "tc_to_queue_map" : "AZURE", + "tc_to_pg_map" : "AZURE", + "pfc_to_queue_map": "AZURE", {% if asic_type in pfc_to_pg_map_supported_asics %} - "pfc_to_pg_map" : "[PFC_PRIORITY_TO_PRIORITY_GROUP_MAP|AZURE]", + "pfc_to_pg_map" : "AZURE", {% endif %} "pfc_enable" : "3,4" }{% if not loop.last %},{% endif %} @@ -217,39 +217,39 @@ "QUEUE": { {% for port in PORT_ACTIVE %} "{{ port }}|3": { - "scheduler" : "[SCHEDULER|scheduler.1]", - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + "scheduler" : "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" }, {% endfor %} {% for port in PORT_ACTIVE %} "{{ port }}|4": { - "scheduler" : "[SCHEDULER|scheduler.1]", - "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" + "scheduler" : "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" }, {% endfor %} {% for port in PORT_ACTIVE %} "{{ port }}|0": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, {% endfor %} {% for port in PORT_ACTIVE %} "{{ port }}|1": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, {% endfor %} {% for port in PORT_ACTIVE %} "{{ port }}|2": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, {% endfor %} {% for port in PORT_ACTIVE %} "{{ port }}|5": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }, {% endfor %} {% for port in PORT_ACTIVE %} "{{ port }}|6": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler": "scheduler.0" }{% if not loop.last %},{% endif %} {% endfor %} diff --git a/tests/sku_create_input/2700_files/ACS-MSN2700/buffers_defaults_t0.j2 b/tests/sku_create_input/2700_files/ACS-MSN2700/buffers_defaults_t0.j2 index d0bce94ba5..37230af256 100644 --- a/tests/sku_create_input/2700_files/ACS-MSN2700/buffers_defaults_t0.j2 +++ b/tests/sku_create_input/2700_files/ACS-MSN2700/buffers_defaults_t0.j2 @@ -42,27 +42,27 @@ }, "BUFFER_PROFILE": { "ingress_lossless_profile": { - "pool":"[BUFFER_POOL|ingress_lossless_pool]", + "pool":"ingress_lossless_pool", "size":"0", "dynamic_th":"7" }, "ingress_lossy_profile": { - "pool":"[BUFFER_POOL|ingress_lossy_pool]", + "pool":"ingress_lossy_pool", "size":"0", "dynamic_th":"3" }, "egress_lossless_profile": { - "pool":"[BUFFER_POOL|egress_lossless_pool]", + "pool":"egress_lossless_pool", "size":"0", "dynamic_th":"7" }, "egress_lossy_profile": { - "pool":"[BUFFER_POOL|egress_lossy_pool]", + "pool":"egress_lossy_pool", "size":"9216", "dynamic_th":"7" }, "q_lossy_profile": { - "pool":"[BUFFER_POOL|egress_lossy_pool]", + "pool":"egress_lossy_pool", "size":"0", "dynamic_th":"3" } @@ -73,7 +73,7 @@ "BUFFER_PORT_INGRESS_PROFILE_LIST": { {% for port in port_names.split(',') %} "{{ port }}": { - "profile_list" : "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list" : "ingress_lossless_profile,ingress_lossy_profile" }{% if not loop.last %},{% endif %} {% endfor %} @@ -81,7 +81,7 @@ "BUFFER_PORT_EGRESS_PROFILE_LIST": { {% for port in port_names.split(',') %} "{{ port }}": { - "profile_list" : "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list" : "egress_lossless_profile,egress_lossy_profile" }{% if not loop.last %},{% endif %} {% endfor %} @@ -92,17 +92,17 @@ "BUFFER_QUEUE": { {% for port in port_names.split(',') %} "{{ port }}|3-4": { - "profile" : "[BUFFER_PROFILE|egress_lossless_profile]" + "profile" : "egress_lossless_profile" }, {% endfor %} {% for port in port_names.split(',') %} "{{ port }}|0-2": { - "profile" : "[BUFFER_PROFILE|q_lossy_profile]" + "profile" : "q_lossy_profile" }, {% endfor %} {% for port in port_names.split(',') %} "{{ port }}|5-6": { - "profile" : "[BUFFER_PROFILE|q_lossy_profile]" + "profile" : "q_lossy_profile" }{% if not loop.last %},{% endif %} {% endfor %} diff --git a/tests/sku_create_input/2700_files/ACS-MSN2700/buffers_defaults_t1.j2 b/tests/sku_create_input/2700_files/ACS-MSN2700/buffers_defaults_t1.j2 index 5514c47a40..6adfd1f26f 100644 --- a/tests/sku_create_input/2700_files/ACS-MSN2700/buffers_defaults_t1.j2 +++ b/tests/sku_create_input/2700_files/ACS-MSN2700/buffers_defaults_t1.j2 @@ -42,27 +42,27 @@ }, "BUFFER_PROFILE": { "ingress_lossless_profile": { - "pool":"[BUFFER_POOL|ingress_lossless_pool]", + "pool":"ingress_lossless_pool", "size":"0", "dynamic_th":"7" }, "ingress_lossy_profile": { - "pool":"[BUFFER_POOL|ingress_lossy_pool]", + "pool":"ingress_lossy_pool", "size":"0", "dynamic_th":"3" }, "egress_lossless_profile": { - "pool":"[BUFFER_POOL|egress_lossless_pool]", + "pool":"egress_lossless_pool", "size":"0", "dynamic_th":"7" }, "egress_lossy_profile": { - "pool":"[BUFFER_POOL|egress_lossy_pool]", + "pool":"egress_lossy_pool", "size":"9216", "dynamic_th":"7" }, "q_lossy_profile": { - "pool":"[BUFFER_POOL|egress_lossy_pool]", + "pool":"egress_lossy_pool", "size":"0", "dynamic_th":"3" } @@ -73,7 +73,7 @@ "BUFFER_PORT_INGRESS_PROFILE_LIST": { {% for port in port_names.split(',') %} "{{ port }}": { - "profile_list" : "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list" : "ingress_lossless_profile,ingress_lossy_profile" }{% if not loop.last %},{% endif %} {% endfor %} @@ -81,7 +81,7 @@ "BUFFER_PORT_EGRESS_PROFILE_LIST": { {% for port in port_names.split(',') %} "{{ port }}": { - "profile_list" : "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list" : "egress_lossless_profile,egress_lossy_profile" }{% if not loop.last %},{% endif %} {% endfor %} @@ -92,17 +92,17 @@ "BUFFER_QUEUE": { {% for port in port_names.split(',') %} "{{ port }}|3-4": { - "profile" : "[BUFFER_PROFILE|egress_lossless_profile]" + "profile" : "egress_lossless_profile" }, {% endfor %} {% for port in port_names.split(',') %} "{{ port }}|0-2": { - "profile" : "[BUFFER_PROFILE|q_lossy_profile]" + "profile" : "q_lossy_profile" }, {% endfor %} {% for port in port_names.split(',') %} "{{ port }}|5-6": { - "profile" : "[BUFFER_PROFILE|q_lossy_profile]" + "profile" : "q_lossy_profile" }{% if not loop.last %},{% endif %} {% endfor %} diff --git a/tests/sku_create_input/2700_files/Mellanox-SN2700-D48C8/buffers_defaults_t0.j2 b/tests/sku_create_input/2700_files/Mellanox-SN2700-D48C8/buffers_defaults_t0.j2 index 6fc5efcf9b..db4d794ad3 100644 --- a/tests/sku_create_input/2700_files/Mellanox-SN2700-D48C8/buffers_defaults_t0.j2 +++ b/tests/sku_create_input/2700_files/Mellanox-SN2700-D48C8/buffers_defaults_t0.j2 @@ -36,27 +36,27 @@ }, "BUFFER_PROFILE": { "ingress_lossless_profile": { - "pool":"[BUFFER_POOL|ingress_lossless_pool]", + "pool":"ingress_lossless_pool", "size":"0", "dynamic_th":"7" }, "ingress_lossy_profile": { - "pool":"[BUFFER_POOL|ingress_lossless_pool]", + "pool":"ingress_lossless_pool", "size":"0", "dynamic_th":"3" }, "egress_lossless_profile": { - "pool":"[BUFFER_POOL|egress_lossless_pool]", + "pool":"egress_lossless_pool", "size":"0", "dynamic_th":"7" }, "egress_lossy_profile": { - "pool":"[BUFFER_POOL|egress_lossy_pool]", + "pool":"egress_lossy_pool", "size":"9216", "dynamic_th":"7" }, "q_lossy_profile": { - "pool":"[BUFFER_POOL|egress_lossy_pool]", + "pool":"egress_lossy_pool", "size":"0", "dynamic_th":"3" } @@ -67,7 +67,7 @@ "BUFFER_PORT_INGRESS_PROFILE_LIST": { {% for port in port_names.split(',') %} "{{ port }}": { - "profile_list" : "[BUFFER_PROFILE|ingress_lossless_profile]" + "profile_list" : "ingress_lossless_profile" }{% if not loop.last %},{% endif %} {% endfor %} @@ -75,7 +75,7 @@ "BUFFER_PORT_EGRESS_PROFILE_LIST": { {% for port in port_names.split(',') %} "{{ port }}": { - "profile_list" : "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list" : "egress_lossless_profile,egress_lossy_profile" }{% if not loop.last %},{% endif %} {% endfor %} @@ -86,17 +86,17 @@ "BUFFER_QUEUE": { {% for port in port_names.split(',') %} "{{ port }}|3-4": { - "profile" : "[BUFFER_PROFILE|egress_lossless_profile]" + "profile" : "egress_lossless_profile" }, {% endfor %} {% for port in port_names.split(',') %} "{{ port }}|0-2": { - "profile" : "[BUFFER_PROFILE|q_lossy_profile]" + "profile" : "q_lossy_profile" }, {% endfor %} {% for port in port_names.split(',') %} "{{ port }}|5-6": { - "profile" : "[BUFFER_PROFILE|q_lossy_profile]" + "profile" : "q_lossy_profile" }{% if not loop.last %},{% endif %} {% endfor %} diff --git a/tests/sku_create_input/2700_files/Mellanox-SN2700-D48C8/buffers_defaults_t1.j2 b/tests/sku_create_input/2700_files/Mellanox-SN2700-D48C8/buffers_defaults_t1.j2 index 95d3553925..54e4aaa4b5 100644 --- a/tests/sku_create_input/2700_files/Mellanox-SN2700-D48C8/buffers_defaults_t1.j2 +++ b/tests/sku_create_input/2700_files/Mellanox-SN2700-D48C8/buffers_defaults_t1.j2 @@ -36,27 +36,27 @@ }, "BUFFER_PROFILE": { "ingress_lossless_profile": { - "pool":"[BUFFER_POOL|ingress_lossless_pool]", + "pool":"ingress_lossless_pool", "size":"0", "dynamic_th":"7" }, "ingress_lossy_profile": { - "pool":"[BUFFER_POOL|ingress_lossless_pool]", + "pool":"ingress_lossless_pool", "size":"0", "dynamic_th":"3" }, "egress_lossless_profile": { - "pool":"[BUFFER_POOL|egress_lossless_pool]", + "pool":"egress_lossless_pool", "size":"0", "dynamic_th":"7" }, "egress_lossy_profile": { - "pool":"[BUFFER_POOL|egress_lossy_pool]", + "pool":"egress_lossy_pool", "size":"9216", "dynamic_th":"7" }, "q_lossy_profile": { - "pool":"[BUFFER_POOL|egress_lossy_pool]", + "pool":"egress_lossy_pool", "size":"0", "dynamic_th":"3" } @@ -67,7 +67,7 @@ "BUFFER_PORT_INGRESS_PROFILE_LIST": { {% for port in port_names.split(',') %} "{{ port }}": { - "profile_list" : "[BUFFER_PROFILE|ingress_lossless_profile]" + "profile_list" : "ingress_lossless_profile" }{% if not loop.last %},{% endif %} {% endfor %} @@ -75,7 +75,7 @@ "BUFFER_PORT_EGRESS_PROFILE_LIST": { {% for port in port_names.split(',') %} "{{ port }}": { - "profile_list" : "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list" : "egress_lossless_profile,egress_lossy_profile" }{% if not loop.last %},{% endif %} {% endfor %} @@ -86,17 +86,17 @@ "BUFFER_QUEUE": { {% for port in port_names.split(',') %} "{{ port }}|3-4": { - "profile" : "[BUFFER_PROFILE|egress_lossless_profile]" + "profile" : "egress_lossless_profile" }, {% endfor %} {% for port in port_names.split(',') %} "{{ port }}|0-2": { - "profile" : "[BUFFER_PROFILE|q_lossy_profile]" + "profile" : "q_lossy_profile" }, {% endfor %} {% for port in port_names.split(',') %} "{{ port }}|5-6": { - "profile" : "[BUFFER_PROFILE|q_lossy_profile]" + "profile" : "q_lossy_profile" }{% if not loop.last %},{% endif %} {% endfor %} diff --git a/tests/sku_create_input/3800_files/ACS-MSN3800/buffers_defaults_t0.j2 b/tests/sku_create_input/3800_files/ACS-MSN3800/buffers_defaults_t0.j2 index b83e142448..82631fa1b3 100644 --- a/tests/sku_create_input/3800_files/ACS-MSN3800/buffers_defaults_t0.j2 +++ b/tests/sku_create_input/3800_files/ACS-MSN3800/buffers_defaults_t0.j2 @@ -42,27 +42,27 @@ }, "BUFFER_PROFILE": { "ingress_lossless_profile": { - "pool":"[BUFFER_POOL|ingress_lossless_pool]", + "pool":"ingress_lossless_pool", "size":"0", "dynamic_th":"7" }, "ingress_lossy_profile": { - "pool":"[BUFFER_POOL|ingress_lossy_pool]", + "pool":"ingress_lossy_pool", "size":"0", "dynamic_th":"3" }, "egress_lossless_profile": { - "pool":"[BUFFER_POOL|egress_lossless_pool]", + "pool":"egress_lossless_pool", "size":"0", "dynamic_th":"7" }, "egress_lossy_profile": { - "pool":"[BUFFER_POOL|egress_lossy_pool]", + "pool":"egress_lossy_pool", "size":"9216", "dynamic_th":"7" }, "q_lossy_profile": { - "pool":"[BUFFER_POOL|egress_lossy_pool]", + "pool":"egress_lossy_pool", "size":"0", "dynamic_th":"3" } @@ -73,7 +73,7 @@ "BUFFER_PORT_INGRESS_PROFILE_LIST": { {% for port in port_names.split(',') %} "{{ port }}": { - "profile_list" : "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list" : "ingress_lossless_profile,ingress_lossy_profile" }{% if not loop.last %},{% endif %} {% endfor %} @@ -81,7 +81,7 @@ "BUFFER_PORT_EGRESS_PROFILE_LIST": { {% for port in port_names.split(',') %} "{{ port }}": { - "profile_list" : "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list" : "egress_lossless_profile,egress_lossy_profile" }{% if not loop.last %},{% endif %} {% endfor %} @@ -92,17 +92,17 @@ "BUFFER_QUEUE": { {% for port in port_names.split(',') %} "{{ port }}|3-4": { - "profile" : "[BUFFER_PROFILE|egress_lossless_profile]" + "profile" : "egress_lossless_profile" }, {% endfor %} {% for port in port_names.split(',') %} "{{ port }}|0-2": { - "profile" : "[BUFFER_PROFILE|q_lossy_profile]" + "profile" : "q_lossy_profile" }, {% endfor %} {% for port in port_names.split(',') %} "{{ port }}|5-6": { - "profile" : "[BUFFER_PROFILE|q_lossy_profile]" + "profile" : "q_lossy_profile" }{% if not loop.last %},{% endif %} {% endfor %} diff --git a/tests/sku_create_input/3800_files/ACS-MSN3800/buffers_defaults_t1.j2 b/tests/sku_create_input/3800_files/ACS-MSN3800/buffers_defaults_t1.j2 index abcab930c6..44ef77cf93 100644 --- a/tests/sku_create_input/3800_files/ACS-MSN3800/buffers_defaults_t1.j2 +++ b/tests/sku_create_input/3800_files/ACS-MSN3800/buffers_defaults_t1.j2 @@ -42,27 +42,27 @@ }, "BUFFER_PROFILE": { "ingress_lossless_profile": { - "pool":"[BUFFER_POOL|ingress_lossless_pool]", + "pool":"ingress_lossless_pool", "size":"0", "dynamic_th":"7" }, "ingress_lossy_profile": { - "pool":"[BUFFER_POOL|ingress_lossy_pool]", + "pool":"ingress_lossy_pool", "size":"0", "dynamic_th":"3" }, "egress_lossless_profile": { - "pool":"[BUFFER_POOL|egress_lossless_pool]", + "pool":"egress_lossless_pool", "size":"0", "dynamic_th":"7" }, "egress_lossy_profile": { - "pool":"[BUFFER_POOL|egress_lossy_pool]", + "pool":"egress_lossy_pool", "size":"9216", "dynamic_th":"7" }, "q_lossy_profile": { - "pool":"[BUFFER_POOL|egress_lossy_pool]", + "pool":"egress_lossy_pool", "size":"0", "dynamic_th":"3" } @@ -73,7 +73,7 @@ "BUFFER_PORT_INGRESS_PROFILE_LIST": { {% for port in port_names.split(',') %} "{{ port }}": { - "profile_list" : "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]" + "profile_list" : "ingress_lossless_profile,ingress_lossy_profile" }{% if not loop.last %},{% endif %} {% endfor %} @@ -81,7 +81,7 @@ "BUFFER_PORT_EGRESS_PROFILE_LIST": { {% for port in port_names.split(',') %} "{{ port }}": { - "profile_list" : "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list" : "egress_lossless_profile,egress_lossy_profile" }{% if not loop.last %},{% endif %} {% endfor %} @@ -92,17 +92,17 @@ "BUFFER_QUEUE": { {% for port in port_names.split(',') %} "{{ port }}|3-4": { - "profile" : "[BUFFER_PROFILE|egress_lossless_profile]" + "profile" : "egress_lossless_profile" }, {% endfor %} {% for port in port_names.split(',') %} "{{ port }}|0-2": { - "profile" : "[BUFFER_PROFILE|q_lossy_profile]" + "profile" : "q_lossy_profile" }, {% endfor %} {% for port in port_names.split(',') %} "{{ port }}|5-6": { - "profile" : "[BUFFER_PROFILE|q_lossy_profile]" + "profile" : "q_lossy_profile" }{% if not loop.last %},{% endif %} {% endfor %} diff --git a/tests/sku_create_input/3800_files/Mellanox-SN3800-D28C50/buffers_defaults_t0.j2 b/tests/sku_create_input/3800_files/Mellanox-SN3800-D28C50/buffers_defaults_t0.j2 index c64f1c5486..ac6b58a305 100644 --- a/tests/sku_create_input/3800_files/Mellanox-SN3800-D28C50/buffers_defaults_t0.j2 +++ b/tests/sku_create_input/3800_files/Mellanox-SN3800-D28C50/buffers_defaults_t0.j2 @@ -36,27 +36,27 @@ }, "BUFFER_PROFILE": { "ingress_lossless_profile": { - "pool":"[BUFFER_POOL|ingress_lossless_pool]", + "pool":"ingress_lossless_pool", "size":"0", "dynamic_th":"7" }, "ingress_lossy_profile": { - "pool":"[BUFFER_POOL|ingress_lossless_pool]", + "pool":"ingress_lossless_pool", "size":"0", "dynamic_th":"3" }, "egress_lossless_profile": { - "pool":"[BUFFER_POOL|egress_lossless_pool]", + "pool":"egress_lossless_pool", "size":"0", "dynamic_th":"7" }, "egress_lossy_profile": { - "pool":"[BUFFER_POOL|egress_lossy_pool]", + "pool":"egress_lossy_pool", "size":"9216", "dynamic_th":"7" }, "q_lossy_profile": { - "pool":"[BUFFER_POOL|egress_lossy_pool]", + "pool":"egress_lossy_pool", "size":"0", "dynamic_th":"3" } @@ -67,7 +67,7 @@ "BUFFER_PORT_INGRESS_PROFILE_LIST": { {% for port in port_names.split(',') %} "{{ port }}": { - "profile_list" : "[BUFFER_PROFILE|ingress_lossless_profile]" + "profile_list" : "ingress_lossless_profile" }{% if not loop.last %},{% endif %} {% endfor %} @@ -75,7 +75,7 @@ "BUFFER_PORT_EGRESS_PROFILE_LIST": { {% for port in port_names.split(',') %} "{{ port }}": { - "profile_list" : "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list" : "egress_lossless_profile,egress_lossy_profile" }{% if not loop.last %},{% endif %} {% endfor %} @@ -86,17 +86,17 @@ "BUFFER_QUEUE": { {% for port in port_names.split(',') %} "{{ port }}|3-4": { - "profile" : "[BUFFER_PROFILE|egress_lossless_profile]" + "profile" : "egress_lossless_profile" }, {% endfor %} {% for port in port_names.split(',') %} "{{ port }}|0-2": { - "profile" : "[BUFFER_PROFILE|q_lossy_profile]" + "profile" : "q_lossy_profile" }, {% endfor %} {% for port in port_names.split(',') %} "{{ port }}|5-6": { - "profile" : "[BUFFER_PROFILE|q_lossy_profile]" + "profile" : "q_lossy_profile" }{% if not loop.last %},{% endif %} {% endfor %} diff --git a/tests/sku_create_input/3800_files/Mellanox-SN3800-D28C50/buffers_defaults_t1.j2 b/tests/sku_create_input/3800_files/Mellanox-SN3800-D28C50/buffers_defaults_t1.j2 index bbb51cc778..7f2f4afc90 100644 --- a/tests/sku_create_input/3800_files/Mellanox-SN3800-D28C50/buffers_defaults_t1.j2 +++ b/tests/sku_create_input/3800_files/Mellanox-SN3800-D28C50/buffers_defaults_t1.j2 @@ -36,27 +36,27 @@ }, "BUFFER_PROFILE": { "ingress_lossless_profile": { - "pool":"[BUFFER_POOL|ingress_lossless_pool]", + "pool":"ingress_lossless_pool", "size":"0", "dynamic_th":"7" }, "ingress_lossy_profile": { - "pool":"[BUFFER_POOL|ingress_lossless_pool]", + "pool":"ingress_lossless_pool", "size":"0", "dynamic_th":"3" }, "egress_lossless_profile": { - "pool":"[BUFFER_POOL|egress_lossless_pool]", + "pool":"egress_lossless_pool", "size":"0", "dynamic_th":"7" }, "egress_lossy_profile": { - "pool":"[BUFFER_POOL|egress_lossy_pool]", + "pool":"egress_lossy_pool", "size":"9216", "dynamic_th":"7" }, "q_lossy_profile": { - "pool":"[BUFFER_POOL|egress_lossy_pool]", + "pool":"egress_lossy_pool", "size":"0", "dynamic_th":"3" } @@ -67,7 +67,7 @@ "BUFFER_PORT_INGRESS_PROFILE_LIST": { {% for port in port_names.split(',') %} "{{ port }}": { - "profile_list" : "[BUFFER_PROFILE|ingress_lossless_profile]" + "profile_list" : "ingress_lossless_profile" }{% if not loop.last %},{% endif %} {% endfor %} @@ -75,7 +75,7 @@ "BUFFER_PORT_EGRESS_PROFILE_LIST": { {% for port in port_names.split(',') %} "{{ port }}": { - "profile_list" : "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + "profile_list" : "egress_lossless_profile,egress_lossy_profile" }{% if not loop.last %},{% endif %} {% endfor %} @@ -86,17 +86,17 @@ "BUFFER_QUEUE": { {% for port in port_names.split(',') %} "{{ port }}|3-4": { - "profile" : "[BUFFER_PROFILE|egress_lossless_profile]" + "profile" : "egress_lossless_profile" }, {% endfor %} {% for port in port_names.split(',') %} "{{ port }}|0-2": { - "profile" : "[BUFFER_PROFILE|q_lossy_profile]" + "profile" : "q_lossy_profile" }, {% endfor %} {% for port in port_names.split(',') %} "{{ port }}|5-6": { - "profile" : "[BUFFER_PROFILE|q_lossy_profile]" + "profile" : "q_lossy_profile" }{% if not loop.last %},{% endif %} {% endfor %} From 171eb4f4c3dff0c75e38c9f4dfbdbeb72a8eeb5a Mon Sep 17 00:00:00 2001 From: Longxiang Lyu <35479537+lolyu@users.noreply.github.com> Date: Fri, 3 Sep 2021 14:35:50 +0800 Subject: [PATCH 289/342] [sonic_installer] Add swap setup support (#1787) What I did Let's add swap memory setup support for sonic_installer command so it could run on devices with limited memory resources. How I did it Add the following new options to sonic_installer: * --skip-setup-swap: if present, will skip setup swap memory. * --swap-mem-size: this will change the swap memory size(the default swap size is 1024 MiB) * --total-mem-threshold: if the system total memory is less than the value passed to --total-mem-threshold(default 2048 MiB), sonic_installer will setup swap memory. * --available-mem-threshold: if the system available memory is less than the value passed to --available-mem-threshold(default 1200 MiB), sonic_installer will setup swap memory. Add class MutuallyExclusiveOption to check the mutually-exclusive relationship between options. Add class SWAPAllocator to support swap memory setup/remove functionalities. NOTE: when sonic_installer tries to setup swap, if the system disk free space is less than 4096 MiB, sonic_installer will not setup swap memory. How to verify it Run sonic_installer over devices with limited memory --- sonic_installer/main.py | 116 +++++++++++++++- tests/swap_allocator_test.py | 252 +++++++++++++++++++++++++++++++++++ utilities_common/cli.py | 30 +++++ 3 files changed, 396 insertions(+), 2 deletions(-) create mode 100644 tests/swap_allocator_test.py diff --git a/sonic_installer/main.py b/sonic_installer/main.py index 322aac8220..79022408e1 100644 --- a/sonic_installer/main.py +++ b/sonic_installer/main.py @@ -4,6 +4,7 @@ import subprocess import sys import time +import utilities_common.cli as clicommon from urllib.request import urlopen, urlretrieve import click @@ -367,6 +368,102 @@ def migrate_sonic_packages(bootloader, binary_image_version): umount(new_image_mount, raise_exception=False) +class SWAPAllocator(object): + """Context class to allocate SWAP memory.""" + + SWAP_MEM_SIZE = 1024 + DISK_FREESPACE_THRESHOLD = 4 * 1024 + TOTAL_MEM_THRESHOLD = 2048 + AVAILABLE_MEM_THRESHOLD = 1200 + SWAP_FILE_PATH = '/host/swapfile' + KiB_TO_BYTES_FACTOR = 1024 + MiB_TO_BYTES_FACTOR = 1024 * 1024 + + def __init__(self, allocate, swap_mem_size=None, total_mem_threshold=None, available_mem_threshold=None): + """ + Initialize the SWAP memory allocator. + The allocator will try to setup SWAP memory only if all the below conditions are met: + - allocate evaluates to True + - disk has enough space(> DISK_MEM_THRESHOLD) + - either system total memory < total_mem_threshold or system available memory < available_mem_threshold + + @param allocate: True to allocate SWAP memory if necessarry + @param swap_mem_size: the size of SWAP memory to allocate(in MiB) + @param total_mem_threshold: the system totla memory threshold(in MiB) + @param available_mem_threshold: the system available memory threshold(in MiB) + """ + self.allocate = allocate + self.swap_mem_size = SWAPAllocator.SWAP_MEM_SIZE if swap_mem_size is None else swap_mem_size + self.total_mem_threshold = SWAPAllocator.TOTAL_MEM_THRESHOLD if total_mem_threshold is None else total_mem_threshold + self.available_mem_threshold = SWAPAllocator.AVAILABLE_MEM_THRESHOLD if available_mem_threshold is None else available_mem_threshold + self.is_allocated = False + + @staticmethod + def get_disk_freespace(path): + """Return free disk space in bytes.""" + fs_stats = os.statvfs(path) + return fs_stats.f_bsize * fs_stats.f_bavail + + @staticmethod + def read_from_meminfo(): + """Read information from /proc/meminfo.""" + meminfo = {} + with open("/proc/meminfo") as fd: + for line in fd.readlines(): + if line: + fields = line.split() + if len(fields) >= 2 and fields[1].isdigit(): + meminfo[fields[0].rstrip(":")] = int(fields[1]) + return meminfo + + def setup_swapmem(self): + swapfile = SWAPAllocator.SWAP_FILE_PATH + with open(swapfile, 'wb') as fd: + os.posix_fallocate(fd.fileno(), 0, self.swap_mem_size * SWAPAllocator.MiB_TO_BYTES_FACTOR) + os.chmod(swapfile, 0o600) + run_command(f'mkswap {swapfile}; swapon {swapfile}') + + def remove_swapmem(self): + swapfile = SWAPAllocator.SWAP_FILE_PATH + run_command_or_raise(['swapoff', swapfile], raise_exception=False) + try: + os.unlink(swapfile) + finally: + pass + + def __enter__(self): + if self.allocate: + if self.get_disk_freespace('/host') < max(SWAPAllocator.DISK_FREESPACE_THRESHOLD, self.swap_mem_size) * SWAPAllocator.MiB_TO_BYTES_FACTOR: + echo_and_log("Failed to setup SWAP memory due to insufficient disk free space...", LOG_ERR) + return + meminfo = self.read_from_meminfo() + mem_total_in_bytes = meminfo["MemTotal"] * SWAPAllocator.KiB_TO_BYTES_FACTOR + mem_avail_in_bytes = meminfo["MemAvailable"] * SWAPAllocator.KiB_TO_BYTES_FACTOR + if (mem_total_in_bytes < self.total_mem_threshold * SWAPAllocator.MiB_TO_BYTES_FACTOR + or mem_avail_in_bytes < self.available_mem_threshold * SWAPAllocator.MiB_TO_BYTES_FACTOR): + echo_and_log("Setup SWAP memory") + swapfile = SWAPAllocator.SWAP_FILE_PATH + if os.path.exists(swapfile): + self.remove_swapmem() + try: + self.setup_swapmem() + except Exception: + self.remove_swapmem() + raise + self.is_allocated = True + + def __exit__(self, *exc_info): + if self.is_allocated: + self.remove_swapmem() + + +def validate_positive_int(ctx, param, value): + """Callback to validate param passed is a positive integer.""" + if isinstance(value, int) and value > 0: + return value + raise click.BadParameter("Must be a positive integer") + + # Main entrypoint @click.group(cls=AliasedGroup) def sonic_installer(): @@ -389,8 +486,22 @@ def sonic_installer(): help="Do not migrate current configuration to the newly installed image") @click.option('--skip-package-migration', is_flag=True, help="Do not migrate current packages to the newly installed image") +@click.option('--skip-setup-swap', is_flag=True, + help='Skip setup temporary SWAP memory used for installation') +@click.option('--swap-mem-size', default=1024, type=int, show_default='1024 MiB', + help='SWAP memory space size', callback=validate_positive_int, + cls=clicommon.MutuallyExclusiveOption, mutually_exclusive=['skip_setup_swap']) +@click.option('--total-mem-threshold', default=2048, type=int, show_default='2048 MiB', + help='If system total memory is lower than threshold, setup SWAP memory', + cls=clicommon.MutuallyExclusiveOption, mutually_exclusive=['skip_setup_swap'], + callback=validate_positive_int) +@click.option('--available-mem-threshold', default=1200, type=int, show_default='1200 MiB', + help='If system available memory is lower than threhold, setup SWAP memory', + cls=clicommon.MutuallyExclusiveOption, mutually_exclusive=['skip_setup_swap'], + callback=validate_positive_int) @click.argument('url') -def install(url, force, skip_migration=False, skip_package_migration=False): +def install(url, force, skip_migration=False, skip_package_migration=False, + skip_setup_swap=False, swap_mem_size=None, total_mem_threshold=None, available_mem_threshold=None): """ Install image from local binary or URL""" bootloader = get_bootloader() @@ -427,7 +538,8 @@ def install(url, force, skip_migration=False, skip_package_migration=False): raise click.Abort() echo_and_log("Installing image {} and setting it as default...".format(binary_image_version)) - bootloader.install_image(image_path) + with SWAPAllocator(not skip_setup_swap, swap_mem_size, total_mem_threshold, available_mem_threshold): + bootloader.install_image(image_path) # Take a backup of current configuration if skip_migration: echo_and_log("Skipping configuration migration as requested in the command option.") diff --git a/tests/swap_allocator_test.py b/tests/swap_allocator_test.py new file mode 100644 index 0000000000..033b215dd2 --- /dev/null +++ b/tests/swap_allocator_test.py @@ -0,0 +1,252 @@ +import click +import mock +import pytest +import pdb +import subprocess + +from sonic_installer.main import SWAPAllocator + + +class TestSWAPAllocator(object): + + @classmethod + def setup(cls): + print("SETUP") + + def test_read_from_meminfo(self): + proc_meminfo_lines = [ + "MemTotal: 32859496 kB", + "MemFree: 16275512 kB", + "HugePages_Total: 0", + "HugePages_Free: 0", + ] + + read_meminfo_expected_return = { + "MemTotal": 32859496, + "MemFree": 16275512, + "HugePages_Total": 0, + "HugePages_Free": 0 + } + + with mock.patch("builtins.open") as mock_open: + pseudo_fd = mock.MagicMock() + pseudo_fd.readlines = mock.MagicMock(return_value=proc_meminfo_lines) + mock_open.return_value.__enter__.return_value = pseudo_fd + read_meminfo_actual_return = SWAPAllocator.read_from_meminfo() + assert read_meminfo_actual_return == read_meminfo_expected_return + + def test_setup_swapmem(self): + with mock.patch("builtins.open") as mock_open, \ + mock.patch("os.posix_fallocate") as mock_fallocate, \ + mock.patch("os.chmod") as mock_chmod, \ + mock.patch("sonic_installer.main.run_command") as mock_run: + pseudo_fd = mock.MagicMock() + pseudo_fd_fileno = 10 + pseudo_fd.fileno.return_value = pseudo_fd_fileno + mock_open.return_value.__enter__.return_value = pseudo_fd + + swap_mem_size_in_mib = 2048 * 1024 + expected_swap_mem_size_in_bytes = swap_mem_size_in_mib * 1024 * 1024 + expected_swapfile_location = SWAPAllocator.SWAP_FILE_PATH + expected_swapfile_permission = 0o600 + swap_allocator = SWAPAllocator(allocate=True, swap_mem_size=swap_mem_size_in_mib) + swap_allocator.setup_swapmem() + + mock_fallocate.assert_called_once_with(pseudo_fd_fileno, 0, expected_swap_mem_size_in_bytes) + mock_chmod.assert_called_once_with(expected_swapfile_location, expected_swapfile_permission) + mock_run.assert_called_once_with(f'mkswap {expected_swapfile_location}; swapon {expected_swapfile_location}') + + def test_remove_swapmem(self): + with mock.patch("subprocess.Popen") as mock_popen, \ + mock.patch("os.unlink") as mock_unlink: + pseudo_subproc = mock.MagicMock() + mock_popen.return_value = pseudo_subproc + pseudo_subproc.communicate.return_value = ("swapoff: /home/swapfile: swapoff failed: No such file or directory", None) + pseudo_subproc.returncode = 255 + + swap_allocator = SWAPAllocator(allocate=True) + try: + swap_allocator.remove_swapmem() + except Exception as detail: + pytest.fail("SWAPAllocator.remove_swapmem should not raise exception %s" % repr(detail)) + + expected_swapfile_location = SWAPAllocator.SWAP_FILE_PATH + mock_popen.assert_called_once_with(['swapoff', expected_swapfile_location], stdout=subprocess.PIPE, text=True) + mock_unlink.assert_called_once_with(SWAPAllocator.SWAP_FILE_PATH) + + def test_swap_allocator_initialization_default_args(self): + expected_allocate = False + expected_swap_mem_size = SWAPAllocator.SWAP_MEM_SIZE + expected_total_mem_threshold = SWAPAllocator.TOTAL_MEM_THRESHOLD + expected_available_mem_threshold = SWAPAllocator.AVAILABLE_MEM_THRESHOLD + swap_allocator = SWAPAllocator(allocate=expected_allocate) + assert swap_allocator.allocate is expected_allocate + assert swap_allocator.swap_mem_size == expected_swap_mem_size + assert swap_allocator.total_mem_threshold == expected_total_mem_threshold + assert swap_allocator.available_mem_threshold == expected_available_mem_threshold + assert swap_allocator.is_allocated is False + + def test_swap_allocator_initialization_custom_args(self): + expected_allocate = True + expected_swap_mem_size = 2048 + expected_total_mem_threshold = 4096 + expected_available_mem_threshold = 1024 + swap_allocator = SWAPAllocator( + allocate=expected_allocate, + swap_mem_size=expected_swap_mem_size, + total_mem_threshold=expected_total_mem_threshold, + available_mem_threshold=expected_available_mem_threshold + ) + assert swap_allocator.allocate is expected_allocate + assert swap_allocator.swap_mem_size == expected_swap_mem_size + assert swap_allocator.total_mem_threshold == expected_total_mem_threshold + assert swap_allocator.available_mem_threshold == expected_available_mem_threshold + assert swap_allocator.is_allocated is False + + def test_swap_allocator_context_enter_allocate_true_insufficient_total_memory(self): + with mock.patch("sonic_installer.main.SWAPAllocator.get_disk_freespace") as mock_disk_free, \ + mock.patch("sonic_installer.main.SWAPAllocator.read_from_meminfo") as mock_meminfo, \ + mock.patch("sonic_installer.main.SWAPAllocator.setup_swapmem") as mock_setup, \ + mock.patch("sonic_installer.main.SWAPAllocator.remove_swapmem") as mock_remove, \ + mock.patch("os.path.exists") as mock_exists: + mock_disk_free.return_value = 10 * 1024 * 1024 * 1024 + mock_meminfo.return_value = { + "MemTotal": 2000000, + "MemAvailable": 1900000, + } + mock_exists.return_value = False + + swap_allocator = SWAPAllocator(allocate=True) + try: + swap_allocator.__enter__() + except Exception as detail: + pytest.fail("SWAPAllocator context manager should not raise exception %s" % repr(detail)) + mock_setup.assert_called_once() + mock_remove.assert_not_called() + assert swap_allocator.is_allocated is True + + def test_swap_allocator_context_enter_allocate_true_insufficient_available_memory(self): + with mock.patch("sonic_installer.main.SWAPAllocator.get_disk_freespace") as mock_disk_free, \ + mock.patch("sonic_installer.main.SWAPAllocator.read_from_meminfo") as mock_meminfo, \ + mock.patch("sonic_installer.main.SWAPAllocator.setup_swapmem") as mock_setup, \ + mock.patch("sonic_installer.main.SWAPAllocator.remove_swapmem") as mock_remove, \ + mock.patch("os.path.exists") as mock_exists: + mock_disk_free.return_value = 10 * 1024 * 1024 * 1024 + mock_meminfo.return_value = { + "MemTotal": 3000000, + "MemAvailable": 1000000, + } + mock_exists.return_value = False + + swap_allocator = SWAPAllocator(allocate=True) + try: + swap_allocator.__enter__() + except Exception as detail: + pytest.fail("SWAPAllocator context manager should not raise exception %s" % repr(detail)) + mock_setup.assert_called_once() + mock_remove.assert_not_called() + assert swap_allocator.is_allocated is True + + def test_swap_allocator_context_enter_allocate_true_insufficient_disk_space(self): + with mock.patch("sonic_installer.main.SWAPAllocator.get_disk_freespace") as mock_disk_free, \ + mock.patch("sonic_installer.main.SWAPAllocator.read_from_meminfo") as mock_meminfo, \ + mock.patch("sonic_installer.main.SWAPAllocator.setup_swapmem") as mock_setup, \ + mock.patch("sonic_installer.main.SWAPAllocator.remove_swapmem") as mock_remove, \ + mock.patch("os.path.exists") as mock_exists: + mock_disk_free.return_value = 1 * 1024 * 1024 * 1024 + mock_meminfo.return_value = { + "MemTotal": 32859496, + "MemAvailable": 16275512, + } + mock_exists.return_value = False + + swap_allocator = SWAPAllocator(allocate=True) + try: + swap_allocator.__enter__() + except Exception as detail: + pytest.fail("SWAPAllocator context manager should not raise exception %s" % repr(detail)) + mock_setup.assert_not_called() + mock_remove.assert_not_called() + assert swap_allocator.is_allocated is False + + def test_swap_allocator_context_enter_allocate_true_swapfile_present(self): + with mock.patch("sonic_installer.main.SWAPAllocator.get_disk_freespace") as mock_disk_free, \ + mock.patch("sonic_installer.main.SWAPAllocator.read_from_meminfo") as mock_meminfo, \ + mock.patch("sonic_installer.main.SWAPAllocator.setup_swapmem") as mock_setup, \ + mock.patch("sonic_installer.main.SWAPAllocator.remove_swapmem") as mock_remove, \ + mock.patch("os.path.exists") as mock_exists: + mock_disk_free.return_value = 10 * 1024 * 1024 * 1024 + mock_meminfo.return_value = { + "MemTotal": 32859496, + "MemAvailable": 1000000, + } + mock_exists.return_value = True + + swap_allocator = SWAPAllocator(allocate=True) + try: + swap_allocator.__enter__() + except Exception as detail: + pytest.fail("SWAPAllocator context manager should not raise exception %s" % repr(detail)) + mock_setup.assert_called_once() + mock_remove.assert_called_once() + assert swap_allocator.is_allocated is True + + def test_swap_allocator_context_enter_setup_error(self): + with mock.patch("sonic_installer.main.SWAPAllocator.get_disk_freespace") as mock_disk_free, \ + mock.patch("sonic_installer.main.SWAPAllocator.read_from_meminfo") as mock_meminfo, \ + mock.patch("sonic_installer.main.SWAPAllocator.setup_swapmem") as mock_setup, \ + mock.patch("sonic_installer.main.SWAPAllocator.remove_swapmem") as mock_remove, \ + mock.patch("os.path.exists") as mock_exists: + mock_disk_free.return_value = 10 * 1024 * 1024 * 1024 + mock_meminfo.return_value = { + "MemTotal": 32859496, + "MemAvailable": 1000000, + } + mock_exists.return_value = False + expected_err_str = "Pseudo Error" + mock_setup.side_effect = Exception(expected_err_str) + + swap_allocator = SWAPAllocator(allocate=True) + try: + swap_allocator.__enter__() + except Exception as detail: + assert expected_err_str in str(detail) + mock_setup.assert_called_once() + mock_remove.assert_called_once() + assert swap_allocator.is_allocated is False + + def test_swap_allocator_context_enter_allocate_false(self): + with mock.patch("sonic_installer.main.SWAPAllocator.get_disk_freespace") as mock_disk_free, \ + mock.patch("sonic_installer.main.SWAPAllocator.read_from_meminfo") as mock_meminfo, \ + mock.patch("sonic_installer.main.SWAPAllocator.setup_swapmem") as mock_setup, \ + mock.patch("sonic_installer.main.SWAPAllocator.remove_swapmem") as mock_remove, \ + mock.patch("os.path.exists") as mock_exists: + mock_disk_free.return_value = 10 * 1024 * 1024 * 1024 + mock_meminfo.return_value = { + "MemTotal": 32859496, + "MemAvailable": 1000000, + } + mock_exists.return_value = False + + swap_allocator = SWAPAllocator(allocate=False) + try: + swap_allocator.__enter__() + except Exception as detail: + pytest.fail("SWAPAllocator context manager should not raise exception %s" % repr(detail)) + mock_setup.assert_not_called() + mock_remove.assert_not_called() + assert swap_allocator.is_allocated is False + + def test_swap_allocator_context_exit_is_allocated_true(self): + with mock.patch("sonic_installer.main.SWAPAllocator.remove_swapmem") as mock_remove: + swap_allocator = SWAPAllocator(allocate=True) + swap_allocator.is_allocated = True + swap_allocator.__exit__(None, None, None) + mock_remove.assert_called_once() + + def test_swap_allocator_context_exit_is_allocated_false(self): + with mock.patch("sonic_installer.main.SWAPAllocator.remove_swapmem") as mock_remove: + swap_allocator = SWAPAllocator(allocate=True) + swap_allocator.is_allocated = False + swap_allocator.__exit__(None, None, None) + mock_remove.assert_not_called() diff --git a/utilities_common/cli.py b/utilities_common/cli.py index 1202bfdb9a..72442878be 100644 --- a/utilities_common/cli.py +++ b/utilities_common/cli.py @@ -599,3 +599,33 @@ def is_interface_in_config_db(config_db, interface_name): return True + +class MutuallyExclusiveOption(click.Option): + """ + This option type is extended with `mutually_exclusive` parameter which make + CLI to ensure the other options specified in `mutually_exclusive` are not used. + """ + + def __init__(self, *args, **kwargs): + self.mutually_exclusive = set(kwargs.pop('mutually_exclusive', [])) + super(MutuallyExclusiveOption, self).__init__(*args, **kwargs) + + def get_help_record(self, ctx): + """Return help string with mutually_exclusive list added.""" + help_record = list(super(MutuallyExclusiveOption, self).get_help_record(ctx)) + if self.mutually_exclusive: + mutually_exclusive_str = 'NOTE: this argument is mutually exclusive with arguments: %s' % ', '.join(self.mutually_exclusive) + if help_record[-1]: + help_record[-1] += ' ' + mutually_exclusive_str + else: + help_record[-1] = mutually_exclusive_str + return tuple(help_record) + + def handle_parse_result(self, ctx, opts, args): + if self.name in opts and opts[self.name] is not None: + for opt_name in self.mutually_exclusive: + if opt_name in opts and opts[opt_name] is not None: + raise click.UsageError( + "Illegal usage: %s is mutually exclusive with arguments %s" % (self.name, ', '.join(self.mutually_exclusive)) + ) + return super(MutuallyExclusiveOption, self).handle_parse_result(ctx, opts, args) From 9f2326e88d4ee192d62b2e1c9f17ad9d6eecb896 Mon Sep 17 00:00:00 2001 From: Vivek Reddy Date: Tue, 7 Sep 2021 12:21:12 -0700 Subject: [PATCH 290/342] [debug dump util] Base Skeleton and Click Class added (#1668) What I did HLD for Dump Utility: HLD. Added the top level CLI command i.e "dump state" Added corresponding UT's Added the bash autocompletion support files Added the implementation for the customization options provided, such as --db, --key-map, --show, --table & --namespace How I did it How to verify it UT's are implemented --- doc/Command-Reference.md | 55 +++++ dump/main.py | 229 ++++++++++++++++++ setup.py | 6 +- sonic-utilities-data/bash_completion.d/dump | 8 + tests/dump_tests/dump_state_test.py | 246 ++++++++++++++++++++ tests/mock_tables/asic_db.json | 19 +- 6 files changed, 561 insertions(+), 2 deletions(-) create mode 100644 dump/main.py create mode 100644 sonic-utilities-data/bash_completion.d/dump create mode 100644 tests/dump_tests/dump_state_test.py diff --git a/doc/Command-Reference.md b/doc/Command-Reference.md index 160ae8b7b4..15efe35ca6 100644 --- a/doc/Command-Reference.md +++ b/doc/Command-Reference.md @@ -159,6 +159,7 @@ * [SONiC Package Manager](#sonic-package-manager) * [SONiC Installer](#sonic-installer) * [Troubleshooting Commands](#troubleshooting-commands) + * [Debug Dumps](#debug-dumps) * [Routing Stack](#routing-stack) * [Quagga BGP Show Commands](#Quagga-BGP-Show-Commands) * [ZTP Configuration And Show Commands](#ztp-configuration-and-show-commands) @@ -9712,6 +9713,60 @@ If the SONiC system was running for quite some time `show techsupport` will prod admin@sonic:~$ show techsupport --since='hour ago' # Will collect syslog and core files for the last one hour ``` +### Debug Dumps + +In SONiC, there usually exists a set of tables related/relevant to a particular module. All of these might have to be looked at to confirm whether any configuration update is properly applied and propagated. This utility comes in handy because it prints a unified view of the redis-state for a given module + +- Usage: + ``` + Usage: dump state [OPTIONS] MODULE IDENTIFIER + Dump the redis-state of the identifier for the module specified + + Options: + -s, --show Display Modules Available + -d, --db TEXT Only dump from these Databases + -t, --table Print in tabular format [default: False] + -k, --key-map Only fetch the keys matched, don't extract field-value dumps [default: False] + -v, --verbose Prints any intermediate output to stdout useful for dev & troubleshooting [default: False] + -n, --namespace TEXT Dump the redis-state for this namespace. [default: DEFAULT_NAMESPACE] + --help Show this message and exit. + ``` + + +- Examples: + ``` + root@sonic# dump state --show + Module Identifier + -------- ------------ + port port_name + copp trap_id + ``` + + ``` + admin@sonic:~$ dump state copp arp_req --key-map --db ASIC_DB + { + "arp_req": { + "ASIC_DB": { + "keys": [ + "ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF_TRAP:oid:0x22000000000c5b", + "ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF_TRAP_GROUP:oid:0x11000000000c59", + "ASIC_STATE:SAI_OBJECT_TYPE_POLICER:oid:0x12000000000c5a", + "ASIC_STATE:SAI_OBJECT_TYPE_QUEUE:oid:0x15000000000626" + ], + "tables_not_found": [], + "vidtorid": { + "oid:0x22000000000c5b": "oid:0x200000000022", + "oid:0x11000000000c59": "oid:0x300000011", + "oid:0x12000000000c5a": "oid:0x200000012", + "oid:0x15000000000626": "oid:0x12e0000040015" + } + } + } + } + ``` + + + Go Back To [Beginning of the document](#) or [Beginning of this section](#troubleshooting-commands) ## Routing Stack diff --git a/dump/main.py b/dump/main.py new file mode 100644 index 0000000000..3a183520c3 --- /dev/null +++ b/dump/main.py @@ -0,0 +1,229 @@ +import os +import sys +import json +import re +import click +from tabulate import tabulate +from sonic_py_common import multi_asic +from utilities_common.constants import DEFAULT_NAMESPACE +from dump.match_infra import RedisSource, JsonSource, ConnectionPool +from dump import plugins + + +# Autocompletion Helper +def get_available_modules(ctx, args, incomplete): + return [k for k in plugins.dump_modules.keys() if incomplete in k] + + +# Display Modules Callback +def show_modules(ctx, param, value): + if not value or ctx.resilient_parsing: + return + header = ["Module", "Identifier"] + display = [] + for mod in plugins.dump_modules: + display.append((mod, plugins.dump_modules[mod].ARG_NAME)) + click.echo(tabulate(display, header)) + ctx.exit() + + +@click.group() +def dump(): + pass + + +@dump.command() +@click.pass_context +@click.argument('module', required=True, type=str, autocompletion=get_available_modules) +@click.argument('identifier', required=True, type=str) +@click.option('--show', '-s', is_flag=True, default=False, expose_value=False, + callback=show_modules, help='Display Modules Available', is_eager=True) +@click.option('--db', '-d', multiple=True, + help='Only dump from these Databases or the CONFIG_FILE') +@click.option('--table', '-t', is_flag=True, default=False, + help='Print in tabular format', show_default=True) +@click.option('--key-map', '-k', is_flag=True, default=False, show_default=True, + help="Only fetch the keys matched, don't extract field-value dumps") +@click.option('--verbose', '-v', is_flag=True, default=False, show_default=True, + help="Prints any intermediate output to stdout useful for dev & troubleshooting") +@click.option('--namespace', '-n', default=DEFAULT_NAMESPACE, type=str, + show_default=True, help='Dump the redis-state for this namespace.') +def state(ctx, module, identifier, db, table, key_map, verbose, namespace): + """ + Dump the current state of the identifier for the specified module from Redis DB or CONFIG_FILE + """ + if not multi_asic.is_multi_asic() and namespace != DEFAULT_NAMESPACE: + click.echo("Namespace option is not valid for a single-ASIC device") + ctx.exit() + + if multi_asic.is_multi_asic() and (namespace != DEFAULT_NAMESPACE and namespace not in multi_asic.get_namespace_list()): + click.echo("Namespace option is not valid. Choose one of {}".format(multi_asic.get_namespace_list())) + ctx.exit() + + if module not in plugins.dump_modules: + click.echo("No Matching Plugin has been Implemented") + ctx.exit() + + if verbose: + os.environ["VERBOSE"] = "1" + else: + os.environ["VERBOSE"] = "0" + + ctx.module = module + obj = plugins.dump_modules[module]() + + if identifier == "all": + ids = obj.get_all_args(namespace) + else: + ids = identifier.split(",") + + params = {} + collected_info = {} + params['namespace'] = namespace + for arg in ids: + params[plugins.dump_modules[module].ARG_NAME] = arg + collected_info[arg] = obj.execute(params) + + if len(db) > 0: + collected_info = filter_out_dbs(db, collected_info) + + vidtorid = extract_rid(collected_info, namespace) + + if not key_map: + collected_info = populate_fv(collected_info, module, namespace) + + for id in vidtorid.keys(): + collected_info[id]["ASIC_DB"]["vidtorid"] = vidtorid[id] + + print_dump(collected_info, table, module, identifier, key_map) + + return + + +def extract_rid(info, ns): + r = RedisSource(ConnectionPool()) + r.connect("ASIC_DB", ns) + vidtorid = {} + vid_cache = {} # Cache Entries to reduce number of Redis Calls + for arg in info.keys(): + mp = get_v_r_map(r, info[arg], vid_cache) + if mp: + vidtorid[arg] = mp + return vidtorid + + +def get_v_r_map(r, single_dict, vid_cache): + v_r_map = {} + asic_obj_ptrn = "ASIC_STATE:.*:oid:0x\w{1,14}" + + if "ASIC_DB" in single_dict and "keys" in single_dict["ASIC_DB"]: + for redis_key in single_dict["ASIC_DB"]["keys"]: + if re.match(asic_obj_ptrn, redis_key): + matches = re.findall(r"oid:0x\w{1,14}", redis_key) + if matches: + vid = matches[0] + if vid in vid_cache: + rid = vid_cache[vid] + else: + rid = r.hget("ASIC_DB", "VIDTORID", vid) + vid_cache[vid] = rid + v_r_map[vid] = rid if rid else "Real ID Not Found" + return v_r_map + + +# Filter dbs which are not required +def filter_out_dbs(db_list, collected_info): + args_ = list(collected_info.keys()) + for arg in args_: + dbs = list(collected_info[arg].keys()) + for db in dbs: + if db not in db_list: + del collected_info[arg][db] + return collected_info + + +def populate_fv(info, module, namespace): + all_dbs = set() + for id in info.keys(): + for db_name in info[id].keys(): + all_dbs.add(db_name) + + db_cfg_file = JsonSource() + db_conn = ConnectionPool().initialize_connector(namespace) + for db_name in all_dbs: + if db_name is "CONFIG_FILE": + db_cfg_file.connect(plugins.dump_modules[module].CONFIG_FILE, namespace) + else: + db_conn.connect(db_name) + + final_info = {} + for id in info.keys(): + final_info[id] = {} + for db_name in info[id].keys(): + final_info[id][db_name] = {} + final_info[id][db_name]["keys"] = [] + final_info[id][db_name]["tables_not_found"] = info[id][db_name]["tables_not_found"] + for key in info[id][db_name]["keys"]: + if db_name is "CONFIG_FILE": + fv = db_dict[db_name].get(db_name, key) + else: + fv = db_conn.get_all(db_name, key) + final_info[id][db_name]["keys"].append({key: fv}) + + return final_info + + +def get_dict_str(key_obj): + table = [] + for pair in key_obj.items(): + table.append(list(pair)) + return tabulate(table, headers=["field", "value"], tablefmt="psql") + + +# print dump +def print_dump(collected_info, table, module, identifier, key_map): + if not table: + click.echo(json.dumps(collected_info, indent=4)) + return + + top_header = [plugins.dump_modules[module].ARG_NAME, "DB_NAME", "DUMP"] + final_collection = [] + for ids in collected_info.keys(): + for db in collected_info[ids].keys(): + total_info = "" + + if collected_info[ids][db]["tables_not_found"]: + tabulate_fmt = [] + for tab in collected_info[ids][db]["tables_not_found"]: + tabulate_fmt.append([tab]) + total_info += tabulate(tabulate_fmt, ["Tables Not Found"], tablefmt="grid") + total_info += "\n" + + if not key_map: + values = [] + hdrs = ["Keys", "field-value pairs"] + for key_obj in collected_info[ids][db]["keys"]: + if isinstance(key_obj, dict) and key_obj: + key = list(key_obj.keys())[0] + values.append([key, get_dict_str(key_obj[key])]) + total_info += str(tabulate(values, hdrs, tablefmt="grid")) + else: + temp = [] + for key_ in collected_info[ids][db]["keys"]: + temp.append([key_]) + total_info += str(tabulate(temp, headers=["Keys Collected"], tablefmt="grid")) + + total_info += "\n" + if "vidtorid" in collected_info[ids][db]: + temp = [] + for pair in collected_info[ids][db]["vidtorid"].items(): + temp.append(list(pair)) + total_info += str(tabulate(temp, headers=["vid", "rid"], tablefmt="grid")) + final_collection.append([ids, db, total_info]) + + click.echo(tabulate(final_collection, top_header, tablefmt="grid")) + return + + +if __name__ == '__main__': + dump() diff --git a/setup.py b/setup.py index 806b5bcb0b..04d3f6cee0 100644 --- a/setup.py +++ b/setup.py @@ -31,6 +31,8 @@ 'crm', 'debug', 'generic_config_updater', + 'dump', + 'dump.plugins', 'pfcwd', 'sfputil', 'ssdutil', @@ -71,7 +73,8 @@ 'filter_fdb_input/*', 'pfcwd_input/*', 'wm_input/*', - 'ecn_input/*'] + 'ecn_input/*', + 'dump_input/*'] }, scripts=[ 'scripts/aclshow', @@ -143,6 +146,7 @@ 'counterpoll = counterpoll.main:cli', 'crm = crm.main:cli', 'debug = debug.main:cli', + 'dump = dump.main:dump', 'filter_fdb_entries = fdbutil.filter_fdb_entries:main', 'pfcwd = pfcwd.main:cli', 'sfputil = sfputil.main:cli', diff --git a/sonic-utilities-data/bash_completion.d/dump b/sonic-utilities-data/bash_completion.d/dump new file mode 100644 index 0000000000..8644671ef1 --- /dev/null +++ b/sonic-utilities-data/bash_completion.d/dump @@ -0,0 +1,8 @@ +_dump_completion() { + COMPREPLY=( $( env COMP_WORDS="${COMP_WORDS[*]}" \ + COMP_CWORD=$COMP_CWORD \ + _DUMP_COMPLETE=complete $1 ) ) + return 0 +} + +complete -F _dump_completion -o default dump diff --git a/tests/dump_tests/dump_state_test.py b/tests/dump_tests/dump_state_test.py new file mode 100644 index 0000000000..49217b8cf8 --- /dev/null +++ b/tests/dump_tests/dump_state_test.py @@ -0,0 +1,246 @@ +import os +import sys +import json +import pytest +from unittest import mock, TestCase +from click.testing import CliRunner +import dump.main as dump +from deepdiff import DeepDiff +from importlib import reload +from utilities_common.db import Db +import traceback +from utilities_common.constants import DEFAULT_NAMESPACE + + +def compare_json_output(exp_json, rec, exclude_paths=None): + print("EXPECTED: \n") + print(json.dumps(exp_json, indent=4)) + try: + rec_json = json.loads(rec) + except Exception as e: + print(rec) + assert False, "CLI Output is not in JSON Format" + return DeepDiff(exp_json, rec_json, exclude_paths=exclude_paths) + + +table_display_output = '''\ ++-------------+-----------+----------------------------------------------------------------------------+ +| port_name | DB_NAME | DUMP | ++=============+===========+============================================================================+ +| Ethernet0 | STATE_DB | +----------------------+-------------------------------------------------+ | +| | | | Keys | field-value pairs | | +| | | +======================+=================================================+ | +| | | | PORT_TABLE|Ethernet0 | +------------------+--------------------------+ | | +| | | | | | field | value | | | +| | | | | |------------------+--------------------------| | | +| | | | | | supported_speeds | 10000,25000,40000,100000 | | | +| | | | | +------------------+--------------------------+ | | +| | | +----------------------+-------------------------------------------------+ | ++-------------+-----------+----------------------------------------------------------------------------+ +''' + + +table_display_output_no_filtering = '''\ ++-------------+-----------+-----------------------------------------------------------+ +| port_name | DB_NAME | DUMP | ++=============+===========+===========================================================+ +| Ethernet0 | CONFIG_DB | +------------------+ | +| | | | Keys Collected | | +| | | +==================+ | +| | | | PORT|Ethernet0 | | +| | | +------------------+ | ++-------------+-----------+-----------------------------------------------------------+ +| Ethernet0 | APPL_DB | +----------------------+ | +| | | | Keys Collected | | +| | | +======================+ | +| | | | PORT_TABLE:Ethernet0 | | +| | | +----------------------+ | ++-------------+-----------+-----------------------------------------------------------+ +| Ethernet0 | ASIC_DB | +-------------------------------------------------------+ | +| | | | Keys Collected | | +| | | +=======================================================+ | +| | | | ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF:oid:0xd00000000056d | | +| | | +-------------------------------------------------------+ | +| | | | ASIC_STATE:SAI_OBJECT_TYPE_PORT:oid:0x10000000004a4 | | +| | | +-------------------------------------------------------+ | +| | | +---------------------+---------------------+ | +| | | | vid | rid | | +| | | +=====================+=====================+ | +| | | | oid:0xd00000000056d | oid:0xd | | +| | | +---------------------+---------------------+ | +| | | | oid:0x10000000004a4 | oid:0x1690000000001 | | +| | | +---------------------+---------------------+ | ++-------------+-----------+-----------------------------------------------------------+ +| Ethernet0 | STATE_DB | +----------------------+ | +| | | | Keys Collected | | +| | | +======================+ | +| | | | PORT_TABLE|Ethernet0 | | +| | | +----------------------+ | ++-------------+-----------+-----------------------------------------------------------+ +''' + + +class TestDumpState(object): + + @classmethod + def setup_class(cls): + print("SETUP") + os.environ["UTILITIES_UNIT_TESTING"] = "1" + mock_db_path = os.path.join(os.path.dirname(__file__), "../mock_tables/") + + def test_identifier_single(self): + runner = CliRunner() + result = runner.invoke(dump.state, ["port", "Ethernet0"]) + expected = {'Ethernet0': {'CONFIG_DB': {'keys': [{'PORT|Ethernet0': {'alias': 'etp1', 'description': 'etp1', 'index': '0', 'lanes': '25,26,27,28', 'mtu': '9100', 'pfc_asym': 'off', 'speed': '40000'}}], 'tables_not_found': []}, + 'APPL_DB': {'keys': [{'PORT_TABLE:Ethernet0': {'index': '0', 'lanes': '0', 'alias': 'Ethernet0', 'description': 'ARISTA01T2:Ethernet1', 'speed': '25000', 'oper_status': 'down', 'pfc_asym': 'off', 'mtu': '9100', 'fec': 'rs', 'admin_status': 'up'}}], 'tables_not_found': []}, + 'ASIC_DB': {'keys': [{'ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF:oid:0xd00000000056d': {'SAI_HOSTIF_ATTR_NAME': 'Ethernet0', 'SAI_HOSTIF_ATTR_OBJ_ID': 'oid:0x10000000004a4', 'SAI_HOSTIF_ATTR_OPER_STATUS': 'true', 'SAI_HOSTIF_ATTR_TYPE': 'SAI_HOSTIF_TYPE_NETDEV', 'SAI_HOSTIF_ATTR_VLAN_TAG': 'SAI_HOSTIF_VLAN_TAG_STRIP'}}, {'ASIC_STATE:SAI_OBJECT_TYPE_PORT:oid:0x10000000004a4': {'NULL': 'NULL', 'SAI_PORT_ATTR_ADMIN_STATE': 'true', 'SAI_PORT_ATTR_MTU': '9122', 'SAI_PORT_ATTR_SPEED': '100000'}}], 'tables_not_found': [], 'vidtorid': {'oid:0xd00000000056d': 'oid:0xd', 'oid:0x10000000004a4': 'oid:0x1690000000001'}}, + 'STATE_DB': {'keys': [{'PORT_TABLE|Ethernet0': {'supported_speeds': '10000,25000,40000,100000'}}], 'tables_not_found': []}}} + + assert result.exit_code == 0, "exit code: {}, Exception: {}, Traceback: {}".format(result.exit_code, result.exception, result.exc_info) + # Cause other tests depend and change these paths in the mock_db, this test would fail everytime when a field or a value in changed in this path, creating noise + # and therefore ignoring these paths. field-value dump capability of the utility is nevertheless verified using f-v dumps of ASIC_DB & STATE_DB + pths = ["root['Ethernet0']['CONFIG_DB']['keys'][0]['PORT|Ethernet0']", "root['Ethernet0']['APPL_DB']['keys'][0]['PORT_TABLE:Ethernet0']"] + ddiff = compare_json_output(expected, result.output, exclude_paths=pths) + assert not ddiff, ddiff + + def test_identifier_multiple(self): + runner = CliRunner() + result = runner.invoke(dump.state, ["port", "Ethernet0,Ethernet4"]) + print(result.output) + expected = {"Ethernet0": + {"CONFIG_DB": {"keys": [{"PORT|Ethernet0": {"alias": "etp1", "description": "etp1", "index": "0", "lanes": "25,26,27,28", "mtu": "9100", "pfc_asym": "off", "speed": "40000"}}], "tables_not_found": []}, + "APPL_DB": {"keys": [{"PORT_TABLE:Ethernet0": {"index": "0", "lanes": "0", "alias": "Ethernet0", "description": "ARISTA01T2:Ethernet1", "speed": "25000", "oper_status": "down", "pfc_asym": "off", "mtu": "9100", "fec": "rs", "admin_status": "up"}}], "tables_not_found": []}, + "ASIC_DB": {"keys": [{"ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF:oid:0xd00000000056d": {"SAI_HOSTIF_ATTR_NAME": "Ethernet0", "SAI_HOSTIF_ATTR_OBJ_ID": "oid:0x10000000004a4", "SAI_HOSTIF_ATTR_OPER_STATUS": "true", "SAI_HOSTIF_ATTR_TYPE": "SAI_HOSTIF_TYPE_NETDEV", "SAI_HOSTIF_ATTR_VLAN_TAG": "SAI_HOSTIF_VLAN_TAG_STRIP"}}, {"ASIC_STATE:SAI_OBJECT_TYPE_PORT:oid:0x10000000004a4": {"NULL": "NULL", "SAI_PORT_ATTR_ADMIN_STATE": "true", "SAI_PORT_ATTR_MTU": "9122", "SAI_PORT_ATTR_SPEED": "100000"}}], "tables_not_found": [], "vidtorid": {"oid:0xd00000000056d": "oid:0xd", "oid:0x10000000004a4": "oid:0x1690000000001"}}, + "STATE_DB": {"keys": [{"PORT_TABLE|Ethernet0": {"supported_speeds": "10000,25000,40000,100000"}}], "tables_not_found": []}}, + "Ethernet4": + {"CONFIG_DB": {"keys": [{"PORT|Ethernet4": {"admin_status": "up", "alias": "etp2", "description": "Servers0:eth0", "index": "1", "lanes": "29,30,31,32", "mtu": "9100", "pfc_asym": "off", "speed": "40000"}}], "tables_not_found": []}, + "APPL_DB": {"keys": [], "tables_not_found": ["PORT_TABLE"]}, + "ASIC_DB": {"keys": [], "tables_not_found": ["ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF", "ASIC_STATE:SAI_OBJECT_TYPE_PORT"]}, + "STATE_DB": {"keys": [], "tables_not_found": ["PORT_TABLE"]}}} + assert result.exit_code == 0, "exit code: {}, Exception: {}, Traceback: {}".format(result.exit_code, result.exception, result.exc_info) + pths = ["root['Ethernet0']['CONFIG_DB']['keys'][0]['PORT|Ethernet0']", "root['Ethernet0']['APPL_DB']['keys'][0]['PORT_TABLE:Ethernet0']"] + pths.extend(["root['Ethernet4']['CONFIG_DB']['keys'][0]['PORT|Ethernet4']", "root['Ethernet4']['APPL_DB']['keys'][0]['PORT_TABLE:Ethernet4']"]) + ddiff = compare_json_output(expected, result.output, pths) + assert not ddiff, ddiff + + def test_option_key_map(self): + runner = CliRunner() + result = runner.invoke(dump.state, ["port", "Ethernet0", "--key-map"]) + print(result.output) + expected = {"Ethernet0": {"CONFIG_DB": {"keys": ["PORT|Ethernet0"], "tables_not_found": []}, + "APPL_DB": {"keys": ["PORT_TABLE:Ethernet0"], "tables_not_found": []}, + "ASIC_DB": {"keys": ["ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF:oid:0xd00000000056d", "ASIC_STATE:SAI_OBJECT_TYPE_PORT:oid:0x10000000004a4"], "tables_not_found": [], "vidtorid": {"oid:0xd00000000056d": "oid:0xd", "oid:0x10000000004a4": "oid:0x1690000000001"}}, + "STATE_DB": {"keys": ["PORT_TABLE|Ethernet0"], "tables_not_found": []}}} + assert result.exit_code == 0, "exit code: {}, Exception: {}, Traceback: {}".format(result.exit_code, result.exception, result.exc_info) + ddiff = compare_json_output(expected, result.output) + assert not ddiff, ddiff + + def test_option_db_filtering(self): + runner = CliRunner() + result = runner.invoke(dump.state, ["port", "Ethernet0", "--db", "ASIC_DB", "--db", "STATE_DB"]) + print(result.output) + expected = {"Ethernet0": {"ASIC_DB": {"keys": [{"ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF:oid:0xd00000000056d": {"SAI_HOSTIF_ATTR_NAME": "Ethernet0", "SAI_HOSTIF_ATTR_OBJ_ID": "oid:0x10000000004a4", "SAI_HOSTIF_ATTR_OPER_STATUS": "true", "SAI_HOSTIF_ATTR_TYPE": "SAI_HOSTIF_TYPE_NETDEV", "SAI_HOSTIF_ATTR_VLAN_TAG": "SAI_HOSTIF_VLAN_TAG_STRIP"}}, {"ASIC_STATE:SAI_OBJECT_TYPE_PORT:oid:0x10000000004a4": {"NULL": "NULL", "SAI_PORT_ATTR_ADMIN_STATE": "true", "SAI_PORT_ATTR_MTU": "9122", "SAI_PORT_ATTR_SPEED": "100000"}}], "tables_not_found": [], "vidtorid": {"oid:0xd00000000056d": "oid:0xd", "oid:0x10000000004a4": "oid:0x1690000000001"}}, + "STATE_DB": {"keys": [{"PORT_TABLE|Ethernet0": {"supported_speeds": "10000,25000,40000,100000"}}], "tables_not_found": []}}} + assert result.exit_code == 0, "exit code: {}, Exception: {}, Traceback: {}".format(result.exit_code, result.exception, result.exc_info) + ddiff = compare_json_output(expected, result.output) + assert not ddiff, ddiff + + def test_option_tabular_display(self): + runner = CliRunner() + result = runner.invoke(dump.state, ["port", "Ethernet0", "--db", "STATE_DB", "--table"]) + print(result.output) + assert result.exit_code == 0, "exit code: {}, Exception: {}, Traceback: {}".format(result.exit_code, result.exception, result.exc_info) + assert table_display_output == result.output + + def test_option_tabular_display_no_db_filter(self): + runner = CliRunner() + result = runner.invoke(dump.state, ["port", "Ethernet0", "--table", "--key-map"]) + print(result.output) + assert result.exit_code == 0, "exit code: {}, Exception: {}, Traceback: {}".format(result.exit_code, result.exception, result.exc_info) + assert table_display_output_no_filtering == result.output + + def test_identifier_all_with_filtering(self): + runner = CliRunner() + expected_entries = [] + for i in range(0, 125, 4): + expected_entries.append("Ethernet" + str(i)) + result = runner.invoke(dump.state, ["port", "all", "--db", "CONFIG_DB", "--key-map"]) + print(result.output) + try: + rec_json = json.loads(result.output) + except Exception as e: + assert 0, "CLI Output is not in JSON Format" + ddiff = DeepDiff(set(expected_entries), set(rec_json.keys())) + assert not ddiff, "Expected Entries were not recieved when passing all keyword" + + def test_namespace_single_asic(self): + runner = CliRunner() + result = runner.invoke(dump.state, ["port", "Ethernet0", "--table", "--key-map", "--namespace", "asic0"]) + print(result.output) + assert result.output == "Namespace option is not valid for a single-ASIC device\n" + + @classmethod + def teardown(cls): + print("TEARDOWN") + os.environ["UTILITIES_UNIT_TESTING"] = "0" + + +class TestDumpStateMultiAsic(object): + + @classmethod + def setup_class(cls): + print("SETUP") + os.environ["UTILITIES_UNIT_TESTING"] = "2" + os.environ["UTILITIES_UNIT_TESTING_TOPOLOGY"] = "multi_asic" + from ..mock_tables import mock_multi_asic + reload(mock_multi_asic) + from ..mock_tables import dbconnector + dbconnector.load_namespace_config() + + def test_default_namespace(self): + runner = CliRunner() + db = Db() + result = runner.invoke(dump.state, ["port", "Ethernet0", "--key-map"], obj=db) + expected = {"Ethernet0": {"CONFIG_DB": {"keys": ["PORT|Ethernet0"], "tables_not_found": []}, + "APPL_DB": {"keys": ["PORT_TABLE:Ethernet0"], "tables_not_found": []}, + "ASIC_DB": {"keys": ["ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF:oid:0xd00000000056d", "ASIC_STATE:SAI_OBJECT_TYPE_PORT:oid:0x10000000004a4"], "tables_not_found": [], "vidtorid": {"oid:0xd00000000056d": "oid:0xd", "oid:0x10000000004a4": "oid:0x1690000000001"}}, + "STATE_DB": {"keys": ["PORT_TABLE|Ethernet0"], "tables_not_found": []}}} + assert result.exit_code == 0, "exit code: {}, Exception: {}, Output: {}".format(result.exit_code, result.exception, result.output) + ddiff = compare_json_output(expected, result.output) + assert not ddiff, ddiff + + def test_namespace_asic0(self): + runner = CliRunner() + db = Db() + result = runner.invoke(dump.state, ["port", "Ethernet0", "--namespace", "asic0"], obj=db) + expected = {"Ethernet0": {"CONFIG_DB": {"keys": [{"PORT|Ethernet0": {"admin_status": "up", "alias": "Ethernet1/1", "asic_port_name": "Eth0-ASIC0", "description": "ARISTA01T2:Ethernet3/1/1", "lanes": "33,34,35,36", "mtu": "9100", "pfc_asym": "off", "role": "Ext", "speed": "40000"}}], "tables_not_found": []}, + "APPL_DB": {"keys": [{"PORT_TABLE:Ethernet0": {"lanes": "33,34,35,36", "description": "ARISTA01T2:Ethernet3/1/1", "pfc_asym": "off", "mtu": "9100", "alias": "Ethernet1/1", "oper_status": "up", "admin_status": "up", "role": "Ext", "speed": "40000", "asic_port_name": "Eth0-ASIC0"}}], "tables_not_found": []}, + "ASIC_DB": {"keys": [], "tables_not_found": ["ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF", "ASIC_STATE:SAI_OBJECT_TYPE_PORT"]}, "STATE_DB": {"keys": [], "tables_not_found": ["PORT_TABLE"]}}} + print(expected) + assert result.exit_code == 0, "exit code: {}, Exception: {}, Output: {}".format(result.exit_code, result.exception, result.output) + ddiff = compare_json_output(expected, result.output) + assert not ddiff, ddiff + + def test_namespace_asic1(self): + runner = CliRunner() + db = Db() + result = runner.invoke(dump.state, ["port", "Ethernet-BP256", "--namespace", "asic1"], obj=db) + expected = {"Ethernet-BP256": + {"CONFIG_DB": {"keys": [{"PORT|Ethernet-BP256": {"admin_status": "up", "alias": "Ethernet-BP256", "asic_port_name": "Eth0-ASIC1", "description": "ASIC0:Eth16-ASIC0", "lanes": "61,62,63,64", "mtu": "9100", "pfc_asym": "off", "role": "Int", "speed": "40000"}}], "tables_not_found": []}, + "APPL_DB": {"keys": [{"PORT_TABLE:Ethernet-BP256": {"oper_status": "up", "lanes": "61,62,63,64", "description": "ASIC0:Eth16-ASIC0", "pfc_asym": "off", "mtu": "9100", "alias": "Ethernet-BP256", "admin_status": "up", "speed": "40000", "asic_port_name": "Eth0-ASIC1"}}], "tables_not_found": []}, + "ASIC_DB": {"keys": [], "tables_not_found": ["ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF", "ASIC_STATE:SAI_OBJECT_TYPE_PORT"]}, + "STATE_DB": {"keys": [], "tables_not_found": ["PORT_TABLE"]}}} + assert result.exit_code == 0, "exit code: {}, Exception: {}, Output: {}".format(result.exit_code, result.exception, result.output) + ddiff = compare_json_output(expected, result.output) + assert not ddiff, ddiff + + def test_invalid_namespace(self): + runner = CliRunner() + db = Db() + result = runner.invoke(dump.state, ["port", "Ethernet0", "--namespace", "asic3"], obj=db) + assert result.output == "Namespace option is not valid. Choose one of ['asic0', 'asic1']\n", result + + def teardown_class(cls): + print("TEARDOWN") + os.environ["UTILITIES_UNIT_TESTING"] = "0" + os.environ["UTILITIES_UNIT_TESTING_TOPOLOGY"] = "" diff --git a/tests/mock_tables/asic_db.json b/tests/mock_tables/asic_db.json index 1a769b82b5..333899f273 100644 --- a/tests/mock_tables/asic_db.json +++ b/tests/mock_tables/asic_db.json @@ -2,5 +2,22 @@ "ASIC_STATE:SAI_OBJECT_TYPE_SWITCH:oid:0x21000000000000": { "SAI_SWITCH_ATTR_INIT_SWITCH": "true", "SAI_SWITCH_ATTR_SRC_MAC_ADDRESS": "DE:AD:BE:EF:CA:FE" - } + }, + "ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF:oid:0xd00000000056d": { + "SAI_HOSTIF_ATTR_NAME": "Ethernet0", + "SAI_HOSTIF_ATTR_OBJ_ID": "oid:0x10000000004a4", + "SAI_HOSTIF_ATTR_OPER_STATUS": "true", + "SAI_HOSTIF_ATTR_TYPE": "SAI_HOSTIF_TYPE_NETDEV", + "SAI_HOSTIF_ATTR_VLAN_TAG": "SAI_HOSTIF_VLAN_TAG_STRIP" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_PORT:oid:0x10000000004a4": { + "NULL": "NULL", + "SAI_PORT_ATTR_ADMIN_STATE": "true", + "SAI_PORT_ATTR_MTU": "9122", + "SAI_PORT_ATTR_SPEED": "100000" + }, + "VIDTORID":{ + "oid:0xd00000000056d": "oid:0xd", + "oid:0x10000000004a4": "oid:0x1690000000001" + } } From 26e700a86748e979cc17967f1f818db7f0a2ce7e Mon Sep 17 00:00:00 2001 From: Vivek Reddy Date: Tue, 7 Sep 2021 14:35:38 -0700 Subject: [PATCH 291/342] [debug dump util] Techsupport addition (#1669) What I did HLD for Dump Utility: HLD. For More info on Tech Support Addition: TechSupport How I did it Module Names are retrieved by parsing the output of dump state --show command. --- scripts/generate_dump | 38 +++++++++++++++++++++++++++++++++++++- show/main.py | 7 ++++++- 2 files changed, 43 insertions(+), 2 deletions(-) diff --git a/scripts/generate_dump b/scripts/generate_dump index bc33c0bcc8..91d632c49e 100755 --- a/scripts/generate_dump +++ b/scripts/generate_dump @@ -38,6 +38,7 @@ HOME=${HOME:-/root} USER=${USER:-root} TIMEOUT_MIN="5" SKIP_BCMCMD=0 +DEBUG_DUMP=false handle_signal() { @@ -1018,6 +1019,31 @@ save_counter_snapshot() { save_cmd_all_ns "ifconfig -a" "ifconfig.counters_$idx" } +############################################################################### +# save the debug dump output +############################################################################### +save_dump_state_all_ns() { + MODULES="$(dump state -s | sed '1d;2d' | awk '{print $1}')" + local UVDUMP="unified_view_dump" + echo "DEBUG DUMP: Modules Available to Generate Debug Dump Output" + echo $MODULES + $MKDIR $V -p $LOGDIR/$UVDUMP + + for addr in $MODULES; + do + save_cmd "dump state $addr all --key-map" "$UVDUMP/$addr" + if [[ ( "$NUM_ASICS" > 1 ) ]] ; then + for (( i=0; i<$NUM_ASICS; i++ )) + do + local cmd="dump state $addr all --key-map --namespace asic$i" + local file="$UVDUMP/$addr.asic$i" + save_cmd "$cmd" "$file" + done + fi + done +} + + ############################################################################### # Main generate_dump routine # Globals: @@ -1130,6 +1156,11 @@ main() { save_bfd_info save_redis_info + if $DEBUG_DUMP + then + save_dump_state_all_ns + fi + save_cmd "docker ps -a" "docker.ps" save_cmd "docker top pmon" "docker.pmon" @@ -1265,11 +1296,13 @@ OPTIONS "24 March", "yesterday", etc. -t TIMEOUT_MINS Command level timeout in minutes + -d + Collect the output of debug dump cli EOF } -while getopts ":xnvhzas:t:" opt; do +while getopts ":xnvhzas:t:d" opt; do case $opt in x) # enable bash debugging @@ -1311,6 +1344,9 @@ while getopts ":xnvhzas:t:" opt; do t) TIMEOUT_MIN="${OPTARG}" ;; + d) + DEBUG_DUMP=true + ;; /?) echo "Invalid option: -$OPTARG" >&2 exit 1 diff --git a/show/main.py b/show/main.py index 2a6bf73692..68a291939a 100755 --- a/show/main.py +++ b/show/main.py @@ -1066,7 +1066,8 @@ def users(verbose): @click.option('--verbose', is_flag=True, help="Enable verbose output") @click.option('--allow-process-stop', is_flag=True, help="Dump additional data which may require system interruption") @click.option('--silent', is_flag=True, help="Run techsupport in silent mode") -def techsupport(since, global_timeout, cmd_timeout, verbose, allow_process_stop, silent): +@click.option('--debug-dump', is_flag=True, help="Collect Debug Dump Output") +def techsupport(since, global_timeout, cmd_timeout, verbose, allow_process_stop, silent, debug_dump): """Gather information for troubleshooting""" cmd = "sudo timeout -s SIGTERM --foreground {}m".format(global_timeout) @@ -1081,6 +1082,10 @@ def techsupport(since, global_timeout, cmd_timeout, verbose, allow_process_stop, if since: cmd += " -s '{}'".format(since) + + if debug_dump: + cmd += " -d " + cmd += " -t {}".format(cmd_timeout) run_command(cmd, display_cmd=verbose) From 2b12aadeed3a86ca4ede3aa30b451914c4acb00b Mon Sep 17 00:00:00 2001 From: Vadym Hlushko <62022266+vadymhlushko-mlnx@users.noreply.github.com> Date: Wed, 8 Sep 2021 14:06:07 +0300 Subject: [PATCH 292/342] [portstat, intfstat] added rates and utilization (#1750) #### What I did Depends on [sonic-swss-common/pull/330](https://github.com/Azure/sonic-swss-common/pull/330) According to [HLD](https://github.com/Azure/SONiC/blob/master/doc/rates-and-utilization/Rates_and_utilization_HLD.md) added calculation of rates and utilization columns to the `portstat` and `intfstat` scripts output #### How I did it Modified the `portstat` and `intfstat` scripts #### How to verify it Added UT #### Previous command output (if the output of a command-line utility has changed) ``` admin@sonic:~$ show int count IFACE STATE RX_OK RX_BPS RX_UTIL RX_ERR RX_DRP RX_OVR TX_OK TX_BPS TX_UTIL TX_ERR TX_DRP TX_OVR ----------- ------- ------- -------- --------- -------- -------- -------- ------- -------- --------- -------- -------- -------- Ethernet0 X 0 N/A N/A 0 0 N/A 0 N/A N/A 0 0 N/A Ethernet2 U 287 N/A N/A 0 0 N/A 818 N/A N/A 0 0 N/A Ethernet4 U 380 N/A N/A 0 0 N/A 858 N/A N/A 0 0 N/A Ethernet6 U 286 N/A N/A 0 0 N/A 850 N/A N/A 0 0 N/A ``` #### New command output (if the output of a command-line utility has changed) ``` admin@sonic:~$ show int count IFACE STATE RX_OK RX_BPS RX_UTIL RX_ERR RX_DRP RX_OVR TX_OK TX_BPS TX_UTIL TX_ERR TX_DRP TX_OVR ----------- ------- ------- ---------- --------- -------- -------- -------- ------- ---------- --------- -------- -------- -------- Ethernet0 X 0 0.00 B/s 0.00% 0 0 N/A 0 0.00 B/s 0.00% 0 0 N/A Ethernet2 U 0 0.00 B/s 0.00% 0 0 N/A 0 0.00 B/s 0.00% 0 0 N/A Ethernet4 U 0 0.00 B/s 0.00% 0 0 N/A 0 0.00 B/s 0.00% 0 0 N/A Ethernet6 U 0 0.00 B/s 0.00% 0 0 N/A 0 0.00 B/s 0.00% 0 0 N/A ``` --- config/main.py | 28 +++ scripts/intfstat | 136 ++++++++------- scripts/portstat | 209 +++++++++++++++-------- tests/intfstat_test.py | 183 +++++++++++++------- tests/mock_tables/asic0/counters_db.json | 24 +++ tests/mock_tables/asic1/counters_db.json | 12 ++ tests/mock_tables/asic2/counters_db.json | 24 +++ tests/mock_tables/counters_db.json | 56 +++++- tests/portstat_test.py | 100 +++++------ utilities_common/netstat.py | 39 +++++ 10 files changed, 563 insertions(+), 248 deletions(-) diff --git a/config/main.py b/config/main.py index 5b628345a2..26b1ed4a7f 100644 --- a/config/main.py +++ b/config/main.py @@ -5813,6 +5813,34 @@ def disable_link_local(ctx): set_ipv6_link_local_only_on_interface(config_db, table_dict, table_type, key, mode) +# +# 'rate' group ('config rate ...') +# + +@config.group() +def rate(): + """Set port rates configuration.""" + pass + + +@rate.command() +@click.argument('interval', metavar='', type=click.IntRange(min=1, max=1000), required=True) +@click.argument('rates_type', type=click.Choice(['all', 'port', 'rif']), default='all') +def smoothing_interval(interval, rates_type): + """Set rates smoothing interval """ + counters_db = swsssdk.SonicV2Connector() + counters_db.connect('COUNTERS_DB') + + alpha = 2.0/(interval + 1) + + if rates_type in ['port', 'all']: + counters_db.set('COUNTERS_DB', 'RATES:PORT', 'PORT_SMOOTH_INTERVAL', interval) + counters_db.set('COUNTERS_DB', 'RATES:PORT', 'PORT_ALPHA', alpha) + if rates_type in ['rif', 'all']: + counters_db.set('COUNTERS_DB', 'RATES:RIF', 'RIF_SMOOTH_INTERVAL', interval) + counters_db.set('COUNTERS_DB', 'RATES:RIF', 'RIF_ALPHA', alpha) + + # Load plugins and register them helper = util_base.UtilHelper() for plugin in helper.load_plugins(plugins): diff --git a/scripts/intfstat b/scripts/intfstat index 99836a04d9..1d5da781b6 100755 --- a/scripts/intfstat +++ b/scripts/intfstat @@ -11,7 +11,6 @@ import argparse import datetime import sys import os -import sys import time # mock the redis for unit test purposes # @@ -28,15 +27,37 @@ except KeyError: from collections import namedtuple, OrderedDict from natsort import natsorted from tabulate import tabulate -from utilities_common.netstat import ns_diff, ns_brate, ns_prate, table_as_json, STATUS_NA +from utilities_common.netstat import ns_diff, table_as_json, STATUS_NA, format_brate, format_prate from swsscommon.swsscommon import SonicV2Connector +nstat_fields = ( + "rx_b_ok", + "rx_p_ok", + "tx_b_ok", + "tx_p_ok", + "rx_b_err", + "rx_p_err", + "tx_b_err", + "tx_p_err" +) + +NStats = namedtuple("NStats", nstat_fields) -NStats = namedtuple("NStats", "rx_b_ok, rx_p_ok, tx_b_ok, tx_p_ok,\ - rx_b_err, rx_p_err, tx_b_err, tx_p_err,") +header = [ + 'IFACE', + 'RX_OK', + 'RX_BPS', + 'RX_PPS', + 'RX_ERR', + 'TX_OK', + 'TX_BPS', + 'TX_PPS', + 'TX_ERR' +] -header = ['IFACE', 'RX_OK', 'RX_BPS', 'RX_PPS', 'RX_ERR', - 'TX_OK', 'TX_BPS', 'TX_PPS', 'TX_ERR'] +rates_key_list = [ 'RX_BPS', 'RX_PPS', 'TX_BPS', 'TX_PPS'] +ratestat_fields = ("rx_bps", "rx_pps", "tx_bps", "tx_pps") +RateStats = namedtuple("RateStats", ratestat_fields) counter_names = ( 'SAI_ROUTER_INTERFACE_STAT_IN_OCTETS', @@ -49,18 +70,10 @@ counter_names = ( 'SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS' ) +RATES_TABLE_PREFIX = "RATES:" COUNTER_TABLE_PREFIX = "COUNTERS:" COUNTERS_RIF_NAME_MAP = "COUNTERS_RIF_NAME_MAP" -COUNTERS_RIF_TYPE_MAP = "COUNTERS_RIF_TYPE_MAP" - -INTERFACE_TABLE_PREFIX = "PORT_TABLE:" -INTF_STATUS_VALUE_UP = 'UP' -INTF_STATUS_VALUE_DOWN = 'DOWN' - -INTF_STATE_UP = 'U' -INTF_STATE_DOWN = 'D' -INTF_STATE_DISABLED = 'X' class Intfstat(object): def __init__(self): @@ -76,7 +89,7 @@ class Intfstat(object): """ Get the counters from specific table. """ - fields = [STATUS_NA] * (len(header) - 1) + fields = [STATUS_NA] * len(nstat_fields) for pos, counter_name in enumerate(counter_names): full_table_id = COUNTER_TABLE_PREFIX + table_id counter_data = self.db.get(self.db.COUNTERS_DB, full_table_id, counter_name) @@ -85,13 +98,28 @@ class Intfstat(object): cntr = NStats._make(fields) return cntr + def get_rates(table_id): + """ + Get the rates from specific table. + """ + fields = ["0","0","0","0"] + for pos, name in enumerate(rates_key_list): + full_table_id = RATES_TABLE_PREFIX + table_id + counter_data = self.db.get(self.db.COUNTERS_DB, full_table_id, name) + if counter_data is None: + fields[pos] = STATUS_NA + elif fields[pos] != STATUS_NA: + fields[pos] = float(counter_data) + cntr = RateStats._make(fields) + return cntr + # Build a dictionary of the stats cnstat_dict = OrderedDict() cnstat_dict['time'] = datetime.datetime.now() + ratestat_dict = OrderedDict() # Get the info from database - counter_rif_name_map = self.db.get_all(self.db.COUNTERS_DB, COUNTERS_RIF_NAME_MAP); - + counter_rif_name_map = self.db.get_all(self.db.COUNTERS_DB, COUNTERS_RIF_NAME_MAP) if counter_rif_name_map is None: print("No %s in the DB!" % COUNTERS_RIF_NAME_MAP) @@ -103,31 +131,15 @@ class Intfstat(object): if rif: cnstat_dict[rif] = get_counters(counter_rif_name_map[rif]) - return cnstat_dict + ratestat_dict[rif] = get_rates(counter_rif_name_map[rif]) + return cnstat_dict, ratestat_dict for rif in natsorted(counter_rif_name_map): cnstat_dict[rif] = get_counters(counter_rif_name_map[rif]) - return cnstat_dict - - def get_intf_state(self, port_name): - """ - Get the port state - """ - full_table_id = PORT_STATUS_TABLE_PREFIX + port_name - admin_state = self.db.get(self.db.APPL_DB, full_table_id, PORT_ADMIN_STATUS_FIELD) - oper_state = self.db.get(self.db.APPL_DB, full_table_id, PORT_OPER_STATUS_FIELD) - if admin_state is None or oper_state is None: - return STATUS_NA - elif admin_state.upper() == PORT_STATUS_VALUE_DOWN: - return PORT_STATE_DISABLED - elif admin_state.upper() == PORT_STATUS_VALUE_UP and oper_state.upper() == PORT_STATUS_VALUE_UP: - return PORT_STATE_UP - elif admin_state.upper() == PORT_STATUS_VALUE_UP and oper_state.upper() == PORT_STATUS_VALUE_DOWN: - return PORT_STATE_DOWN - else: - return STATUS_NA + ratestat_dict[rif] = get_rates(counter_rif_name_map[rif]) + return cnstat_dict, ratestat_dict - def cnstat_print(self, cnstat_dict, use_json): + def cnstat_print(self, cnstat_dict, ratestat_dict, use_json): """ Print the cnstat. """ @@ -137,8 +149,17 @@ class Intfstat(object): if key == 'time': continue - table.append((key, data.rx_p_ok, STATUS_NA, STATUS_NA, data.rx_p_err, - data.tx_p_ok, STATUS_NA, STATUS_NA, data.tx_p_err)) + rates = ratestat_dict.get(key, RateStats._make([STATUS_NA] * len(rates_key_list))) + + table.append((key, + data.rx_p_ok, + format_brate(rates.rx_bps), + format_prate(rates.rx_pps), + data.rx_p_err, + data.tx_p_ok, + format_brate(rates.tx_bps), + format_prate(rates.tx_pps), + data.tx_p_err)) if use_json: print(table_as_json(table, header)) @@ -146,7 +167,7 @@ class Intfstat(object): else: print(tabulate(table, header, tablefmt='simple', stralign='right')) - def cnstat_diff_print(self, cnstat_new_dict, cnstat_old_dict, use_json): + def cnstat_diff_print(self, cnstat_new_dict, cnstat_old_dict, ratestat_dict, use_json): """ Print the difference between two cnstat results. """ @@ -155,33 +176,34 @@ class Intfstat(object): for key, cntr in cnstat_new_dict.items(): if key == 'time': - time_gap = cnstat_new_dict.get('time') - cnstat_old_dict.get('time') - time_gap = time_gap.total_seconds() continue old_cntr = None if key in cnstat_old_dict: old_cntr = cnstat_old_dict.get(key) + rates = ratestat_dict.get(key, RateStats._make([STATUS_NA] * len(rates_key_list))) + if old_cntr is not None: table.append((key, ns_diff(cntr.rx_p_ok, old_cntr.rx_p_ok), - ns_brate(cntr.rx_b_ok, old_cntr.rx_b_ok, time_gap), - ns_prate(cntr.rx_p_ok, old_cntr.rx_p_ok, time_gap), + format_brate(rates.rx_bps), + format_prate(rates.rx_pps), ns_diff(cntr.rx_p_err, old_cntr.rx_p_err), ns_diff(cntr.tx_p_ok, old_cntr.tx_p_ok), - ns_brate(cntr.tx_b_ok, old_cntr.tx_b_ok, time_gap), - ns_prate(cntr.tx_p_ok, old_cntr.tx_p_ok, time_gap), + format_brate(rates.tx_bps), + format_prate(rates.tx_pps), ns_diff(cntr.tx_p_err, old_cntr.tx_p_err))) else: table.append((key, cntr.rx_p_ok, - STATUS_NA, - STATUS_NA, + format_brate(rates.rx_bps), + format_prate(rates.rx_pps), cntr.rx_p_err, cntr.tx_p_ok, - STATUS_NA, - STATUS_NA, + format_brate(rates.tx_bps), + format_prate(rates.tx_pps), cntr.tx_p_err)) + if use_json: print(table_as_json(table, header)) else: @@ -293,7 +315,7 @@ def main(): sys.exit(0) intfstat = Intfstat() - cnstat_dict = intfstat.get_cnstat(rif=interface_name) + cnstat_dict, ratestat_dict = intfstat.get_cnstat(rif=interface_name) # At this point, either we'll create a file or open an existing one. if not os.path.exists(cnstat_dir): @@ -347,7 +369,7 @@ def main(): if interface_name: intfstat.cnstat_single_interface(interface_name, cnstat_dict, cnstat_cached_dict) else: - intfstat.cnstat_diff_print(cnstat_dict, cnstat_cached_dict, use_json) + intfstat.cnstat_diff_print(cnstat_dict, cnstat_cached_dict, ratestat_dict, use_json) except IOError as e: print(e.errno, e) else: @@ -358,16 +380,16 @@ def main(): if interface_name: intfstat.cnstat_single_interface(interface_name, cnstat_dict, None) else: - intfstat.cnstat_print(cnstat_dict, use_json) + intfstat.cnstat_print(cnstat_dict, ratestat_dict, use_json) else: #wait for the specified time and then gather the new stats and output the difference. time.sleep(wait_time_in_seconds) print("The rates are calculated within %s seconds period" % wait_time_in_seconds) - cnstat_new_dict = intfstat.get_cnstat(rif=interface_name) + cnstat_new_dict, ratestat_new_dict = intfstat.get_cnstat(rif=interface_name) if interface_name: intfstat.cnstat_single_interface(interface_name, cnstat_new_dict, cnstat_dict) else: - intfstat.cnstat_diff_print(cnstat_new_dict, cnstat_dict, use_json) + intfstat.cnstat_diff_print(cnstat_new_dict, cnstat_dict, ratestat_new_dict, use_json) if __name__ == "__main__": main() diff --git a/scripts/portstat b/scripts/portstat index 82d673fea1..ce15fb1ffc 100755 --- a/scripts/portstat +++ b/scripts/portstat @@ -14,7 +14,6 @@ import sys import time from collections import OrderedDict, namedtuple - from natsort import natsorted from tabulate import tabulate from sonic_py_common import multi_asic @@ -36,12 +35,8 @@ except KeyError: from utilities_common import constants from utilities_common.intf_filter import parse_interface_in_filter -import utilities_common.multi_asic as multi_asic_util -from utilities_common.netstat import (ns_brate, ns_diff, ns_prate, ns_util, - table_as_json, format_number_with_comma) - - -PORT_RATE = 40 +import utilities_common.multi_asic as multi_asic_util +from utilities_common.netstat import ns_diff, table_as_json, format_brate, format_prate, format_util, format_number_with_comma """ The order and count of statistics mentioned below needs to be in sync with the values in portstat script @@ -55,12 +50,16 @@ NStats = namedtuple("NStats", "rx_ok, rx_err, rx_drop, rx_ovr, tx_ok,\ tx_uca, tx_mca, tx_bca, tx_all,\ rx_jbr, rx_frag, rx_usize, rx_ovrrun") header_all = ['IFACE', 'STATE', 'RX_OK', 'RX_BPS', 'RX_PPS', 'RX_UTIL', 'RX_ERR', 'RX_DRP', 'RX_OVR', - 'TX_OK', 'TX_BPS', 'Tx_PPS', 'TX_UTIL', 'TX_ERR', 'TX_DRP', 'TX_OVR'] + 'TX_OK', 'TX_BPS', 'TX_PPS', 'TX_UTIL', 'TX_ERR', 'TX_DRP', 'TX_OVR'] header_std = ['IFACE', 'STATE', 'RX_OK', 'RX_BPS', 'RX_UTIL', 'RX_ERR', 'RX_DRP', 'RX_OVR', 'TX_OK', 'TX_BPS', 'TX_UTIL', 'TX_ERR', 'TX_DRP', 'TX_OVR'] header_errors_only = ['IFACE', 'STATE', 'RX_ERR', 'RX_DRP', 'RX_OVR', 'TX_ERR', 'TX_DRP', 'TX_OVR'] header_rates_only = ['IFACE', 'STATE', 'RX_OK', 'RX_BPS', 'RX_PPS', 'RX_UTIL', 'TX_OK', 'TX_BPS', 'TX_PPS', 'TX_UTIL'] +rates_key_list = [ 'RX_BPS', 'RX_PPS', 'RX_UTIL', 'TX_BPS', 'TX_PPS', 'TX_UTIL' ] +ratestat_fields = ("rx_bps", "rx_pps", "rx_util", "tx_bps", "tx_pps", "tx_util") +RateStats = namedtuple("RateStats", ratestat_fields) + """ The order and count of statistics mentioned below needs to be in sync with the values in portstat script So, any fields added/deleted in here should be reflected in portstat script also @@ -113,6 +112,8 @@ counter_bucket_dict = { STATUS_NA = 'N/A' +RATES_TABLE_PREFIX = "RATES:" + COUNTER_TABLE_PREFIX = "COUNTERS:" COUNTERS_PORT_NAME_MAP = "COUNTERS_PORT_NAME_MAP" @@ -136,8 +137,9 @@ class Portstat(object): def get_cnstat_dict(self): self.cnstat_dict = OrderedDict() self.cnstat_dict['time'] = datetime.datetime.now() + self.ratestat_dict = OrderedDict() self.collect_stat() - return self.cnstat_dict + return self.cnstat_dict, self.ratestat_dict @multi_asic_util.run_on_multi_asic def collect_stat(self): @@ -145,7 +147,10 @@ class Portstat(object): Collect the statisitics from all the asics present on the device and store in a dict """ - self.cnstat_dict.update(self.get_cnstat()) + + cnstat_dict, ratestat_dict = self.get_cnstat() + self.cnstat_dict.update(cnstat_dict) + self.ratestat_dict.update(ratestat_dict) def get_cnstat(self): """ @@ -169,18 +174,36 @@ class Portstat(object): cntr = NStats._make(fields) return cntr + def get_rates(table_id): + """ + Get the rates from specific table. + """ + fields = ["0","0","0","0","0","0"] + for pos, name in enumerate(rates_key_list): + full_table_id = RATES_TABLE_PREFIX + table_id + counter_data = self.db.get(self.db.COUNTERS_DB, full_table_id, name) + if counter_data is None: + fields[pos] = STATUS_NA + elif fields[pos] != STATUS_NA: + fields[pos] = float(counter_data) + cntr = RateStats._make(fields) + return cntr + # Get the info from database counter_port_name_map = self.db.get_all(self.db.COUNTERS_DB, COUNTERS_PORT_NAME_MAP); # Build a dictionary of the stats cnstat_dict = OrderedDict() + cnstat_dict['time'] = datetime.datetime.now() + ratestat_dict = OrderedDict() if counter_port_name_map is None: - return cnstat_dict + return cnstat_dict, ratestat_dict for port in natsorted(counter_port_name_map): port_name = port.split(":")[0] if self.multi_asic.skip_display(constants.PORT_OBJ, port_name): continue cnstat_dict[port] = get_counters(counter_port_name_map[port]) - return cnstat_dict + ratestat_dict[port] = get_rates(counter_port_name_map[port]) + return cnstat_dict, ratestat_dict def get_port_speed(self, port_name): """ @@ -192,8 +215,8 @@ class Portstat(object): self.db = multi_asic.connect_to_all_dbs_for_ns(ns) speed = self.db.get(self.db.APPL_DB, full_table_id, PORT_SPEED_FIELD) if speed is not None: - return int(speed)//1000 - return PORT_RATE + return int(speed) + return STATUS_NA def get_port_state(self, port_name): """ @@ -218,7 +241,7 @@ class Portstat(object): return STATUS_NA - def cnstat_print(self, cnstat_dict, intf_list, use_json, print_all, errors_only, rates_only, detail=False): + def cnstat_print(self, cnstat_dict, ratestat_dict, intf_list, use_json, print_all, errors_only, rates_only, detail=False): """ Print the cnstat. """ @@ -235,16 +258,22 @@ class Portstat(object): continue if intf_list and key not in intf_list: continue + port_speed = self.get_port_speed(key) + rates = ratestat_dict.get(key, RateStats._make([STATUS_NA] * len(rates_key_list))) if print_all: header = header_all table.append((key, self.get_port_state(key), format_number_with_comma(data.rx_ok), - STATUS_NA, STATUS_NA, STATUS_NA, + format_brate(rates.rx_bps), + format_prate(rates.rx_pps), + format_util(rates.rx_bps, port_speed), format_number_with_comma(data.rx_err), format_number_with_comma(data.rx_drop), format_number_with_comma(data.rx_ovr), format_number_with_comma(data.tx_ok), - STATUS_NA, STATUS_NA, STATUS_NA, + format_brate(rates.tx_bps), + format_prate(rates.tx_pps), + format_util(rates.tx_bps, port_speed), format_number_with_comma(data.tx_err), format_number_with_comma(data.tx_drop), format_number_with_comma(data.tx_ovr))) @@ -261,19 +290,25 @@ class Portstat(object): header = header_rates_only table.append((key, self.get_port_state(key), format_number_with_comma(data.rx_ok), - STATUS_NA, STATUS_NA, STATUS_NA, + format_brate(rates.rx_bps), + format_prate(rates.rx_pps), + format_util(rates.rx_bps, port_speed), format_number_with_comma(data.tx_ok), - STATUS_NA, STATUS_NA, STATUS_NA)) + format_brate(rates.tx_bps), + format_prate(rates.tx_pps), + format_util(rates.tx_bps, port_speed))) else: header = header_std table.append((key, self.get_port_state(key), format_number_with_comma(data.rx_ok), - STATUS_NA, STATUS_NA, + format_brate(rates.rx_bps), + format_util(rates.rx_bps, port_speed), format_number_with_comma(data.rx_err), format_number_with_comma(data.rx_drop), format_number_with_comma(data.rx_ovr), format_number_with_comma(data.tx_ok), - STATUS_NA, STATUS_NA, + format_brate(rates.tx_bps), + format_util(rates.tx_bps, port_speed), format_number_with_comma(data.tx_err), format_number_with_comma(data.tx_drop), format_number_with_comma(data.tx_ovr))) @@ -283,7 +318,6 @@ class Portstat(object): else: print(tabulate(table, header, tablefmt='simple', stralign='right')) - def cnstat_intf_diff_print(self, cnstat_new_dict, cnstat_old_dict, intf_list): """ Print the difference between two cnstat results for interface. @@ -345,7 +379,7 @@ class Portstat(object): print("Time Since Counters Last Cleared............... " + str(cnstat_old_dict.get('time'))) - def cnstat_diff_print(self, cnstat_new_dict, cnstat_old_dict, intf_list, use_json, print_all, errors_only, rates_only, detail=False): + def cnstat_diff_print(self, cnstat_new_dict, cnstat_old_dict, ratestat_dict, intf_list, use_json, print_all, errors_only, rates_only, detail=False): """ Print the difference between two cnstat results. """ @@ -359,100 +393,125 @@ class Portstat(object): for key, cntr in cnstat_new_dict.items(): if key == 'time': - time_gap = cnstat_new_dict.get('time') - cnstat_old_dict.get('time') - time_gap = time_gap.total_seconds() continue old_cntr = None if key in cnstat_old_dict: old_cntr = cnstat_old_dict.get(key) + rates = ratestat_dict.get(key, RateStats._make([STATUS_NA] * len(ratestat_fields))) + if intf_list and key not in intf_list: continue port_speed = self.get_port_speed(key) + if print_all: header = header_all if old_cntr is not None: table.append((key, self.get_port_state(key), ns_diff(cntr.rx_ok, old_cntr.rx_ok), - ns_brate(cntr.rx_byt, old_cntr.rx_byt, time_gap), - ns_prate(cntr.rx_ok, old_cntr.rx_ok, time_gap), - ns_util(cntr.rx_byt, old_cntr.rx_byt, time_gap, port_speed), + format_brate(rates.rx_bps), + format_prate(rates.rx_pps), + format_util(rates.rx_bps, port_speed), ns_diff(cntr.rx_err, old_cntr.rx_err), ns_diff(cntr.rx_drop, old_cntr.rx_drop), ns_diff(cntr.rx_ovr, old_cntr.rx_ovr), ns_diff(cntr.tx_ok, old_cntr.tx_ok), - ns_brate(cntr.tx_byt, old_cntr.tx_byt, time_gap), - ns_prate(cntr.tx_ok, old_cntr.tx_ok, time_gap), - ns_util(cntr.tx_byt, old_cntr.tx_byt, time_gap, port_speed), + format_brate(rates.tx_bps), + format_prate(rates.tx_pps), + format_util(rates.tx_bps, port_speed), ns_diff(cntr.tx_err, old_cntr.tx_err), ns_diff(cntr.tx_drop, old_cntr.tx_drop), ns_diff(cntr.tx_ovr, old_cntr.tx_ovr))) else: table.append((key, self.get_port_state(key), format_number_with_comma(cntr.rx_ok), - STATUS_NA, - STATUS_NA, - STATUS_NA, + format_brate(rates.rx_bps), + format_prate(rates.rx_pps), + format_util(rates.rx_bps, port_speed), format_number_with_comma(cntr.rx_err), format_number_with_comma(cntr.rx_drop), format_number_with_comma(cntr.rx_ovr), format_number_with_comma(cntr.tx_ok), - STATUS_NA, - STATUS_NA, - STATUS_NA, + format_brate(rates.tx_bps), + format_prate(rates.tx_pps), + format_util(rates.tx_bps, port_speed), format_number_with_comma(cntr.tx_err), format_number_with_comma(cntr.tx_drop), format_number_with_comma(cntr.tx_ovr))) elif errors_only: header = header_errors_only - table.append((key, self.get_port_state(key), - ns_diff(cntr.rx_err, old_cntr.rx_err), - ns_diff(cntr.rx_drop, old_cntr.rx_drop), - ns_diff(cntr.rx_ovr, old_cntr.rx_ovr), - ns_diff(cntr.tx_err, old_cntr.tx_err), - ns_diff(cntr.tx_drop, old_cntr.tx_drop), - ns_diff(cntr.tx_ovr, old_cntr.tx_ovr))) - elif rates_only: - header = header_rates_only - table.append((key, self.get_port_state(key), - ns_diff(cntr.rx_ok, old_cntr.rx_ok), - STATUS_NA, - STATUS_NA, - STATUS_NA, - ns_diff(cntr.tx_ok, old_cntr.tx_ok), - STATUS_NA, - STATUS_NA, - STATUS_NA)) - else: - header = header_std if old_cntr is not None: table.append((key, self.get_port_state(key), - ns_diff(cntr.rx_ok, old_cntr.rx_ok), - ns_brate(cntr.rx_byt, old_cntr.rx_byt, time_gap), - ns_util(cntr.rx_byt, old_cntr.rx_byt, time_gap, port_speed), ns_diff(cntr.rx_err, old_cntr.rx_err), ns_diff(cntr.rx_drop, old_cntr.rx_drop), ns_diff(cntr.rx_ovr, old_cntr.rx_ovr), - ns_diff(cntr.tx_ok, old_cntr.tx_ok), - ns_brate(cntr.tx_byt, old_cntr.tx_byt, time_gap), - ns_util(cntr.tx_byt, old_cntr.tx_byt, time_gap, port_speed), ns_diff(cntr.tx_err, old_cntr.tx_err), ns_diff(cntr.tx_drop, old_cntr.tx_drop), ns_diff(cntr.tx_ovr, old_cntr.tx_ovr))) else: table.append((key, self.get_port_state(key), - format_number_with_comma(cntr.rx_ok), - STATUS_NA, - STATUS_NA, format_number_with_comma(cntr.rx_err), format_number_with_comma(cntr.rx_drop), format_number_with_comma(cntr.rx_ovr), - format_number_with_comma(cntr.tx_ok), - STATUS_NA, - STATUS_NA, format_number_with_comma(cntr.tx_err), format_number_with_comma(cntr.tx_drop), format_number_with_comma(cntr.tx_ovr))) + elif rates_only: + header = header_rates_only + if old_cntr is not None: + table.append((key, + self.get_port_state(key), + ns_diff(cntr.rx_ok, old_cntr.rx_ok), + format_brate(rates.rx_bps), + format_prate(rates.rx_pps), + format_util(rates.rx_bps, port_speed), + ns_diff(cntr.tx_ok, old_cntr.tx_ok), + format_brate(rates.tx_bps), + format_prate(rates.tx_pps), + format_util(rates.tx_bps, port_speed))) + else: + table.append((key, + self.get_port_state(key), + format_number_with_comma(cntr.rx_ok), + format_brate(rates.rx_bps), + format_prate(rates.rx_pps), + format_util(rates.rx_bps, port_speed), + format_number_with_comma(cntr.tx_ok), + format_brate(rates.tx_bps), + format_prate(rates.tx_pps), + format_util(rates.tx_bps, port_speed))) + else: + header = header_std + if old_cntr is not None: + table.append((key, + self.get_port_state(key), + ns_diff(cntr.rx_ok, old_cntr.rx_ok), + format_brate(rates.rx_bps), + format_util(rates.rx_bps, port_speed), + ns_diff(cntr.rx_err, old_cntr.rx_err), + ns_diff(cntr.rx_drop, old_cntr.rx_drop), + ns_diff(cntr.rx_ovr, old_cntr.rx_ovr), + ns_diff(cntr.tx_ok, old_cntr.tx_ok), + format_brate(rates.tx_bps), + format_util(rates.tx_bps, port_speed), + ns_diff(cntr.tx_err, old_cntr.tx_err), + ns_diff(cntr.tx_drop, old_cntr.tx_drop), + ns_diff(cntr.tx_ovr, old_cntr.tx_ovr))) + else: + table.append((key, + self.get_port_state(key), + format_number_with_comma(cntr.rx_ok), + format_brate(rates.rx_bps), + format_util(rates.rx_bps, port_speed), + format_number_with_comma(cntr.rx_err), + format_number_with_comma(cntr.rx_drop), + format_number_with_comma(cntr.rx_ovr), + format_number_with_comma(cntr.tx_ok), + format_brate(rates.tx_bps), + format_util(rates.tx_bps, port_speed), + format_number_with_comma(cntr.tx_err), + format_number_with_comma(cntr.tx_drop), + format_number_with_comma(cntr.tx_ovr))) if use_json: print(table_as_json(table, header)) @@ -551,11 +610,11 @@ Examples: display_option = constants.DISPLAY_ALL portstat = Portstat(namespace, display_option) - cnstat_dict = portstat.get_cnstat_dict() + cnstat_dict, ratestat_dict = portstat.get_cnstat_dict() # Now decide what information to display if raw_stats: - portstat.cnstat_print(cnstat_dict, intf_list, use_json, print_all, errors_only, rates_only) + portstat.cnstat_print(cnstat_dict, ratestat_dict, intf_list, use_json, print_all, errors_only, rates_only) sys.exit(0) # At this point, either we'll create a file or open an existing one. @@ -583,7 +642,7 @@ Examples: cnstat_cached_dict = pickle.load(open(cnstat_fqn_file, 'rb')) if not detail: print("Last cached time was " + str(cnstat_cached_dict.get('time'))) - portstat.cnstat_diff_print(cnstat_dict, cnstat_cached_dict, intf_list, use_json, print_all, errors_only, rates_only, detail) + portstat.cnstat_diff_print(cnstat_dict, cnstat_cached_dict, ratestat_dict, intf_list, use_json, print_all, errors_only, rates_only, detail) except IOError as e: print(e.errno, e) else: @@ -591,13 +650,13 @@ Examples: print("\nFile '%s' does not exist" % cnstat_fqn_file) print("Did you run 'portstat -c -t %s' to record the counters via tag %s?\n" % (tag_name, tag_name)) else: - portstat.cnstat_print(cnstat_dict, intf_list, use_json, print_all, errors_only, rates_only, detail) + portstat.cnstat_print(cnstat_dict, ratestat_dict, intf_list, use_json, print_all, errors_only, rates_only, detail) else: #wait for the specified time and then gather the new stats and output the difference. time.sleep(wait_time_in_seconds) print("The rates are calculated within %s seconds period" % wait_time_in_seconds) - cnstat_new_dict = portstat.get_cnstat_dict() - portstat.cnstat_diff_print(cnstat_new_dict, cnstat_dict, intf_list, use_json, print_all, errors_only, rates_only, detail) + cnstat_new_dict, ratestat_new_dict = portstat.get_cnstat_dict() + portstat.cnstat_diff_print(cnstat_new_dict, cnstat_dict, ratestat_new_dict, intf_list, use_json, print_all, errors_only, rates_only, detail) if __name__ == "__main__": main() diff --git a/tests/intfstat_test.py b/tests/intfstat_test.py index 73cda11f1c..4522e08311 100644 --- a/tests/intfstat_test.py +++ b/tests/intfstat_test.py @@ -2,7 +2,11 @@ import os import traceback +import show.main as show +import clear.main as clear + from click.testing import CliRunner +from .mock_tables import dbconnector test_path = os.path.dirname(os.path.abspath(__file__)) modules_path = os.path.dirname(test_path) @@ -10,20 +14,110 @@ sys.path.insert(0, test_path) sys.path.insert(0, modules_path) -from .mock_tables import dbconnector +show_interfaces_counters_rif_output="""\ + IFACE RX_OK RX_BPS RX_PPS RX_ERR TX_OK TX_BPS TX_PPS TX_ERR +--------------- ------- ----------- -------- -------- ------- ---------- -------- -------- + Ethernet20 4 3.00 B/s 4.00/s 2 8 754.00 B/s 8.00/s 6 +PortChannel0001 883 608.99 KB/s 0.00/s 0 0 883.00 B/s 0.00/s 0 +PortChannel0002 883 608.99 KB/s 0.00/s 0 0 883.00 B/s 0.00/s 0 +PortChannel0003 0 0.00 B/s 0.00/s 0 0 0.00 B/s 0.00/s 0 +PortChannel0004 883 608.99 KB/s 0.00/s 0 0 883.00 B/s 0.00/s 0 + Vlan1000 0 0.00 B/s 0.00/s 0 0 0.00 B/s 0.00/s 0 +""" -import show.main as show -import clear.main as clear +show_interfaces_counters_rif_output_verbose="""\ +Running command: intfstat + IFACE RX_OK RX_BPS RX_PPS RX_ERR TX_OK TX_BPS TX_PPS TX_ERR +--------------- ------- ----------- -------- -------- ------- ---------- -------- -------- + Ethernet20 4 3.00 B/s 4.00/s 2 8 754.00 B/s 8.00/s 6 +PortChannel0001 883 608.99 KB/s 0.00/s 0 0 883.00 B/s 0.00/s 0 +PortChannel0002 883 608.99 KB/s 0.00/s 0 0 883.00 B/s 0.00/s 0 +PortChannel0003 0 0.00 B/s 0.00/s 0 0 0.00 B/s 0.00/s 0 +PortChannel0004 883 608.99 KB/s 0.00/s 0 0 883.00 B/s 0.00/s 0 + Vlan1000 0 0.00 B/s 0.00/s 0 0 0.00 B/s 0.00/s 0 +""" -show_interfaces_counters_rif_output="""\ - IFACE RX_OK RX_BPS RX_PPS RX_ERR TX_OK TX_BPS TX_PPS TX_ERR ---------------- ------- -------- -------- -------- ------- -------- -------- -------- - Ethernet20 4 N/A N/A 2 8 N/A N/A 6 -PortChannel0001 883 N/A N/A 0 0 N/A N/A 0 -PortChannel0002 883 N/A N/A 0 0 N/A N/A 0 -PortChannel0003 0 N/A N/A 0 0 N/A N/A 0 -PortChannel0004 883 N/A N/A 0 0 N/A N/A 0 - Vlan1000 0 N/A N/A 0 0 N/A N/A 0 +show_interfaces_counters_rif_period="""\ +The rates are calculated within 3 seconds period + IFACE RX_OK RX_BPS RX_PPS RX_ERR TX_OK TX_BPS TX_PPS TX_ERR +--------------- ------- ----------- -------- -------- ------- ---------- -------- -------- + Ethernet20 0 3.00 B/s 4.00/s 0 0 754.00 B/s 8.00/s 0 +PortChannel0001 0 608.99 KB/s 0.00/s 0 0 883.00 B/s 0.00/s 0 +PortChannel0002 0 608.99 KB/s 0.00/s 0 0 883.00 B/s 0.00/s 0 +PortChannel0003 0 0.00 B/s 0.00/s 0 0 0.00 B/s 0.00/s 0 +PortChannel0004 0 608.99 KB/s 0.00/s 0 0 883.00 B/s 0.00/s 0 + Vlan1000 0 0.00 B/s 0.00/s 0 0 0.00 B/s 0.00/s 0 +""" + +show_interfaces_counters_rif_period_single_intf="""\ +The rates are calculated within 3 seconds period +Ethernet20 +---------- + + RX: + 0 packets + 0 bytes + 0 error packets + 0 error bytes + TX: + 0 packets + 0 bytes + 0 error packets + 0 error bytes +""" + +show_interfaces_counters_rif_single_intf="""\ +Ethernet20 +---------- + + RX: + 4 packets + 3 bytes + 2 error packets + 1128 error bytes + TX: + 8 packets + 754 bytes + 6 error packets + 5 error bytes +""" + +show_interfaces_counters_rif_clear_single_intf="""\ +Ethernet20 +---------- + + RX: + 0 packets + 0 bytes + 0 error packets + 0 error bytes + TX: + 0 packets + 0 bytes + 0 error packets + 0 error bytes +""" + +show_interfaces_counters_rif_clear="""\ + IFACE RX_OK RX_BPS RX_PPS RX_ERR TX_OK TX_BPS TX_PPS TX_ERR +--------------- ------- ----------- -------- -------- ------- ---------- -------- -------- + Ethernet20 0 3.00 B/s 4.00/s 0 0 754.00 B/s 8.00/s 0 +PortChannel0001 0 608.99 KB/s 0.00/s 0 0 883.00 B/s 0.00/s 0 +PortChannel0002 0 608.99 KB/s 0.00/s 0 0 883.00 B/s 0.00/s 0 +PortChannel0003 0 0.00 B/s 0.00/s 0 0 0.00 B/s 0.00/s 0 +PortChannel0004 0 608.99 KB/s 0.00/s 0 0 883.00 B/s 0.00/s 0 + Vlan1000 0 0.00 B/s 0.00/s 0 0 0.00 B/s 0.00/s 0 +""" + +show_single_interface_check_all_clear="""\ + IFACE RX_OK RX_BPS RX_PPS RX_ERR TX_OK TX_BPS TX_PPS TX_ERR +--------------- ------- ----------- -------- -------- ------- ---------- -------- -------- + Ethernet20 0 3.00 B/s 4.00/s 0 0 754.00 B/s 8.00/s 0 +PortChannel0001 883 608.99 KB/s 0.00/s 0 0 883.00 B/s 0.00/s 0 +PortChannel0002 883 608.99 KB/s 0.00/s 0 0 883.00 B/s 0.00/s 0 +PortChannel0003 0 0.00 B/s 0.00/s 0 0 0.00 B/s 0.00/s 0 +PortChannel0004 883 608.99 KB/s 0.00/s 0 0 883.00 B/s 0.00/s 0 + Vlan1000 0 0.00 B/s 0.00/s 0 0 0.00 B/s 0.00/s 0 """ class TestIntfstat(object): @@ -46,38 +140,25 @@ def test_verbose(self): runner = CliRunner() result = runner.invoke(show.cli.commands["interfaces"].commands["counters"].commands["rif"], ["--verbose"]) print(result.output) - assert result.output.split('\n')[0] == "Running command: intfstat" + assert result.output == show_interfaces_counters_rif_output_verbose def test_period(self): runner = CliRunner() result = runner.invoke(show.cli.commands["interfaces"].commands["counters"].commands["rif"], ["-p3"]) print(result.output) - assert result.output.split('\n')[0] == "The rates are calculated within 3 seconds period" + assert result.output == show_interfaces_counters_rif_period def test_period_single_interface(self): runner = CliRunner() result = runner.invoke(show.cli.commands["interfaces"].commands["counters"].commands["rif"], ["Ethernet20", "-p3"]) print(result.output) - assert result.output.split('\n')[0] == "The rates are calculated within 3 seconds period" + assert result.output == show_interfaces_counters_rif_period_single_intf def test_single_intfs(self): runner = CliRunner() result = runner.invoke(show.cli.commands["interfaces"].commands["counters"].commands["rif"], ["Ethernet20"]) - expected = """Ethernet20 ----------- - - RX: - 4 packets - 3 bytes - 2 error packets - 1128 error bytes - TX: - 8 packets - 754 bytes - 6 error packets - 5 error bytes -""" - assert result.output == expected + print(result.output) + assert result.output == show_interfaces_counters_rif_single_intf def test_clear_single_intfs(self): runner = CliRunner() @@ -85,23 +166,11 @@ def test_clear_single_intfs(self): print(result.stdout) assert result.exit_code == 0 result = runner.invoke(show.cli.commands["interfaces"].commands["counters"].commands["rif"], ["Ethernet20"]) - expected = """Ethernet20 ----------- - - RX: - 0 packets - 0 bytes - 0 error packets - 0 error bytes - TX: - 0 packets - 0 bytes - 0 error packets - 0 error bytes -""" + print(result.output) # remove the counters snapshot show.run_command("intfstat -D") - assert expected in result.output + assert 'Last cached time was' in result.output.split('\n')[0] + assert show_interfaces_counters_rif_clear_single_intf in result.output def test_clear_single_interface_check_all(self): runner = CliRunner() @@ -110,18 +179,10 @@ def test_clear_single_interface_check_all(self): assert result.exit_code == 0 result = runner.invoke(show.cli.commands["interfaces"].commands["counters"].commands["rif"], []) print(result.stdout) - expected = [" Ethernet20 0 0.00 B/s 0.00/s 0 0 0.00 B/s 0.00/s 0", - "PortChannel0001 883 N/A N/A 0 0 N/A N/A 0", - "PortChannel0002 883 N/A N/A 0 0 N/A N/A 0", - "PortChannel0003 0 N/A N/A 0 0 N/A N/A 0", - "PortChannel0004 883 N/A N/A 0 0 N/A N/A 0", - " Vlan1000 0 N/A N/A 0 0 N/A N/A 0"] - - # remove the counters snapshot show.run_command("intfstat -D") - for line in expected: - assert line in result.output + assert 'Last cached time was' in result.output.split('\n')[0] + assert show_single_interface_check_all_clear in result.output def test_clear(self): runner = CliRunner() @@ -130,17 +191,10 @@ def test_clear(self): assert result.exit_code == 0 result = runner.invoke(show.cli.commands["interfaces"].commands["counters"].commands["rif"], []) print(result.stdout) - expected = ["Ethernet20 0 0.00 B/s 0.00/s 0 0 0.00 B/s 0.00/s 0", - "PortChannel0001 0 0.00 B/s 0.00/s 0 0 0.00 B/s 0.00/s 0", - "PortChannel0002 0 0.00 B/s 0.00/s 0 0 0.00 B/s 0.00/s 0", - "PortChannel0003 0 0.00 B/s 0.00/s 0 0 0.00 B/s 0.00/s 0", - "PortChannel0004 0 0.00 B/s 0.00/s 0 0 0.00 B/s 0.00/s 0", - "Vlan1000 0 0.00 B/s 0.00/s 0 0 0.00 B/s 0.00/s 0"] - # remove the counters snapshot show.run_command("intfstat -D") - for line in expected: - assert line in result.output + assert 'Last cached time was' in result.output.split('\n')[0] + assert show_interfaces_counters_rif_clear in result.output def test_alias_mode(self): os.environ["SONIC_CLI_IFACE_MODE"] = "alias" @@ -163,3 +217,4 @@ def teardown_class(cls): print("TEARDOWN") os.environ["PATH"] = os.pathsep.join(os.environ["PATH"].split(os.pathsep)[:-1]) os.environ["UTILITIES_UNIT_TESTING"] = "0" + diff --git a/tests/mock_tables/asic0/counters_db.json b/tests/mock_tables/asic0/counters_db.json index 97dc7739e0..99b89081ed 100644 --- a/tests/mock_tables/asic0/counters_db.json +++ b/tests/mock_tables/asic0/counters_db.json @@ -1578,6 +1578,30 @@ "COUNTERS:oid:0x21000000000000": { "SAI_SWITCH_STAT_IN_DROP_REASON_RANGE_BASE": "1000" }, + "RATES:oid:0x1000000000002": { + "RX_BPS": "0", + "RX_PPS": "0", + "TX_BPS": "0", + "TX_PPS": "0" + }, + "RATES:oid:0x1000000000004": { + "RX_BPS": "0", + "RX_PPS": "0", + "TX_BPS": "0", + "TX_PPS": "0" + }, + "RATES:oid:0x1000000000006": { + "RX_BPS": "0", + "RX_PPS": "0", + "TX_BPS": "0", + "TX_PPS": "0" + }, + "RATES:oid:0x1000000000008": { + "RX_BPS": "0", + "RX_PPS": "0", + "TX_BPS": "0", + "TX_PPS": "0" + }, "COUNTERS_PORT_NAME_MAP": { "Ethernet0": "oid:0x1000000000002", "Ethernet4": "oid:0x1000000000004", diff --git a/tests/mock_tables/asic1/counters_db.json b/tests/mock_tables/asic1/counters_db.json index d346d42774..269aa7ec66 100644 --- a/tests/mock_tables/asic1/counters_db.json +++ b/tests/mock_tables/asic1/counters_db.json @@ -178,6 +178,18 @@ "COUNTERS:oid:0x21000000000000": { "SAI_SWITCH_STAT_IN_DROP_REASON_RANGE_BASE": "1000" }, + "RATES:oid:0x1000000000b06": { + "RX_BPS": "0", + "RX_PPS": "0", + "TX_BPS": "0", + "TX_PPS": "0" + }, + "RATES:oid:0x1000000000b08": { + "RX_BPS": "0", + "RX_PPS": "0", + "TX_BPS": "0", + "TX_PPS": "0" + }, "COUNTERS_PORT_NAME_MAP": { "Ethernet-BP256": "oid:0x1000000000b06", "Ethernet-BP260": "oid:0x1000000000b08" diff --git a/tests/mock_tables/asic2/counters_db.json b/tests/mock_tables/asic2/counters_db.json index 3c40e04bdb..09343d784b 100644 --- a/tests/mock_tables/asic2/counters_db.json +++ b/tests/mock_tables/asic2/counters_db.json @@ -1578,6 +1578,30 @@ "COUNTERS:oid:0x21000000000000": { "SAI_SWITCH_STAT_IN_DROP_REASON_RANGE_BASE": "1000" }, + "RATES:oid:0x1000000000002": { + "RX_BPS": "0", + "RX_PPS": "0", + "TX_BPS": "0", + "TX_PPS": "0" + }, + "RATES:oid:0x1000000000004": { + "RX_BPS": "0", + "RX_PPS": "0", + "TX_BPS": "0", + "TX_PPS": "0" + }, + "RATES:oid:0x1000000000006": { + "RX_BPS": "0", + "RX_PPS": "0", + "TX_BPS": "0", + "TX_PPS": "0" + }, + "RATES:oid:0x1000000000008": { + "RX_BPS": "0", + "RX_PPS": "0", + "TX_BPS": "0", + "TX_PPS": "0" + }, "COUNTERS_PORT_NAME_MAP": { "Ethernet0": "oid:0x1000000000002", "Ethernet4": "oid:0x1000000000004", diff --git a/tests/mock_tables/counters_db.json b/tests/mock_tables/counters_db.json index 3aed25f1c7..9ad472c03d 100644 --- a/tests/mock_tables/counters_db.json +++ b/tests/mock_tables/counters_db.json @@ -407,7 +407,6 @@ "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "0", "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "0", "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "0", - "SAI_QUEUE_STAT_DROPPED_PACKETS": "0", "SAI_QUEUE_STAT_DROPPED_BYTES": "0", "SAI_QUEUE_STAT_DROPPED_PACKETS": "0", "SAI_QUEUE_STAT_BYTES": "0", @@ -422,7 +421,6 @@ "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "0", "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "0", "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "0", - "SAI_QUEUE_STAT_DROPPED_PACKETS": "0", "SAI_QUEUE_STAT_DROPPED_BYTES": "0", "SAI_QUEUE_STAT_DROPPED_PACKETS": "0", "SAI_QUEUE_STAT_BYTES": "0", @@ -468,6 +466,60 @@ "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "0", "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "0" }, + "RATES:oid:0x1000000000012": { + "RX_BPS": "0", + "RX_PPS": "0", + "TX_BPS": "0", + "TX_PPS": "0" + }, + "RATES:oid:0x1000000000013": { + "RX_BPS": "204800", + "RX_PPS": "200", + "TX_BPS": "204848", + "TX_PPS": "201" + }, + "RATES:oid:0x1000000000014": { + "RX_BPS": "1.35e6", + "RX_PPS": "9000", + "TX_BPS": "13.37e6", + "TX_PPS": "9000" + }, + "RATES:oid:0x600000000065f": { + "RX_BPS": "3", + "RX_PPS": "4", + "TX_BPS": "754", + "TX_PPS": "8" + }, + "RATES:oid:0x60000000005a1": { + "RX_BPS": "608985", + "RX_PPS": "0", + "TX_BPS": "883", + "TX_PPS": "0" + }, + "RATES:oid:0x60000000005a2": { + "RX_BPS": "608985", + "RX_PPS": "0", + "TX_BPS": "883", + "TX_PPS": "0" + }, + "RATES:oid:0x600000000063c": { + "RX_BPS": "0", + "RX_PPS": "0", + "TX_BPS": "0", + "TX_PPS": "0" + }, + "RATES:oid:0x600000000063d": { + "RX_BPS": "608985", + "RX_PPS": "0", + "TX_BPS": "883", + "TX_PPS": "0" + }, + "RATES:oid:0x60000000005a3": { + "RX_BPS": "0", + "RX_PPS": "0", + "TX_BPS": "0", + "TX_PPS": "0" + }, "COUNTERS_RIF_NAME_MAP": { "Ethernet20": "oid:0x600000000065f", "PortChannel0001": "oid:0x60000000005a1", diff --git a/tests/portstat_test.py b/tests/portstat_test.py index 86714b5233..469d478ed6 100644 --- a/tests/portstat_test.py +++ b/tests/portstat_test.py @@ -12,42 +12,42 @@ scripts_path = os.path.join(modules_path, "scripts") intf_counters_before_clear = """\ - IFACE STATE RX_OK RX_BPS RX_UTIL RX_ERR RX_DRP RX_OVR TX_OK TX_BPS TX_UTIL TX_ERR TX_DRP TX_OVR ---------- ------- ------- -------- --------- -------- -------- -------- ------- -------- --------- -------- -------- -------- -Ethernet0 D 8 N/A N/A 10 100 N/A 10 N/A N/A N/A N/A N/A -Ethernet4 N/A 4 N/A N/A 0 1,000 N/A 40 N/A N/A N/A N/A N/A -Ethernet8 N/A 6 N/A N/A 100 10 N/A 60 N/A N/A N/A N/A N/A + IFACE STATE RX_OK RX_BPS RX_UTIL RX_ERR RX_DRP RX_OVR TX_OK TX_BPS TX_UTIL TX_ERR TX_DRP TX_OVR +--------- ------- ------- ------------ --------- -------- -------- -------- ------- ----------- --------- -------- -------- -------- +Ethernet0 D 8 0.00 B/s 0.00% 10 100 N/A 10 0.00 B/s 0.00% N/A N/A N/A +Ethernet4 N/A 4 204.80 KB/s N/A 0 1,000 N/A 40 204.85 KB/s N/A N/A N/A N/A +Ethernet8 N/A 6 1350.00 KB/s N/A 100 10 N/A 60 13.37 MB/s N/A N/A N/A N/A """ intf_counters_ethernet4 = """\ - IFACE STATE RX_OK RX_BPS RX_UTIL RX_ERR RX_DRP RX_OVR TX_OK TX_BPS TX_UTIL TX_ERR TX_DRP TX_OVR ---------- ------- ------- -------- --------- -------- -------- -------- ------- -------- --------- -------- -------- -------- -Ethernet4 N/A 4 N/A N/A 0 1,000 N/A 40 N/A N/A N/A N/A N/A + IFACE STATE RX_OK RX_BPS RX_UTIL RX_ERR RX_DRP RX_OVR TX_OK TX_BPS TX_UTIL TX_ERR TX_DRP TX_OVR +--------- ------- ------- ----------- --------- -------- -------- -------- ------- ----------- --------- -------- -------- -------- +Ethernet4 N/A 4 204.80 KB/s N/A 0 1,000 N/A 40 204.85 KB/s N/A N/A N/A N/A """ intf_counters_all = """\ - IFACE STATE RX_OK RX_BPS RX_PPS RX_UTIL RX_ERR RX_DRP RX_OVR TX_OK TX_BPS Tx_PPS TX_UTIL TX_ERR TX_DRP TX_OVR ---------- ------- ------- -------- -------- --------- -------- -------- -------- ------- -------- -------- --------- -------- -------- -------- -Ethernet0 D 8 N/A N/A N/A 10 100 N/A 10 N/A N/A N/A N/A N/A N/A -Ethernet4 N/A 4 N/A N/A N/A 0 1,000 N/A 40 N/A N/A N/A N/A N/A N/A -Ethernet8 N/A 6 N/A N/A N/A 100 10 N/A 60 N/A N/A N/A N/A N/A N/A + IFACE STATE RX_OK RX_BPS RX_PPS RX_UTIL RX_ERR RX_DRP RX_OVR TX_OK TX_BPS TX_PPS TX_UTIL TX_ERR TX_DRP TX_OVR +--------- ------- ------- ------------ --------- --------- -------- -------- -------- ------- ----------- --------- --------- -------- -------- -------- +Ethernet0 D 8 0.00 B/s 0.00/s 0.00% 10 100 N/A 10 0.00 B/s 0.00/s 0.00% N/A N/A N/A +Ethernet4 N/A 4 204.80 KB/s 200.00/s N/A 0 1,000 N/A 40 204.85 KB/s 201.00/s N/A N/A N/A N/A +Ethernet8 N/A 6 1350.00 KB/s 9000.00/s N/A 100 10 N/A 60 13.37 MB/s 9000.00/s N/A N/A N/A N/A """ intf_counters_period = """\ The rates are calculated within 3 seconds period - IFACE STATE RX_OK RX_BPS RX_UTIL RX_ERR RX_DRP RX_OVR TX_OK TX_BPS TX_UTIL TX_ERR TX_DRP TX_OVR ---------- ------- ------- -------- --------- -------- -------- -------- ------- -------- --------- -------- -------- -------- -Ethernet0 D 0 0.00 B/s 0.00% 0 0 N/A 0 0.00 B/s 0.00% N/A N/A N/A -Ethernet4 N/A 0 0.00 B/s 0.00% 0 0 N/A 0 0.00 B/s 0.00% N/A N/A N/A -Ethernet8 N/A 0 0.00 B/s 0.00% 0 0 N/A 0 0.00 B/s 0.00% N/A N/A N/A + IFACE STATE RX_OK RX_BPS RX_UTIL RX_ERR RX_DRP RX_OVR TX_OK TX_BPS TX_UTIL TX_ERR TX_DRP TX_OVR +--------- ------- ------- ------------ --------- -------- -------- -------- ------- ----------- --------- -------- -------- -------- +Ethernet0 D 0 0.00 B/s 0.00% 0 0 N/A 0 0.00 B/s 0.00% N/A N/A N/A +Ethernet4 N/A 0 204.80 KB/s N/A 0 0 N/A 0 204.85 KB/s N/A N/A N/A N/A +Ethernet8 N/A 0 1350.00 KB/s N/A 0 0 N/A 0 13.37 MB/s N/A N/A N/A N/A """ intf_counter_after_clear = """\ - IFACE STATE RX_OK RX_BPS RX_UTIL RX_ERR RX_DRP RX_OVR TX_OK TX_BPS TX_UTIL TX_ERR TX_DRP TX_OVR ---------- ------- ------- -------- --------- -------- -------- -------- ------- -------- --------- -------- -------- -------- -Ethernet0 D 0 0.00 B/s 0.00% 0 0 N/A 0 0.00 B/s 0.00% N/A N/A N/A -Ethernet4 N/A 0 0.00 B/s 0.00% 0 0 N/A 0 0.00 B/s 0.00% N/A N/A N/A -Ethernet8 N/A 0 0.00 B/s 0.00% 0 0 N/A 0 0.00 B/s 0.00% N/A N/A N/A""" + IFACE STATE RX_OK RX_BPS RX_UTIL RX_ERR RX_DRP RX_OVR TX_OK TX_BPS TX_UTIL TX_ERR TX_DRP TX_OVR +--------- ------- ------- ------------ --------- -------- -------- -------- ------- ----------- --------- -------- -------- -------- +Ethernet0 D 0 0.00 B/s 0.00% 0 0 N/A 0 0.00 B/s 0.00% N/A N/A N/A +Ethernet4 N/A 0 204.80 KB/s N/A 0 0 N/A 0 204.85 KB/s N/A N/A N/A N/A +Ethernet8 N/A 0 1350.00 KB/s N/A 0 0 N/A 0 13.37 MB/s N/A N/A N/A N/A""" clear_counter = """\ Cleared counters""" @@ -55,54 +55,54 @@ multi_asic_external_intf_counters = """\ IFACE STATE RX_OK RX_BPS RX_UTIL RX_ERR RX_DRP RX_OVR TX_OK TX_BPS TX_UTIL TX_ERR TX_DRP TX_OVR --------- ------- ------- -------- --------- -------- -------- -------- ------- -------- --------- -------- -------- -------- -Ethernet0 U 8 N/A N/A 10 100 N/A 10 N/A N/A N/A N/A N/A -Ethernet4 U 4 N/A N/A 0 1,000 N/A 40 N/A N/A N/A N/A N/A +Ethernet0 U 8 0.00 B/s 0.00% 10 100 N/A 10 0.00 B/s 0.00% N/A N/A N/A +Ethernet4 U 4 0.00 B/s 0.00% 0 1,000 N/A 40 0.00 B/s 0.00% N/A N/A N/A """ multi_asic_all_intf_counters = """\ IFACE STATE RX_OK RX_BPS RX_UTIL RX_ERR RX_DRP RX_OVR TX_OK TX_BPS TX_UTIL TX_ERR TX_DRP TX_OVR -------------- ------- ------- -------- --------- -------- -------- -------- ------- -------- --------- -------- -------- -------- - Ethernet0 U 8 N/A N/A 10 100 N/A 10 N/A N/A N/A N/A N/A - Ethernet4 U 4 N/A N/A 0 1,000 N/A 40 N/A N/A N/A N/A N/A - Ethernet-BP0 U 6 N/A N/A 0 1,000 N/A 60 N/A N/A N/A N/A N/A - Ethernet-BP4 U 8 N/A N/A 0 1,000 N/A 80 N/A N/A N/A N/A N/A -Ethernet-BP256 U 8 N/A N/A 10 100 N/A 10 N/A N/A N/A N/A N/A -Ethernet-BP260 U 4 N/A N/A 0 1,000 N/A 40 N/A N/A N/A N/A N/A + Ethernet0 U 8 0.00 B/s 0.00% 10 100 N/A 10 0.00 B/s 0.00% N/A N/A N/A + Ethernet4 U 4 0.00 B/s 0.00% 0 1,000 N/A 40 0.00 B/s 0.00% N/A N/A N/A + Ethernet-BP0 U 6 0.00 B/s 0.00% 0 1,000 N/A 60 0.00 B/s 0.00% N/A N/A N/A + Ethernet-BP4 U 8 0.00 B/s 0.00% 0 1,000 N/A 80 0.00 B/s 0.00% N/A N/A N/A +Ethernet-BP256 U 8 0.00 B/s 0.00% 10 100 N/A 10 0.00 B/s 0.00% N/A N/A N/A +Ethernet-BP260 U 4 0.00 B/s 0.00% 0 1,000 N/A 40 0.00 B/s 0.00% N/A N/A N/A """ multi_asic_intf_counters_asic0 = """\ IFACE STATE RX_OK RX_BPS RX_UTIL RX_ERR RX_DRP RX_OVR TX_OK TX_BPS TX_UTIL TX_ERR TX_DRP TX_OVR ------------ ------- ------- -------- --------- -------- -------- -------- ------- -------- --------- -------- -------- -------- - Ethernet0 U 8 N/A N/A 10 100 N/A 10 N/A N/A N/A N/A N/A - Ethernet4 U 4 N/A N/A 0 1,000 N/A 40 N/A N/A N/A N/A N/A -Ethernet-BP0 U 6 N/A N/A 0 1,000 N/A 60 N/A N/A N/A N/A N/A -Ethernet-BP4 U 8 N/A N/A 0 1,000 N/A 80 N/A N/A N/A N/A N/A + Ethernet0 U 8 0.00 B/s 0.00% 10 100 N/A 10 0.00 B/s 0.00% N/A N/A N/A + Ethernet4 U 4 0.00 B/s 0.00% 0 1,000 N/A 40 0.00 B/s 0.00% N/A N/A N/A +Ethernet-BP0 U 6 0.00 B/s 0.00% 0 1,000 N/A 60 0.00 B/s 0.00% N/A N/A N/A +Ethernet-BP4 U 8 0.00 B/s 0.00% 0 1,000 N/A 80 0.00 B/s 0.00% N/A N/A N/A """ multi_asic_external_intf_counters_printall = """\ - IFACE STATE RX_OK RX_BPS RX_PPS RX_UTIL RX_ERR RX_DRP RX_OVR TX_OK TX_BPS Tx_PPS TX_UTIL TX_ERR TX_DRP TX_OVR + IFACE STATE RX_OK RX_BPS RX_PPS RX_UTIL RX_ERR RX_DRP RX_OVR TX_OK TX_BPS TX_PPS TX_UTIL TX_ERR TX_DRP TX_OVR --------- ------- ------- -------- -------- --------- -------- -------- -------- ------- -------- -------- --------- -------- -------- -------- -Ethernet0 U 8 N/A N/A N/A 10 100 N/A 10 N/A N/A N/A N/A N/A N/A -Ethernet4 U 4 N/A N/A N/A 0 1,000 N/A 40 N/A N/A N/A N/A N/A N/A +Ethernet0 U 8 0.00 B/s 0.00/s 0.00% 10 100 N/A 10 0.00 B/s 0.00/s 0.00% N/A N/A N/A +Ethernet4 U 4 0.00 B/s 0.00/s 0.00% 0 1,000 N/A 40 0.00 B/s 0.00/s 0.00% N/A N/A N/A """ multi_asic_intf_counters_printall = """\ - IFACE STATE RX_OK RX_BPS RX_PPS RX_UTIL RX_ERR RX_DRP RX_OVR TX_OK TX_BPS Tx_PPS TX_UTIL TX_ERR TX_DRP TX_OVR + IFACE STATE RX_OK RX_BPS RX_PPS RX_UTIL RX_ERR RX_DRP RX_OVR TX_OK TX_BPS TX_PPS TX_UTIL TX_ERR TX_DRP TX_OVR -------------- ------- ------- -------- -------- --------- -------- -------- -------- ------- -------- -------- --------- -------- -------- -------- - Ethernet0 U 8 N/A N/A N/A 10 100 N/A 10 N/A N/A N/A N/A N/A N/A - Ethernet4 U 4 N/A N/A N/A 0 1,000 N/A 40 N/A N/A N/A N/A N/A N/A - Ethernet-BP0 U 6 N/A N/A N/A 0 1,000 N/A 60 N/A N/A N/A N/A N/A N/A - Ethernet-BP4 U 8 N/A N/A N/A 0 1,000 N/A 80 N/A N/A N/A N/A N/A N/A -Ethernet-BP256 U 8 N/A N/A N/A 10 100 N/A 10 N/A N/A N/A N/A N/A N/A -Ethernet-BP260 U 4 N/A N/A N/A 0 1,000 N/A 40 N/A N/A N/A N/A N/A N/A + Ethernet0 U 8 0.00 B/s 0.00/s 0.00% 10 100 N/A 10 0.00 B/s 0.00/s 0.00% N/A N/A N/A + Ethernet4 U 4 0.00 B/s 0.00/s 0.00% 0 1,000 N/A 40 0.00 B/s 0.00/s 0.00% N/A N/A N/A + Ethernet-BP0 U 6 0.00 B/s 0.00/s 0.00% 0 1,000 N/A 60 0.00 B/s 0.00/s 0.00% N/A N/A N/A + Ethernet-BP4 U 8 0.00 B/s 0.00/s 0.00% 0 1,000 N/A 80 0.00 B/s 0.00/s 0.00% N/A N/A N/A +Ethernet-BP256 U 8 0.00 B/s 0.00/s 0.00% 10 100 N/A 10 0.00 B/s 0.00/s 0.00% N/A N/A N/A +Ethernet-BP260 U 4 0.00 B/s 0.00/s 0.00% 0 1,000 N/A 40 0.00 B/s 0.00/s 0.00% N/A N/A N/A """ multi_asic_intf_counters_asic0_printall = """\ - IFACE STATE RX_OK RX_BPS RX_PPS RX_UTIL RX_ERR RX_DRP RX_OVR TX_OK TX_BPS Tx_PPS TX_UTIL TX_ERR TX_DRP TX_OVR + IFACE STATE RX_OK RX_BPS RX_PPS RX_UTIL RX_ERR RX_DRP RX_OVR TX_OK TX_BPS TX_PPS TX_UTIL TX_ERR TX_DRP TX_OVR ------------ ------- ------- -------- -------- --------- -------- -------- -------- ------- -------- -------- --------- -------- -------- -------- - Ethernet0 U 8 N/A N/A N/A 10 100 N/A 10 N/A N/A N/A N/A N/A N/A - Ethernet4 U 4 N/A N/A N/A 0 1,000 N/A 40 N/A N/A N/A N/A N/A N/A -Ethernet-BP0 U 6 N/A N/A N/A 0 1,000 N/A 60 N/A N/A N/A N/A N/A N/A -Ethernet-BP4 U 8 N/A N/A N/A 0 1,000 N/A 80 N/A N/A N/A N/A N/A N/A + Ethernet0 U 8 0.00 B/s 0.00/s 0.00% 10 100 N/A 10 0.00 B/s 0.00/s 0.00% N/A N/A N/A + Ethernet4 U 4 0.00 B/s 0.00/s 0.00% 0 1,000 N/A 40 0.00 B/s 0.00/s 0.00% N/A N/A N/A +Ethernet-BP0 U 6 0.00 B/s 0.00/s 0.00% 0 1,000 N/A 60 0.00 B/s 0.00/s 0.00% N/A N/A N/A +Ethernet-BP4 U 8 0.00 B/s 0.00/s 0.00% 0 1,000 N/A 80 0.00 B/s 0.00/s 0.00% N/A N/A N/A """ multi_asic_intf_counters_period = """\ The rates are calculated within 3 seconds period diff --git a/utilities_common/netstat.py b/utilities_common/netstat.py index 3d856e576f..5f17c1f4c6 100755 --- a/utilities_common/netstat.py +++ b/utilities_common/netstat.py @@ -79,3 +79,42 @@ def format_number_with_comma(number_in_str): return '{:,}'.format(int(number_in_str)) else: return number_in_str + + +def format_brate(rate): + """ + Show the byte rate. + """ + if rate == STATUS_NA: + return STATUS_NA + else: + rate = float(rate) + if rate > 1000*1000*10: + rate = "{:.2f}".format(rate/1000/1000.0)+' MB' + elif rate > 1000*10: + rate = "{:.2f}".format(rate/1000.0)+' KB' + else: + rate = "{:.2f}".format(rate)+' B' + return rate+'/s' + + +def format_prate(rate): + """ + Show the packet rate. + """ + if rate == STATUS_NA: + return STATUS_NA + else: + return "{:.2f}".format(float(rate))+'/s' + + +def format_util(brate, port_rate): + """ + Calculate the util. + """ + if brate == STATUS_NA or port_rate == STATUS_NA: + return STATUS_NA + else: + util = brate/(float(port_rate)*1000*1000/8.0)*100 + return "{:.2f}%".format(util) + From 2416175267d82f940417fe350e7172781f5c46ec Mon Sep 17 00:00:00 2001 From: Vivek Reddy Date: Sun, 12 Sep 2021 23:59:17 -0700 Subject: [PATCH 293/342] [config reload] Fix config reload failure due to sonic.target job cancellation (#1814) #### What I did Fixes https://github.com/Azure/sonic-buildimage/issues/7508 --- config/main.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/main.py b/config/main.py index 26b1ed4a7f..f2284051b0 100644 --- a/config/main.py +++ b/config/main.py @@ -686,7 +686,7 @@ def _stop_services(): pass click.echo("Stopping SONiC target ...") - clicommon.run_command("sudo systemctl stop sonic.target") + clicommon.run_command("sudo systemctl stop sonic.target --job-mode replace-irreversibly") def _get_sonic_services(): @@ -706,7 +706,7 @@ def _reset_failed_services(): def _restart_services(): click.echo("Restarting SONiC target ...") - clicommon.run_command("sudo systemctl restart sonic.target") + clicommon.run_command("sudo systemctl restart sonic.target --job-mode replace-irreversibly") try: subprocess.check_call("sudo monit status", shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) From 41e31e87e9261f15f6a4b29ea53a6a1543fffe33 Mon Sep 17 00:00:00 2001 From: Qi Luo Date: Mon, 13 Sep 2021 10:41:24 -0700 Subject: [PATCH 294/342] Fix PatchApplier init order (#1762) #### What I did Otherwise PatchSorter will see both config_wrapper, patch_wrapper as None. #### How I did it #### How to verify it #### Previous command output (if the output of a command-line utility has changed) #### New command output (if the output of a command-line utility has changed) --- generic_config_updater/generic_updater.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/generic_config_updater/generic_updater.py b/generic_config_updater/generic_updater.py index 061376b032..8fd36ced91 100644 --- a/generic_config_updater/generic_updater.py +++ b/generic_config_updater/generic_updater.py @@ -32,10 +32,10 @@ def __init__(self, changeapplier=None, config_wrapper=None, patch_wrapper=None): - self.patchsorter = patchsorter if patchsorter is not None else PatchSorter(config_wrapper, patch_wrapper) - self.changeapplier = changeapplier if changeapplier is not None else ChangeApplier() self.config_wrapper = config_wrapper if config_wrapper is not None else ConfigWrapper() self.patch_wrapper = patch_wrapper if patch_wrapper is not None else PatchWrapper() + self.patchsorter = patchsorter if patchsorter is not None else PatchSorter(self.config_wrapper, self.patch_wrapper) + self.changeapplier = changeapplier if changeapplier is not None else ChangeApplier() def apply(self, patch): # validate patch is only updating tables with yang models From c007d657713719aa97db2fc4b1b2ab946e0a09d4 Mon Sep 17 00:00:00 2001 From: Vaibhav Hemant Dixit Date: Mon, 13 Sep 2021 12:44:55 -0700 Subject: [PATCH 295/342] [warm-reboot] Add new preboot health check: verify database integrity (#1785) What I did Verify database integrity before proceeding with warm reboot or fast reboot. This integrity check uses a JSON schema to validate DBs. To start with, only counters_db's table COUNTERS_PORT_NAME_MAP presence is verified. But, this list can advance in future. The test logic is designed to be generic; any more databases or tables within them can be just added to schema list, and the verification logic needs no change. How I did it Added a JSON schema, and generic schema validation logic. --- scripts/check_db_integrity.py | 84 +++++++++++++++++++++++++++++++++++ scripts/fast-reboot | 31 +++++++++++-- 2 files changed, 112 insertions(+), 3 deletions(-) create mode 100755 scripts/check_db_integrity.py diff --git a/scripts/check_db_integrity.py b/scripts/check_db_integrity.py new file mode 100755 index 0000000000..3a994897b4 --- /dev/null +++ b/scripts/check_db_integrity.py @@ -0,0 +1,84 @@ +#!/usr/bin/env python3 + +""" +This is to verify if Database has critical tables present before warmboot can proceed. +If warmboot is allowed with missing critical tables, it can lead to issues in going +down path or during the recovery path. This test detects such issues before proceeding. +The verification procedure here uses JSON schemas to verify the DB entities. + +In future, to verify new tables or their content, just the schema modification is needed. +No modification may be needed to the integrity check logic. +""" + +import os, sys +import json, jsonschema +import syslog +import subprocess +import traceback + +DB_SCHEMA = { + "COUNTERS_DB": + { + "$schema": "http://json-schema.org/draft-06/schema", + "type": "object", + "title": "Schema for COUNTERS DB's entities", + "required": ["COUNTERS_PORT_NAME_MAP"], + "properties": { + "COUNTERS_PORT_NAME_MAP": {"$id": "#/properties/COUNTERS_PORT_NAME_MAP", "type": "object"} + } + } +} + + +def main(): + if not DB_SCHEMA: + return 0 + + for db_name, schema in DB_SCHEMA.items(): + db_dump_file = "/tmp/{}.json".format(db_name) + dump_db_cmd = "sonic-db-dump -n 'COUNTERS_DB' -y > {}".format(db_dump_file) + p = subprocess.Popen(dump_db_cmd, shell=True, text=True, + stdout=subprocess.PIPE, stderr=subprocess.PIPE) + (_, err) = p.communicate() + rc = p.wait() + if rc != 0: + print("Failed to dump db {}. Return code: {} with err: {}".format(db_name, rc, err)) + + try: + with open(db_dump_file) as fp: + db_dump_data = json.load(fp) + except ValueError as err: + syslog.syslog(syslog.LOG_DEBUG, "DB json file is not a valid json file. " +\ + "Error: {}".format(str(err))) + return 1 + + # What: Validate if critical tables and entries are present in DB. + # Why: This is needed to avoid warmbooting with a bad DB; which can + # potentially trigger failures in the reboot recovery path. + # How: Validate DB against a schema which defines required tables. + try: + jsonschema.validate(instance=db_dump_data, schema=schema) + except jsonschema.exceptions.ValidationError as err: + syslog.syslog(syslog.LOG_ERR, "Database is missing tables/entries needed for reboot procedure. " +\ + "DB integrity check failed with:\n{}".format(str(err.message))) + return 1 + syslog.syslog(syslog.LOG_DEBUG, "Database integrity checks passed.") + return 0 + + +if __name__ == '__main__': + res = 0 + try: + res = main() + except KeyboardInterrupt: + syslog.syslog(syslog.LOG_NOTICE, "SIGINT received. Quitting") + res = 1 + except Exception as e: + syslog.syslog(syslog.LOG_ERR, "Got an exception %s: Traceback: %s" % (str(e), traceback.format_exc())) + res = 2 + finally: + syslog.closelog() + try: + sys.exit(res) + except SystemExit: + os._exit(res) diff --git a/scripts/fast-reboot b/scripts/fast-reboot index aa28954b46..557a6d0f68 100755 --- a/scripts/fast-reboot +++ b/scripts/fast-reboot @@ -12,6 +12,7 @@ SHUTDOWN_ORDER_FILE="/etc/sonic/${REBOOT_TYPE}_order" VERBOSE=no FORCE=no IGNORE_ASIC=no +IGNORE_DB_CHECK=no STRICT=no REBOOT_METHOD="/sbin/kexec -e" ASSISTANT_IP_LIST="" @@ -38,6 +39,7 @@ EXIT_SYNCD_SHUTDOWN=11 EXIT_FAST_REBOOT_DUMP_FAILURE=12 EXIT_FILTER_FDB_ENTRIES_FAILURE=13 EXIT_COUNTERPOLL_DELAY_FAILURE=14 +EXIT_DB_INTEGRITY_FAILURE=15 EXIT_NO_CONTROL_PLANE_ASSISTANT=20 EXIT_SONIC_INSTALLER_VERIFY_REBOOT=21 @@ -59,8 +61,9 @@ function showHelpAndExit() echo "Usage: ${REBOOT_SCRIPT_NAME} [options]" echo " -h,-? : get this help" echo " -v : turn on verbose" - echo " -f : force execution" - echo " -i : ignore MD5-checksum-verification of ASIC configuration files" + echo " -f : force execution - ignore Orchagent RESTARTCHECK failure" + echo " -i : force execution - ignore ASIC MD5-checksum-verification" + echo " -d : force execution - ignore database integrity check" echo " -r : reboot with /sbin/reboot" echo " -k : reboot with /sbin/kexec -e [default]" echo " -x : execute script with -x flag" @@ -74,7 +77,7 @@ function showHelpAndExit() function parseOptions() { - while getopts "vfih?rkxc:s" opt; do + while getopts "vfidh?rkxc:s" opt; do case ${opt} in h|\? ) showHelpAndExit @@ -88,6 +91,9 @@ function parseOptions() i ) IGNORE_ASIC=yes ;; + d ) + IGNORE_DB_CHECK=yes + ;; r ) REBOOT_METHOD="/sbin/reboot" ;; @@ -327,6 +333,23 @@ function check_docker_exec() done } +function check_db_integrity() +{ + if [[ "$REBOOT_TYPE" = "warm-reboot" || "$REBOOT_TYPE" = "fastfast-reboot" ]]; then + CHECK_DB_INTEGRITY=0 + /usr/local/bin/check_db_integrity.py || CHECK_DB_INTEGRITY=$? + if [[ CHECK_DB_INTEGRITY -ne 0 ]]; then + if [[ x"${IGNORE_DB_CHECK}" == x"yes" ]]; then + debug "Ignoring Database integrity checks..." + else + error "Failed to validate DB's integrity. Exit code: ${CHECK_DB_INTEGRITY}. \ + Use '-d' option to force ignore this check." + exit ${EXIT_DB_INTEGRITY_FAILURE} + fi + fi + fi +} + function reboot_pre_check() { check_docker_exec @@ -337,6 +360,8 @@ function reboot_pre_check() fi rm ${filename} + check_db_integrity + # Make sure /host has enough space for warm reboot temp files avail=$(df -k /host | tail -1 | awk '{ print $4 }') if [[ ${avail} -lt ${MIN_HD_SPACE_NEEDED} ]]; then From f1086ee02104b41365b401ec46e14b39f0154e3d Mon Sep 17 00:00:00 2001 From: wen587 Date: Tue, 14 Sep 2021 09:34:08 +0800 Subject: [PATCH 296/342] [sonic_installer]Add --skip-platform-check option for sonic_installer when image mismatch (#1791) What I did Add --skip-platform-check option for sonic_installer; How I did it Add --skip-platform-check option for sonic_installer when image ASIC mismatch; Split verify_binary_image to verify_secureboot_image and verify_image_platform to handle image verification more accurately. How to verify it Installing a bin file which differs the running platform's ASIC will fail. Previous command output (if the output of a command-line utility has changed) sudo sonic-installer install --help Usage: sonic-installer install [OPTIONS] URL Install image from local binary or URL Options: -y, --yes -f, --force_install Force installation of an image of a type which differs from that of the current running image --skip_migration Do not migrate current configuration to the newly installed image --skip-package-migration Do not migrate current packages to the newly installed image --help Show this message and exit. New command output (if the output of a command-line utility has changed) Options: -y, --yes -f, --force, --skip-secure-check Force installation of an image of a non- secure type than secure running image --skip-platform-check Force installation of an image of a type which is not of the same platform --skip_migration Do not migrate current configuration to the newly installed image --skip-package-migration Do not migrate current packages to the newly installed image --help Show this message and exit. --- sonic_installer/bootloader/aboot.py | 5 +++- sonic_installer/bootloader/bootloader.py | 8 ++++-- sonic_installer/bootloader/grub.py | 34 ++++++++++++++++++++++++ sonic_installer/bootloader/onie.py | 2 +- sonic_installer/bootloader/uboot.py | 3 +++ sonic_installer/main.py | 21 ++++++++++----- 6 files changed, 63 insertions(+), 10 deletions(-) diff --git a/sonic_installer/bootloader/aboot.py b/sonic_installer/bootloader/aboot.py index 47e9c5db5f..a44c44fdd7 100644 --- a/sonic_installer/bootloader/aboot.py +++ b/sonic_installer/bootloader/aboot.py @@ -163,7 +163,10 @@ def get_binary_image_version(self, image_path): return None return IMAGE_PREFIX + version.strip() - def verify_binary_image(self, image_path): + def verify_image_platform(self, image_path): + return os.path.isfile(image_path) + + def verify_secureboot_image(self, image_path): try: subprocess.check_call(['/usr/bin/unzip', '-tq', image_path]) return self._verify_secureboot_image(image_path) diff --git a/sonic_installer/bootloader/bootloader.py b/sonic_installer/bootloader/bootloader.py index b953dd2715..aaeddeba2f 100644 --- a/sonic_installer/bootloader/bootloader.py +++ b/sonic_installer/bootloader/bootloader.py @@ -49,8 +49,12 @@ def get_binary_image_version(self, image_path): """returns the version of the image""" raise NotImplementedError - def verify_binary_image(self, image_path): - """verify that the image is supported by the bootloader""" + def verify_image_platform(self, image_path): + """verify that the image is of the same platform than running platform""" + raise NotImplementedError + + def verify_secureboot_image(self, image_path): + """verify that the image is secure running image""" raise NotImplementedError def verify_next_image(self): diff --git a/sonic_installer/bootloader/grub.py b/sonic_installer/bootloader/grub.py index 794f1ce20e..0202da76bd 100644 --- a/sonic_installer/bootloader/grub.py +++ b/sonic_installer/bootloader/grub.py @@ -8,6 +8,7 @@ import click +from sonic_py_common import device_info from ..common import ( HOST_PATH, IMAGE_DIR_PREFIX, @@ -15,6 +16,9 @@ run_command, ) from .onie import OnieInstallerBootloader +from .onie import default_sigpipe + +MACHINE_CONF = "installer/machine.conf" class GrubBootloader(OnieInstallerBootloader): @@ -81,6 +85,36 @@ def remove_image(self, image): run_command('grub-set-default --boot-directory=' + HOST_PATH + ' 0') click.echo('Image removed') + def verify_image_platform(self, image_path): + if not os.path.isfile(image_path): + return False + + # Get running platform's ASIC + try: + version_info = device_info.get_sonic_version_info() + if version_info: + asic_type = version_info['asic_type'] + else: + asic_type = None + except (KeyError, TypeError) as e: + click.echo("Caught an exception: " + str(e)) + + # Get installing image's ASIC + p1 = subprocess.Popen(["sed", "-e", "1,/^exit_marker$/d", image_path], stdout=subprocess.PIPE, preexec_fn=default_sigpipe) + p2 = subprocess.Popen(["tar", "xf", "-", MACHINE_CONF, "-O"], stdin=p1.stdout, stdout=subprocess.PIPE, preexec_fn=default_sigpipe) + p3 = subprocess.Popen(["sed", "-n", r"s/^machine=\(.*\)/\1/p"], stdin=p2.stdout, stdout=subprocess.PIPE, preexec_fn=default_sigpipe, text=True) + + stdout = p3.communicate()[0] + image_asic = stdout.rstrip('\n') + + # Return false if machine is not found or unexpected issue occur + if not image_asic: + return False + + if asic_type == image_asic: + return True + return False + @classmethod def detect(cls): return os.path.isfile(os.path.join(HOST_PATH, 'grub/grub.cfg')) diff --git a/sonic_installer/bootloader/onie.py b/sonic_installer/bootloader/onie.py index 3a01153476..aa23c347a2 100644 --- a/sonic_installer/bootloader/onie.py +++ b/sonic_installer/bootloader/onie.py @@ -44,5 +44,5 @@ def get_binary_image_version(self, image_path): return IMAGE_PREFIX + version_num - def verify_binary_image(self, image_path): + def verify_secureboot_image(self, image_path): return os.path.isfile(image_path) diff --git a/sonic_installer/bootloader/uboot.py b/sonic_installer/bootloader/uboot.py index ae54c64e43..cb6c756091 100644 --- a/sonic_installer/bootloader/uboot.py +++ b/sonic_installer/bootloader/uboot.py @@ -77,6 +77,9 @@ def remove_image(self, image): subprocess.call(['rm','-rf', HOST_PATH + '/' + image_dir]) click.echo('Done') + def verify_image_platform(self, image_path): + return os.path.isfile(image_path) + @classmethod def detect(cls): arch = platform.machine() diff --git a/sonic_installer/main.py b/sonic_installer/main.py index 79022408e1..72646531a9 100644 --- a/sonic_installer/main.py +++ b/sonic_installer/main.py @@ -480,8 +480,10 @@ def sonic_installer(): @sonic_installer.command('install') @click.option('-y', '--yes', is_flag=True, callback=abort_if_false, expose_value=False, prompt='New image will be installed, continue?') -@click.option('-f', '--force', is_flag=True, - help="Force installation of an image of a type which differs from that of the current running image") +@click.option('-f', '--force', '--skip-secure-check', is_flag=True, + help="Force installation of an image of a non-secure type than secure running image") +@click.option('--skip-platform-check', is_flag=True, + help="Force installation of an image of a type which is not of the same platform") @click.option('--skip_migration', is_flag=True, help="Do not migrate current configuration to the newly installed image") @click.option('--skip-package-migration', is_flag=True, @@ -500,7 +502,7 @@ def sonic_installer(): cls=clicommon.MutuallyExclusiveOption, mutually_exclusive=['skip_setup_swap'], callback=validate_positive_int) @click.argument('url') -def install(url, force, skip_migration=False, skip_package_migration=False, +def install(url, force, skip_platform_check=False, skip_migration=False, skip_package_migration=False, skip_setup_swap=False, swap_mem_size=None, total_mem_threshold=None, available_mem_threshold=None): """ Install image from local binary or URL""" bootloader = get_bootloader() @@ -530,10 +532,17 @@ def install(url, force, skip_migration=False, skip_package_migration=False, echo_and_log('Error: Failed to set image as default', LOG_ERR) raise click.Abort() else: - # Verify that the binary image is of the same type as the running image - if not bootloader.verify_binary_image(image_path) and not force: + # Verify not installing non-secure image in a secure running image + if not bootloader.verify_secureboot_image(image_path) and not force: echo_and_log("Image file '{}' is of a different type than running image.\n".format(url) + - "If you are sure you want to install this image, use -f|--force.\n" + + "If you are sure you want to install this image, use -f|--force|--skip-secure-check.\n" + + "Aborting...", LOG_ERR) + raise click.Abort() + + # Verify that the binary image is of the same platform type as running platform + if not bootloader.verify_image_platform(image_path) and not skip_platform_check: + echo_and_log("Image file '{}' is of a different platform type than running platform.\n".format(url) + + "If you are sure you want to install this image, use --skip-platform-check.\n" + "Aborting...", LOG_ERR) raise click.Abort() From 47a9a0f56db95265c15c74c4c8dc6a3998bfd2d3 Mon Sep 17 00:00:00 2001 From: Junchao-Mellanox <57339448+Junchao-Mellanox@users.noreply.github.com> Date: Tue, 14 Sep 2021 15:55:30 +0800 Subject: [PATCH 297/342] [portconfig] Validate duplicate speed value and interface type value (#1745) #### What I did Validate input parameter for command `config interface advertised-speeds` and `config interface advertised-types`, make sure there is no duplicate speeds or types #### How I did it Split input speeds/types with "," and check if there is a duplication, if yes, print an error. #### How to verify it 1. new unit test case 2. manual test --- scripts/portconfig | 12 ++++++++++-- tests/config_an_test.py | 6 ++++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/scripts/portconfig b/scripts/portconfig index bf730ea5c9..fde1d436d0 100755 --- a/scripts/portconfig +++ b/scripts/portconfig @@ -141,7 +141,11 @@ class portconfig(object): supported_speeds_str = self.get_supported_speeds(port) if supported_speeds_str: supported_speeds = set(supported_speeds_str.split(',')) - config_speeds = set(adv_speeds.split(',')) + config_speed_list = [x.strip() for x in adv_speeds.split(',')] + config_speeds = set(config_speed_list) + if len(config_speeds) < len(config_speed_list): + print('Invalid speed specified: {}. Please remove duplicate speed'.format(adv_speeds)) + exit(1) invalid_speeds = config_speeds - supported_speeds if invalid_speeds: print('Invalid speed specified: {}'.format(','.join(invalid_speeds))) @@ -164,7 +168,11 @@ class portconfig(object): print("Setting adv_interface_types %s on port %s" % (adv_interface_types, port)) if adv_interface_types != 'all': - config_interface_types = set(adv_interface_types.split(',')) + config_interface_type_list = [x.strip() for x in adv_interface_types.split(',')] + config_interface_types = set(config_interface_type_list) + if len(config_interface_types) < len(config_interface_type_list): + print("Invalid interface type specified: {}. Please remove duplicate interface type".format(adv_interface_types)) + exit(1) invalid_interface_types = config_interface_types - VALID_INTERFACE_TYPE_SET if invalid_interface_types: print("Invalid interface type specified: {}".format(','.join(invalid_interface_types))) diff --git a/tests/config_an_test.py b/tests/config_an_test.py index cfec47a5d1..8b5c1178df 100644 --- a/tests/config_an_test.py +++ b/tests/config_an_test.py @@ -50,6 +50,9 @@ def test_config_adv_speeds(self, ctx): result = self.basic_check("advertised-speeds", ["Ethernet0", "50000,100000"], ctx, operator.ne) assert 'Invalid speed' in result.output assert 'Valid speeds:' in result.output + result = self.basic_check("advertised-speeds", ["Ethernet0", "50000,50000"], ctx, operator.ne) + assert 'Invalid speed' in result.output + assert 'duplicate' in result.output def test_config_type(self, ctx): self.basic_check("type", ["Ethernet0", "CR4"], ctx) @@ -66,6 +69,9 @@ def test_config_adv_types(self, ctx): result = self.basic_check("advertised-types", ["Ethernet0", "CR4,Invalid"], ctx, operator.ne) assert 'Invalid interface type specified' in result.output assert 'Valid interface types:' in result.output + result = self.basic_check("advertised-types", ["Ethernet0", "CR4,CR4"], ctx, operator.ne) + assert 'Invalid interface type specified' in result.output + assert 'duplicate' in result.output self.basic_check("advertised-types", ["Ethernet0", ""], ctx, operator.ne) def basic_check(self, command_name, para_list, ctx, op=operator.eq, expect_result=0): From c2c235493f5b1b81879331b8b023c6d135f2bb8e Mon Sep 17 00:00:00 2001 From: Kebo Liu Date: Tue, 14 Sep 2021 21:07:24 +0800 Subject: [PATCH 298/342] fix wrong code indent in sfputil (#1808) Signed-off-by: Kebo Liu --- sfputil/main.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/sfputil/main.py b/sfputil/main.py index 3556eed76f..5fb533ec92 100644 --- a/sfputil/main.py +++ b/sfputil/main.py @@ -265,14 +265,14 @@ def convert_sfp_info_to_output_string(sfp_info_dict): else: output += '{}{}:\n'.format(indent, QSFP_DATA_MAP['specification_compliance']) - spec_compliance_dict = {} - try: - spec_compliance_dict = ast.literal_eval(sfp_info_dict['specification_compliance']) - sorted_compliance_key_table = natsorted(spec_compliance_dict) - for compliance_key in sorted_compliance_key_table: - output += '{}{}: {}\n'.format((indent * 2), compliance_key, spec_compliance_dict[compliance_key]) - except ValueError as e: - output += '{}N/A\n'.format((indent * 2)) + spec_compliance_dict = {} + try: + spec_compliance_dict = ast.literal_eval(sfp_info_dict['specification_compliance']) + sorted_compliance_key_table = natsorted(spec_compliance_dict) + for compliance_key in sorted_compliance_key_table: + output += '{}{}: {}\n'.format((indent * 2), compliance_key, spec_compliance_dict[compliance_key]) + except ValueError as e: + output += '{}N/A\n'.format((indent * 2)) else: output += '{}{}: {}\n'.format(indent, QSFP_DATA_MAP[key], sfp_info_dict[key]) From 17208a085fabec4ba16c4e6a29080947fb6b33be Mon Sep 17 00:00:00 2001 From: xumia <59720581+xumia@users.noreply.github.com> Date: Tue, 14 Sep 2021 23:14:04 +0800 Subject: [PATCH 299/342] [ci]: Support PR coverage (#1806) The output log will be collected by subsequent pipelines to generate Pull Request coverage reports. And if a branch wants to enforce the coverage rate, we can simply and "--fail-under SCORE" in the cover-diff command, see detail in https://diff-cover.readthedocs.io/en/latest/README.html --- azure-pipelines.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 002d4dffdd..be1bd8e5f3 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -91,6 +91,14 @@ stages: python3 setup.py test displayName: 'Test Python 3' + - script: | + sudo pip3 install diff-cover + target_branch=$(System.PullRequest.TargetBranch) + compare_branch=origin/${target_branch#refs/heads/} + diff-cover coverage.xml --compare-branch=$compare_branch + condition: eq(variables['Build.Reason'], 'PullRequest') + displayName: "Diff coverage" + - task: PublishTestResults@2 inputs: testResultsFiles: '$(System.DefaultWorkingDirectory)/test-results.xml' From f76f672e217b685a9bc683c6a1a3067c4fb667ee Mon Sep 17 00:00:00 2001 From: Qi Luo Date: Tue, 14 Sep 2021 08:15:06 -0700 Subject: [PATCH 300/342] [fdbshow]: Fix typo in comment (#1809) --- scripts/fdbshow | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/fdbshow b/scripts/fdbshow index 97e51a784f..9b83b07191 100755 --- a/scripts/fdbshow +++ b/scripts/fdbshow @@ -121,7 +121,7 @@ class FdbShow(object): bvid_tlb[bvid] = vlan_id if vlan_id is None: # the situation could be faced if the system has an FDB entries, - # which are linked to default Vlan(caused by untagged trafic) + # which are linked to default Vlan(caused by untagged traffic) continue except Exception: vlan_id = bvid From ce115451d61a422919485926a0c11869ffcbac48 Mon Sep 17 00:00:00 2001 From: Vivek Reddy Date: Wed, 15 Sep 2021 08:27:50 -0700 Subject: [PATCH 301/342] [config reload] Removed job-mode for sonic.target restart (#1820) #### What I did As discussed in this PR https://github.com/Azure/sonic-utilities/pull/1814#discussion_r708225104, only the stop.job should have job-mode set to replace irreversibly. Otherwise, simultaneous config reloads in the quick succession, can lead to the behavior. Although ,when the restart job (and all the other dependent jobs) are finished and is taken out of systemd's job queue, the next stop job will not be cancelled. --- config/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/main.py b/config/main.py index f2284051b0..90531997ee 100644 --- a/config/main.py +++ b/config/main.py @@ -706,7 +706,7 @@ def _reset_failed_services(): def _restart_services(): click.echo("Restarting SONiC target ...") - clicommon.run_command("sudo systemctl restart sonic.target --job-mode replace-irreversibly") + clicommon.run_command("sudo systemctl restart sonic.target") try: subprocess.check_call("sudo monit status", shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) From 826311cd366825c332a27799e1044509aa3d530e Mon Sep 17 00:00:00 2001 From: Vivek Reddy Date: Thu, 16 Sep 2021 00:11:05 -0700 Subject: [PATCH 302/342] [techsupport] Removed interactive option for docker commands and Improved Error Reporting (#1723) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #### Why I did Recently, a bug was seen which was related to saisdkdump and particularly showed up when `show techsupport` was invoked. Although, it was fixed, the sonic-mgmt test failed to capture it beforehand. This highlighted a few shortcomings of the `generate_dump` script and this PR addresses those and also a few additional issues seen This PR fixes a few things, I'll explain each of them in the next section. #### What I did **1) Remove the "Interactive option (-i) for the docker invocation commands"** This was the reason why the bug which was was not captured previously. When the techsupport was invoked remotely (Eg: using sshpass), the `docker exec -it ` command would fail saying ` ‘the input device is not a TTY'`. Hence the (-i) option was removed. **2) Change the Return Code** Currently, the script doesn't return any non-zero error codes for most of the intermediate steps (even though they fail), which makes validation hard. To handle this, a helper function and trap cmd are used. ``` handle_error() { if [ "$1" != "0" ]; then echo "ERR: RC:-$1 observed on line $2" >&2 RETURN_CODE=1 fi } trap 'handle_error $? $LINENO' ERR # This would trap any executions with non-zero return codes ``` The global variable RETURN_CODE is set when this is called and the same RETURN_CODE is returned when `generate_dump` invocation process exits You may see this is used in multiple functions instead of placing it once on the top of the script. This is because, every function can itself be considered as a subshell and each of them requires a explicit trap command. When a command is failed with error, this logic would get append a corresponding log to stderr. `ERR: RC:-1 observed on line 729` **3) Improve Error Reporting for save_cmd function** Currently any error written to the stderr by the intermediate calls are redirected to the same location as stdout, which is usually the file we see under dump/ dir. This is perfectly fine, but the sonic-mgmt test only parses the text seen in stdout. So, a new option (-r) is added to `generate_dump` script and subsequently to `show techsupport` to redirect any intermediate errors seen to the generate_dump's stderr. With this option enabled, these sort of errors can be captured on the stderr. ``` root@sonic:/home/admin# show techsupport -r .......... timeout --foreground 5m show queue counters > /var/dump/sonic_dump_r-tigon-04_20210714_062239/dump/queue.counters_1 Traceback (most recent call last): File "/usr/local/bin/queuestat", line 373, in main() File "/usr/local/bin/queuestat", line 368, in main queuestat.get_print_all_stat(json_opt) File "/usr/local/bin/queuestat", line 239, in get_print_all_stat cnstat_dict = self.get_cnstat(self.port_queues_map[port]) File "/usr/local/bin/queuestat", line 168, in get_cnstat cnstat_dict[queue] = get_counters(queue_map[queue]) File "/usr/local/bin/queuestat", line 158, in get_counters fields[pos] = str(int(counter_data)) ValueError: invalid literal for int() with base 10: '' handle_error $? $LINENO ERR: RC:-1 observed on line 199 Command: show queue counters timedout after 5 minutes. ............. Without that option, this'll be the output seen root@sonic:/home/admin# show techsupport .......... timeout --foreground 5m show queue counters &> /var/dump/sonic_dump_r-tigon-04_20210714_062239/dump/queue.counters_1 handle_error $? $LINENO ERR: RC:-1 observed on line 199 Command: show queue counters timedout after 5 minutes. ............. ``` **4) Minor Error in sdk-dump collection logic handled** save_file is only called for the files seen in sdk_dump_path and not for directories ``` cp: -r not specified; omitting directory '/tmp/sdk-dumps' handle_error $? $LINENO ERR: RC:-1 observed on line 729 tar: sonic_dump_r-tigon-04_20210714_062239/sai_sdk_dump/sdk-dumps: Cannot stat: No such file or directory tar: Exiting with failure status due to previous errors tar append operation failed. Aborting to prevent data loss. ``` The reason being, `find /tmp/sdk-dumps` returns ["/tmp/sdk-dumps"] even if the dir is empty. In the next step, save_file cmd is applied on the folder and thus the error. This can be handled by the change specified above **5) Minor Error in custom plugins logic handled** Added a condition to check if the dir exists before proceeding forward. ``` if [[ -d ${PLUGINS_DIR} ]]; then local -r dump_plugins="$(find ${PLUGINS_DIR} -type f -executable)" for plugin in $dump_plugins; do # save stdout output of plugin and gzip it save_cmd "$plugin" "$(basename $plugin)" true false done fi ``` Otherwise, find command might fail saying ``` root@sonic:/home/admin# find /usr/local/bin/debug-dump -type f -executable find: ‘/usr/local/bin/debug-dump’: No such file or directory ``` --- scripts/generate_dump | 105 ++++++++++++++++++++++++++++++++---------- show/main.py | 5 +- 2 files changed, 85 insertions(+), 25 deletions(-) diff --git a/scripts/generate_dump b/scripts/generate_dump index 91d632c49e..c3d93617e9 100755 --- a/scripts/generate_dump +++ b/scripts/generate_dump @@ -38,8 +38,11 @@ HOME=${HOME:-/root} USER=${USER:-root} TIMEOUT_MIN="5" SKIP_BCMCMD=0 +SAVE_STDERR=true +RETURN_CODE=0 DEBUG_DUMP=false + handle_signal() { echo "Generate Dump received interrupt" >&2 @@ -48,7 +51,15 @@ handle_signal() } trap 'handle_signal' SIGINT +handle_error() { + if [ "$1" != "0" ]; then + echo "ERR: RC:-$1 observed on line $2" >&2 + RETURN_CODE=1 + fi +} + save_bcmcmd() { + trap 'handle_error $? $LINENO' ERR local start_t=$(date +%s%3N) local end_t=0 local cmd="$1" @@ -108,6 +119,7 @@ save_bcmcmd() { # None ############################################################################### save_bcmcmd_all_ns() { + trap 'handle_error $? $LINENO' ERR local do_gzip=${3:-false} if [[ ( "$NUM_ASICS" > 1 ) ]]; then @@ -140,26 +152,27 @@ save_bcmcmd_all_ns() { # cmd: The command to run. Make sure that arguments with spaces have quotes # filename: the filename to save the output as in $BASE/dump # do_gzip: (OPTIONAL) true or false. Should the output be gzipped -# save_stderr: (OPTIONAL) true or false. Should the stderr output be saved # Returns: # None ############################################################################### save_cmd() { + trap 'handle_error $? $LINENO' ERR local start_t=$(date +%s%3N) local end_t=0 local cmd="$1" local filename=$2 local filepath="${LOGDIR}/$filename" local do_gzip=${3:-false} - local save_stderr=${4:-true} local tarpath="${BASE}/dump/$filename" local timeout_cmd="timeout --foreground ${TIMEOUT_MIN}m" - local redirect="&>" + local redirect='&>' + local redirect_eval='2>&1' [ ! -d $LOGDIR ] && $MKDIR $V -p $LOGDIR - if ! $save_stderr + if ! $SAVE_STDERR then redirect=">" + redirect_eval="" fi # eval required here to re-evaluate the $cmd properly at runtime @@ -169,7 +182,7 @@ save_cmd() { if $do_gzip; then tarpath="${tarpath}.gz" filepath="${filepath}.gz" - local cmds="$cmd 2>&1 | gzip -c > '${filepath}'" + local cmds="$cmd $redirect_eval | gzip -c > '${filepath}'" if $NOOP; then echo "${timeout_cmd} bash -c \"${cmds}\"" else @@ -208,6 +221,7 @@ save_cmd() { # None ############################################################################### save_cmd_all_ns() { + trap 'handle_error $? $LINENO' ERR local do_zip=${3:-false} # host or default namespace @@ -236,6 +250,7 @@ save_cmd_all_ns() { # None ############################################################################### copy_from_docker() { + trap 'handle_error $? $LINENO' ERR local start_t=$(date +%s%3N) local end_t=0 local docker=$1 @@ -243,7 +258,7 @@ copy_from_docker() { local dstpath=$3 local timeout_cmd="timeout --foreground ${TIMEOUT_MIN}m" - local touch_cmd="sudo docker exec -i ${docker} touch ${filename}" + local touch_cmd="sudo docker exec ${docker} touch ${filename}" local cp_cmd="sudo docker cp ${docker}:${filename} ${dstpath}" if $NOOP; then @@ -277,6 +292,7 @@ copy_from_docker() { # None ############################################################################### copy_from_masic_docker() { + trap 'handle_error $? $LINENO' ERR local docker=$1 local filename=$2 local dstpath=$3 @@ -302,6 +318,7 @@ copy_from_masic_docker() { # vtysh namespace option ############################################################################### get_vtysh_namespace() { + trap 'handle_error $? $LINENO' ERR local asic_id=${1:-""} local ns="" if [[ ( $asic_id = "" ) ]] ; then @@ -326,6 +343,7 @@ get_vtysh_namespace() { # None ############################################################################### save_vtysh() { + trap 'handle_error $? $LINENO' ERR local vtysh_cmd=$1 local filename=$2 local do_gzip=${3:-false} @@ -355,6 +373,7 @@ save_vtysh() { # None ############################################################################### save_ip() { + trap 'handle_error $? $LINENO' ERR local ip_args=$1 local filename="ip.$2" local do_gzip=${3:-false} @@ -373,6 +392,7 @@ save_ip() { # None ############################################################################### save_bridge() { + trap 'handle_error $? $LINENO' ERR local br_args=$1 local filename="bridge.$2" local do_gzip=${3:-false} @@ -389,6 +409,7 @@ save_bridge() { # None ############################################################################### save_bridge_info() { + trap 'handle_error $? $LINENO' ERR save_bridge "fdb show" "fdb" save_bridge "vlan show" "vlan" } @@ -405,6 +426,7 @@ save_bridge_info() { # None ############################################################################### save_bgp_neighbor() { + trap 'handle_error $? $LINENO' ERR local timeout_cmd="timeout --foreground ${TIMEOUT_MIN}m" local asic_id=${1:-""} local ns=$(get_vtysh_namespace $asic_id) @@ -441,6 +463,7 @@ save_bgp_neighbor() { # None ############################################################################### save_bgp_neighbor_all_ns() { + trap 'handle_error $? $LINENO' ERR if [[ ( "$NUM_ASICS" == 1 ) ]] ; then save_bgp_neighbor else @@ -461,6 +484,7 @@ save_bgp_neighbor_all_ns() { # None ############################################################################### save_nat_info() { + trap 'handle_error $? $LINENO' ERR save_cmd_all_ns "iptables -t nat -nv -L" "nat.iptables" save_cmd_all_ns "conntrack -j -L" "nat.conntrack" save_cmd_all_ns "conntrack -j -L | wc" "nat.conntrackcount" @@ -479,6 +503,7 @@ save_nat_info() { # None ############################################################################### save_bfd_info() { + trap 'handle_error $? $LINENO' ERR save_vtysh "show bfd peers" "frr.bfd.peers" save_vtysh "show bfd peers counters" "frr.bfd.peers.counters" save_vtysh "show bfd peers json" "frr.bfd.peers.json" @@ -495,6 +520,7 @@ save_bfd_info() { # None ############################################################################### save_ip_info() { + trap 'handle_error $? $LINENO' ERR save_ip "link" "link" save_ip "addr" "addr" save_ip "rule" "rule" @@ -513,6 +539,7 @@ save_ip_info() { # None ############################################################################### save_bgp_info() { + trap 'handle_error $? $LINENO' ERR save_vtysh "show ip bgp summary" "bgp.summary" save_vtysh "show ip bgp neighbors" "bgp.neighbors" save_vtysh "show ip bgp" "bgp.table" @@ -532,6 +559,7 @@ save_bgp_info() { # None ############################################################################### save_frr_info() { + trap 'handle_error $? $LINENO' ERR save_vtysh "show running-config" "frr.running_config" save_vtysh "show ip route vrf all" "frr.ip_route" save_vtysh "show ipv6 route vrf all" "frr.ip6_route" @@ -551,6 +579,7 @@ save_frr_info() { # None ############################################################################### save_redis_info() { + trap 'handle_error $? $LINENO' ERR save_redis "APPL_DB" save_redis "ASIC_DB" save_redis "COUNTERS_DB" @@ -578,6 +607,7 @@ save_redis_info() { # None ############################################################################### save_proc() { + trap 'handle_error $? $LINENO' ERR local procfiles="$@" $MKDIR $V -p $TARDIR/proc for f in $procfiles @@ -603,6 +633,7 @@ save_proc() { # None ############################################################################### save_redis() { + trap 'handle_error $? $LINENO' ERR local db_name=$1 if [ $# -ge 2 ] && [ -n "$2" ]; then local dest_file_name=$2 @@ -622,12 +653,13 @@ save_redis() { # None ############################################################################### save_saidump() { + trap 'handle_error $? $LINENO' ERR if [[ ( "$NUM_ASICS" == 1 ) ]] ; then - save_cmd "docker exec -it syncd saidump" "saidump" + save_cmd "docker exec -t syncd saidump" "saidump" else for (( i=0; i<$NUM_ASICS; i++ )) do - save_cmd "docker exec -it syncd$i saidump" "saidump$i" + save_cmd "docker exec -t syncd$i saidump" "saidump$i" done fi } @@ -642,6 +674,7 @@ save_saidump() { # None ############################################################################### save_platform_info() { + trap 'handle_error $? $LINENO' ERR save_cmd "show platform syseeprom" "syseeprom" save_cmd "show platform psustatus" "psustatus" save_cmd "show platform ssdhealth" "ssdhealth" @@ -669,6 +702,7 @@ save_platform_info() { # None ############################################################################### save_file() { + trap 'handle_error $? $LINENO' ERR local start_t=$(date +%s%3N) local end_t=0 local orig_path=$1 @@ -715,6 +749,7 @@ save_file() { # None ############################################################################### find_files() { + trap 'handle_error $? $LINENO' ERR local -r directory=$1 $TOUCH --date="${SINCE_DATE}" "${REFERENCE_FILE}" local -r find_command="find -L $directory -type f -newer ${REFERENCE_FILE}" @@ -759,11 +794,12 @@ enable_logrotate() { # None ############################################################################### collect_mellanox() { + trap 'handle_error $? $LINENO' ERR local sai_dump_folder="/tmp/saisdkdump" local sai_dump_filename="${sai_dump_folder}/sai_sdk_dump_$(date +"%m_%d_%Y_%I_%M_%p")" - ${CMD_PREFIX}docker exec -it syncd mkdir -p $sai_dump_folder - ${CMD_PREFIX}docker exec -it syncd saisdkdump -f $sai_dump_filename + ${CMD_PREFIX}docker exec -t syncd mkdir -p $sai_dump_folder + ${CMD_PREFIX}docker exec -t syncd saisdkdump -f $sai_dump_filename copy_from_docker syncd $sai_dump_folder $sai_dump_folder echo "$sai_dump_folder" @@ -772,13 +808,13 @@ collect_mellanox() { done ${CMD_PREFIX}rm -rf $sai_dump_folder - ${CMD_PREFIX}docker exec -it syncd rm -rf $sai_dump_folder + ${CMD_PREFIX}docker exec -t syncd rm -rf $sai_dump_folder # Save SDK error dumps local sdk_dump_path=`${CMD_PREFIX}docker exec syncd cat /tmp/sai.profile|grep "SAI_DUMP_STORE_PATH"|cut -d = -f2` - if [[ $sdk_dump_path ]]; then + if [[ -d $sdk_dump_path ]]; then copy_from_docker syncd $sdk_dump_path /tmp/sdk-dumps - for file in $(find /tmp/sdk-dumps); do + for file in $(find /tmp/sdk-dumps -type f); do save_file ${file} sai_sdk_dump false done rm -rf /tmp/sdk-dumps @@ -795,6 +831,7 @@ collect_mellanox() { # None ############################################################################### collect_broadcom() { + trap 'handle_error $? $LINENO' ERR local platform=$(show platform summary --json | python -c 'import sys, json; \ print(json.load(sys.stdin)["platform"])') local hwsku=$(show platform summary --json | python -c 'import sys, json; \ @@ -881,6 +918,7 @@ collect_broadcom() { # None ############################################################################### save_log_files() { + trap 'handle_error $? $LINENO' ERR disable_logrotate trap enable_logrotate HUP INT QUIT TERM KILL ABRT ALRM @@ -921,6 +959,7 @@ save_log_files() { ############################################################################### save_warmboot_files() { # Copy the warmboot files + trap 'handle_error $? $LINENO' ERR start_t=$(date +%s%3N) if $NOOP; then echo "$CP $V -rf /host/warmboot $TARDIR" @@ -948,6 +987,7 @@ save_warmboot_files() { ############################################################################### save_crash_files() { # archive core dump files + trap 'handle_error $? $LINENO' ERR for file in $(find_files "/var/core/"); do # don't gzip already-gzipped log files :) if [ -z "${file##*.gz}" ]; then @@ -980,9 +1020,15 @@ save_crash_files() { # ASIC Count ############################################################################### get_asic_count() { + trap 'handle_error $? $LINENO' ERR + local redirect_eval="2>&1" + if ! $SAVE_STDERR + then + redirect_eval="" + fi local cmd="show platform summary --json | python -c 'import sys, json; \ print(json.load(sys.stdin)[\"asic_count\"])'" - echo `eval ${cmd} 2>&1` + echo `eval ${cmd} ${redirect_eval}` } ############################################################################### @@ -996,6 +1042,7 @@ get_asic_count() { # None ############################################################################### save_counter_snapshot() { + trap 'handle_error $? $LINENO' ERR local asic_name="$1" local idx=$2 counter_t=$(date +'%d/%m/%Y %H:%M:%S:%6N') @@ -1023,6 +1070,7 @@ save_counter_snapshot() { # save the debug dump output ############################################################################### save_dump_state_all_ns() { + trap 'handle_error $? $LINENO' ERR MODULES="$(dump state -s | sed '1d;2d' | awk '{print $1}')" local UVDUMP="unified_view_dump" echo "DEBUG DUMP: Modules Available to Generate Debug Dump Output" @@ -1054,6 +1102,7 @@ save_dump_state_all_ns() { # None ############################################################################### main() { + trap 'handle_error $? $LINENO' ERR local start_t=0 local end_t=0 if [ `whoami` != root ] && ! $NOOP; @@ -1132,12 +1181,12 @@ main() { if [[ ( "$NUM_ASICS" > 1 ) ]]; then for (( i=0; i<$NUM_ASICS; i++ )) do - save_cmd "docker exec -it lldp$i lldpcli show statistics" "lldp$i.statistics" + save_cmd "docker exec -t lldp$i lldpcli show statistics" "lldp$i.statistics" save_cmd "docker logs bgp$i" "docker.bgp$i.log" save_cmd "docker logs swss$i" "docker.swss$i.log" done else - save_cmd "docker exec -it lldp lldpcli show statistics" "lldp.statistics" + save_cmd "docker exec -t lldp lldpcli show statistics" "lldp.statistics" save_cmd "docker logs bgp" "docker.bgp.log" save_cmd "docker logs swss" "docker.swss.log" fi @@ -1163,12 +1212,14 @@ main() { save_cmd "docker ps -a" "docker.ps" save_cmd "docker top pmon" "docker.pmon" - - local -r dump_plugins="$(find ${PLUGINS_DIR} -type f -executable)" - for plugin in $dump_plugins; do - # save stdout output of plugin and gzip it - save_cmd "$plugin" "$(basename $plugin)" true false - done + + if [[ -d ${PLUGINS_DIR} ]]; then + local -r dump_plugins="$(find ${PLUGINS_DIR} -type f -executable)" + for plugin in $dump_plugins; do + # save stdout output of plugin and gzip it + save_cmd "$plugin" "$(basename $plugin)" true + done + fi save_saidump @@ -1241,6 +1292,7 @@ main() { fi echo ${TARFILE} + exit $RETURN_CODE } ############################################################################### @@ -1296,13 +1348,15 @@ OPTIONS "24 March", "yesterday", etc. -t TIMEOUT_MINS Command level timeout in minutes + -r + Redirect any intermediate errors to STDERR -d Collect the output of debug dump cli - EOF } -while getopts ":xnvhzas:t:d" opt; do + +while getopts ":xnvhzas:t:r:d" opt; do case $opt in x) # enable bash debugging @@ -1344,6 +1398,9 @@ while getopts ":xnvhzas:t:d" opt; do t) TIMEOUT_MIN="${OPTARG}" ;; + r) + SAVE_STDERR=false + ;; d) DEBUG_DUMP=true ;; diff --git a/show/main.py b/show/main.py index 68a291939a..f6c49cbe61 100755 --- a/show/main.py +++ b/show/main.py @@ -1067,7 +1067,8 @@ def users(verbose): @click.option('--allow-process-stop', is_flag=True, help="Dump additional data which may require system interruption") @click.option('--silent', is_flag=True, help="Run techsupport in silent mode") @click.option('--debug-dump', is_flag=True, help="Collect Debug Dump Output") -def techsupport(since, global_timeout, cmd_timeout, verbose, allow_process_stop, silent, debug_dump): +@click.option('--redirect-stderr', '-r', is_flag=True, help="Redirect an intermediate errors to STDERR") +def techsupport(since, global_timeout, cmd_timeout, verbose, allow_process_stop, silent, debug_dump, redirect_stderr): """Gather information for troubleshooting""" cmd = "sudo timeout -s SIGTERM --foreground {}m".format(global_timeout) @@ -1087,6 +1088,8 @@ def techsupport(since, global_timeout, cmd_timeout, verbose, allow_process_stop, cmd += " -d " cmd += " -t {}".format(cmd_timeout) + if redirect_stderr: + cmd += " -r" run_command(cmd, display_cmd=verbose) From c0b99177108dcabd452bc9da844d5c15a9b0acc5 Mon Sep 17 00:00:00 2001 From: Vivek Reddy Date: Fri, 17 Sep 2021 09:55:13 -0700 Subject: [PATCH 303/342] [debug dump util] COPP Module Added (#1670) What I did HLD for Dump Utility: HLD. Added the COPP Module to the Debug Dump Utility Added the Corresponding UT's --- dump/plugins/copp.py | 351 +++++++++++++++++++++ tests/dump_input/copp/appl_db.json | 36 +++ tests/dump_input/copp/asic_db.json | 72 +++++ tests/dump_input/copp/config_db.json | 17 + tests/dump_input/copp/state_db.json | 23 ++ tests/dump_tests/module_tests/copp_test.py | 227 +++++++++++++ 6 files changed, 726 insertions(+) create mode 100644 dump/plugins/copp.py create mode 100644 tests/dump_input/copp/appl_db.json create mode 100644 tests/dump_input/copp/asic_db.json create mode 100644 tests/dump_input/copp/config_db.json create mode 100644 tests/dump_input/copp/state_db.json create mode 100644 tests/dump_tests/module_tests/copp_test.py diff --git a/dump/plugins/copp.py b/dump/plugins/copp.py new file mode 100644 index 0000000000..9cc015945a --- /dev/null +++ b/dump/plugins/copp.py @@ -0,0 +1,351 @@ +import re +from dump.match_infra import MatchRequest +from dump.helper import create_template_dict +from dump.helper import handle_error, handle_multiple_keys_matched_error +from .executor import Executor + +TRAP_ID_MAP = { + "stp": "SAI_HOSTIF_TRAP_TYPE_STP", + "lacp": "SAI_HOSTIF_TRAP_TYPE_LACP", + "eapol": "SAI_HOSTIF_TRAP_TYPE_EAPOL", + "lldp": "SAI_HOSTIF_TRAP_TYPE_LLDP", + "pvrst": "SAI_HOSTIF_TRAP_TYPE_PVRST", + "igmp_query": "SAI_HOSTIF_TRAP_TYPE_IGMP_TYPE_QUERY", + "igmp_leave": "SAI_HOSTIF_TRAP_TYPE_IGMP_TYPE_LEAVE", + "igmp_v1_report": "SAI_HOSTIF_TRAP_TYPE_IGMP_TYPE_V1_REPORT", + "igmp_v2_report": "SAI_HOSTIF_TRAP_TYPE_IGMP_TYPE_V2_REPORT", + "igmp_v3_report": "SAI_HOSTIF_TRAP_TYPE_IGMP_TYPE_V3_REPORT", + "sample_packet": "SAI_HOSTIF_TRAP_TYPE_SAMPLEPACKET", + "switch_cust_range": "SAI_HOSTIF_TRAP_TYPE_SWITCH_CUSTOM_RANGE_BASE", + "arp_req": "SAI_HOSTIF_TRAP_TYPE_ARP_REQUEST", + "arp_resp": "SAI_HOSTIF_TRAP_TYPE_ARP_RESPONSE", + "dhcp": "SAI_HOSTIF_TRAP_TYPE_DHCP", + "ospf": "SAI_HOSTIF_TRAP_TYPE_OSPF", + "pim": "SAI_HOSTIF_TRAP_TYPE_PIM", + "vrrp": "SAI_HOSTIF_TRAP_TYPE_VRRP", + "bgp": "SAI_HOSTIF_TRAP_TYPE_BGP", + "dhcpv6": "SAI_HOSTIF_TRAP_TYPE_DHCPV6", + "ospfv6": "SAI_HOSTIF_TRAP_TYPE_OSPFV6", + "vrrpv6": "SAI_HOSTIF_TRAP_TYPE_VRRPV6", + "bgpv6": "SAI_HOSTIF_TRAP_TYPE_BGPV6", + "neigh_discovery": "SAI_HOSTIF_TRAP_TYPE_IPV6_NEIGHBOR_DISCOVERY", + "mld_v1_v2": "SAI_HOSTIF_TRAP_TYPE_IPV6_MLD_V1_V2", + "mld_v1_report": "SAI_HOSTIF_TRAP_TYPE_IPV6_MLD_V1_REPORT", + "mld_v1_done": "SAI_HOSTIF_TRAP_TYPE_IPV6_MLD_V1_DONE", + "mld_v2_report": "SAI_HOSTIF_TRAP_TYPE_MLD_V2_REPORT", + "ip2me": "SAI_HOSTIF_TRAP_TYPE_IP2ME", + "ssh": "SAI_HOSTIF_TRAP_TYPE_SSH", + "snmp": "SAI_HOSTIF_TRAP_TYPE_SNMP", + "router_custom_range": "SAI_HOSTIF_TRAP_TYPE_ROUTER_CUSTOM_RANGE_BASE", + "l3_mtu_error": "SAI_HOSTIF_TRAP_TYPE_L3_MTU_ERROR", + "ttl_error": "SAI_HOSTIF_TRAP_TYPE_TTL_ERROR", + "udld": "SAI_HOSTIF_TRAP_TYPE_UDLD", + "bfd": "SAI_HOSTIF_TRAP_TYPE_BFD", + "bfdv6": "SAI_HOSTIF_TRAP_TYPE_BFDV6", + "src_nat_miss": "SAI_HOSTIF_TRAP_TYPE_SNAT_MISS", + "dest_nat_miss": "SAI_HOSTIF_TRAP_TYPE_DNAT_MISS" +} + +CFG_COPP_TRAP_TABLE_NAME = "COPP_TRAP" +CFG_COPP_GROUP_TABLE_NAME = "COPP_GROUP" +APP_COPP_TABLE_NAME = "COPP_TABLE" + +ASIC_DB_PREFIX = "ASIC_STATE" + +ASIC_TRAP_OBJ = ASIC_DB_PREFIX + ":" + "SAI_OBJECT_TYPE_HOSTIF_TRAP" +ASIC_TRAP_GROUP_OBJ = ASIC_DB_PREFIX + ":" + "SAI_OBJECT_TYPE_HOSTIF_TRAP_GROUP" +ASIC_HOSTIF_TABLE_ENTRY = ASIC_DB_PREFIX + ":" + "SAI_OBJECT_TYPE_HOSTIF_TABLE_ENTRY" +ASIC_HOSTIF = ASIC_DB_PREFIX + ":" + "SAI_OBJECT_TYPE_HOSTIF" +ASIC_POLICER_OBJ = ASIC_DB_PREFIX + ":" + "SAI_OBJECT_TYPE_POLICER" +ASIC_QUEUE_OBJ = ASIC_DB_PREFIX + ":" + "SAI_OBJECT_TYPE_QUEUE" + + +class Copp(Executor): + + ARG_NAME = "trap_id" + CONFIG_FILE = "/etc/sonic/copp_cfg.json" + + def __init__(self, match_engine=None): + super().__init__(match_engine) + self.copp_trap_cfg_key = "" + self.trap_group = "" + self.trap_id = "" + self.ns = "" + self.ret_temp = {} + + def fetch_all_trap_ids(self, ret): + traps = [] + if not ret["error"]: + for key in ret["keys"]: + temp_ids = ret["return_values"][key]["trap_ids"].split(",") + for id in temp_ids: + traps.append(id) + return traps + + def get_all_args(self, ns): + all_trap_ids = set() + req = MatchRequest(file=Copp.CONFIG_FILE, table=CFG_COPP_TRAP_TABLE_NAME, return_fields=["trap_ids"], ns=ns) + ret = self.match_engine.fetch(req) + all_trap_ids.update(self.fetch_all_trap_ids(ret)) + + req = MatchRequest(db="CONFIG_DB", table=CFG_COPP_TRAP_TABLE_NAME, return_fields=["trap_ids"], ns=ns) + ret = self.match_engine.fetch(req) + all_trap_ids.update(self.fetch_all_trap_ids(ret)) + return list(all_trap_ids) + + def execute(self, params): + self.ret_temp = create_template_dict(dbs=["CONFIG_DB", "APPL_DB", "ASIC_DB", "STATE_DB", "CONFIG_FILE"]) + self.ns = params["namespace"] + self.trap_id = params[Copp.ARG_NAME] + self.copp_trap_cfg_key = "" + self.trap_group = "" + self.handle_user_and_default_config() + self.handle_appl_db() + self.handle_asic_db() + self.handle_state_db() + return self.ret_temp + + def handle_state_db(self): + req = MatchRequest(db="STATE_DB", table="COPP_TRAP_TABLE", key_pattern=self.copp_trap_cfg_key) + ret = self.match_engine.fetch(req) + if not ret["error"] and len(ret["keys"]) > 0: + self.ret_temp["STATE_DB"]["keys"].append(ret["keys"][0]) + else: + self.ret_temp["STATE_DB"]["tables_not_found"].append("COPP_TRAP_TABLE") + + req = MatchRequest(db="STATE_DB", table="COPP_GROUP_TABLE", key_pattern=self.trap_group) + ret = self.match_engine.fetch(req) + if not ret["error"] and len(ret["keys"]) > 0: + self.ret_temp["STATE_DB"]["keys"].append(ret["keys"][0]) + else: + self.ret_temp["STATE_DB"]["tables_not_found"].append("COPP_GROUP_TABLE") + + def handle_appl_db(self): + req = MatchRequest(db="APPL_DB", table=APP_COPP_TABLE_NAME, key_pattern="*", field="trap_ids", + value=self.trap_id, match_entire_list=False, return_fields=["trap_group"]) + ret = self.match_engine.fetch(req) + tg = "" + if not ret["error"] and len(ret["keys"]) > 0: + if len(ret["keys"]) > 1: + err_str_tup = ("ERROR: Multiple COPP_TABLE Keys found for the trap_id {} in", + "the APPL_DB, keys found: {}") + err_str = " ".join(err_str_tup) + err_str = err_str.format(self.trap_id, str(ret["keys"])) + handle_multiple_keys_matched_error(err_str, ret["keys"][0]) + self.ret_temp["APPL_DB"]["keys"].append(ret["keys"][0]) + tg = ret["return_values"][ret["keys"][0]]["trap_group"] + else: + self.ret_temp["APPL_DB"]["tables_not_found"].append(APP_COPP_TABLE_NAME) + + if tg != self.trap_group and not self.trap_group and not tg: + err_str_tup = ("The Associated Trap_group for the trap_id found in APPL", + "and CONFIG_DB/CONFIG_FILE did not match.", + "In APPL_DB: {}, CONFIG_DB: {}", + "\n Proceding with the trap group found in APPL DB") + err_str = " ".join(err_str_tup) + err_str = err_str.format(tg, self.trap_group) + handle_error(err_str, False) + + if tg: + self.trap_group = tg + + def handle_asic_db(self): + if self.trap_id not in TRAP_ID_MAP: + err_str = "Invalid Trap Id {} is provided, no corresponding SAI_TRAP_OBJ is found" + handle_error(err_str.format(self.trap_id), False) + sai_trap_id = "" + else: + sai_trap_id = TRAP_ID_MAP[self.trap_id] + sai_trap, sai_trap_grp = self.__get_asic_hostif_trap_obj(sai_trap_id) + sai_queue, sai_policer = self.__get_asic_hostif_trap_group_obj(sai_trap_grp) + self.__get_asic_policer_obj(sai_policer) + self.__get_asic_queue_obj(sai_queue) + sai_hostif_vid = self.__get_asic_hostif_entry_obj(sai_trap) + self.__get_asic_hostif_obj(sai_hostif_vid) + + def __get_asic_hostif_trap_obj(self, sai_trap_id): + if not sai_trap_id: + self.ret_temp["ASIC_DB"]["tables_not_found"].append(ASIC_TRAP_OBJ) + return "", "" + + req = MatchRequest(db="ASIC_DB", table=ASIC_TRAP_OBJ, field="SAI_HOSTIF_TRAP_ATTR_TRAP_TYPE", value=sai_trap_id, + ns=self.ns, return_fields=["SAI_HOSTIF_TRAP_ATTR_TRAP_GROUP"]) + ret = self.match_engine.fetch(req) + if not ret["error"] and len(ret["keys"]) > 0: + if len(ret["keys"]) > 1: + err_str = "ERROR: Multiple {} Keys found for the trap_sai_type {} in the ASIC_DB, keys found: {}".format(ASIC_TRAP_OBJ, trap_sai_obj, str(ret["keys"])) + handle_multiple_keys_matched_error(err_str, ret["keys"][0]) + trap_asic_key = ret["keys"][0] + self.ret_temp["ASIC_DB"]["keys"].append(trap_asic_key) + return trap_asic_key, ret["return_values"][trap_asic_key]["SAI_HOSTIF_TRAP_ATTR_TRAP_GROUP"] + else: + self.ret_temp["ASIC_DB"]["tables_not_found"].append(ASIC_TRAP_OBJ) + return "", "" + + def __get_asic_hostif_trap_group_obj(self, trap_group_obj): + if not trap_group_obj: + self.ret_temp["ASIC_DB"]["tables_not_found"].append(ASIC_TRAP_GROUP_OBJ) + return "", "" + + req = MatchRequest(db="ASIC_DB", table=ASIC_TRAP_GROUP_OBJ, key_pattern=trap_group_obj, ns=self.ns, + return_fields=["SAI_HOSTIF_TRAP_GROUP_ATTR_QUEUE", "SAI_HOSTIF_TRAP_GROUP_ATTR_POLICER"]) + ret = self.match_engine.fetch(req) + if not ret["error"] and len(ret["keys"]) > 0: + trap_group_asic_key = ret["keys"][0] + self.ret_temp["ASIC_DB"]["keys"].append(trap_group_asic_key) + SAI_QUEUE_INDEX = ret["return_values"][trap_group_asic_key]["SAI_HOSTIF_TRAP_GROUP_ATTR_QUEUE"] + SAI_POLICER_OBJ = ret["return_values"][trap_group_asic_key]["SAI_HOSTIF_TRAP_GROUP_ATTR_POLICER"] + return SAI_QUEUE_INDEX, SAI_POLICER_OBJ + else: + self.ret_temp["ASIC_DB"]["tables_not_found"].append(ASIC_TRAP_GROUP_OBJ) + return "", "" + + def __get_asic_policer_obj(self, policer_sai_obj): + # Not adding to tables_not_found because, some of the trap_ids might not have a policer associated with them + # and that is expected + if not policer_sai_obj: + return + req = MatchRequest(db="ASIC_DB", table=ASIC_POLICER_OBJ, key_pattern=policer_sai_obj, ns=self.ns) + ret = self.match_engine.fetch(req) + if not ret["error"] and len(ret["keys"]) > 0: + self.ret_temp["ASIC_DB"]["keys"].append(ret["keys"][0]) + + def __get_asic_queue_obj(self, queue_sai_obj): + # Not adding tp tables_not_found because of the type of reason specified for policer obj + if not queue_sai_obj: + return + req = MatchRequest(db="ASIC_DB", table=ASIC_QUEUE_OBJ, field="SAI_QUEUE_ATTR_INDEX", value=queue_sai_obj, ns=self.ns) + ret = self.match_engine.fetch(req) + if not ret["error"] and len(ret["keys"]) > 0: + self.ret_temp["ASIC_DB"]["keys"].append(ret["keys"][0]) + + def __get_asic_hostif_entry_obj(self, sai_trap_key): + # Not adding tp tables_not_found because of the type of reason specified for policer obj + if not sai_trap_key: + return + matches = re.findall(r"oid:0x\w{1,14}", sai_trap_key) + if matches: + sai_trap_vid = matches[0] + else: + return + req = MatchRequest(db="ASIC_DB", table=ASIC_HOSTIF_TABLE_ENTRY, field="SAI_HOSTIF_TABLE_ENTRY_ATTR_TRAP_ID", + value=sai_trap_vid, return_fields=["SAI_HOSTIF_TABLE_ENTRY_ATTR_HOST_IF"], ns=self.ns) + ret = self.match_engine.fetch(req) + if not ret["error"] and len(ret["keys"]) > 0: + sai_hostif_table_entry_key = ret["keys"][0] + self.ret_temp["ASIC_DB"]["keys"].append(sai_hostif_table_entry_key) + sai_hostif_vid = ret["return_values"][sai_hostif_table_entry_key]["SAI_HOSTIF_TABLE_ENTRY_ATTR_HOST_IF"] + return sai_hostif_vid + + def __get_asic_hostif_obj(self, sai_hostif_vid): + # Not adding tp tables_not_found because of the type of reason specified for policer obj + if not sai_hostif_vid: + return + req = MatchRequest(db="ASIC_DB", table=ASIC_HOSTIF, key_pattern=sai_hostif_vid, ns=self.ns) + ret = self.match_engine.fetch(req) + if not ret["error"] and len(ret["keys"]) > 0: + self.ret_temp["ASIC_DB"]["keys"].append(ret["keys"][0]) + + # When the user writes config to CONFIG_DB, that takes precedence over default config + def handle_user_and_default_config(self): + # ------------------ Find trap_id_key and trap_group from both the sources + # Search for any user-provided config for the trap-id provided + trap_id_key_db, trap_group_db = self.__find_trap_id_in_db() + trap_id_key_cf, trap_group_cf = "", "" + if not trap_id_key_db: # If nothing is found, search in CONFIG_FILE + trap_id_key_cf, trap_group_cf = self.__find_trap_id_in_conf_file() + elif trap_id_key_db and not trap_group_db: + _, trap_group_cf = self.__find_trap_id_in_conf_file(trap_id_key_db.split("|")[-1], False) + + # ------------------ Find any diff and fill the return dictionary with COPP_TRAP keys + if trap_id_key_db: + self.ret_temp["CONFIG_DB"]["keys"].append(trap_id_key_db) + self.copp_trap_cfg_key = trap_id_key_db.split("|")[-1] + id_in_file, _ = self.__find_trap_id_in_conf_file(self.copp_trap_cfg_key, False) + if id_in_file == trap_id_key_db: # If any diff + self.ret_temp["CONFIG_FILE"]["keys"].append(trap_id_key_db) + elif trap_id_key_cf: + self.ret_temp["CONFIG_FILE"]["keys"].append(trap_id_key_cf) + self.copp_trap_cfg_key = trap_id_key_cf.split("|")[-1] + id_in_file, _ = self.__find_trap_id_in_db(self.copp_trap_cfg_key, False) + if id_in_file == trap_id_key_cf: # Find the diff, if any, inside the CONFIG DB + self.ret_temp["CONFIG_DB"]["keys"].append(trap_id_key_cf) + else: + self.ret_temp["CONFIG_FILE"]["tables_not_found"].append(CFG_COPP_TRAP_TABLE_NAME) + self.ret_temp["CONFIG_DB"]["tables_not_found"].append(CFG_COPP_TRAP_TABLE_NAME) + + # ------------------ Find any diff and fill the return dictionary with COPP_GROUP keys + if trap_group_db: # Preference to User-provided Config + self.trap_group = trap_group_db + trap_in_cfg_file = False + elif trap_group_cf: # Then, the preference to the group found in CFG_File + self.trap_group = trap_group_cf + trap_in_cfg_file = True + else: + self.ret_temp["CONFIG_FILE"]["tables_not_found"].append(CFG_COPP_GROUP_TABLE_NAME) + self.ret_temp["CONFIG_DB"]["tables_not_found"].append(CFG_COPP_GROUP_TABLE_NAME) + return + tg_in_default = self.__fill_trap_group_in_conf_file(trap_in_cfg_file) # Check if the trap_group in cfg_file + # Trap_group is expected to be in cfg_db when + # 1) Trap_group is not found in cfg_file + # 2) Trap_ID was provided by the user i.e trap_in_cfg_file = False + # Otherwise, we're just looking for diff + self.__fill_trap_group_in_conf_db(not(tg_in_default) and not(trap_in_cfg_file)) + + def __fill_trap_group_in_conf_file(self, not_found_report=True): + req = MatchRequest(table=CFG_COPP_GROUP_TABLE_NAME, key_pattern=self.trap_group, ns=self.ns, file=Copp.CONFIG_FILE) + ret = self.match_engine.fetch(req) + key_tg = "" + if not ret["error"] and len(ret["keys"]) > 0: + key_tg = ret["keys"][0] + self.ret_temp["CONFIG_FILE"]["keys"].append(key_tg) + return True + elif not_found_report: + self.ret_temp["CONFIG_FILE"]["tables_not_found"].append(CFG_COPP_GROUP_TABLE_NAME) + return False + + def __fill_trap_group_in_conf_db(self, not_found_report=True): + req = MatchRequest(table=CFG_COPP_GROUP_TABLE_NAME, key_pattern=self.trap_group, ns=self.ns, db="CONFIG_DB") + ret = self.match_engine.fetch(req) + key_tg = "" + if not ret["error"] and len(ret["keys"]) > 0: + key_tg = ret["keys"][0] + self.ret_temp["CONFIG_DB"]["keys"].append(key_tg) + return True + elif not_found_report: + self.ret_temp["CONFIG_DB"]["tables_not_found"].append(CFG_COPP_GROUP_TABLE_NAME) + return False + + def __find_trap_id_in_conf_file(self, key_ptrn="*", do_fv_check=True): + field_, value_ = None, None + if do_fv_check: + field_ = "trap_ids" + value_ = self.trap_id + req = MatchRequest(file=Copp.CONFIG_FILE, table=CFG_COPP_TRAP_TABLE_NAME, key_pattern=key_ptrn, match_entire_list=False, + ns=self.ns, return_fields=["trap_group"], field=field_, value=value_) + ret = self.match_engine.fetch(req) + if not ret["error"] and len(ret["keys"]) > 0: + if len(ret["keys"]) > 1: + err_str = "ERROR (AMBIGUITY): Multiple COPP_TRAP Keys found for the trap_id {} in the copp_init file, i.e. {}".format(self.trap_id, str(ret["keys"])) + handle_multiple_keys_matched_error(err_str, ret["keys"][0]) + key_copp_trap = ret["keys"][0] + return key_copp_trap, ret["return_values"][key_copp_trap]["trap_group"] + else: + return "", "" + + def __find_trap_id_in_db(self, key_ptrn="*", do_fv_check=True): + field_, value_ = None, None + if do_fv_check: + field_ = "trap_ids" + value_ = self.trap_id + req = MatchRequest(db="CONFIG_DB", table=CFG_COPP_TRAP_TABLE_NAME, key_pattern=key_ptrn, match_entire_list=False, + ns=self.ns, return_fields=["trap_group"], field=field_, value=value_) + ret = self.match_engine.fetch(req) + if not ret["error"] and len(ret["keys"]) > 0: + if len(ret["keys"]) > 1: + err_str = "Multiple COPP_TRAP Keys found for the trap_id {} in the CONFIG_DB, i.e. {}".format(self.trap_id, str(ret["keys"])) + handle_multiple_keys_matched_error(err_str, ret["keys"][0]) + key_copp_trap = ret["keys"][0] + return key_copp_trap, ret["return_values"][key_copp_trap]["trap_group"] + else: + return "", "" diff --git a/tests/dump_input/copp/appl_db.json b/tests/dump_input/copp/appl_db.json new file mode 100644 index 0000000000..71a9a811d4 --- /dev/null +++ b/tests/dump_input/copp/appl_db.json @@ -0,0 +1,36 @@ +{ + "COPP_TABLE:queue4_group2": { + "cbs": "6000", + "cir": "6000", + "meter_type": "packets", + "mode": "sr_tcm", + "queue": "1", + "red_action": "drop", + "trap_action": "trap", + "trap_priority": "1", + "trap_ids": "arp_req,arp_resp,neigh_discovery,snmp" + }, + "COPP_TABLE:queue2_group1": { + "cbs": "2000", + "cir": "2000", + "meter_type": "packets", + "mode": "sr_tcm", + "queue": "1", + "red_action": "drop", + "trap_action": "trap", + "trap_priority": "1", + "trap_ids": "sample_packet" + }, + "COPP_TABLE:queue4_group1": { + "trap_action":"trap", + "trap_priority":"4", + "queue": "4", + "trap_ids": "bgp,bgpv6,ospfv6,ospf" + }, + "COPP_TABLE:queue1_group2":{ + "trap_ids": "src_nat_miss", + "trap_action":"trap", + "trap_priority":"4", + "queue": "4" + } +} diff --git a/tests/dump_input/copp/asic_db.json b/tests/dump_input/copp/asic_db.json new file mode 100644 index 0000000000..b41f2d2a1c --- /dev/null +++ b/tests/dump_input/copp/asic_db.json @@ -0,0 +1,72 @@ +{ + "ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF_TRAP:oid:0x220000000004dc": { + "SAI_HOSTIF_TRAP_ATTR_PACKET_ACTION": "SAI_PACKET_ACTION_COPY", + "SAI_HOSTIF_TRAP_ATTR_TRAP_GROUP": "oid:0x110000000004da", + "SAI_HOSTIF_TRAP_ATTR_TRAP_TYPE": "SAI_HOSTIF_TRAP_TYPE_SNMP" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF_TRAP_GROUP:oid:0x110000000004da": { + "SAI_HOSTIF_TRAP_GROUP_ATTR_POLICER": "oid:0x120000000004db", + "SAI_HOSTIF_TRAP_GROUP_ATTR_QUEUE": "4" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_POLICER:oid:0x120000000004db": { + "SAI_POLICER_ATTR_CBS": "600", + "SAI_POLICER_ATTR_CIR": "600", + "SAI_POLICER_ATTR_METER_TYPE": "SAI_METER_TYPE_PACKETS", + "SAI_POLICER_ATTR_MODE": "SAI_POLICER_MODE_SR_TCM", + "SAI_POLICER_ATTR_RED_PACKET_ACTION": "SAI_PACKET_ACTION_DROP" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_QUEUE:oid:0x150000000002a0": { + "SAI_QUEUE_ATTR_INDEX": "4", + "SAI_QUEUE_ATTR_TYPE": "SAI_QUEUE_TYPE_UNICAST" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF_TRAP:oid:0x220000000004dd": { + "SAI_HOSTIF_TRAP_ATTR_PACKET_ACTION": "SAI_PACKET_ACTION_COPY", + "SAI_HOSTIF_TRAP_ATTR_TRAP_GROUP": "oid:0x110000000004da", + "SAI_HOSTIF_TRAP_ATTR_TRAP_TYPE": "SAI_HOSTIF_TRAP_TYPE_ARP_RESPONSE" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF_TRAP:oid:0x220000000004de": { + "SAI_HOSTIF_TRAP_ATTR_PACKET_ACTION": "SAI_PACKET_ACTION_COPY", + "SAI_HOSTIF_TRAP_ATTR_TRAP_GROUP": "oid:0x110000000004db", + "SAI_HOSTIF_TRAP_ATTR_TRAP_TYPE": "SAI_HOSTIF_TRAP_TYPE_SAMPLEPACKET" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF_TRAP_GROUP:oid:0x110000000004db": { + "SAI_HOSTIF_TRAP_GROUP_ATTR_POLICER": "oid:0x120000000004dc", + "SAI_HOSTIF_TRAP_GROUP_ATTR_QUEUE": "1" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_POLICER:oid:0x120000000004dc": { + "SAI_POLICER_ATTR_CBS": "2000", + "SAI_POLICER_ATTR_CIR": "2000", + "SAI_POLICER_ATTR_METER_TYPE": "SAI_METER_TYPE_PACKETS", + "SAI_POLICER_ATTR_MODE": "SAI_POLICER_MODE_SR_TCM", + "SAI_POLICER_ATTR_RED_PACKET_ACTION": "SAI_PACKET_ACTION_DROP" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_QUEUE:oid:0x150000000002a1": { + "SAI_QUEUE_ATTR_INDEX": "1", + "SAI_QUEUE_ATTR_TYPE": "SAI_QUEUE_TYPE_UNICAST" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF_TABLE_ENTRY:oid:0x230000000004d8": { + "SAI_HOSTIF_TABLE_ENTRY_ATTR_TYPE" : "SAI_HOSTIF_TABLE_ENTRY_TYPE_TRAP_ID", + "SAI_HOSTIF_TABLE_ENTRY_ATTR_TRAP_ID" : "oid:0x220000000004de", + "SAI_HOSTIF_TABLE_ENTRY_ATTR_CHANNEL_TYPE" : "SAI_HOSTIF_TABLE_ENTRY_CHANNEL_TYPE_GENETLINK", + "SAI_HOSTIF_TABLE_ENTRY_ATTR_HOST_IF" : "oid:0xd0000000004d6" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF:oid:0xd0000000004d6": { + "SAI_HOSTIF_ATTR_GENETLINK_MCGRP_NAME" : "packets", + "SAI_HOSTIF_ATTR_TYPE" : "SAI_HOSTIF_TYPE_GENETLINK", + "SAI_HOSTIF_ATTR_NAME" : "psample" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF_TRAP:oid:0x220000000004df": { + "SAI_HOSTIF_TRAP_ATTR_PACKET_ACTION": "SAI_PACKET_ACTION_COPY", + "SAI_HOSTIF_TRAP_ATTR_TRAP_GROUP": "oid:0x110000000004db", + "SAI_HOSTIF_TRAP_ATTR_TRAP_TYPE": "SAI_HOSTIF_TRAP_TYPE_OSPFV6" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF_TRAP:oid:0x220000000004e0": { + "SAI_HOSTIF_TRAP_ATTR_PACKET_ACTION": "SAI_PACKET_ACTION_COPY", + "SAI_HOSTIF_TRAP_ATTR_TRAP_GROUP": "oid:0x110000000004e0", + "SAI_HOSTIF_TRAP_ATTR_TRAP_TYPE": "SAI_HOSTIF_TRAP_TYPE_SNAT_MISS" + }, + "ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF_TRAP_GROUP:oid:0x110000000004e0": { + "NONE": "NONE", + "SAI_HOSTIF_TRAP_GROUP_ATTR_QUEUE": "1" + } +} diff --git a/tests/dump_input/copp/config_db.json b/tests/dump_input/copp/config_db.json new file mode 100644 index 0000000000..752f35ad85 --- /dev/null +++ b/tests/dump_input/copp/config_db.json @@ -0,0 +1,17 @@ +{ + "COPP_TRAP|snmp_grp": { + "trap_ids": "snmp,bfd", + "trap_group": "queue4_group2" + }, + "COPP_GROUP|queue2_group1":{ + "cbs": "2000", + "cir": "2000" + }, + "COPP_TRAP|vrrpv6": { + "trap_ids": "vrrpv6", + "trap_group": "queue5_group2" + }, + "COPP_TRAP|bgp":{ + "trap_ids": "ospfv6,ospf" + } +} diff --git a/tests/dump_input/copp/state_db.json b/tests/dump_input/copp/state_db.json new file mode 100644 index 0000000000..5589597c05 --- /dev/null +++ b/tests/dump_input/copp/state_db.json @@ -0,0 +1,23 @@ +{ + "COPP_TRAP_TABLE|snmp_grp": { + "state": "ok" + }, + "COPP_GROUP_TABLE|queue4_group2": { + "state": "ok" + }, + "COPP_TRAP_TABLE|arp": { + "state": "ok" + }, + "COPP_TRAP_TABLE|sflow": { + "state": "ok" + }, + "COPP_GROUP_TABLE|queue2_group1": { + "state": "ok" + }, + "COPP_GROUP_TABLE|queue4_group1": { + "state": "ok" + }, + "COPP_TRAP_TABLE|bgp": { + "state": "ok" + } +} diff --git a/tests/dump_tests/module_tests/copp_test.py b/tests/dump_tests/module_tests/copp_test.py new file mode 100644 index 0000000000..53a4293e2e --- /dev/null +++ b/tests/dump_tests/module_tests/copp_test.py @@ -0,0 +1,227 @@ +import json +import os +import sys +import jsonpatch +import unittest +import pytest +from deepdiff import DeepDiff +from mock import patch +from dump.helper import create_template_dict, sort_lists +from dump.plugins.copp import Copp +from dump.match_infra import MatchEngine, ConnectionPool +from swsscommon.swsscommon import SonicV2Connector + +# Location for dedicated db's used for UT +module_tests_path = os.path.dirname(__file__) +dump_tests_path = os.path.join(module_tests_path, "../") +tests_path = os.path.join(dump_tests_path, "../") +dump_test_input = os.path.join(tests_path, "dump_input") +copp_files_path = os.path.join(dump_test_input, "copp") + +# Define the mock files to read from +dedicated_dbs = {} +dedicated_dbs['CONFIG_DB'] = os.path.join(copp_files_path, "config_db.json") +dedicated_dbs['APPL_DB'] = os.path.join(copp_files_path, "appl_db.json") +dedicated_dbs['ASIC_DB'] = os.path.join(copp_files_path, "asic_db.json") +dedicated_dbs['STATE_DB'] = os.path.join(copp_files_path, "state_db.json") + + +def populate_mock(db, db_names): + for db_name in db_names: + db.connect(db_name) + # Delete any default data + db.delete_all_by_pattern(db_name, "*") + with open(dedicated_dbs[db_name]) as f: + mock_json = json.load(f) + for key in mock_json: + for field, value in mock_json[key].items(): + db.set(db_name, key, field, value) + + +@pytest.fixture(scope="class", autouse=True) +def match_engine(): + + print("SETUP") + os.environ["VERBOSE"] = "1" + + # Monkey Patch the SonicV2Connector Object + from ...mock_tables import dbconnector + db = SonicV2Connector() + + # popualate the db with mock data + db_names = list(dedicated_dbs.keys()) + try: + populate_mock(db, db_names) + except Exception as e: + assert False, "Mock initialization failed: " + str(e) + + # Initialize connection pool + conn_pool = ConnectionPool() + DEF_NS = '' # Default Namespace + conn_pool.cache = {DEF_NS: {'conn': db, + 'connected_to': set(db_names)}} + + # Initialize match_engine + match_engine = MatchEngine(conn_pool) + yield match_engine + print("TEARDOWN") + os.environ["VERBOSE"] = "0" + + +@pytest.mark.usefixtures("match_engine") +@patch("dump.plugins.copp.Copp.CONFIG_FILE", os.path.join(dump_test_input, "copp_cfg.json")) +class TestCoppModule: + + def test_usr_cfg_trap_and_copp_cfg_file_grp(self, match_engine): + ''' + Scenario: A custom COPP_TRAP table entry is defined by the user and the relevant Trap Group is configured through the copp_cfg file + ''' + params = {Copp.ARG_NAME: "snmp", "namespace": ""} + m_copp = Copp(match_engine) + returned = m_copp.execute(params) + print(returned) + expect = create_template_dict(dbs=["CONFIG_FILE", "CONFIG_DB", "APPL_DB", "ASIC_DB", "STATE_DB"]) + expect["CONFIG_FILE"]["keys"].append("COPP_GROUP|queue4_group2") + expect["CONFIG_DB"]["keys"].append("COPP_TRAP|snmp_grp") + expect["APPL_DB"]["keys"].append("COPP_TABLE:queue4_group2") + expect["STATE_DB"]["keys"].extend(["COPP_GROUP_TABLE|queue4_group2", "COPP_TRAP_TABLE|snmp_grp"]) + expect["ASIC_DB"]["keys"].extend(["ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF_TRAP:oid:0x220000000004dc", "ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF_TRAP_GROUP:oid:0x110000000004da", + "ASIC_STATE:SAI_OBJECT_TYPE_POLICER:oid:0x120000000004db", "ASIC_STATE:SAI_OBJECT_TYPE_QUEUE:oid:0x150000000002a0"]) + ddiff = DeepDiff(returned, expect, ignore_order=True) + assert not ddiff, ddiff + + def test_copp_cfg_file_trap_and_copp_cfg_file_grp(self, match_engine): + ''' + Scenario: Both the Trap ID and Trap Group are configured through copp_cfg file + ''' + params = {Copp.ARG_NAME: "arp_resp", "namespace": ""} + m_copp = Copp(match_engine) + returned = m_copp.execute(params) + print(returned) + expect = create_template_dict(dbs=["CONFIG_FILE", "CONFIG_DB", "APPL_DB", "ASIC_DB", "STATE_DB"]) + expect["CONFIG_FILE"]["keys"].extend(["COPP_GROUP|queue4_group2", "COPP_TRAP|arp"]) + expect["APPL_DB"]["keys"].append("COPP_TABLE:queue4_group2") + expect["STATE_DB"]["keys"].extend(["COPP_GROUP_TABLE|queue4_group2", "COPP_TRAP_TABLE|arp"]) + expect["ASIC_DB"]["keys"].extend(["ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF_TRAP:oid:0x220000000004dd", "ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF_TRAP_GROUP:oid:0x110000000004da", + "ASIC_STATE:SAI_OBJECT_TYPE_POLICER:oid:0x120000000004db", "ASIC_STATE:SAI_OBJECT_TYPE_QUEUE:oid:0x150000000002a0"]) + ddiff = DeepDiff(returned, expect, ignore_order=True) + assert not ddiff, ddiff + + def test_copp_cfg_file_trap_and_copp_cfg_file_grp_with_diff(self, match_engine): + ''' + Scenario: Both the Trap ID and Trap Group are configured through copp_cfg file. + In addition, User also provided a diff for the COPP_GROUP entry + ''' + params = {Copp.ARG_NAME: "sample_packet", "namespace": ""} + m_copp = Copp(match_engine) + returned = m_copp.execute(params) + print(json.dumps(returned, indent=2)) + expect = create_template_dict(dbs=["CONFIG_FILE", "CONFIG_DB", "APPL_DB", "ASIC_DB", "STATE_DB"]) + expect["CONFIG_FILE"]["keys"].extend(["COPP_GROUP|queue2_group1", "COPP_TRAP|sflow"]) + expect["CONFIG_DB"]["keys"].append("COPP_GROUP|queue2_group1") + expect["APPL_DB"]["keys"].append("COPP_TABLE:queue2_group1") + expect["STATE_DB"]["keys"].extend(["COPP_GROUP_TABLE|queue2_group1", "COPP_TRAP_TABLE|sflow"]) + expect["ASIC_DB"]["keys"].extend(["ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF_TRAP:oid:0x220000000004de", "ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF_TRAP_GROUP:oid:0x110000000004db", + "ASIC_STATE:SAI_OBJECT_TYPE_POLICER:oid:0x120000000004dc", "ASIC_STATE:SAI_OBJECT_TYPE_QUEUE:oid:0x150000000002a1", + "ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF:oid:0xd0000000004d6", "ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF_TABLE_ENTRY:oid:0x230000000004d8"]) + ddiff = DeepDiff(returned, expect, ignore_order=True) + assert not ddiff, ddiff + + def test_usr_cfg_trap_with_missing_group(self, match_engine): + ''' + Scenario: A custom COPP_TRAP table entry is defined by the user, but the relevant COPP_GROUP entry is missing + ''' + params = {Copp.ARG_NAME: "vrrpv6", "namespace": ""} + m_copp = Copp(match_engine) + returned = m_copp.execute(params) + print(returned) + expect = create_template_dict(dbs=["CONFIG_DB", "APPL_DB", "ASIC_DB", "STATE_DB", "CONFIG_FILE"]) + expect["CONFIG_DB"]["keys"].append("COPP_TRAP|vrrpv6") + expect["CONFIG_DB"]["tables_not_found"].append("COPP_GROUP") + expect["APPL_DB"]["tables_not_found"].append("COPP_TABLE") + expect["STATE_DB"]["tables_not_found"].extend(["COPP_GROUP_TABLE", "COPP_TRAP_TABLE"]) + expect["ASIC_DB"]["tables_not_found"].extend(["ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF_TRAP", "ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF_TRAP_GROUP"]) + ddiff = DeepDiff(returned, expect, ignore_order=True) + assert not ddiff, ddiff + + def test_copp_cfg_file_group_and_copp_cfg_file_trap_with_diff(self, match_engine): + ''' + Scenario: User has added a trap_id to a COPP_TRAP entry. The COPP_TRAP entry is already present in copp_cfg file (i.e diff) + and the relevant trap group is in copp_cfg file + ''' + params = {Copp.ARG_NAME: "ospfv6", "namespace": ""} + m_copp = Copp(match_engine) + returned = m_copp.execute(params) + print(returned) + expect = create_template_dict(dbs=["CONFIG_FILE", "CONFIG_DB", "APPL_DB", "ASIC_DB", "STATE_DB"]) + expect["CONFIG_FILE"]["keys"].extend(["COPP_GROUP|queue4_group1", "COPP_TRAP|bgp"]) + expect["CONFIG_DB"]["keys"].append("COPP_TRAP|bgp") + expect["APPL_DB"]["keys"].append("COPP_TABLE:queue4_group1") + expect["STATE_DB"]["keys"].extend(["COPP_GROUP_TABLE|queue4_group1", "COPP_TRAP_TABLE|bgp"]) + expect["ASIC_DB"]["keys"].extend(["ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF_TRAP:oid:0x220000000004df", "ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF_TRAP_GROUP:oid:0x110000000004db", + "ASIC_STATE:SAI_OBJECT_TYPE_POLICER:oid:0x120000000004dc", "ASIC_STATE:SAI_OBJECT_TYPE_QUEUE:oid:0x150000000002a1"]) + ddiff = DeepDiff(returned, expect, ignore_order=True) + assert not ddiff, ddiff + + def test_invalid_trap_id(self, match_engine): + params = {Copp.ARG_NAME: "random", "namespace": ""} + m_copp = Copp(match_engine) + returned = m_copp.execute(params) + print(returned) + expect = create_template_dict(dbs=["CONFIG_DB", "APPL_DB", "ASIC_DB", "STATE_DB", "CONFIG_FILE"]) + expect["CONFIG_FILE"]["tables_not_found"].extend(["COPP_GROUP", "COPP_TRAP"]) + expect["CONFIG_DB"]["tables_not_found"].extend(["COPP_GROUP", "COPP_TRAP"]) + expect["APPL_DB"]["tables_not_found"].append("COPP_TABLE") + expect["STATE_DB"]["tables_not_found"].extend(["COPP_GROUP_TABLE", "COPP_TRAP_TABLE"]) + expect["ASIC_DB"]["tables_not_found"].extend(["ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF_TRAP", "ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF_TRAP_GROUP"]) + ddiff = DeepDiff(returned, expect, ignore_order=True) + assert not ddiff, ddiff + + def test_missing_asic_dump(self, match_engine): + params = {Copp.ARG_NAME: "ospf", "namespace": ""} + m_copp = Copp(match_engine) + returned = m_copp.execute(params) + print(returned) + expect = create_template_dict(dbs=["CONFIG_FILE", "CONFIG_DB", "APPL_DB", "ASIC_DB", "STATE_DB"]) + expect["CONFIG_FILE"]["keys"].extend(["COPP_GROUP|queue4_group1", "COPP_TRAP|bgp"]) + expect["CONFIG_DB"]["keys"].append("COPP_TRAP|bgp") + expect["APPL_DB"]["keys"].append("COPP_TABLE:queue4_group1") + expect["STATE_DB"]["keys"].extend(["COPP_GROUP_TABLE|queue4_group1", "COPP_TRAP_TABLE|bgp"]) + expect["ASIC_DB"]["tables_not_found"].extend(["ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF_TRAP", "ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF_TRAP_GROUP"]) + ddiff = DeepDiff(returned, expect, ignore_order=True) + assert not ddiff, ddiff + + def test_missing_appl(self, match_engine): + params = {Copp.ARG_NAME: "lldp", "namespace": ""} + m_copp = Copp(match_engine) + returned = m_copp.execute(params) + print(returned) + expect = create_template_dict(dbs=["CONFIG_FILE", "CONFIG_DB", "APPL_DB", "ASIC_DB", "STATE_DB"]) + expect["CONFIG_FILE"]["keys"].extend(["COPP_GROUP|queue4_group3", "COPP_TRAP|lldp"]) + expect["APPL_DB"]["tables_not_found"].append("COPP_TABLE") + expect["STATE_DB"]["tables_not_found"].extend(["COPP_GROUP_TABLE", "COPP_TRAP_TABLE"]) + expect["ASIC_DB"]["tables_not_found"].extend(["ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF_TRAP", "ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF_TRAP_GROUP"]) + ddiff = DeepDiff(returned, expect, ignore_order=True) + assert not ddiff, ddiff + + def test_missing_state(self, match_engine): + params = {Copp.ARG_NAME: "src_nat_miss", "namespace": ""} + m_copp = Copp(match_engine) + returned = m_copp.execute(params) + print(returned) + expect = create_template_dict(dbs=["CONFIG_FILE", "APPL_DB", "ASIC_DB", "STATE_DB", "CONFIG_DB"]) + expect["CONFIG_FILE"]["keys"].extend(["COPP_GROUP|queue1_group2", "COPP_TRAP|nat"]) + expect["APPL_DB"]["keys"].append("COPP_TABLE:queue1_group2") + expect["STATE_DB"]["tables_not_found"].extend(["COPP_GROUP_TABLE", "COPP_TRAP_TABLE"]) + expect["ASIC_DB"]["keys"].extend(["ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF_TRAP:oid:0x220000000004e0", "ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF_TRAP_GROUP:oid:0x110000000004e0", + "ASIC_STATE:SAI_OBJECT_TYPE_QUEUE:oid:0x150000000002a1"]) + ddiff = DeepDiff(returned, expect, ignore_order=True) + assert not ddiff, ddiff + + def test_all_args(self, match_engine): + params = {} + m_copp = Copp(match_engine) + returned = m_copp.get_all_args("") + expect = ["bgp", "bgpv6", "lacp", "arp_req", "arp_resp", "neigh_discovery", "lldp", "dhcp", "dhcpv6", "udld", "ip2me", "src_nat_miss", "dest_nat_miss", "sample_packet", "snmp", "bfd", "vrrpv6", "ospf", "ospfv6"] + ddiff = DeepDiff(expect, returned, ignore_order=True) + assert not ddiff, ddiff From c97fe546e5a725b9049047293a4fede48fde5223 Mon Sep 17 00:00:00 2001 From: Vaibhav Hemant Dixit Date: Fri, 17 Sep 2021 22:41:44 -0700 Subject: [PATCH 304/342] Add check_db_integrity script to setup.py (#1828) The script was added in the PR #1785 which did not add this script to the setup.py script. Added the check_db_integrity script to setup.py. --- setup.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 04d3f6cee0..c28af558ab 100644 --- a/setup.py +++ b/setup.py @@ -135,7 +135,8 @@ 'scripts/watermarkcfg', 'scripts/sonic-kdump-config', 'scripts/centralize_database', - 'scripts/null_route_helper' + 'scripts/null_route_helper', + 'scripts/check_db_integrity.py' ], entry_points={ 'console_scripts': [ From 2088a9adad64e73034d4bb83eddb0ab8351eccba Mon Sep 17 00:00:00 2001 From: VenkatCisco <77468614+VenkatCisco@users.noreply.github.com> Date: Mon, 20 Sep 2021 12:37:25 -0700 Subject: [PATCH 305/342] Provide support to install platform extensions (#1578) cisco-8000 : show commands support as plugins show platform idprom show platform inventory --- show/main.py | 3 --- show/platform.py | 1 - show/plugins/cisco-8000.py | 36 ++++++++++++++++++++++++++++++++++++ 3 files changed, 36 insertions(+), 4 deletions(-) create mode 100644 show/plugins/cisco-8000.py diff --git a/show/main.py b/show/main.py index f6c49cbe61..fec0ccde69 100755 --- a/show/main.py +++ b/show/main.py @@ -57,7 +57,6 @@ from . import warm_restart from . import plugins - # Global Variables PLATFORM_JSON = 'platform.json' HWSKU_JSON = 'hwsku.json' @@ -1676,12 +1675,10 @@ def ztp(status, verbose): cmd = cmd + " --verbose" run_command(cmd, display_cmd=verbose) - # Load plugins and register them helper = util_base.UtilHelper() for plugin in helper.load_plugins(plugins): helper.register_plugin(plugin, cli) - if __name__ == '__main__': cli() diff --git a/show/platform.py b/show/platform.py index e70b4e92e1..c713472080 100644 --- a/show/platform.py +++ b/show/platform.py @@ -134,7 +134,6 @@ def temperature(): cmd = 'tempershow' clicommon.run_command(cmd) - # 'firmware' subcommand ("show platform firmware") @platform.command( context_settings=dict( diff --git a/show/plugins/cisco-8000.py b/show/plugins/cisco-8000.py new file mode 100644 index 0000000000..c3e5e0327b --- /dev/null +++ b/show/plugins/cisco-8000.py @@ -0,0 +1,36 @@ +#!/usr/bin/env python +######################################################### +# Copyright 2021 Cisco Systems, Inc. +# All rights reserved. +# +# CLI Extensions for show command +######################################################### + +try: + import click + import yaml + from show import platform + from sonic_py_common import device_info + import utilities_common.cli as clicommon +except ImportError as e: + raise ImportError("%s - required module not found" % str(e)) + +PLATFORM_PY = '/opt/cisco/bin/platform.py' + +@click.command() +def inventory(): + """Show Platform Inventory""" + args = [ PLATFORM_PY, 'inventoryshow' ] + clicommon.run_command(args) + +@click.command() +def idprom(): + """Show Platform Idprom Inventory""" + args = [ PLATFORM_PY, 'idprom' ] + clicommon.run_command(args) + +def register(cli): + version_info = device_info.get_sonic_version_info() + if (version_info and version_info.get('asic_type') == 'cisco-8000'): + cli.commands['platform'].add_command(inventory) + cli.commands['platform'].add_command(idprom) From 48887d1001a8daaa4a9d53520693f1d0686f1e24 Mon Sep 17 00:00:00 2001 From: vdahiya12 <67608553+vdahiya12@users.noreply.github.com> Date: Thu, 23 Sep 2021 11:49:44 -0700 Subject: [PATCH 306/342] [config] support for configuring muxcable to standby mode of operation (#1837) What I did This PR adds support for an option to configure muxcable mode to a standby mode. The standby mode is in addition to auto\active\manual mode. The new output would look like this in case an standby arg is passed to the command line admin@sonic:~$ sudo config muxcable mode standby Ethernet0 admin@sonic:~$ sudo config muxcable mode standby all added an option to set muxcable mode to standby mode, in addition to existing auto/active/manual modes. How I did it added the changes in config/muxcable.py and added testcases How to verify it Ran the unit tests Signed-off-by: vaibhav-dahiya --- config/muxcable.py | 4 ++-- tests/mock_tables/config_db.json | 5 +++++ tests/mock_tables/state_db.json | 6 ++++++ tests/muxcable_test.py | 25 +++++++++++++++++++++++++ 4 files changed, 38 insertions(+), 2 deletions(-) diff --git a/config/muxcable.py b/config/muxcable.py index 2817252971..c88adffe37 100644 --- a/config/muxcable.py +++ b/config/muxcable.py @@ -233,7 +233,7 @@ def lookup_statedb_and_update_configdb(per_npu_statedb, config_db, port, state_c else: config_db.set_entry("MUX_CABLE", port, {"state": state_cfg_val, "server_ipv4": ipv4_value, "server_ipv6": ipv6_value}) - if str(state_cfg_val) == 'active' and str(state) != 'active': + if (str(state_cfg_val) == 'active' and str(state) != 'active') or (str(state_cfg_val) == 'standby' and str(state) != 'standby'): port_status_dict[port] = 'INPROGRESS' else: port_status_dict[port] = 'OK' @@ -241,7 +241,7 @@ def lookup_statedb_and_update_configdb(per_npu_statedb, config_db, port, state_c # 'muxcable' command ("config muxcable mode active|auto") @muxcable.command() -@click.argument('state', metavar='', required=True, type=click.Choice(["active", "auto", "manual"])) +@click.argument('state', metavar='', required=True, type=click.Choice(["active", "auto", "manual", "standby"])) @click.argument('port', metavar='', required=True, default=None) @click.option('--json', 'json_output', required=False, is_flag=True, type=click.BOOL) @clicommon.pass_db diff --git a/tests/mock_tables/config_db.json b/tests/mock_tables/config_db.json index 07e0e28425..06305d3046 100644 --- a/tests/mock_tables/config_db.json +++ b/tests/mock_tables/config_db.json @@ -1636,6 +1636,11 @@ "server_ipv4": "10.1.1.1", "server_ipv6": "fc00::75" }, + "MUX_CABLE|Ethernet16": { + "state": "standby", + "server_ipv4": "10.1.1.1", + "server_ipv6": "fc00::75" + }, "MUX_CABLE|Ethernet28": { "state": "manual", "server_ipv4": "10.1.1.1", diff --git a/tests/mock_tables/state_db.json b/tests/mock_tables/state_db.json index 729725fe22..af2519d3ce 100644 --- a/tests/mock_tables/state_db.json +++ b/tests/mock_tables/state_db.json @@ -545,6 +545,9 @@ "MUX_CABLE_TABLE|Ethernet8": { "state": "standby" }, + "MUX_CABLE_TABLE|Ethernet16": { + "state": "standby" + }, "MUX_CABLE_TABLE|Ethernet12": { "state": "unknown" }, @@ -560,6 +563,9 @@ "MUX_LINKMGR_TABLE|Ethernet8": { "state": "unhealthy" }, + "MUX_LINKMGR_TABLE|Ethernet16": { + "state": "healthy" + }, "MUX_LINKMGR_TABLE|Ethernet12": { "state": "unhealthy" }, diff --git a/tests/muxcable_test.py b/tests/muxcable_test.py index a8a4f764e9..43ed0013e6 100644 --- a/tests/muxcable_test.py +++ b/tests/muxcable_test.py @@ -31,6 +31,7 @@ Ethernet4 standby healthy Ethernet8 standby unhealthy Ethernet12 unknown unhealthy +Ethernet16 standby healthy Ethernet32 active healthy """ @@ -53,6 +54,10 @@ "STATUS": "unknown", "HEALTH": "unhealthy" }, + "Ethernet16": { + "STATUS": "standby", + "HEALTH": "healthy" + }, "Ethernet32": { "STATUS": "active", "HEALTH": "healthy" @@ -72,6 +77,7 @@ Ethernet4 auto 10.3.1.1 e801::46 Ethernet8 active 10.4.1.1 e802::46 Ethernet12 active 10.4.1.1 e802::46 +Ethernet16 standby 10.1.1.1 fc00::75 Ethernet28 manual 10.1.1.1 fc00::75 Ethernet32 auto 10.1.1.1 fc00::75 """ @@ -109,6 +115,13 @@ "IPv6": "e802::46" } }, + "Ethernet16": { + "STATE": "standby", + "SERVER": { + "IPv4": "10.1.1.1", + "IPv6": "fc00::75" + } + }, "Ethernet28": { "STATE": "manual", "SERVER": { @@ -151,6 +164,7 @@ "Ethernet0": "OK", "Ethernet4": "OK", "Ethernet8": "OK", + "Ethernet16": "OK", "Ethernet12": "OK" } """ @@ -161,6 +175,7 @@ "Ethernet0": "OK", "Ethernet4": "INPROGRESS", "Ethernet8": "OK", + "Ethernet16": "INPROGRESS", "Ethernet12": "OK" } """ @@ -381,6 +396,16 @@ def test_config_muxcable_tabular_port_Ethernet8_manual(self): assert result.exit_code == 0 + def test_config_muxcable_tabular_port_Ethernet16_standby(self): + runner = CliRunner() + db = Db() + + with mock.patch('sonic_platform_base.sonic_sfp.sfputilhelper') as patched_util: + patched_util.SfpUtilHelper.return_value.get_asic_id_for_logical_port.return_value = 0 + result = runner.invoke(config.config.commands["muxcable"].commands["mode"], ["standby", "Ethernet16"], obj=db) + + assert result.exit_code == 0 + def test_config_muxcable_mode_auto_json(self): runner = CliRunner() db = Db() From 0d538d3db650807482117f240027c9ce6885dbc2 Mon Sep 17 00:00:00 2001 From: xumia <59720581+xumia@users.noreply.github.com> Date: Fri, 24 Sep 2021 09:30:09 +0800 Subject: [PATCH 307/342] [ci]: Support code diff coverage (#1834) Support code diff coverage Support to add the pull request checks for Code diff coverage in GitHub. Support to display the code diff coverage html report in Azure Pipelines. --- azure-pipelines.yml | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index be1bd8e5f3..03919c7dd8 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -19,6 +19,9 @@ stages: jobs: - job: displayName: "Python3" + variables: + DIFF_COVER_CHECK_THRESHOLD: 0 + DIFF_COVER_ENABLE: 'true' pool: vmImage: ubuntu-20.04 @@ -91,14 +94,6 @@ stages: python3 setup.py test displayName: 'Test Python 3' - - script: | - sudo pip3 install diff-cover - target_branch=$(System.PullRequest.TargetBranch) - compare_branch=origin/${target_branch#refs/heads/} - diff-cover coverage.xml --compare-branch=$compare_branch - condition: eq(variables['Build.Reason'], 'PullRequest') - displayName: "Diff coverage" - - task: PublishTestResults@2 inputs: testResultsFiles: '$(System.DefaultWorkingDirectory)/test-results.xml' From 709dc858f79e37b0e016707a2f776d71034b9619 Mon Sep 17 00:00:00 2001 From: Akhilesh Samineni <47657796+AkhileshSamineni@users.noreply.github.com> Date: Tue, 28 Sep 2021 10:18:05 +0530 Subject: [PATCH 308/342] Modified the 'show ipv6 link-local-mode' command to display all interfaces by default (#1797) * Modifed the 'show ipv6 link-local-mode' command to display all interfaces by default Signed-off-by: Akhilesh Samineni --- show/main.py | 38 +++++++++++------ tests/ipv6_link_local_test.py | 78 +++++++++++++++++++++++++++++++++++ 2 files changed, 104 insertions(+), 12 deletions(-) diff --git a/show/main.py b/show/main.py index fec0ccde69..f4998218f2 100755 --- a/show/main.py +++ b/show/main.py @@ -914,22 +914,36 @@ def link_local_mode(verbose): """show ipv6 link-local-mode""" header = ['Interface Name', 'Mode'] body = [] - interfaces = ['INTERFACE', 'PORTCHANNEL_INTERFACE', 'VLAN_INTERFACE'] + tables = ['PORT', 'PORTCHANNEL', 'VLAN'] config_db = ConfigDBConnector() config_db.connect() - - for i in interfaces: - interface_dict = config_db.get_table(i) + interface = "" + + for table in tables: + if table == "PORT": + interface = "INTERFACE" + elif table == "PORTCHANNEL": + interface = "PORTCHANNEL_INTERFACE" + elif table == "VLAN": + interface = "VLAN_INTERFACE" + + port_dict = config_db.get_table(table) + interface_dict = config_db.get_table(interface) link_local_data = {} - if interface_dict: - for interface,value in interface_dict.items(): - if 'ipv6_use_link_local_only' in value: - link_local_data[interface] = interface_dict[interface]['ipv6_use_link_local_only'] - if link_local_data[interface] == 'enable': - body.append([interface, 'Enabled']) - else: - body.append([interface, 'Disabled']) + for port in port_dict.keys(): + if port not in interface_dict: + body.append([port, 'Disabled']) + elif interface_dict: + value = interface_dict[port] + if 'ipv6_use_link_local_only' in value: + link_local_data[port] = interface_dict[port]['ipv6_use_link_local_only'] + if link_local_data[port] == 'enable': + body.append([port, 'Enabled']) + else: + body.append([port, 'Disabled']) + else: + body.append([port, 'Disabled']) click.echo(tabulate(body, header, tablefmt="grid")) diff --git a/tests/ipv6_link_local_test.py b/tests/ipv6_link_local_test.py index c7e614bacc..a01bfa726d 100644 --- a/tests/ipv6_link_local_test.py +++ b/tests/ipv6_link_local_test.py @@ -12,8 +12,86 @@ +==================+==========+ | Ethernet0 | Disabled | +------------------+----------+ +| Ethernet4 | Disabled | ++------------------+----------+ +| Ethernet8 | Disabled | ++------------------+----------+ +| Ethernet12 | Disabled | ++------------------+----------+ +| Ethernet16 | Disabled | ++------------------+----------+ +| Ethernet20 | Disabled | ++------------------+----------+ +| Ethernet24 | Disabled | ++------------------+----------+ +| Ethernet28 | Disabled | ++------------------+----------+ +| Ethernet32 | Disabled | ++------------------+----------+ +| Ethernet36 | Disabled | ++------------------+----------+ +| Ethernet40 | Disabled | ++------------------+----------+ +| Ethernet44 | Disabled | ++------------------+----------+ +| Ethernet48 | Disabled | ++------------------+----------+ +| Ethernet52 | Disabled | ++------------------+----------+ +| Ethernet56 | Disabled | ++------------------+----------+ +| Ethernet60 | Disabled | ++------------------+----------+ +| Ethernet64 | Disabled | ++------------------+----------+ +| Ethernet68 | Disabled | ++------------------+----------+ +| Ethernet72 | Disabled | ++------------------+----------+ +| Ethernet76 | Disabled | ++------------------+----------+ +| Ethernet80 | Disabled | ++------------------+----------+ +| Ethernet84 | Disabled | ++------------------+----------+ +| Ethernet88 | Disabled | ++------------------+----------+ +| Ethernet92 | Disabled | ++------------------+----------+ +| Ethernet96 | Disabled | ++------------------+----------+ +| Ethernet100 | Disabled | ++------------------+----------+ +| Ethernet104 | Disabled | ++------------------+----------+ +| Ethernet108 | Disabled | ++------------------+----------+ +| Ethernet112 | Disabled | ++------------------+----------+ +| Ethernet116 | Disabled | ++------------------+----------+ +| Ethernet120 | Disabled | ++------------------+----------+ +| Ethernet124 | Disabled | ++------------------+----------+ +| PortChannel1001 | Disabled | ++------------------+----------+ | PortChannel0001 | Disabled | +------------------+----------+ +| PortChannel0002 | Disabled | ++------------------+----------+ +| PortChannel0003 | Disabled | ++------------------+----------+ +| PortChannel0004 | Disabled | ++------------------+----------+ +| Vlan1000 | Disabled | ++------------------+----------+ +| Vlan2000 | Disabled | ++------------------+----------+ +| Vlan3000 | Disabled | ++------------------+----------+ +| Vlan4000 | Disabled | ++------------------+----------+ """ class TestIPv6LinkLocal(object): From 280dd290acfa4bdbb09a92e908cce6d40fa7e79e Mon Sep 17 00:00:00 2001 From: Ying Xie Date: Tue, 28 Sep 2021 16:00:18 -0700 Subject: [PATCH 309/342] [show techsupport] fix bash errors in generate_dump script (#1844) What I did Fix: Azure/sonic-buildimage#8850 Issue was introduced by #1723, #1833, and #1843 (pending merge) The error_handler is a great idea but the bash script needs to be error free first. How I did it Fix bash script errors. How to verify it run show techsupport test.. Signed-off-by: Ying Xie --- scripts/generate_dump | 43 ++++++++++++++++++++++++------------------- 1 file changed, 24 insertions(+), 19 deletions(-) diff --git a/scripts/generate_dump b/scripts/generate_dump index c3d93617e9..17949c215f 100755 --- a/scripts/generate_dump +++ b/scripts/generate_dump @@ -195,8 +195,9 @@ save_cmd() { if $NOOP; then echo "${timeout_cmd} $cmd $redirect '$filepath'" else - eval "${timeout_cmd} $cmd" "$redirect" "$filepath" - if [ $? -ne 0 ]; then + RC=0 + eval "${timeout_cmd} $cmd" "$redirect" "$filepath" || RC=$? + if [ $RC -ne 0 ]; then echo "Command: $cmd timedout after ${TIMEOUT_MIN} minutes." fi fi @@ -988,26 +989,30 @@ save_warmboot_files() { save_crash_files() { # archive core dump files trap 'handle_error $? $LINENO' ERR - for file in $(find_files "/var/core/"); do - # don't gzip already-gzipped log files :) - if [ -z "${file##*.gz}" ]; then - save_file $file core false - else - save_file $file core true - fi - done + if [ -d /var/core/ ]; then + for file in $(find_files "/var/core/"); do + # don't gzip already-gzipped log files :) + if [ -z "${file##*.gz}" ]; then + save_file $file core false + else + save_file $file core true + fi + done + fi # archive kernel dump files - [ -d /var/crash/ ] && for file in $(find_files "/var/crash/"); do - # don't gzip already-gzipped dmesg files :) - if [ ! ${file} = "/var/crash/kexec_cmd" -a ! ${file} = "/var/crash/export" ]; then - if [[ ${file} == *"kdump."* ]]; then - save_file $file kdump false - else - save_file $file kdump true + if [ -d /var/crash/ ]; then + for file in $(find_files "/var/crash/"); do + # don't gzip already-gzipped dmesg files :) + if [ ! ${file} = "/var/crash/kexec_cmd" -a ! ${file} = "/var/crash/export" ]; then + if [[ ${file} == *"kdump."* ]]; then + save_file $file kdump false + else + save_file $file kdump true + fi fi - fi - done + done + fi } ############################################################################### From b2da129ecbae352fba50172ec3484567eec03241 Mon Sep 17 00:00:00 2001 From: Ying Xie Date: Thu, 30 Sep 2021 15:15:29 -0700 Subject: [PATCH 310/342] [show tech] fix more bash script format (#1846) What I did These format are not wrong. But if error_handler for $? is installed, these places would cause fase positives. How I did it Update more bash syntax to avoid false positives How to verify it Run show tech support test before merge. Signed-off-by: Ying Xie ying.xie@microsoft.com --- scripts/generate_dump | 40 +++++++++++++++++++++++++--------------- 1 file changed, 25 insertions(+), 15 deletions(-) diff --git a/scripts/generate_dump b/scripts/generate_dump index 17949c215f..486bcbccf9 100755 --- a/scripts/generate_dump +++ b/scripts/generate_dump @@ -68,7 +68,9 @@ save_bcmcmd() { local do_gzip=${3:-false} local tarpath="${BASE}/dump/$filename" local timeout_cmd="timeout --foreground ${TIMEOUT_MIN}m" - [ ! -d $LOGDIR ] && $MKDIR $V -p $LOGDIR + if [ ! -d $LOGDIR ]; then + $MKDIR $V -p $LOGDIR + fi if [ $SKIP_BCMCMD -eq 1 ]; then echo "Skip $cmd" @@ -81,14 +83,15 @@ save_bcmcmd() { if $NOOP; then echo "${timeout_cmd} $cmd &> '${filepath}'" else - eval "${timeout_cmd} $cmd" &> "${filepath}" - ret=$? + ret=0 + eval "${timeout_cmd} $cmd" &> "${filepath}" || ret=$? if [ $ret -ne 0 ]; then if [ $ret -eq 124 ]; then echo "Command: $cmd timedout after ${TIMEOUT_MIN} minutes." else - grep "polling socket timeout: Success" ${filepath} &>/dev/null - if [ $? -eq 0 ]; then + RC=0 + grep "polling socket timeout: Success" ${filepath} &>/dev/null || RC=$? + if [ $RC -eq 0 ]; then echo "bcmcmd command timeout. Setting SKIP_BCMCMD to true ..." SKIP_BCMCMD=1 fi @@ -167,7 +170,9 @@ save_cmd() { local timeout_cmd="timeout --foreground ${TIMEOUT_MIN}m" local redirect='&>' local redirect_eval='2>&1' - [ ! -d $LOGDIR ] && $MKDIR $V -p $LOGDIR + if [ ! -d $LOGDIR ]; then + $MKDIR $V -p $LOGDIR + fi if ! $SAVE_STDERR then @@ -186,8 +191,9 @@ save_cmd() { if $NOOP; then echo "${timeout_cmd} bash -c \"${cmds}\"" else - eval "${timeout_cmd} bash -c \"${cmds}\"" - if [ $? -ne 0 ]; then + RC=0 + eval "${timeout_cmd} bash -c \"${cmds}\"" || RC=$? + if [ $RC -ne 0 ]; then echo "Command: $cmds timedout after ${TIMEOUT_MIN} minutes." fi fi @@ -266,12 +272,13 @@ copy_from_docker() { echo "${timeout_cmd} ${touch_cmd}" echo "${timeout_cmd} ${cp_cmd}" else - eval "${timeout_cmd} ${touch_cmd}" - if [ $? -ne 0 ]; then + RC=0 + eval "${timeout_cmd} ${touch_cmd}" || RC=$? + if [ $RC -ne 0 ]; then echo "Command: $touch_cmd timedout after ${TIMEOUT_MIN} minutes." fi - eval "${timeout_cmd} ${cp_cmd}" - if [ $? -ne 0 ]; then + eval "${timeout_cmd} ${cp_cmd}" || RC=$? + if [ $RC -ne 0 ]; then echo "Command: $cp_cmd timedout after ${TIMEOUT_MIN} minutes." fi fi @@ -712,7 +719,9 @@ save_file() { local tar_path="${BASE}/$supp_dir/$(basename $orig_path)" local do_gzip=${3:-true} local do_tar_append=${4:-true} - [ ! -d "$TARDIR/$supp_dir" ] && $MKDIR $V -p "$TARDIR/$supp_dir" + if [ ! -d "$TARDIR/$supp_dir" ]; then + $MKDIR $V -p "$TARDIR/$supp_dir" + fi if $do_gzip; then gz_path="${gz_path}.gz" @@ -1288,8 +1297,9 @@ main() { $RM $V -rf $TARDIR if $DO_COMPRESS; then - $GZIP $V $TARFILE - if [ $? -eq 0 ]; then + RC=0 + $GZIP $V $TARFILE || RC=$? + if [ $RC -eq 0 ]; then TARFILE="${TARFILE}.gz" else echo "WARNING: gzip operation appears to have failed." >&2 From 5bdf2701245c0f6d1468e1b8cb8ee5f14ce4fd6d Mon Sep 17 00:00:00 2001 From: Ying Xie Date: Thu, 30 Sep 2021 16:33:02 -0700 Subject: [PATCH 311/342] [fstrim] limit smartctl execution time to 30 seconds (#1850) What I did At early boot up time, smartctl is observed could stuck forever, which causes fstrim service to be stuck in pre-start state forever. This is a transient issue. The periodic retry will go through when pmon docker is healthy. How to verify it This issue is not highly repeatable. Tested on the device hit the issue. Signed-off-by: Ying Xie ying.xie@microsoft.com --- scripts/log_ssd_health | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/log_ssd_health b/scripts/log_ssd_health index f0055f80f3..d0e1f4a4b8 100755 --- a/scripts/log_ssd_health +++ b/scripts/log_ssd_health @@ -1,6 +1,6 @@ #! /bin/bash -smartctl -a /dev/sda > /tmp/smartctl +timeout 30 smartctl -a /dev/sda > /tmp/smartctl if [ -f /tmp/smartctl ];then logger -f /tmp/smartctl fi From bed8f722986b1f964e9ca929d43c41330f96998a Mon Sep 17 00:00:00 2001 From: Dror Prital <76714716+dprital@users.noreply.github.com> Date: Mon, 4 Oct 2021 21:01:33 +0300 Subject: [PATCH 312/342] [Mellanox] Add NVIDIA Copyright header to Mellanox files (#1832) - What I did Add NVIDIA Copyright header to "mellanox" files - How I did it Add NVIDIA Copyright header as a comment for Mellanox files - How to verify it Basic checkers --- config/plugins/mlnx.py | 17 +++++++++++++++++ show/plugins/mlnx.py | 17 +++++++++++++++++ 2 files changed, 34 insertions(+) diff --git a/config/plugins/mlnx.py b/config/plugins/mlnx.py index a579e6d164..f088926b3f 100644 --- a/config/plugins/mlnx.py +++ b/config/plugins/mlnx.py @@ -1,4 +1,21 @@ #!/usr/bin/env python3 +# +# Copyright (c) 2017-2021 NVIDIA CORPORATION & AFFILIATES. +# Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + # # main.py # diff --git a/show/plugins/mlnx.py b/show/plugins/mlnx.py index 790784fd50..cefe0cbd01 100644 --- a/show/plugins/mlnx.py +++ b/show/plugins/mlnx.py @@ -1,4 +1,21 @@ #!/usr/bin/env python3 +# +# Copyright (c) 2017-2021 NVIDIA CORPORATION & AFFILIATES. +# Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + # # main.py # From 88baf3db16b4266bad5ecddd7d8df23dd57d0e25 Mon Sep 17 00:00:00 2001 From: Longxiang Lyu <35479537+lolyu@users.noreply.github.com> Date: Wed, 6 Oct 2021 00:49:01 +0800 Subject: [PATCH 313/342] [sonic_sku_create] Add SKU creation support for Arista devices (#1841) What I did Let's add Arista support to the SKU creator tool NOTE: only creation from XML file is supported now How I did it Enable the SKU creator tool to parse Arista port alias Signed-off-by: Longxiang Lyu --- scripts/sonic_sku_create.py | 65 ++++++--- .../Arista-7050CX3-32S-C32/port_config.ini | 35 +++++ .../7050_files/Arista-7050CX3-32S-D48C8.xml | 61 +++++++++ .../Arista-7050CX3-32S-D48C8/port_config.ini | 57 ++++++++ tests/sku_create_input/7050_files/default_sku | 1 + .../Arista-7260CX3-C64/port_config.ini | 67 ++++++++++ .../7260_files/Arista-7260CX3-D108C8.xml | 126 ++++++++++++++++++ .../Arista-7260CX3-D108C8/port_config.ini | 123 +++++++++++++++++ tests/sku_create_input/7260_files/default_sku | 1 + tests/sku_create_test.py | 71 ++++++---- 10 files changed, 561 insertions(+), 46 deletions(-) create mode 100644 tests/sku_create_input/7050_files/Arista-7050CX3-32S-C32/port_config.ini create mode 100644 tests/sku_create_input/7050_files/Arista-7050CX3-32S-D48C8.xml create mode 100644 tests/sku_create_input/7050_files/Arista-7050CX3-32S-D48C8/port_config.ini create mode 100644 tests/sku_create_input/7050_files/default_sku create mode 100644 tests/sku_create_input/7260_files/Arista-7260CX3-C64/port_config.ini create mode 100644 tests/sku_create_input/7260_files/Arista-7260CX3-D108C8.xml create mode 100644 tests/sku_create_input/7260_files/Arista-7260CX3-D108C8/port_config.ini create mode 100644 tests/sku_create_input/7260_files/default_sku diff --git a/scripts/sonic_sku_create.py b/scripts/sonic_sku_create.py index cc81782353..e32af358f1 100755 --- a/scripts/sonic_sku_create.py +++ b/scripts/sonic_sku_create.py @@ -23,6 +23,7 @@ """ import argparse +import itertools import json import os import re @@ -74,6 +75,11 @@ class SkuCreate(object): Tool for SKU creator """ + PORT_ALIAS_PATTERNS = ( + re.compile(r"^etp(?P\d+)(?P[a-d]?)"), + re.compile(r"^Ethernet(?P\d+)(/)?(?(2)(?P[1-4]+))") + ) + def __init__(self): self.portconfig_dict = {} @@ -96,7 +102,7 @@ def __init__(self): self.bko_dict = {} def sku_def_parser(self, sku_def): - # Parsing XML sku definition file to extract Interface speed and InterfaceName(alias) to be used to analyze split configuration + # Parsing XML sku definition file to extract Interface speed and InterfaceName(alias) |/<#> to be used to analyze split configuration # Rest of the fields are used as placeholders for portconfig_dict [name,lanes,SPEED,ALIAS,index] try: f = open(str(sku_def),"r") @@ -525,20 +531,28 @@ def break_a_port(self, port_name, port_split): exit(1) self.break_in_cfg(self.cfg_file,port_name,port_split,lanes_str_result) + def _parse_interface_alias(self, alias): + """Analyze the front panel port index and split index based on the alias.""" + for alias_pattern in self.PORT_ALIAS_PATTERNS: + m = alias_pattern.match(alias) + if m: + return m.group("port_index"), m.group("lane") + return None, None + def split_analyze(self): # Analyze the front panl ports split based on the interfaces alias names # fpp_split is a hash with key=front panel port and values is a list of lists ([alias],[index]) alias_index = PORTCONFIG_HEADER.index('alias') for idx, ifc in self.portconfig_dict.items(): - pattern = '^etp([0-9]{1,})([a-d]?)' - m = re.match(pattern,str(ifc[alias_index])) - if int(m.group(1)) not in self.fpp_split : - self.fpp_split[int(m.group(1))] = [[ifc[alias_index]],[idx]] #1 + pi, _ = self._parse_interface_alias(ifc[alias_index]) + pi = int(pi) + if pi not in self.fpp_split : + self.fpp_split[pi] = [[ifc[alias_index]],[idx]] #1 else: - self.fpp_split[int(m.group(1))][0].append(str(ifc[alias_index])) #+= 1 - self.fpp_split[int(m.group(1))][1].append(idx) + self.fpp_split[pi][0].append(str(ifc[alias_index])) #+= 1 + self.fpp_split[pi][1].append(idx) if (self.verbose): - print("split_analyze -> ",m.group(1), " : ", self.fpp_split[int(m.group(1))]) + print("split_analyze -> ", pi, " : ", self.fpp_split[pi]) self.num_of_fpp = len(list(self.fpp_split.keys())) def get_default_lanes(self): @@ -549,14 +563,14 @@ def get_default_lanes(self): if line_header[0] == "#" : del line_header[0] # if hashtag is in a different column, remove it to align column header and data alias_index = line_header.index('alias') lanes_index = line_header.index('lanes') - pattern = '^etp([0-9]{1,})' for line in f: line_arr = line.split() - m = re.match(pattern,line_arr[alias_index]) - self.default_lanes_per_port.insert(int(m.group(1))-1,line_arr[lanes_index]) + pi, _ = self._parse_interface_alias(line_arr[alias_index]) + pi = int(pi) + self.default_lanes_per_port.insert(pi - 1, line_arr[lanes_index]) if (self.verbose): - print("get_default_lanes -> ",m.group(1), " : ", self.default_lanes_per_port[int(m.group(1))-1]) - f.close() + print("get_default_lanes -> ", pi, " : ", self.default_lanes_per_port[pi - 1]) + except IOError: print("Could not open file "+ self.base_file_path, file=sys.stderr) exit(1) @@ -572,19 +586,26 @@ def set_lanes(self): idx_arr = sorted(values[1]) splt = len(splt_arr) - pattern = '(\d+),(\d+),(\d+),(\d+)' #Currently the assumption is that the default(base) is 4 lanes + lanes = [_.strip() for _ in self.default_lanes_per_port[fp - 1].split(",")] + lanes_count = len(lanes) + if lanes_count % splt != 0: + print("Lanes(%s) could not be evenly splitted by %d." % (self.default_lanes_per_port[fp - 1], splt)) + exit(1) + + # split the lanes + it = iter(lanes) + lanes_splitted = list(iter(lambda: tuple(itertools.islice(it, lanes_count // splt)), ())) - m = re.match(pattern,self.default_lanes_per_port[fp-1]) if (splt == 1): - self.portconfig_dict[idx_arr[0]][lanes_index] = m.group(1)+","+m.group(2)+","+m.group(3)+","+m.group(4) + self.portconfig_dict[idx_arr[0]][lanes_index] = ",".join(lanes_splitted[0]) self.portconfig_dict[idx_arr[0]][index_index] = str(fp) self.portconfig_dict[idx_arr[0]][name_index] = "Ethernet"+str((fp-1)*4) if (self.verbose): print("set_lanes -> FP: ",fp, "Split: ",splt) print("PortConfig_dict ",idx_arr[0],":", self.portconfig_dict[idx_arr[0]]) elif (splt == 2): - self.portconfig_dict[idx_arr[0]][lanes_index] = m.group(1)+","+m.group(2) - self.portconfig_dict[idx_arr[1]][lanes_index] = m.group(3)+","+m.group(4) + self.portconfig_dict[idx_arr[0]][lanes_index] = ",".join(lanes_splitted[0]) + self.portconfig_dict[idx_arr[1]][lanes_index] = ",".join(lanes_splitted[1]) self.portconfig_dict[idx_arr[0]][index_index] = str(fp) self.portconfig_dict[idx_arr[1]][index_index] = str(fp) self.portconfig_dict[idx_arr[0]][name_index] = "Ethernet"+str((fp-1)*4) @@ -594,10 +615,10 @@ def set_lanes(self): print("PortConfig_dict ",idx_arr[0],":", self.portconfig_dict[idx_arr[0]]) print("PortConfig_dict ",idx_arr[1],":", self.portconfig_dict[idx_arr[1]]) elif (splt == 4): - self.portconfig_dict[idx_arr[0]][lanes_index] = m.group(1) - self.portconfig_dict[idx_arr[1]][lanes_index] = m.group(2) - self.portconfig_dict[idx_arr[2]][lanes_index] = m.group(3) - self.portconfig_dict[idx_arr[3]][lanes_index] = m.group(4) + self.portconfig_dict[idx_arr[0]][lanes_index] = ",".join(lanes_splitted[0]) + self.portconfig_dict[idx_arr[1]][lanes_index] = ",".join(lanes_splitted[1]) + self.portconfig_dict[idx_arr[2]][lanes_index] = ",".join(lanes_splitted[2]) + self.portconfig_dict[idx_arr[3]][lanes_index] = ",".join(lanes_splitted[3]) self.portconfig_dict[idx_arr[0]][index_index] = str(fp) self.portconfig_dict[idx_arr[1]][index_index] = str(fp) self.portconfig_dict[idx_arr[2]][index_index] = str(fp) diff --git a/tests/sku_create_input/7050_files/Arista-7050CX3-32S-C32/port_config.ini b/tests/sku_create_input/7050_files/Arista-7050CX3-32S-C32/port_config.ini new file mode 100644 index 0000000000..ce59cd5c97 --- /dev/null +++ b/tests/sku_create_input/7050_files/Arista-7050CX3-32S-C32/port_config.ini @@ -0,0 +1,35 @@ +# name lanes alias index speed +Ethernet0 1,2,3,4 Ethernet1/1 1 100000 +Ethernet4 5,6,7,8 Ethernet2/1 2 100000 +Ethernet8 9,10,11,12 Ethernet3/1 3 100000 +Ethernet12 13,14,15,16 Ethernet4/1 4 100000 +Ethernet16 21,22,23,24 Ethernet5/1 5 100000 +Ethernet20 17,18,19,20 Ethernet6/1 6 100000 +Ethernet24 25,26,27,28 Ethernet7/1 7 100000 +Ethernet28 29,30,31,32 Ethernet8/1 8 100000 +Ethernet32 37,38,39,40 Ethernet9/1 9 100000 +Ethernet36 33,34,35,36 Ethernet10/1 10 100000 +Ethernet40 41,42,43,44 Ethernet11/1 11 100000 +Ethernet44 45,46,47,48 Ethernet12/1 12 100000 +Ethernet48 53,54,55,56 Ethernet13/1 13 100000 +Ethernet52 49,50,51,52 Ethernet14/1 14 100000 +Ethernet56 57,58,59,60 Ethernet15/1 15 100000 +Ethernet60 61,62,63,64 Ethernet16/1 16 100000 +Ethernet64 69,70,71,72 Ethernet17/1 17 100000 +Ethernet68 65,66,67,68 Ethernet18/1 18 100000 +Ethernet72 73,74,75,76 Ethernet19/1 19 100000 +Ethernet76 77,78,79,80 Ethernet20/1 20 100000 +Ethernet80 85,86,87,88 Ethernet21/1 21 100000 +Ethernet84 81,82,83,84 Ethernet22/1 22 100000 +Ethernet88 89,90,91,92 Ethernet23/1 23 100000 +Ethernet92 93,94,95,96 Ethernet24/1 24 100000 +Ethernet96 101,102,103,104 Ethernet25/1 25 100000 +Ethernet100 97,98,99,100 Ethernet26/1 26 100000 +Ethernet104 105,106,107,108 Ethernet27/1 27 100000 +Ethernet108 109,110,111,112 Ethernet28/1 28 100000 +Ethernet112 117,118,119,120 Ethernet29/1 29 100000 +Ethernet116 113,114,115,116 Ethernet30/1 30 100000 +Ethernet120 121,122,123,124 Ethernet31/1 31 100000 +Ethernet124 125,126,127,128 Ethernet32/1 32 100000 +Ethernet128 129 Ethernet33 33 10000 +Ethernet132 128 Ethernet34 34 10000 diff --git a/tests/sku_create_input/7050_files/Arista-7050CX3-32S-D48C8.xml b/tests/sku_create_input/7050_files/Arista-7050CX3-32S-D48C8.xml new file mode 100644 index 0000000000..d67b32a40d --- /dev/null +++ b/tests/sku_create_input/7050_files/Arista-7050CX3-32S-D48C8.xml @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/sku_create_input/7050_files/Arista-7050CX3-32S-D48C8/port_config.ini b/tests/sku_create_input/7050_files/Arista-7050CX3-32S-D48C8/port_config.ini new file mode 100644 index 0000000000..25670f87d9 --- /dev/null +++ b/tests/sku_create_input/7050_files/Arista-7050CX3-32S-D48C8/port_config.ini @@ -0,0 +1,57 @@ +# name lanes alias index speed +Ethernet0 1,2 Ethernet1/1 1 50000 +Ethernet2 3,4 Ethernet1/3 1 50000 +Ethernet4 5,6 Ethernet2/1 2 50000 +Ethernet6 7,8 Ethernet2/3 2 50000 +Ethernet8 9,10 Ethernet3/1 3 50000 +Ethernet10 11,12 Ethernet3/3 3 50000 +Ethernet12 13,14 Ethernet4/1 4 50000 +Ethernet14 15,16 Ethernet4/3 4 50000 +Ethernet16 21,22 Ethernet5/1 5 50000 +Ethernet18 23,24 Ethernet5/3 5 50000 +Ethernet20 17,18 Ethernet6/1 6 50000 +Ethernet22 19,20 Ethernet6/3 6 50000 +Ethernet24 25,26,27,28 Ethernet7/1 7 100000 +Ethernet28 29,30,31,32 Ethernet8/1 8 100000 +Ethernet32 37,38,39,40 Ethernet9/1 9 100000 +Ethernet36 33,34,35,36 Ethernet10/1 10 100000 +Ethernet40 41,42 Ethernet11/1 11 50000 +Ethernet42 43,44 Ethernet11/3 11 50000 +Ethernet44 45,46 Ethernet12/1 12 50000 +Ethernet46 47,48 Ethernet12/3 12 50000 +Ethernet48 53,54 Ethernet13/1 13 50000 +Ethernet50 55,56 Ethernet13/3 13 50000 +Ethernet52 49,50 Ethernet14/1 14 50000 +Ethernet54 51,52 Ethernet14/3 14 50000 +Ethernet56 57,58 Ethernet15/1 15 50000 +Ethernet58 59,60 Ethernet15/3 15 50000 +Ethernet60 61,62 Ethernet16/1 16 50000 +Ethernet62 63,64 Ethernet16/3 16 50000 +Ethernet64 69,70 Ethernet17/1 17 50000 +Ethernet66 71,72 Ethernet17/3 17 50000 +Ethernet68 65,66 Ethernet18/1 18 50000 +Ethernet70 67,68 Ethernet18/3 18 50000 +Ethernet72 73,74 Ethernet19/1 19 50000 +Ethernet74 75,76 Ethernet19/3 19 50000 +Ethernet76 77,78 Ethernet20/1 20 50000 +Ethernet78 79,80 Ethernet20/3 20 50000 +Ethernet80 85,86 Ethernet21/1 21 50000 +Ethernet82 87,88 Ethernet21/3 21 50000 +Ethernet84 81,82 Ethernet22/1 22 50000 +Ethernet86 83,84 Ethernet22/3 22 50000 +Ethernet88 89,90,91,92 Ethernet23/1 23 100000 +Ethernet92 93,94,95,96 Ethernet24/1 24 100000 +Ethernet96 101,102,103,104 Ethernet25/1 25 100000 +Ethernet100 97,98,99,100 Ethernet26/1 26 100000 +Ethernet104 105,106 Ethernet27/1 27 50000 +Ethernet106 107,108 Ethernet27/3 27 50000 +Ethernet108 109,110 Ethernet28/1 28 50000 +Ethernet110 111,112 Ethernet28/3 28 50000 +Ethernet112 117,118 Ethernet29/1 29 50000 +Ethernet114 119,120 Ethernet29/3 29 50000 +Ethernet116 113,114 Ethernet30/1 30 50000 +Ethernet118 115,116 Ethernet30/3 30 50000 +Ethernet120 121,122 Ethernet31/1 31 50000 +Ethernet122 123,124 Ethernet31/3 31 50000 +Ethernet124 125,126 Ethernet32/1 32 50000 +Ethernet126 127,128 Ethernet32/3 32 50000 diff --git a/tests/sku_create_input/7050_files/default_sku b/tests/sku_create_input/7050_files/default_sku new file mode 100644 index 0000000000..bff7a549cb --- /dev/null +++ b/tests/sku_create_input/7050_files/default_sku @@ -0,0 +1 @@ +Arista-7050CX3-32S-C32 t1 diff --git a/tests/sku_create_input/7260_files/Arista-7260CX3-C64/port_config.ini b/tests/sku_create_input/7260_files/Arista-7260CX3-C64/port_config.ini new file mode 100644 index 0000000000..3940948a35 --- /dev/null +++ b/tests/sku_create_input/7260_files/Arista-7260CX3-C64/port_config.ini @@ -0,0 +1,67 @@ +# name lanes alias index speed +Ethernet0 77,78,79,80 Ethernet1/1 1 100000 +Ethernet4 65,66,67,68 Ethernet2/1 2 100000 +Ethernet8 85,86,87,88 Ethernet3/1 3 100000 +Ethernet12 89,90,91,92 Ethernet4/1 4 100000 +Ethernet16 109,110,111,112 Ethernet5/1 5 100000 +Ethernet20 97,98,99,100 Ethernet6/1 6 100000 +Ethernet24 5,6,7,8 Ethernet7/1 7 100000 +Ethernet28 13,14,15,16 Ethernet8/1 8 100000 +Ethernet32 25,26,27,28 Ethernet9/1 9 100000 +Ethernet36 21,22,23,24 Ethernet10/1 10 100000 +Ethernet40 37,38,39,40 Ethernet11/1 11 100000 +Ethernet44 45,46,47,48 Ethernet12/1 12 100000 +Ethernet48 57,58,59,60 Ethernet13/1 13 100000 +Ethernet52 53,54,55,56 Ethernet14/1 14 100000 +Ethernet56 117,118,119,120 Ethernet15/1 15 100000 +Ethernet60 121,122,123,124 Ethernet16/1 16 100000 +Ethernet64 141,142,143,144 Ethernet17/1 17 100000 +Ethernet68 133,134,135,136 Ethernet18/1 18 100000 +Ethernet72 197,198,199,200 Ethernet19/1 19 100000 +Ethernet76 205,206,207,208 Ethernet20/1 20 100000 +Ethernet80 217,218,219,220 Ethernet21/1 21 100000 +Ethernet84 213,214,215,216 Ethernet22/1 22 100000 +Ethernet88 229,230,231,232 Ethernet23/1 23 100000 +Ethernet92 237,238,239,240 Ethernet24/1 24 100000 +Ethernet96 249,250,251,252 Ethernet25/1 25 100000 +Ethernet100 245,246,247,248 Ethernet26/1 26 100000 +Ethernet104 149,150,151,152 Ethernet27/1 27 100000 +Ethernet108 153,154,155,156 Ethernet28/1 28 100000 +Ethernet112 173,174,175,176 Ethernet29/1 29 100000 +Ethernet116 161,162,163,164 Ethernet30/1 30 100000 +Ethernet120 181,182,183,184 Ethernet31/1 31 100000 +Ethernet124 185,186,187,188 Ethernet32/1 32 100000 +Ethernet128 69,70,71,72 Ethernet33/1 33 100000 +Ethernet132 73,74,75,76 Ethernet34/1 34 100000 +Ethernet136 93,94,95,96 Ethernet35/1 35 100000 +Ethernet140 81,82,83,84 Ethernet36/1 36 100000 +Ethernet144 101,102,103,104 Ethernet37/1 37 100000 +Ethernet148 105,106,107,108 Ethernet38/1 38 100000 +Ethernet152 9,10,11,12 Ethernet39/1 39 100000 +Ethernet156 1,2,3,4 Ethernet40/1 40 100000 +Ethernet160 17,18,19,20 Ethernet41/1 41 100000 +Ethernet164 29,30,31,32 Ethernet42/1 42 100000 +Ethernet168 41,42,43,44 Ethernet43/1 43 100000 +Ethernet172 33,34,35,36 Ethernet44/1 44 100000 +Ethernet176 49,50,51,52 Ethernet45/1 45 100000 +Ethernet180 61,62,63,64 Ethernet46/1 46 100000 +Ethernet184 125,126,127,128 Ethernet47/1 47 100000 +Ethernet188 113,114,115,116 Ethernet48/1 48 100000 +Ethernet192 129,130,131,132 Ethernet49/1 49 100000 +Ethernet196 137,138,139,140 Ethernet50/1 50 100000 +Ethernet200 201,202,203,204 Ethernet51/1 51 100000 +Ethernet204 193,194,195,196 Ethernet52/1 52 100000 +Ethernet208 209,210,211,212 Ethernet53/1 53 100000 +Ethernet212 221,222,223,224 Ethernet54/1 54 100000 +Ethernet216 233,234,235,236 Ethernet55/1 55 100000 +Ethernet220 225,226,227,228 Ethernet56/1 56 100000 +Ethernet224 241,242,243,244 Ethernet57/1 57 100000 +Ethernet228 253,254,255,256 Ethernet58/1 58 100000 +Ethernet232 157,158,159,160 Ethernet59/1 59 100000 +Ethernet236 145,146,147,148 Ethernet60/1 60 100000 +Ethernet240 165,166,167,168 Ethernet61/1 61 100000 +Ethernet244 169,170,171,172 Ethernet62/1 62 100000 +Ethernet248 189,190,191,192 Ethernet63/1 63 100000 +Ethernet252 177,178,179,180 Ethernet64/1 64 100000 +Ethernet256 257 Ethernet65 65 10000 +Ethernet260 259 Ethernet66 66 10000 diff --git a/tests/sku_create_input/7260_files/Arista-7260CX3-D108C8.xml b/tests/sku_create_input/7260_files/Arista-7260CX3-D108C8.xml new file mode 100644 index 0000000000..f5eb162eb7 --- /dev/null +++ b/tests/sku_create_input/7260_files/Arista-7260CX3-D108C8.xml @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/sku_create_input/7260_files/Arista-7260CX3-D108C8/port_config.ini b/tests/sku_create_input/7260_files/Arista-7260CX3-D108C8/port_config.ini new file mode 100644 index 0000000000..c06fdd581e --- /dev/null +++ b/tests/sku_create_input/7260_files/Arista-7260CX3-D108C8/port_config.ini @@ -0,0 +1,123 @@ +# name lanes alias index speed +Ethernet0 77,78 Ethernet1/1 1 50000 +Ethernet2 79,80 Ethernet1/3 1 50000 +Ethernet4 65,66 Ethernet2/1 2 50000 +Ethernet6 67,68 Ethernet2/3 2 50000 +Ethernet8 85,86 Ethernet3/1 3 50000 +Ethernet10 87,88 Ethernet3/3 3 50000 +Ethernet12 89,90 Ethernet4/1 4 50000 +Ethernet14 91,92 Ethernet4/3 4 50000 +Ethernet16 109,110 Ethernet5/1 5 50000 +Ethernet18 111,112 Ethernet5/3 5 50000 +Ethernet20 97,98 Ethernet6/1 6 50000 +Ethernet22 99,100 Ethernet6/3 6 50000 +Ethernet24 5,6 Ethernet7/1 7 50000 +Ethernet26 7,8 Ethernet7/3 7 50000 +Ethernet28 13,14 Ethernet8/1 8 50000 +Ethernet30 15,16 Ethernet8/3 8 50000 +Ethernet32 25,26 Ethernet9/1 9 50000 +Ethernet34 27,28 Ethernet9/3 9 50000 +Ethernet36 21,22 Ethernet10/1 10 50000 +Ethernet38 23,24 Ethernet10/3 10 50000 +Ethernet40 37,38 Ethernet11/1 11 50000 +Ethernet42 39,40 Ethernet11/3 11 50000 +Ethernet44 45,46 Ethernet12/1 12 50000 +Ethernet46 47,48 Ethernet12/3 12 50000 +Ethernet48 57,58,59,60 Ethernet13/1 13 100000 +Ethernet52 53,54,55,56 Ethernet14/1 14 100000 +Ethernet56 117,118,119,120 Ethernet15/1 15 100000 +Ethernet60 121,122,123,124 Ethernet16/1 16 100000 +Ethernet64 141,142,143,144 Ethernet17/1 17 100000 +Ethernet68 133,134,135,136 Ethernet18/1 18 100000 +Ethernet72 197,198,199,200 Ethernet19/1 19 100000 +Ethernet76 205,206,207,208 Ethernet20/1 20 100000 +Ethernet80 217,218 Ethernet21/1 21 50000 +Ethernet82 219,220 Ethernet21/3 21 50000 +Ethernet84 213,214 Ethernet22/1 22 50000 +Ethernet86 215,216 Ethernet22/3 22 50000 +Ethernet88 229,230 Ethernet23/1 23 50000 +Ethernet90 231,232 Ethernet23/3 23 50000 +Ethernet92 237,238 Ethernet24/1 24 50000 +Ethernet94 239,240 Ethernet24/3 24 50000 +Ethernet96 249,250 Ethernet25/1 25 50000 +Ethernet98 251,252 Ethernet25/3 25 50000 +Ethernet100 245,246 Ethernet26/1 26 50000 +Ethernet102 247,248 Ethernet26/3 26 50000 +Ethernet104 149,150 Ethernet27/1 27 50000 +Ethernet106 151,152 Ethernet27/3 27 50000 +Ethernet108 153,154 Ethernet28/1 28 50000 +Ethernet110 155,156 Ethernet28/3 28 50000 +Ethernet112 173,174 Ethernet29/1 29 50000 +Ethernet114 175,176 Ethernet29/3 29 50000 +Ethernet116 161,162 Ethernet30/1 30 50000 +Ethernet118 163,164 Ethernet30/3 30 50000 +Ethernet120 181,182 Ethernet31/1 31 50000 +Ethernet122 183,184 Ethernet31/3 31 50000 +Ethernet124 185,186 Ethernet32/1 32 50000 +Ethernet126 187,188 Ethernet32/3 32 50000 +Ethernet128 69,70 Ethernet33/1 33 50000 +Ethernet130 71,72 Ethernet33/3 33 50000 +Ethernet132 73,74 Ethernet34/1 34 50000 +Ethernet134 75,76 Ethernet34/3 34 50000 +Ethernet136 93,94 Ethernet35/1 35 50000 +Ethernet138 95,96 Ethernet35/3 35 50000 +Ethernet140 81,82 Ethernet36/1 36 50000 +Ethernet142 83,84 Ethernet36/3 36 50000 +Ethernet144 101,102 Ethernet37/1 37 50000 +Ethernet146 103,104 Ethernet37/3 37 50000 +Ethernet148 105,106 Ethernet38/1 38 50000 +Ethernet150 107,108 Ethernet38/3 38 50000 +Ethernet152 9,10 Ethernet39/1 39 50000 +Ethernet154 11,12 Ethernet39/3 39 50000 +Ethernet156 1,2 Ethernet40/1 40 50000 +Ethernet158 3,4 Ethernet40/3 40 50000 +Ethernet160 17,18 Ethernet41/1 41 50000 +Ethernet162 19,20 Ethernet41/3 41 50000 +Ethernet164 29,30 Ethernet42/1 42 50000 +Ethernet166 31,32 Ethernet42/3 42 50000 +Ethernet168 41,42 Ethernet43/1 43 50000 +Ethernet170 43,44 Ethernet43/3 43 50000 +Ethernet172 33,34 Ethernet44/1 44 50000 +Ethernet174 35,36 Ethernet44/3 44 50000 +Ethernet176 49,50 Ethernet45/1 45 50000 +Ethernet178 51,52 Ethernet45/3 45 50000 +Ethernet180 61,62 Ethernet46/1 46 50000 +Ethernet182 63,64 Ethernet46/3 46 50000 +Ethernet184 125,126 Ethernet47/1 47 50000 +Ethernet186 127,128 Ethernet47/3 47 50000 +Ethernet188 113,114 Ethernet48/1 48 50000 +Ethernet190 115,116 Ethernet48/3 48 50000 +Ethernet192 129,130 Ethernet49/1 49 50000 +Ethernet194 131,132 Ethernet49/3 49 50000 +Ethernet196 137,138 Ethernet50/1 50 50000 +Ethernet198 139,140 Ethernet50/3 50 50000 +Ethernet200 201,202 Ethernet51/1 51 50000 +Ethernet202 203,204 Ethernet51/3 51 50000 +Ethernet204 193,194 Ethernet52/1 52 50000 +Ethernet206 195,196 Ethernet52/3 52 50000 +Ethernet208 209,210 Ethernet53/1 53 50000 +Ethernet210 211,212 Ethernet53/3 53 50000 +Ethernet212 221,222 Ethernet54/1 54 50000 +Ethernet214 223,224 Ethernet54/3 54 50000 +Ethernet216 233,234 Ethernet55/1 55 50000 +Ethernet218 235,236 Ethernet55/3 55 50000 +Ethernet220 225,226 Ethernet56/1 56 50000 +Ethernet222 227,228 Ethernet56/3 56 50000 +Ethernet224 241,242 Ethernet57/1 57 50000 +Ethernet226 243,244 Ethernet57/3 57 50000 +Ethernet228 253,254 Ethernet58/1 58 50000 +Ethernet230 255,256 Ethernet58/3 58 50000 +Ethernet232 157,158 Ethernet59/1 59 50000 +Ethernet234 159,160 Ethernet59/3 59 50000 +Ethernet236 145,146 Ethernet60/1 60 50000 +Ethernet238 147,148 Ethernet60/3 60 50000 +Ethernet240 165,166 Ethernet61/1 61 50000 +Ethernet242 167,168 Ethernet61/3 61 50000 +Ethernet244 169,170 Ethernet62/1 62 50000 +Ethernet246 171,172 Ethernet62/3 62 50000 +Ethernet248 189,190 Ethernet63/1 63 50000 +Ethernet250 191,192 Ethernet63/3 63 50000 +Ethernet252 177,178 Ethernet64/1 64 50000 +Ethernet254 179,180 Ethernet64/3 64 50000 +Ethernet256 257 Ethernet65 65 10000 +Ethernet260 259 Ethernet66 66 10000 diff --git a/tests/sku_create_input/7260_files/default_sku b/tests/sku_create_input/7260_files/default_sku new file mode 100644 index 0000000000..959766d95f --- /dev/null +++ b/tests/sku_create_input/7260_files/default_sku @@ -0,0 +1 @@ +Arista-7260CX3-C64 t1 diff --git a/tests/sku_create_test.py b/tests/sku_create_test.py index 27e65bb0f5..ec449a6045 100644 --- a/tests/sku_create_test.py +++ b/tests/sku_create_test.py @@ -10,11 +10,26 @@ test_path = os.path.dirname(os.path.abspath(__file__)) modules_path = os.path.dirname(test_path) scripts_path = os.path.join(modules_path, "scripts") -xml_input_path = os.path.join(modules_path, "tests/sku_create_input/2700_files") -output_xml_dir_path = os.path.join(modules_path, "tests/sku_create_input/2700_files/Mellanox-SN2700-D48C8_NEW/") -sku_def_file = os.path.join(xml_input_path, "Mellanox-SN2700-D48C8.xml") -output_xml_file_path = os.path.join(modules_path, "tests/sku_create_input/2700_files/Mellanox-SN2700-D48C8_NEW/port_config.ini") -model_xml_file_path = os.path.join(modules_path, "tests/sku_create_input/2700_files/Mellanox-SN2700-D48C8/port_config.ini") + +# xml file input related test resources +xml_input_paths = ["tests/sku_create_input/2700_files", "tests/sku_create_input/7050_files", "tests/sku_create_input/7260_files"] +output_xml_dir_paths = [ + "tests/sku_create_input/2700_files/Mellanox-SN2700-D48C8_NEW/", + "tests/sku_create_input/7050_files/Arista-7050CX3-32S-D48C8_NEW", + "tests/sku_create_input/7260_files/Arista-7260CX3-D108C8_NEW" +] +sku_def_files = ["Mellanox-SN2700-D48C8.xml", "Arista-7050CX3-32S-D48C8.xml", "Arista-7260CX3-D108C8.xml"] +output_xml_file_paths = [ + "tests/sku_create_input/2700_files/Mellanox-SN2700-D48C8_NEW/port_config.ini", + "tests/sku_create_input/7050_files/Arista-7050CX3-32S-D48C8_NEW/port_config.ini", + "tests/sku_create_input/7260_files/Arista-7260CX3-D108C8_NEW/port_config.ini" +] +model_xml_file_paths = [ + "tests/sku_create_input/2700_files/Mellanox-SN2700-D48C8/port_config.ini", + "tests/sku_create_input/7050_files/Arista-7050CX3-32S-D48C8/port_config.ini", + "tests/sku_create_input/7260_files/Arista-7260CX3-D108C8/port_config.ini" +] + minigraph_input_path = os.path.join(modules_path, "tests/sku_create_input/3800_files") output_minigraph_dir_path = os.path.join(modules_path, "tests/sku_create_input/3800_files/Mellanox-SN3800-D28C50_NEW/") minigraph_file = os.path.join(minigraph_input_path, "t0-1-06-minigraph.xml") @@ -70,26 +85,34 @@ def are_file_contents_same(self,fname1,fname2): return True def test_sku_from_xml_file(self): - if (os.path.exists(output_xml_dir_path)): - shutil.rmtree(output_xml_dir_path) - - my_command = sku_create_script + " -f " + sku_def_file + " -d " + xml_input_path - - #Test case execution without stdout - result = subprocess.check_output(my_command,stderr=subprocess.STDOUT,shell=True) - print(result) - - #Check if the Output file exists - if (os.path.exists(output_xml_file_path)): - print("Output file: ",output_xml_file_path, "exists. SUCCESS!") - else: - pytest.fail("Output file: {} does not exist. FAILURE!".format(output_xml_file_path)) + test_resources = zip(xml_input_paths, output_xml_dir_paths, sku_def_files, output_xml_file_paths, model_xml_file_paths) + for xml_input_path, output_xml_dir_path, sku_def_file, output_xml_file_path, model_xml_file_path in test_resources: + xml_input_path = os.path.join(modules_path, xml_input_path) + output_xml_dir_path = os.path.join(modules_path, output_xml_dir_path) + sku_def_file = os.path.join(xml_input_path, sku_def_file) + output_xml_file_path = os.path.join(modules_path, output_xml_file_path) + model_xml_file_path = os.path.join(modules_path, model_xml_file_path) + + if (os.path.exists(output_xml_dir_path)): + shutil.rmtree(output_xml_dir_path) + + my_command = sku_create_script + " -f " + sku_def_file + " -d " + xml_input_path + + #Test case execution without stdout + result = subprocess.check_output(my_command,stderr=subprocess.STDOUT,shell=True) + print(result) + + #Check if the Output file exists + if (os.path.exists(output_xml_file_path)): + print("Output file: ",output_xml_file_path, "exists. SUCCESS!") + else: + pytest.fail("Output file: {} does not exist. FAILURE!".format(output_xml_file_path)) - #Check if the Output file and the model file have same contents - if self.are_file_contents_same(output_xml_file_path, model_xml_file_path) == True: - print("Output file: ",output_xml_file_path, " and model file: ",model_xml_file_path, "contents are same. SUCCESS!") - else: - pytest.fail("Output file: {} and model file: {} contents are not same. FAILURE!".format(output_xml_file_path, model_xml_file_path)) + #Check if the Output file and the model file have same contents + if self.are_file_contents_same(output_xml_file_path, model_xml_file_path) == True: + print("Output file: ",output_xml_file_path, " and model file: ",model_xml_file_path, "contents are same. SUCCESS!") + else: + pytest.fail("Output file: {} and model file: {} contents are not same. FAILURE!".format(output_xml_file_path, model_xml_file_path)) def test_sku_from_minigraph_file(self): if (os.path.exists(output_minigraph_dir_path)): From d13955a3ee0691f2e90c58e50c345323fc658041 Mon Sep 17 00:00:00 2001 From: rajendra-dendukuri <47423477+rajendra-dendukuri@users.noreply.github.com> Date: Thu, 7 Oct 2021 11:58:39 -0400 Subject: [PATCH 314/342] [kdump] Remove automatic saving of kdump config in startup config (#1859) Fix https://github.com/Azure/sonic-buildimage/issues/8888 Warn user to save the config instead of saving the kdump config in config_db.json under the covers. Having more than one actors operate on config_db.json can result in an exception. --- config/kdump.py | 6 ++++++ scripts/sonic-kdump-config | 39 -------------------------------------- show/kdump.py | 2 +- 3 files changed, 7 insertions(+), 40 deletions(-) diff --git a/config/kdump.py b/config/kdump.py index 1349e8f105..c61e79099d 100644 --- a/config/kdump.py +++ b/config/kdump.py @@ -43,6 +43,8 @@ def kdump_disable(db): check_kdump_table_existence(kdump_table) db.cfgdb.mod_entry("KDUMP", "config", {"enabled": "false"}) + click.echo("KDUMP configuration changes may require a reboot to take effect.") + click.echo("Save SONiC configuration using 'config save' before issuing the reboot command.") # @@ -56,6 +58,8 @@ def kdump_enable(db): check_kdump_table_existence(kdump_table) db.cfgdb.mod_entry("KDUMP", "config", {"enabled": "true"}) + click.echo("KDUMP configuration changes may require a reboot to take effect.") + click.echo("Save SONiC configuration using 'config save' before issuing the reboot command.") # @@ -70,6 +74,8 @@ def kdump_memory(db, kdump_memory): check_kdump_table_existence(kdump_table) db.cfgdb.mod_entry("KDUMP", "config", {"memory": kdump_memory}) + click.echo("KDUMP configuration changes may require a reboot to take effect.") + click.echo("Save SONiC configuration using 'config save' before issuing the reboot command.") # diff --git a/scripts/sonic-kdump-config b/scripts/sonic-kdump-config index 26fa652dc2..2ffdd2e8db 100755 --- a/scripts/sonic-kdump-config +++ b/scripts/sonic-kdump-config @@ -356,39 +356,6 @@ def write_num_dumps(num_dumps): print_err("Error while writing KDUMP_NUM_DUMPS into %s" % kdump_cfg) sys.exit(1) -## Save kdump configuration into the startup configuration -# @kdump_enabled Administrative mode (False/True) -# @memory Amount of memory allocated for the capture kernel -# @num_dumps Max number of core files saved locally -def save_config(kdump_enabled, memory, num_dumps): - - configdb_fname = '/etc/sonic/config_db.json' - - # Read current configuration - if not os.path.exists(configdb_fname): - print_err("Startup configuration not found, Kdump configuration is not saved") - return - else: - try: - with open(configdb_fname) as json_file: - data = json.load(json_file) - except Exception as e: - print_err("Error [%s] while reading startup configuration" % e) - return - - # Rewrite configuration - try: - kdump_data = {'config': {'enabled': '', 'num_dumps': '', 'memory': ''}} - (kdump_data['config'])['enabled'] = str(kdump_enabled).lower() - (kdump_data['config'])['num_dumps'] = str(num_dumps) - (kdump_data['config'])['memory'] = memory - data['KDUMP'] = kdump_data - with open(configdb_fname, 'w') as fp: - json.dump(data, fp, indent=4, sort_keys=False) - print("Kdump configuration has been updated in the startup configuration") - except Exception as e: - print_err("Error [%s] while saving Kdump configuration to startup configuration" % e) - ## Enable kdump # # @param verbose If True, the function will display a few additinal information @@ -432,9 +399,6 @@ def kdump_enable(verbose, kdump_enabled, memory, num_dumps, image, cmdline_file) if changed: rewrite_cfg(lines, cmdline_file) - save_config(kdump_enabled, memory, num_dumps) - else: - save_config(kdump_enabled, memory, num_dumps) write_use_kdump(1) if crash_kernel_in_cmdline is not None: @@ -545,7 +509,6 @@ def kdump_disable(verbose, kdump_enabled, memory, num_dumps, image, cmdline_file if changed: rewrite_grub_cfg(lines, grub_cfg) - save_config(kdump_enabled, memory, num_dumps) return changed @@ -590,7 +553,6 @@ def cmd_kdump_memory(verbose, memory): print("Kdump updated memory will be only operational after the system reboots") else: num_dumps = get_kdump_num_dumps() - save_config(False, memory, num_dumps) ## Command: Set / Get num_dumps # @@ -605,7 +567,6 @@ def cmd_kdump_num_dumps(verbose, num_dumps): write_num_dumps(num_dumps) kdump_enabled = get_kdump_administrative_mode() kdump_memory = get_kdump_memory() - save_config(kdump_enabled, kdump_memory, num_dumps) def main(): diff --git a/show/kdump.py b/show/kdump.py index c0eb609a1d..2d93154c64 100644 --- a/show/kdump.py +++ b/show/kdump.py @@ -78,7 +78,7 @@ def config(): click.echo("Kdump operational mode: {}".format(oper_mode)) mem_config = get_kdump_config("memory") - click.echo("Kdump memory researvation: {}".format(mem_config)) + click.echo("Kdump memory reservation: {}".format(mem_config)) num_files_config = get_kdump_config("num_dumps") click.echo("Maximum number of Kdump files: {}".format(num_files_config)) From 9232c544191fdfa764f5bd12dd75353c9e0ebf78 Mon Sep 17 00:00:00 2001 From: Mohamed Ghoneim Date: Thu, 7 Oct 2021 22:54:10 -0700 Subject: [PATCH 315/342] [generic-config-updater] Cropping current/target config before sorting (#1831) #### What I did Fixing issue #1830 #### How I did it Problem we consume the function `loadData` from sonic-yang-mgmt pkg that always crops tables without YANG models from configdb json object. It does it as a side-effect and is not an expected outcome of the function. The fix here is to crop the current/target tables before doing any sorting, this way gurantee we avoid this bug. I think the better soln is to fix sonic-yang-mgmt pkg. Will look into this more next week. #### How to verify it Run the command in the issue, it will result in the expected outcome #### Previous command output (if the output of a command-line utility has changed) #### New command output (if the output of a command-line utility has changed) --- generic_config_updater/patch_sorter.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/generic_config_updater/patch_sorter.py b/generic_config_updater/patch_sorter.py index 8bf99ba004..ebc7c572ff 100644 --- a/generic_config_updater/patch_sorter.py +++ b/generic_config_updater/patch_sorter.py @@ -997,7 +997,10 @@ def sort(self, patch, algorithm=Algorithm.DFS): current_config = self.config_wrapper.get_config_db_as_json() target_config = self.patch_wrapper.simulate_patch(patch, current_config) - diff = Diff(current_config, target_config) + cropped_current_config = self.config_wrapper.crop_tables_without_yang(current_config) + cropped_target_config = self.config_wrapper.crop_tables_without_yang(target_config) + + diff = Diff(cropped_current_config, cropped_target_config) sort_algorithm = self.sort_algorithm_factory.create(algorithm) moves = sort_algorithm.sort(diff) From 112b44e3be4a83480dce4c69f7382ea40ba9d5d1 Mon Sep 17 00:00:00 2001 From: andywongarista <78833093+andywongarista@users.noreply.github.com> Date: Fri, 8 Oct 2021 19:02:11 -0700 Subject: [PATCH 316/342] Fix sfputil for OSFP xcvrs (#1852) --- sfputil/main.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sfputil/main.py b/sfputil/main.py index 5fb533ec92..96dfcd9e79 100644 --- a/sfputil/main.py +++ b/sfputil/main.py @@ -260,7 +260,8 @@ def convert_sfp_info_to_output_string(sfp_info_dict): elif key == 'cable_length': pass elif key == 'specification_compliance': - if sfp_info_dict['type'] == "QSFP-DD Double Density 8X Pluggable Transceiver": + if sfp_info_dict['type'] == "QSFP-DD Double Density 8X Pluggable Transceiver" or \ + sfp_info_dict['type'] == "OSFP 8X Pluggable Transceiver": output += '{}{}: {}\n'.format(indent, QSFP_DATA_MAP[key], sfp_info_dict[key]) else: output += '{}{}:\n'.format(indent, QSFP_DATA_MAP['specification_compliance']) From 1edf9349feb75af6d76de940856388b14723b0f6 Mon Sep 17 00:00:00 2001 From: gechiang <62408185+gechiang@users.noreply.github.com> Date: Mon, 11 Oct 2021 12:04:32 -0700 Subject: [PATCH 317/342] [TH3] Skipp Control Plane Assist on WARM Reboot for TH3 HWSKUs (#1861) * [TH3] Skip Control Plane Assist on WARM Reboot for TH3 HWSKUs --- scripts/fast-reboot | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/scripts/fast-reboot b/scripts/fast-reboot index 557a6d0f68..0dc42b07de 100755 --- a/scripts/fast-reboot +++ b/scripts/fast-reboot @@ -277,8 +277,13 @@ function backup_database() function setup_control_plane_assistant() { if [[ -n "${ASSISTANT_IP_LIST}" && -x ${ASSISTANT_SCRIPT} ]]; then - debug "Setting up control plane assistant: ${ASSISTANT_IP_LIST} ..." - ${ASSISTANT_SCRIPT} -s ${ASSISTANT_IP_LIST} -m set + # TH3 HW is not capable of VxLAN programming thus skipping TH3 platforms + if [[ "${HWSKU}" != "DellEMC-Z9332f-M-O16C64" && "${HWSKU}" != "DellEMC-Z9332f-M-O16C64-lab" ]]; then + debug "Setting up control plane assistant: ${ASSISTANT_IP_LIST} ..." + ${ASSISTANT_SCRIPT} -s ${ASSISTANT_IP_LIST} -m set + else + debug "${HWSKU} Not capable to support CPA. Skipping gracefully ..." + fi elif [[ X"${STRICT}" == X"yes" ]]; then debug "Strict mode: fail due to lack of control plane assistant ..." exit ${EXIT_NO_CONTROL_PLANE_ASSISTANT} @@ -288,8 +293,11 @@ function setup_control_plane_assistant() function teardown_control_plane_assistant() { if [[ -n "${ASSISTANT_IP_LIST}" && -x ${ASSISTANT_SCRIPT} ]]; then - debug "Tearing down control plane assistant: ${ASSISTANT_IP_LIST} ..." - ${ASSISTANT_SCRIPT} -s ${ASSISTANT_IP_LIST} -m reset + # TH3 HW is not capable of VxLAN programming thus skipping TH3 platforms + if [[ "${HWSKU}" != "DellEMC-Z9332f-M-O16C64" && "${HWSKU}" != "DellEMC-Z9332f-M-O16C64-lab" ]]; then + debug "Tearing down control plane assistant: ${ASSISTANT_IP_LIST} ..." + ${ASSISTANT_SCRIPT} -s ${ASSISTANT_IP_LIST} -m reset + fi fi } @@ -300,6 +308,7 @@ function is_secureboot() { function setup_reboot_variables() { # Kernel and initrd image + HWSKU=$(show platform summary --json | python -c 'import sys, json; print(json.load(sys.stdin)["hwsku"])') NEXT_SONIC_IMAGE=$(sonic-installer list | grep "Next: " | cut -d ' ' -f 2) IMAGE_PATH="/host/image-${NEXT_SONIC_IMAGE#SONiC-OS-}" if grep -q aboot_platform= /host/machine.conf; then From 476b3a489f2a96dc58c390c5ed07059cffbd6d09 Mon Sep 17 00:00:00 2001 From: vganesan-nokia <67648637+vganesan-nokia@users.noreply.github.com> Date: Tue, 12 Oct 2021 01:25:29 -0400 Subject: [PATCH 318/342] [multi-asic][cli][chassis-db] Avoid connecting to chassis db for cli commands executed from linecard (#1707) * [multi-asic][cli][chassis-db] Avoid connecting to chassis db Currently, for all the cli commands, we connect to all databases mentioned in the database_config.json. The database_config.json also includes the databases from chassis redis server from supervisor card. It is unneccessary to connect to databases from chassis redis server when cli commands are executed form linecard. But we need to allow connection to chassis databases when the cli commands are executed from supervisor card. The changes in this PR fixes this problem. The constructor of Db() class which is instantiated for every CLI command execution is changed to skip chassis databases from the list of collected databases if the card is not supervisor card. Signed-off-by: vedganes --- utilities_common/db.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/utilities_common/db.py b/utilities_common/db.py index 7842b4dcdd..d736aa1be7 100644 --- a/utilities_common/db.py +++ b/utilities_common/db.py @@ -1,4 +1,4 @@ -from sonic_py_common import multi_asic +from sonic_py_common import multi_asic, device_info from swsscommon.swsscommon import ConfigDBConnector, SonicV2Connector from utilities_common import constants from utilities_common.multi_asic import multi_asic_ns_choices @@ -11,7 +11,17 @@ def __init__(self): self.cfgdb = ConfigDBConnector() self.cfgdb.connect() self.db = SonicV2Connector(host="127.0.0.1") - for db_id in self.db.get_db_list(): + + # Skip connecting to chassis databases in line cards + db_list = list(self.db.get_db_list()) + if not device_info.is_supervisor(): + try: + db_list.remove('CHASSIS_APP_DB') + db_list.remove('CHASSIS_STATE_DB') + except Exception: + pass + + for db_id in db_list: self.db.connect(db_id) self.cfgdb_clients[constants.DEFAULT_NAMESPACE] = self.cfgdb From 9ab20fd167ff294df98e0db07b56380caa6916a9 Mon Sep 17 00:00:00 2001 From: vdahiya12 <67608553+vdahiya12@users.noreply.github.com> Date: Tue, 12 Oct 2021 18:13:38 -0700 Subject: [PATCH 319/342] [show][config] fix the muxcable commands for interface naming mode (#1862) This PR fixes the logic to enable alias port usage with muxcable commands. With this PR the user would be able to use this command sudo config interface_naming_mode alias or export SONIC_CLI_IFACE_MODE=alias in the ~/.bashrc and be able to use the naming convention as defined. How I did it Made the changes in show/muxcable.py and config/muxcable.py basically parse the alias/default port if the mode is alias/default to name with no change in internal logic for commands. and display the output back with alias/default Signed-off-by: vaibhav-dahiya --- config/muxcable.py | 47 ++- show/muxcable.py | 86 +++--- tests/muxcable_test.py | 316 +++++++++++++++++++- utilities_common/platform_sfputil_helper.py | 23 +- 4 files changed, 419 insertions(+), 53 deletions(-) diff --git a/config/muxcable.py b/config/muxcable.py index c88adffe37..e5638c1f03 100644 --- a/config/muxcable.py +++ b/config/muxcable.py @@ -219,7 +219,7 @@ def muxcable(): platform_sfputil = platform_sfputil_helper.platform_sfputil -def lookup_statedb_and_update_configdb(per_npu_statedb, config_db, port, state_cfg_val, port_status_dict): +def lookup_statedb_and_update_configdb(db, per_npu_statedb, config_db, port, state_cfg_val, port_status_dict): muxcable_statedb_dict = per_npu_statedb.get_all(per_npu_statedb.STATE_DB, 'MUX_CABLE_TABLE|{}'.format(port)) configdb_state = get_value_for_key_in_config_tbl(config_db, port, "state", "MUX_CABLE") @@ -228,15 +228,17 @@ def lookup_statedb_and_update_configdb(per_npu_statedb, config_db, port, state_c state = get_value_for_key_in_dict(muxcable_statedb_dict, port, "state", "MUX_CABLE_TABLE") + port_name = platform_sfputil_helper.get_interface_alias(port, db) + if str(state_cfg_val) == str(configdb_state): - port_status_dict[port] = 'OK' + port_status_dict[port_name] = 'OK' else: config_db.set_entry("MUX_CABLE", port, {"state": state_cfg_val, "server_ipv4": ipv4_value, "server_ipv6": ipv6_value}) if (str(state_cfg_val) == 'active' and str(state) != 'active') or (str(state_cfg_val) == 'standby' and str(state) != 'standby'): - port_status_dict[port] = 'INPROGRESS' + port_status_dict[port_name] = 'INPROGRESS' else: - port_status_dict[port] = 'OK' + port_status_dict[port_name] = 'OK' # 'muxcable' command ("config muxcable mode active|auto") @@ -248,7 +250,7 @@ def lookup_statedb_and_update_configdb(per_npu_statedb, config_db, port, state_c def mode(db, state, port, json_output): """Config muxcable mode""" - port = platform_sfputil_helper.get_interface_alias(port, db) + port = platform_sfputil_helper.get_interface_name(port, db) port_table_keys = {} y_cable_asic_table_keys = {} @@ -292,7 +294,7 @@ def mode(db, state, port, json_output): if logical_key in y_cable_asic_table_keys: port_status_dict = {} lookup_statedb_and_update_configdb( - per_npu_statedb[asic_index], per_npu_configdb[asic_index], port, state, port_status_dict) + db, per_npu_statedb[asic_index], per_npu_configdb[asic_index], port, state, port_status_dict) if json_output: click.echo("{}".format(json.dumps(port_status_dict, indent=4))) @@ -318,7 +320,7 @@ def mode(db, state, port, json_output): for key in port_table_keys[asic_id]: logical_port = key.split("|")[1] lookup_statedb_and_update_configdb( - per_npu_statedb[asic_id], per_npu_configdb[asic_id], logical_port, state, port_status_dict) + db, per_npu_statedb[asic_id], per_npu_configdb[asic_id], logical_port, state, port_status_dict) if json_output: click.echo("{}".format(json.dumps(port_status_dict, indent=4))) @@ -419,7 +421,7 @@ def hwmode(): def state(db, state, port): """Configure the muxcable mux state {active/standby}""" - port = platform_sfputil_helper.get_interface_alias(port, db) + port = platform_sfputil_helper.get_interface_name(port, db) delete_all_keys_in_db_table("APPL_DB", "XCVRD_CONFIG_HWMODE_DIR_CMD") delete_all_keys_in_db_table("STATE_DB", "XCVRD_CONFIG_HWMODE_DIR_RSP") @@ -437,6 +439,8 @@ def state(db, state, port): delete_all_keys_in_db_table("APPL_DB", "XCVRD_CONFIG_HWMODE_DIR_CMD") delete_all_keys_in_db_table("STATE_DB", "XCVRD_CONFIG_HWMODE_DIR_RSP") + port = platform_sfputil_helper.get_interface_alias(port, db) + if rc == 0: click.echo("Success in toggling port {} to {}".format(port, state)) else: @@ -484,6 +488,8 @@ def state(db, state, port): delete_all_keys_in_db_table("APPL_DB", "XCVRD_CONFIG_HWMODE_DIR_CMD") delete_all_keys_in_db_table("STATE_DB", "XCVRD_CONFIG_HWMODE_DIR_RSP") + port = platform_sfputil_helper.get_interface_alias(port, db) + if rc == 0: click.echo("Success in toggling port {} to {}".format(port, state)) else: @@ -500,7 +506,7 @@ def state(db, state, port): def setswitchmode(db, state, port): """Configure the muxcable mux switching mode {auto/manual}""" - port = platform_sfputil_helper.get_interface_alias(port, db) + port = platform_sfputil_helper.get_interface_name(port, db) delete_all_keys_in_db_table("APPL_DB", "XCVRD_CONFIG_HWMODE_SWMODE_CMD") @@ -520,6 +526,8 @@ def setswitchmode(db, state, port): delete_all_keys_in_db_table("APPL_DB", "XCVRD_CONFIG_HWMODE_SWMODE_CMD") delete_all_keys_in_db_table("STATE_DB", "XCVRD_CONFIG_HWMODE_SWMODE_RSP") + port = platform_sfputil_helper.get_interface_alias(port, db) + if rc == 0: click.echo("Success in switch muxcable mode port {} to {}".format(port, state)) else: @@ -566,6 +574,8 @@ def setswitchmode(db, state, port): delete_all_keys_in_db_table("APPL_DB", "XCVRD_CONFIG_HWMODE_SWMODE_CMD") delete_all_keys_in_db_table("STATE_DB", "XCVRD_CONFIG_HWMODE_SWMODE_RSP") + port = platform_sfputil_helper.get_interface_alias(port, db) + if rc == 0: click.echo("Success in toggling port {} to {}".format(port, state)) else: @@ -588,7 +598,7 @@ def firmware(): def download(db, fwfile, port): """Config muxcable firmware download""" - port = platform_sfputil_helper.get_interface_alias(port, db) + port = platform_sfputil_helper.get_interface_name(port, db) delete_all_keys_in_db_table("STATE_DB", "XCVRD_DOWN_FW_RSP") delete_all_keys_in_db_table("APPL_DB", "XCVRD_DOWN_FW_CMD") @@ -605,6 +615,8 @@ def download(db, fwfile, port): delete_all_keys_in_db_table("STATE_DB", "XCVRD_DOWN_FW_RSP") delete_all_keys_in_db_table("APPL_DB", "XCVRD_DOWN_FW_CMD") + port = platform_sfputil_helper.get_interface_alias(port, db) + if rc == 0: click.echo("Success in downloading firmware port {} {}".format(port, fwfile)) else: @@ -652,6 +664,8 @@ def download(db, fwfile, port): delete_all_keys_in_db_table("STATE_DB", "XCVRD_DOWN_FW_RSP") delete_all_keys_in_db_table("APPL_DB", "XCVRD_DOWN_FW_CMD") + port = platform_sfputil_helper.get_interface_alias(port, db) + if rc == 0: click.echo("Success in downloading firmware port {} {}".format(port, fwfile)) else: @@ -668,7 +682,7 @@ def download(db, fwfile, port): def activate(db, port, fwfile): """Config muxcable firmware activate""" - port = platform_sfputil_helper.get_interface_alias(port, db) + port = platform_sfputil_helper.get_interface_name(port, db) delete_all_keys_in_db_table("STATE_DB", "XCVRD_ACTI_FW_RSP") delete_all_keys_in_db_table("APPL_DB", "XCVRD_ACTI_FW_CMD") @@ -685,6 +699,8 @@ def activate(db, port, fwfile): delete_all_keys_in_db_table("STATE_DB", "XCVRD_ACTI_FW_RSP") delete_all_keys_in_db_table("APPL_DB", "XCVRD_ACTI_FW_CMD") + port = platform_sfputil_helper.get_interface_alias(port, db) + if rc == 0: click.echo("Success in activate firmware port {} fwfile {}".format(port, fwfile)) else: @@ -731,6 +747,8 @@ def activate(db, port, fwfile): rc = res_dict[0] + port = platform_sfputil_helper.get_interface_alias(port, db) + if rc == 0: click.echo("Success in activate firmware port {} fwfile {}".format(port, fwfile)) else: @@ -747,7 +765,7 @@ def activate(db, port, fwfile): def rollback(db, port, fwfile): """Config muxcable firmware rollback""" - port = platform_sfputil_helper.get_interface_alias(port, db) + port = platform_sfputil_helper.get_interface_name(port, db) delete_all_keys_in_db_table("STATE_DB", "XCVRD_ROLL_FW_RSP") delete_all_keys_in_db_table("APPL_DB", "XCVRD_ROLL_FW_CMD") @@ -763,6 +781,9 @@ def rollback(db, port, fwfile): delete_all_keys_in_db_table("APPL_DB", "XCVRD_ROLL_FW_CMD") rc = res_dict[0] + + port = platform_sfputil_helper.get_interface_alias(port, db) + if rc == 0: click.echo("Success in rollback firmware port {} fwfile {}".format(port, fwfile)) else: @@ -809,6 +830,8 @@ def rollback(db, port, fwfile): rc = res_dict[0] + port = platform_sfputil_helper.get_interface_alias(port, db) + if rc == 0: click.echo("Success in rollback firmware port {} fwfile {}".format(port, fwfile)) else: diff --git a/show/muxcable.py b/show/muxcable.py index ec18fe5937..6d4b1bab76 100644 --- a/show/muxcable.py +++ b/show/muxcable.py @@ -275,32 +275,35 @@ def get_switch_name(config_db): sys.exit(STATUS_FAIL) -def create_json_dump_per_port_status(port_status_dict, muxcable_info_dict, muxcable_health_dict, asic_index, port): +def create_json_dump_per_port_status(db, port_status_dict, muxcable_info_dict, muxcable_health_dict, asic_index, port): status_value = get_value_for_key_in_dict(muxcable_info_dict[asic_index], port, "state", "MUX_CABLE_TABLE") - port_status_dict["MUX_CABLE"][port] = {} - port_status_dict["MUX_CABLE"][port]["STATUS"] = status_value + port_name = platform_sfputil_helper.get_interface_alias(port, db) + port_status_dict["MUX_CABLE"][port_name] = {} + port_status_dict["MUX_CABLE"][port_name]["STATUS"] = status_value health_value = get_value_for_key_in_dict(muxcable_health_dict[asic_index], port, "state", "MUX_LINKMGR_TABLE") - port_status_dict["MUX_CABLE"][port]["HEALTH"] = health_value + port_status_dict["MUX_CABLE"][port_name]["HEALTH"] = health_value -def create_table_dump_per_port_status(print_data, muxcable_info_dict, muxcable_health_dict, asic_index, port): +def create_table_dump_per_port_status(db, print_data, muxcable_info_dict, muxcable_health_dict, asic_index, port): print_port_data = [] status_value = get_value_for_key_in_dict(muxcable_info_dict[asic_index], port, "state", "MUX_CABLE_TABLE") #status_value = get_value_for_key_in_tbl(y_cable_asic_table, port, "status") health_value = get_value_for_key_in_dict(muxcable_health_dict[asic_index], port, "state", "MUX_LINKMGR_TABLE") - print_port_data.append(port) + port_name = platform_sfputil_helper.get_interface_alias(port, db) + print_port_data.append(port_name) print_port_data.append(status_value) print_port_data.append(health_value) print_data.append(print_port_data) -def create_table_dump_per_port_config(print_data, per_npu_configdb, asic_id, port): +def create_table_dump_per_port_config(db ,print_data, per_npu_configdb, asic_id, port): port_list = [] - port_list.append(port) + port_name = platform_sfputil_helper.get_interface_alias(port, db) + port_list.append(port_name) state_value = get_value_for_key_in_config_tbl(per_npu_configdb[asic_id], port, "state", "MUX_CABLE") port_list.append(state_value) ipv4_value = get_value_for_key_in_config_tbl(per_npu_configdb[asic_id], port, "server_ipv4", "MUX_CABLE") @@ -310,15 +313,16 @@ def create_table_dump_per_port_config(print_data, per_npu_configdb, asic_id, por print_data.append(port_list) -def create_json_dump_per_port_config(port_status_dict, per_npu_configdb, asic_id, port): +def create_json_dump_per_port_config(db, port_status_dict, per_npu_configdb, asic_id, port): state_value = get_value_for_key_in_config_tbl(per_npu_configdb[asic_id], port, "state", "MUX_CABLE") - port_status_dict["MUX_CABLE"]["PORTS"][port] = {"STATE": state_value} - port_status_dict["MUX_CABLE"]["PORTS"][port]["SERVER"] = {} + port_name = platform_sfputil_helper.get_interface_alias(port, db) + port_status_dict["MUX_CABLE"]["PORTS"][port_name] = {"STATE": state_value} + port_status_dict["MUX_CABLE"]["PORTS"][port_name]["SERVER"] = {} ipv4_value = get_value_for_key_in_config_tbl(per_npu_configdb[asic_id], port, "server_ipv4", "MUX_CABLE") - port_status_dict["MUX_CABLE"]["PORTS"][port]["SERVER"]["IPv4"] = ipv4_value + port_status_dict["MUX_CABLE"]["PORTS"][port_name]["SERVER"]["IPv4"] = ipv4_value ipv6_value = get_value_for_key_in_config_tbl(per_npu_configdb[asic_id], port, "server_ipv6", "MUX_CABLE") - port_status_dict["MUX_CABLE"]["PORTS"][port]["SERVER"]["IPv6"] = ipv6_value + port_status_dict["MUX_CABLE"]["PORTS"][port_name]["SERVER"]["IPv6"] = ipv6_value @muxcable.command() @@ -328,7 +332,7 @@ def create_json_dump_per_port_config(port_status_dict, per_npu_configdb, asic_id def status(db, port, json_output): """Show muxcable status information""" - port = platform_sfputil_helper.get_interface_alias(port, db) + port = platform_sfputil_helper.get_interface_name(port, db) port_table_keys = {} port_health_table_keys = {} @@ -359,7 +363,8 @@ def status(db, port, json_output): import sonic_platform_base.sonic_sfp.sfputilhelper asic_index = sonic_platform_base.sonic_sfp.sfputilhelper.SfpUtilHelper().get_asic_id_for_logical_port(port) if asic_index is None: - click.echo("Got invalid asic index for port {}, cant retreive mux status".format(port)) + port_name = platform_sfputil_helper.get_interface_alias(port, db) + click.echo("Got invalid asic index for port {}, cant retreive mux status".format(port_name)) sys.exit(STATUS_FAIL) muxcable_info_dict[asic_index] = per_npu_statedb[asic_index].get_all( @@ -375,7 +380,7 @@ def status(db, port, json_output): port_status_dict = {} port_status_dict["MUX_CABLE"] = {} - create_json_dump_per_port_status(port_status_dict, muxcable_info_dict, + create_json_dump_per_port_status(db, port_status_dict, muxcable_info_dict, muxcable_health_dict, asic_index, port) click.echo("{}".format(json.dumps(port_status_dict, indent=4))) @@ -383,7 +388,7 @@ def status(db, port, json_output): else: print_data = [] - create_table_dump_per_port_status(print_data, muxcable_info_dict, + create_table_dump_per_port_status(db, print_data, muxcable_info_dict, muxcable_health_dict, asic_index, port) headers = ['PORT', 'STATUS', 'HEALTH'] @@ -391,7 +396,8 @@ def status(db, port, json_output): click.echo(tabulate(print_data, headers=headers)) sys.exit(STATUS_SUCCESSFUL) else: - click.echo("this is not a valid port present on mux_cable".format(port)) + port_name = platform_sfputil_helper.get_interface_alias(port, db) + click.echo("this is not a valid port present on mux_cable".format(port_name)) sys.exit(STATUS_FAIL) else: click.echo("there is not a valid asic table for this asic_index".format(asic_index)) @@ -410,7 +416,7 @@ def status(db, port, json_output): per_npu_statedb[asic_id].STATE_DB, 'MUX_CABLE_TABLE|{}'.format(port)) muxcable_health_dict[asic_id] = per_npu_statedb[asic_id].get_all( per_npu_statedb[asic_id].STATE_DB, 'MUX_LINKMGR_TABLE|{}'.format(port)) - create_json_dump_per_port_status(port_status_dict, muxcable_info_dict, + create_json_dump_per_port_status(db, port_status_dict, muxcable_info_dict, muxcable_health_dict, asic_id, port) click.echo("{}".format(json.dumps(port_status_dict, indent=4))) @@ -425,7 +431,7 @@ def status(db, port, json_output): muxcable_info_dict[asic_id] = per_npu_statedb[asic_id].get_all( per_npu_statedb[asic_id].STATE_DB, 'MUX_CABLE_TABLE|{}'.format(port)) - create_table_dump_per_port_status(print_data, muxcable_info_dict, + create_table_dump_per_port_status(db, print_data, muxcable_info_dict, muxcable_health_dict, asic_id, port) headers = ['PORT', 'STATUS', 'HEALTH'] @@ -441,7 +447,7 @@ def status(db, port, json_output): def config(db, port, json_output): """Show muxcable config information""" - port = platform_sfputil_helper.get_interface_alias(port, db) + port = platform_sfputil_helper.get_interface_name(port, db) port_mux_tbl_keys = {} asic_start_idx = None @@ -476,7 +482,8 @@ def config(db, port, json_output): import sonic_platform_base.sonic_sfp.sfputilhelper asic_index = sonic_platform_base.sonic_sfp.sfputilhelper.SfpUtilHelper().get_asic_id_for_logical_port(port) if asic_index is None: - click.echo("Got invalid asic index for port {}, cant retreive mux status".format(port)) + port_name = platform_sfputil_helper.get_interface_alias(port, db) + click.echo("Got invalid asic index for port {}, cant retreive mux status".format(port_name)) sys.exit(CONFIG_FAIL) port_status_dict = {} @@ -496,7 +503,7 @@ def config(db, port, json_output): port_status_dict["MUX_CABLE"] = {} port_status_dict["MUX_CABLE"]["PORTS"] = {} - create_json_dump_per_port_config(port_status_dict, per_npu_configdb, asic_id, port) + create_json_dump_per_port_config(db, port_status_dict, per_npu_configdb, asic_id, port) click.echo("{}".format(json.dumps(port_status_dict, indent=4))) sys.exit(CONFIG_SUCCESSFUL) @@ -504,7 +511,7 @@ def config(db, port, json_output): print_data = [] print_peer_tor = [] - create_table_dump_per_port_config(print_data, per_npu_configdb, asic_id, port) + create_table_dump_per_port_config(db, print_data, per_npu_configdb, asic_id, port) headers = ['SWITCH_NAME', 'PEER_TOR'] peer_tor_data = [] @@ -518,7 +525,8 @@ def config(db, port, json_output): sys.exit(CONFIG_SUCCESSFUL) else: - click.echo("this is not a valid port present on mux_cable".format(port)) + port_name = platform_sfputil_helper.get_interface_alias(port, db) + click.echo("this is not a valid port present on mux_cable".format(port_name)) sys.exit(CONFIG_FAIL) else: click.echo("there is not a valid asic table for this asic_index".format(asic_index)) @@ -541,7 +549,7 @@ def config(db, port, json_output): for namespace in namespaces: asic_id = multi_asic.get_asic_index_from_namespace(namespace) for port in natsorted(port_mux_tbl_keys[asic_id]): - create_json_dump_per_port_config(port_status_dict, per_npu_configdb, asic_id, port) + create_json_dump_per_port_config(db, port_status_dict, per_npu_configdb, asic_id, port) click.echo("{}".format(json.dumps(port_status_dict, indent=4))) else: @@ -550,7 +558,7 @@ def config(db, port, json_output): for namespace in namespaces: asic_id = multi_asic.get_asic_index_from_namespace(namespace) for port in natsorted(port_mux_tbl_keys[asic_id]): - create_table_dump_per_port_config(print_data, per_npu_configdb, asic_id, port) + create_table_dump_per_port_config(db, print_data, per_npu_configdb, asic_id, port) headers = ['SWITCH_NAME', 'PEER_TOR'] peer_tor_data = [] @@ -612,7 +620,7 @@ def eyeinfo(port, target): def cableinfo(db, port): """Show muxcable cable information""" - port = platform_sfputil_helper.get_interface_alias(port, db) + port = platform_sfputil_helper.get_interface_name(port, db) if platform_sfputil is not None: physical_port_list = platform_sfputil_helper.logical_port_name_to_physical_port_list(port) @@ -652,7 +660,7 @@ def hwmode(): def muxdirection(db, port): """Shows the current direction of the muxcable {active/standy}""" - port = platform_sfputil_helper.get_interface_alias(port, db) + port = platform_sfputil_helper.get_interface_name(port, db) delete_all_keys_in_db_table("APPL_DB", "XCVRD_SHOW_HWMODE_DIR_CMD") delete_all_keys_in_db_table("STATE_DB", "XCVRD_SHOW_HWMODE_DIR_RSP") @@ -668,6 +676,7 @@ def muxdirection(db, port): body = [] temp_list = [] headers = ['Port', 'Direction'] + port = platform_sfputil_helper.get_interface_alias(port, db) temp_list.append(port) temp_list.append(res_dict[1]) body.append(temp_list) @@ -716,6 +725,7 @@ def muxdirection(db, port): res_dict[1] = "unknown" res_dict = update_and_get_response_for_xcvr_cmd( "state", "state", "True", "XCVRD_SHOW_HWMODE_DIR_CMD", "XCVRD_SHOW_HWMODE_DIR_RSP", port, 1, "probe") + port = platform_sfputil_helper.get_interface_alias(port, db) temp_list.append(port) temp_list.append(res_dict[1]) body.append(temp_list) @@ -739,7 +749,7 @@ def muxdirection(db, port): def switchmode(db, port): """Shows the current switching mode of the muxcable {auto/manual}""" - port = platform_sfputil_helper.get_interface_alias(port, db) + port = platform_sfputil_helper.get_interface_name(port, db) delete_all_keys_in_db_table("APPL_DB", "XCVRD_SHOW_HWMODE_SWMODE_CMD") delete_all_keys_in_db_table("STATE_DB", "XCVRD_SHOW_HWMODE_SWMODE_RSP") @@ -754,6 +764,7 @@ def switchmode(db, port): body = [] temp_list = [] headers = ['Port', 'Switching'] + port = platform_sfputil_helper.get_interface_alias(port, db) temp_list.append(port) temp_list.append(res_dict[1]) body.append(temp_list) @@ -802,6 +813,7 @@ def switchmode(db, port): res_dict[1] = "unknown" res_dict = update_and_get_response_for_xcvr_cmd( "state", "state", "True", "XCVRD_SHOW_HWMODE_SWMODE_CMD", "XCVRD_SHOW_HWMODE_SWMODE_RSP", port, 1, "probe") + port = platform_sfputil_helper.get_interface_alias(port, db) temp_list.append(port) temp_list.append(res_dict[1]) rc = res_dict[1] @@ -960,7 +972,7 @@ def firmware(): def version(db, port, active): """Show muxcable firmware version""" - port = platform_sfputil_helper.get_interface_alias(port, db) + port = platform_sfputil_helper.get_interface_name(port, db) delete_all_keys_in_db_table("APPL_DB", "XCVRD_DOWN_FW_CMD") delete_all_keys_in_db_table("STATE_DB", "XCVRD_DOWN_FW_RSP") delete_all_keys_in_db_table("APPL_DB", "XCVRD_SHOW_FW_CMD") @@ -1001,7 +1013,8 @@ def version(db, port, active): else: click.echo("{}".format(json.dumps(mux_info_dict, indent=4))) else: - click.echo("Did not get a valid Port for mux firmware version".format(port)) + port_name = platform_sfputil_helper.get_interface_name(port, db) + click.echo("Did not get a valid Port for mux firmware version".format(port_name)) sys.exit(CONFIG_FAIL) @@ -1012,7 +1025,7 @@ def version(db, port, active): def metrics(db, port, json_output): """Show muxcable metrics """ - port = platform_sfputil_helper.get_interface_alias(port, db) + port = platform_sfputil_helper.get_interface_name(port, db) metrics_table_keys = {} per_npu_statedb = {} @@ -1035,7 +1048,8 @@ def metrics(db, port, json_output): logical_port_list = platform_sfputil_helper.get_logical_list() if port not in logical_port_list: - click.echo(("ERR: Not a valid logical port for muxcable firmware {}".format(port))) + port_name = platform_sfputil_helper.get_interface_alias(port, db) + click.echo(("ERR: Not a valid logical port for muxcable firmware {}".format(port_name))) sys.exit(CONFIG_FAIL) asic_index = None @@ -1047,7 +1061,8 @@ def metrics(db, port, json_output): import sonic_platform_base.sonic_sfp.sfputilhelper asic_index = sonic_platform_base.sonic_sfp.sfputilhelper.SfpUtilHelper().get_asic_id_for_logical_port(port) if asic_index is None: - click.echo("Got invalid asic index for port {}, cant retreive mux status".format(port)) + port_name = platform_sfputil_helper.get_interface_alias(port, db) + click.echo("Got invalid asic index for port {}, cant retreive mux status".format(port_name)) metrics_dict[asic_index] = per_npu_statedb[asic_index].get_all( per_npu_statedb[asic_index].STATE_DB, 'MUX_METRICS_TABLE|{}'.format(port)) @@ -1059,6 +1074,7 @@ def metrics(db, port, json_output): print_data = [] for key, val in ordered_dict.items(): print_port_data = [] + port = platform_sfputil_helper.get_interface_alias(port, db) print_port_data.append(port) print_port_data.append(key) print_port_data.append(val) diff --git a/tests/muxcable_test.py b/tests/muxcable_test.py index 43ed0013e6..498b4761ef 100644 --- a/tests/muxcable_test.py +++ b/tests/muxcable_test.py @@ -35,6 +35,17 @@ Ethernet32 active healthy """ +tabular_data_status_output_expected_alias = """\ +PORT STATUS HEALTH +------ -------- --------- +etp1 active healthy +etp2 standby healthy +etp3 standby unhealthy +etp4 unknown unhealthy +etp5 standby healthy +etp9 active healthy +""" + json_data_status_output_expected = """\ { "MUX_CABLE": { @@ -66,6 +77,37 @@ } """ +json_data_status_output_expected_alias = """\ +{ + "MUX_CABLE": { + "etp1": { + "STATUS": "active", + "HEALTH": "healthy" + }, + "etp2": { + "STATUS": "standby", + "HEALTH": "healthy" + }, + "etp3": { + "STATUS": "standby", + "HEALTH": "unhealthy" + }, + "etp4": { + "STATUS": "unknown", + "HEALTH": "unhealthy" + }, + "etp5": { + "STATUS": "standby", + "HEALTH": "healthy" + }, + "etp9": { + "STATUS": "active", + "HEALTH": "healthy" + } + } +} +""" + tabular_data_config_output_expected = """\ SWITCH_NAME PEER_TOR @@ -82,6 +124,21 @@ Ethernet32 auto 10.1.1.1 fc00::75 """ +tabular_data_config_output_expected_alias = """\ +SWITCH_NAME PEER_TOR +------------- ---------- +sonic-switch 10.2.2.2 +port state ipv4 ipv6 +------ ------- -------- -------- +etp1 active 10.2.1.1 e800::46 +etp2 auto 10.3.1.1 e801::46 +etp3 active 10.4.1.1 e802::46 +etp4 active 10.4.1.1 e802::46 +etp5 standby 10.1.1.1 fc00::75 +etp8 manual 10.1.1.1 fc00::75 +etp9 auto 10.1.1.1 fc00::75 +""" + json_data_status_config_output_expected = """\ { "MUX_CABLE": { @@ -141,6 +198,65 @@ } """ +json_data_status_config_output_expected_alias = """\ +{ + "MUX_CABLE": { + "PEER_TOR": "10.2.2.2", + "PORTS": { + "etp1": { + "STATE": "active", + "SERVER": { + "IPv4": "10.2.1.1", + "IPv6": "e800::46" + } + }, + "etp2": { + "STATE": "auto", + "SERVER": { + "IPv4": "10.3.1.1", + "IPv6": "e801::46" + } + }, + "etp3": { + "STATE": "active", + "SERVER": { + "IPv4": "10.4.1.1", + "IPv6": "e802::46" + } + }, + "etp4": { + "STATE": "active", + "SERVER": { + "IPv4": "10.4.1.1", + "IPv6": "e802::46" + } + }, + "etp5": { + "STATE": "standby", + "SERVER": { + "IPv4": "10.1.1.1", + "IPv6": "fc00::75" + } + }, + "etp8": { + "STATE": "manual", + "SERVER": { + "IPv4": "10.1.1.1", + "IPv6": "fc00::75" + } + }, + "etp9": { + "STATE": "auto", + "SERVER": { + "IPv4": "10.1.1.1", + "IPv6": "fc00::75" + } + } + } + } +} +""" + json_port_data_status_config_output_expected = """\ { "MUX_CABLE": { @@ -158,6 +274,23 @@ } """ +json_port_data_status_config_output_expected_alias = """\ +{ + "MUX_CABLE": { + "PEER_TOR": "10.2.2.2", + "PORTS": { + "etp9": { + "STATE": "auto", + "SERVER": { + "IPv4": "10.1.1.1", + "IPv6": "fc00::75" + } + } + } + } +} +""" + json_data_config_output_auto_expected = """\ { "Ethernet32": "OK", @@ -169,6 +302,17 @@ } """ +json_data_config_output_auto_expected_alias = """\ +{ + "etp9": "OK", + "etp1": "OK", + "etp2": "OK", + "etp3": "OK", + "etp5": "OK", + "etp4": "OK" +} +""" + json_data_config_output_active_expected = """\ { "Ethernet32": "OK", @@ -180,6 +324,17 @@ } """ +json_data_config_output_active_expected_alias = """\ +{ + "etp9": "OK", + "etp1": "OK", + "etp2": "INPROGRESS", + "etp3": "OK", + "etp5": "INPROGRESS", + "etp4": "OK" +} +""" + expected_muxcable_cableinfo_output = """\ Vendor Model -------- --------------- @@ -192,12 +347,24 @@ Ethernet12 active """ +show_muxcable_hwmode_muxdirection_active_expected_output_alias = """\ +Port Direction +------ ----------- +etp4 active +""" + show_muxcable_hwmode_muxdirection_standby_expected_output = """\ Port Direction ---------- ----------- Ethernet12 standby """ +show_muxcable_hwmode_muxdirection_standby_expected_output_alias = """\ +Port Direction +------ ----------- +etp4 standby +""" + show_muxcable_firmware_version_expected_output = """\ { "version_self_active": "0.6MS", @@ -229,6 +396,15 @@ Ethernet0 linkmgrd_switch_standby_end 2021-May-13 10:01:15.696728 """ +show_muxcable_metrics_expected_output_alias = """\ +PORT EVENT TIME +------ ---------------------------- --------------------------- +etp1 linkmgrd_switch_active_start 2021-May-13 10:00:21.420898 +etp1 xcvrd_switch_standby_start 2021-May-13 10:01:15.690835 +etp1 xcvrd_switch_standby_end 2021-May-13 10:01:15.696051 +etp1 linkmgrd_switch_standby_end 2021-May-13 10:01:15.696728 +""" + show_muxcable_metrics_expected_output_json = """\ { "linkmgrd_switch_active_start": "2021-May-13 10:00:21.420898", @@ -253,6 +429,16 @@ def test_muxcable_status(self): assert result.exit_code == 0 assert result.output == tabular_data_status_output_expected + def test_muxcable_status_alias(self): + runner = CliRunner() + db = Db() + os.environ['SONIC_CLI_IFACE_MODE'] = "alias" + result = runner.invoke(show.cli.commands["muxcable"].commands["status"], obj=db) + os.environ['SONIC_CLI_IFACE_MODE'] = "default" + + assert result.exit_code == 0 + assert result.output == tabular_data_status_output_expected_alias + def test_muxcable_status_json(self): runner = CliRunner() db = Db() @@ -262,6 +448,17 @@ def test_muxcable_status_json(self): assert result.exit_code == 0 assert result.output == json_data_status_output_expected + def test_muxcable_status_json_alias(self): + runner = CliRunner() + db = Db() + + os.environ['SONIC_CLI_IFACE_MODE'] = "alias" + result = runner.invoke(show.cli.commands["muxcable"].commands["status"], ["--json"], obj=db) + os.environ['SONIC_CLI_IFACE_MODE'] = "default" + + assert result.exit_code == 0 + assert result.output == json_data_status_output_expected_alias + def test_muxcable_status_config(self): runner = CliRunner() db = Db() @@ -271,6 +468,17 @@ def test_muxcable_status_config(self): assert result.exit_code == 0 assert result.output == tabular_data_config_output_expected + def test_muxcable_status_config_alias(self): + runner = CliRunner() + db = Db() + + os.environ['SONIC_CLI_IFACE_MODE'] = "alias" + result = runner.invoke(show.cli.commands["muxcable"].commands["config"], obj=db) + os.environ['SONIC_CLI_IFACE_MODE'] = "default" + + assert result.exit_code == 0 + assert result.output == tabular_data_config_output_expected_alias + def test_muxcable_status_config_json(self): runner = CliRunner() db = Db() @@ -280,6 +488,18 @@ def test_muxcable_status_config_json(self): assert result.exit_code == 0 assert result.output == json_data_status_config_output_expected + def test_muxcable_status_config_json_alias(self): + runner = CliRunner() + db = Db() + + os.environ['SONIC_CLI_IFACE_MODE'] = "alias" + result = runner.invoke(show.cli.commands["muxcable"].commands["config"], ["--json"], obj=db) + os.environ['SONIC_CLI_IFACE_MODE'] = "default" + + assert result.exit_code == 0 + assert result.output == json_data_status_config_output_expected_alias + + def test_muxcable_config_json_with_incorrect_port(self): runner = CliRunner() db = Db() @@ -297,6 +517,18 @@ def test_muxcable_status_json_with_correct_port(self): assert result.exit_code == 0 + def test_muxcable_status_json_with_correct_port_alias(self): + runner = CliRunner() + db = Db() + os.environ['SONIC_CLI_IFACE_MODE'] = "alias" + with mock.patch('sonic_platform_base.sonic_sfp.sfputilhelper') as patched_util: + patched_util.SfpUtilHelper.return_value.get_asic_id_for_logical_port.return_value = 0 + result = runner.invoke(show.cli.commands["muxcable"].commands["status"], ["Ethernet0", "--json"], obj=db) + os.environ['SONIC_CLI_IFACE_MODE'] = "default" + + assert result.exit_code == 0 + + def test_muxcable_status_json_port_incorrect_index(self): runner = CliRunner() db = Db() @@ -415,6 +647,17 @@ def test_config_muxcable_mode_auto_json(self): assert result.exit_code == 0 assert result.output == json_data_config_output_auto_expected + def test_config_muxcable_mode_auto_json_alias(self): + runner = CliRunner() + db = Db() + + os.environ['SONIC_CLI_IFACE_MODE'] = "alias" + result = runner.invoke(config.config.commands["muxcable"].commands["mode"], ["auto", "all", "--json"], obj=db) + os.environ['SONIC_CLI_IFACE_MODE'] = "default" + + assert result.exit_code == 0 + assert result.output == json_data_config_output_auto_expected_alias + def test_config_muxcable_mode_active_json(self): runner = CliRunner() db = Db() @@ -424,6 +667,17 @@ def test_config_muxcable_mode_active_json(self): assert result.exit_code == 0 assert result.output == json_data_config_output_active_expected + def test_config_muxcable_mode_active_json_alias(self): + runner = CliRunner() + db = Db() + + os.environ['SONIC_CLI_IFACE_MODE'] = "alias" + result = runner.invoke(config.config.commands["muxcable"].commands["mode"], ["active", "all", "--json"], obj=db) + os.environ['SONIC_CLI_IFACE_MODE'] = "default" + + assert result.exit_code == 0 + assert result.output == json_data_config_output_active_expected_alias + def test_config_muxcable_json_port_auto_Ethernet0(self): runner = CliRunner() db = Db() @@ -661,6 +915,28 @@ def test_show_muxcable_hwmode_muxdirection_port_active(self): assert result.exit_code == 0 assert result.output == show_muxcable_hwmode_muxdirection_active_expected_output + @mock.patch('show.muxcable.delete_all_keys_in_db_table', mock.MagicMock(return_value=0)) + @mock.patch('show.muxcable.update_and_get_response_for_xcvr_cmd', mock.MagicMock(return_value={0: 0, + 1: "active"})) + @mock.patch('utilities_common.platform_sfputil_helper.get_logical_list', mock.MagicMock(return_value=["Ethernet0", "Ethernet12"])) + @mock.patch('utilities_common.platform_sfputil_helper.get_asic_id_for_logical_port', mock.MagicMock(return_value=0)) + @mock.patch('show.muxcable.platform_sfputil', mock.MagicMock(return_value={0: ["Ethernet12", "Ethernet0"]})) + @mock.patch('utilities_common.platform_sfputil_helper.get_physical_to_logical', mock.MagicMock(return_value={0: ["Ethernet12", "Ethernet0"]})) + @mock.patch('utilities_common.platform_sfputil_helper.logical_port_name_to_physical_port_list', mock.MagicMock(return_value=[0])) + @mock.patch('sonic_y_cable.y_cable.check_read_side', mock.MagicMock(return_value=(1))) + @mock.patch('sonic_y_cable.y_cable.check_mux_direction', mock.MagicMock(return_value=(1))) + @mock.patch('re.match', mock.MagicMock(return_value=(True))) + def test_show_muxcable_hwmode_muxdirection_active_expected_output_alias(self): + runner = CliRunner() + db = Db() + os.environ['SONIC_CLI_IFACE_MODE'] = "alias" + result = runner.invoke(show.cli.commands["muxcable"].commands["hwmode"].commands["muxdirection"], + ["etp4"], obj=db) + os.environ['SONIC_CLI_IFACE_MODE'] = "default" + assert result.exit_code == 0 + assert result.output == show_muxcable_hwmode_muxdirection_active_expected_output_alias + + @mock.patch('show.muxcable.delete_all_keys_in_db_table', mock.MagicMock(return_value=0)) @mock.patch('show.muxcable.update_and_get_response_for_xcvr_cmd', mock.MagicMock(return_value={0: 0, 1: "standby"})) @@ -699,6 +975,28 @@ def test_show_muxcable_hwmode_muxdirection_port_standby(self): assert result.exit_code == 0 assert result.output == show_muxcable_hwmode_muxdirection_standby_expected_output + @mock.patch('show.muxcable.delete_all_keys_in_db_table', mock.MagicMock(return_value=0)) + @mock.patch('show.muxcable.update_and_get_response_for_xcvr_cmd', mock.MagicMock(return_value={0: 0, + 1: "standby"})) + @mock.patch('utilities_common.platform_sfputil_helper.get_logical_list', mock.MagicMock(return_value=["Ethernet0", "Ethernet12"])) + @mock.patch('utilities_common.platform_sfputil_helper.get_asic_id_for_logical_port', mock.MagicMock(return_value=0)) + @mock.patch('show.muxcable.platform_sfputil', mock.MagicMock(return_value={0: ["Ethernet12", "Ethernet0"]})) + @mock.patch('utilities_common.platform_sfputil_helper.get_physical_to_logical', mock.MagicMock(return_value={0: ["Ethernet12", "Ethernet0"]})) + @mock.patch('utilities_common.platform_sfputil_helper.logical_port_name_to_physical_port_list', mock.MagicMock(return_value=[0])) + @mock.patch('sonic_y_cable.y_cable.check_read_side', mock.MagicMock(return_value=(1))) + @mock.patch('sonic_y_cable.y_cable.check_mux_direction', mock.MagicMock(return_value=(2))) + @mock.patch('re.match', mock.MagicMock(return_value=(True))) + def test_show_muxcable_hwmode_muxdirection_port_standby_alias(self): + runner = CliRunner() + db = Db() + + os.environ['SONIC_CLI_IFACE_MODE'] = "alias" + result = runner.invoke(show.cli.commands["muxcable"].commands["hwmode"].commands["muxdirection"], + ["etp4"], obj=db) + os.environ['SONIC_CLI_IFACE_MODE'] = "default" + assert result.exit_code == 0 + assert result.output == show_muxcable_hwmode_muxdirection_standby_expected_output_alias + @mock.patch('show.muxcable.delete_all_keys_in_db_table', mock.MagicMock(return_value=0)) @mock.patch('show.muxcable.update_and_get_response_for_xcvr_cmd', mock.MagicMock(return_value={0: 0, 1: "sucess"})) @@ -937,7 +1235,23 @@ def test_show_muxcable_metrics_port(self): @mock.patch('utilities_common.platform_sfputil_helper.get_asic_id_for_logical_port', mock.MagicMock(return_value=0)) @mock.patch('show.muxcable.platform_sfputil', mock.MagicMock(return_value={0: ["Ethernet12", "Ethernet0"]})) @mock.patch('utilities_common.platform_sfputil_helper.logical_port_name_to_physical_port_list', mock.MagicMock(return_value=[0])) - def test_show_muxcable_metrics_port(self): + def test_show_muxcable_metrics_port_alias(self): + runner = CliRunner() + db = Db() + + os.environ['SONIC_CLI_IFACE_MODE'] = "alias" + result = runner.invoke(show.cli.commands["muxcable"].commands["metrics"], + ["etp1"], obj=db) + + os.environ['SONIC_CLI_IFACE_MODE'] = "default" + assert result.exit_code == 0 + assert result.output == show_muxcable_metrics_expected_output_alias + + @mock.patch('utilities_common.platform_sfputil_helper.get_logical_list', mock.MagicMock(return_value=["Ethernet0", "Ethernet12"])) + @mock.patch('utilities_common.platform_sfputil_helper.get_asic_id_for_logical_port', mock.MagicMock(return_value=0)) + @mock.patch('show.muxcable.platform_sfputil', mock.MagicMock(return_value={0: ["Ethernet12", "Ethernet0"]})) + @mock.patch('utilities_common.platform_sfputil_helper.logical_port_name_to_physical_port_list', mock.MagicMock(return_value=[0])) + def test_show_muxcable_metrics_port_json(self): runner = CliRunner() db = Db() diff --git a/utilities_common/platform_sfputil_helper.py b/utilities_common/platform_sfputil_helper.py index 37bd6f4d66..a7f4477660 100644 --- a/utilities_common/platform_sfputil_helper.py +++ b/utilities_common/platform_sfputil_helper.py @@ -68,15 +68,28 @@ def get_physical_to_logical(): return platform_sfputil.physical_to_logical -def get_interface_alias(port, db): +def get_interface_name(port, db): if port is not "all" and port is not None: alias = port iface_alias_converter = clicommon.InterfaceAliasConverter(db) - port = iface_alias_converter.alias_to_name(alias) - if port is None: - click.echo("cannot find port name for alias {}".format(alias)) - sys.exit(1) + if clicommon.get_interface_naming_mode() == "alias": + port = iface_alias_converter.alias_to_name(alias) + if port is None: + click.echo("cannot find port name for alias {}".format(alias)) + sys.exit(1) return port +def get_interface_alias(port, db): + + if port is not "all" and port is not None: + alias = port + iface_alias_converter = clicommon.InterfaceAliasConverter(db) + if clicommon.get_interface_naming_mode() == "alias": + port = iface_alias_converter.name_to_alias(alias) + if port is None: + click.echo("cannot find port name for alias {}".format(alias)) + sys.exit(1) + + return port From c950a55e5e299ca8af95b3f4f7ad1904b2e5046e Mon Sep 17 00:00:00 2001 From: bingwang-ms <66248323+bingwang-ms@users.noreply.github.com> Date: Wed, 13 Oct 2021 17:19:59 -0700 Subject: [PATCH 320/342] Validate input of ```config mirror_session add``` (#1825) * Validate input of add mirror session Signed-off-by: bingwang --- config/main.py | 44 +++++--- tests/config_mirror_session_test.py | 150 ++++++++++++++++++++++++++++ 2 files changed, 181 insertions(+), 13 deletions(-) create mode 100644 tests/config_mirror_session_test.py diff --git a/config/main.py b/config/main.py index 90531997ee..01b9cf9ee3 100644 --- a/config/main.py +++ b/config/main.py @@ -92,6 +92,11 @@ asic_type = None +DSCP_RANGE = click.IntRange(min=0, max=63) +TTL_RANGE = click.IntRange(min=0, max=255) +QUEUE_RANGE = click.IntRange(min=0, max=255) +GRE_TYPE_RANGE = click.IntRange(min=0, max=65535) + # # Helper functions # @@ -953,6 +958,19 @@ def cache_arp_entries(): open(restore_flag_file, 'w').close() return success + +def validate_ipv4_address(ctx, param, ip_addr): + """Helper function to validate ipv4 address + """ + try: + ip_n = ipaddress.ip_network(ip_addr, False) + if ip_n.version != 4: + raise click.UsageError("{} is not a valid IPv4 address".format(ip_addr)) + return ip_addr + except ValueError as e: + raise click.UsageError(str(e)) + + # This is our main entrypoint - the main 'config' command @click.group(cls=clicommon.AbbreviationGroup, context_settings=CONTEXT_SETTINGS) @click.pass_context @@ -1775,12 +1793,12 @@ def mirror_session(): @mirror_session.command('add') @click.argument('session_name', metavar='', required=True) -@click.argument('src_ip', metavar='', required=True) -@click.argument('dst_ip', metavar='', required=True) -@click.argument('dscp', metavar='', required=True) -@click.argument('ttl', metavar='', required=True) -@click.argument('gre_type', metavar='[gre_type]', required=False) -@click.argument('queue', metavar='[queue]', required=False) +@click.argument('src_ip', metavar='', callback=validate_ipv4_address, required=True) +@click.argument('dst_ip', metavar='', callback=validate_ipv4_address, required=True) +@click.argument('dscp', metavar='', type=DSCP_RANGE, required=True) +@click.argument('ttl', metavar='', type=TTL_RANGE, required=True) +@click.argument('gre_type', metavar='[gre_type]', type=GRE_TYPE_RANGE, required=False) +@click.argument('queue', metavar='[queue]', type=QUEUE_RANGE, required=False) @click.option('--policer') def add(session_name, src_ip, dst_ip, dscp, ttl, gre_type, queue, policer): """ Add ERSPAN mirror session.(Legacy support) """ @@ -1799,12 +1817,12 @@ def erspan(ctx): @erspan.command('add') @click.argument('session_name', metavar='', required=True) -@click.argument('src_ip', metavar='', required=True) -@click.argument('dst_ip', metavar='', required=True) -@click.argument('dscp', metavar='', required=True) -@click.argument('ttl', metavar='', required=True) -@click.argument('gre_type', metavar='[gre_type]', required=False) -@click.argument('queue', metavar='[queue]', required=False) +@click.argument('src_ip', metavar='', callback=validate_ipv4_address, required=True) +@click.argument('dst_ip', metavar='', callback=validate_ipv4_address,required=True) +@click.argument('dscp', metavar='', type=DSCP_RANGE, required=True) +@click.argument('ttl', metavar='', type=TTL_RANGE, required=True) +@click.argument('gre_type', metavar='[gre_type]', type=GRE_TYPE_RANGE, required=False) +@click.argument('queue', metavar='[queue]', type=QUEUE_RANGE, required=False) @click.argument('src_port', metavar='[src_port]', required=False) @click.argument('direction', metavar='[direction]', required=False) @click.option('--policer') @@ -1877,7 +1895,7 @@ def span(ctx): @click.argument('dst_port', metavar='', required=True) @click.argument('src_port', metavar='[src_port]', required=False) @click.argument('direction', metavar='[direction]', required=False) -@click.argument('queue', metavar='[queue]', required=False) +@click.argument('queue', metavar='[queue]', type=QUEUE_RANGE, required=False) @click.option('--policer') def add(session_name, dst_port, src_port, direction, queue, policer): """ Add SPAN mirror session """ diff --git a/tests/config_mirror_session_test.py b/tests/config_mirror_session_test.py new file mode 100644 index 0000000000..883faea1ac --- /dev/null +++ b/tests/config_mirror_session_test.py @@ -0,0 +1,150 @@ +import pytest +import config.main as config +from unittest import mock +from click.testing import CliRunner + +ERR_MSG_IP_FAILURE = "does not appear to be an IPv4 or IPv6 network" +ERR_MSG_IP_VERSION_FAILURE = "not a valid IPv4 address" +ERR_MSG_VALUE_FAILURE = "Invalid value for" + +def test_mirror_session_add(): + runner = CliRunner() + + # Verify invalid src_ip + result = runner.invoke( + config.config.commands["mirror_session"].commands["add"], + ["test_session", "400.1.1.1", "2.2.2.2", "8", "63", "10", "100"]) + assert result.exit_code != 0 + assert ERR_MSG_IP_FAILURE in result.stdout + + # Verify invalid dst_ip + result = runner.invoke( + config.config.commands["mirror_session"].commands["add"], + ["test_session", "1.1.1.1", "256.2.2.2", "8", "63", "10", "100"]) + assert result.exit_code != 0 + assert ERR_MSG_IP_FAILURE in result.stdout + + # Verify invalid ip version + result = runner.invoke( + config.config.commands["mirror_session"].commands["add"], + ["test_session", "1::1", "2::2", "8", "63", "10", "100"]) + assert result.exit_code != 0 + assert ERR_MSG_IP_VERSION_FAILURE in result.stdout + + # Verify invalid dscp + result = runner.invoke( + config.config.commands["mirror_session"].commands["add"], + ["test_session", "1.1.1.1", "2.2.2.2", "65536", "63", "10", "100"]) + assert result.exit_code != 0 + assert ERR_MSG_VALUE_FAILURE in result.stdout + + # Verify invalid ttl + result = runner.invoke( + config.config.commands["mirror_session"].commands["add"], + ["test_session", "1.1.1.1", "2.2.2.2", "6", "256", "10", "100"]) + assert result.exit_code != 0 + assert ERR_MSG_VALUE_FAILURE in result.stdout + + # Verify invalid gre + result = runner.invoke( + config.config.commands["mirror_session"].commands["add"], + ["test_session", "1.1.1.1", "2.2.2.2", "6", "63", "65536", "100"]) + assert result.exit_code != 0 + assert ERR_MSG_VALUE_FAILURE in result.stdout + + # Verify invalid queue + result = runner.invoke( + config.config.commands["mirror_session"].commands["add"], + ["test_session", "1.1.1.1", "2.2.2.2", "6", "63", "65", "65536"]) + assert result.exit_code != 0 + assert ERR_MSG_VALUE_FAILURE in result.stdout + + # Positive case + with mock.patch('config.main.add_erspan') as mocked: + result = runner.invoke( + config.config.commands["mirror_session"].commands["add"], + ["test_session", "100.1.1.1", "2.2.2.2", "8", "63", "10", "100"]) + + mocked.assert_called_with("test_session", "100.1.1.1", "2.2.2.2", 8, 63, 10, 100, None) + + + +def test_mirror_session_erspan_add(): + runner = CliRunner() + + # Verify invalid src_ip + result = runner.invoke( + config.config.commands["mirror_session"].commands["erspan"].commands["add"], + ["test_session", "400.1.1.1", "2.2.2.2", "8", "63", "10", "100"]) + assert result.exit_code != 0 + assert ERR_MSG_IP_FAILURE in result.stdout + + # Verify invalid dst_ip + result = runner.invoke( + config.config.commands["mirror_session"].commands["erspan"].commands["add"], + ["test_session", "1.1.1.1", "256.2.2.2", "8", "63", "10", "100"]) + assert result.exit_code != 0 + assert ERR_MSG_IP_FAILURE in result.stdout + + # Verify invalid ip version + result = runner.invoke( + config.config.commands["mirror_session"].commands["erspan"].commands["add"], + ["test_session", "1::1", "2::2", "8", "63", "10", "100"]) + assert result.exit_code != 0 + assert ERR_MSG_IP_VERSION_FAILURE in result.stdout + + # Verify invalid dscp + result = runner.invoke( + config.config.commands["mirror_session"].commands["erspan"].commands["add"], + ["test_session", "1.1.1.1", "2.2.2.2", "65536", "63", "10", "100"]) + assert result.exit_code != 0 + assert ERR_MSG_VALUE_FAILURE in result.stdout + + # Verify invalid ttl + result = runner.invoke( + config.config.commands["mirror_session"].commands["erspan"].commands["add"], + ["test_session", "1.1.1.1", "2.2.2.2", "6", "256", "10", "100"]) + assert result.exit_code != 0 + assert ERR_MSG_VALUE_FAILURE in result.stdout + + # Verify invalid gre + result = runner.invoke( + config.config.commands["mirror_session"].commands["erspan"].commands["add"], + ["test_session", "1.1.1.1", "2.2.2.2", "6", "63", "65536", "100"]) + assert result.exit_code != 0 + assert ERR_MSG_VALUE_FAILURE in result.stdout + + # Verify invalid queue + result = runner.invoke( + config.config.commands["mirror_session"].commands["erspan"].commands["add"], + ["test_session", "1.1.1.1", "2.2.2.2", "6", "63", "65", "65536"]) + assert result.exit_code != 0 + assert ERR_MSG_VALUE_FAILURE in result.stdout + + # Positive case + with mock.patch('config.main.add_erspan') as mocked: + result = runner.invoke( + config.config.commands["mirror_session"].commands["erspan"].commands["add"], + ["test_session", "100.1.1.1", "2.2.2.2", "8", "63", "10", "100"]) + + mocked.assert_called_with("test_session", "100.1.1.1", "2.2.2.2", 8, 63, 10, 100, None, None, None) + + +def test_mirror_session_span_add(): + runner = CliRunner() + + # Verify invalid queue + result = runner.invoke( + config.config.commands["mirror_session"].commands["span"].commands["add"], + ["test_session", "Ethernet0", "Ethernet4", "rx", "65536"]) + assert result.exit_code != 0 + assert ERR_MSG_VALUE_FAILURE in result.stdout + + # Positive case + with mock.patch('config.main.add_span') as mocked: + result = runner.invoke( + config.config.commands["mirror_session"].commands["span"].commands["add"], + ["test_session", "Ethernet0", "Ethernet4", "rx", "100"]) + + mocked.assert_called_with("test_session", "Ethernet0", "Ethernet4", "rx", 100, None) + From 25bb184e41fd1f22b546ba6e1a468b2140fc2559 Mon Sep 17 00:00:00 2001 From: Ze Gan Date: Thu, 14 Oct 2021 11:24:16 +0800 Subject: [PATCH 321/342] [config]: Add loopback interfaces to interface name checker (#1869) * Add loopback interfaces to interface name checker Signed-off-by: Ze Gan * Add unitest for interface name checker Signed-off-by: Ze Gan --- config/main.py | 5 +++++ tests/config_int_name_test.py | 12 ++++++++++++ 2 files changed, 17 insertions(+) create mode 100644 tests/config_int_name_test.py diff --git a/config/main.py b/config/main.py index 01b9cf9ee3..960021f9a4 100644 --- a/config/main.py +++ b/config/main.py @@ -292,6 +292,7 @@ def interface_name_is_valid(config_db, interface_name): port_dict = config_db.get_table('PORT') port_channel_dict = config_db.get_table('PORTCHANNEL') sub_port_intf_dict = config_db.get_table('VLAN_SUB_INTERFACE') + loopback_dict = config_db.get_table('LOOPBACK_INTERFACE') if clicommon.get_interface_naming_mode() == "alias": interface_name = interface_alias_to_name(config_db, interface_name) @@ -311,6 +312,10 @@ def interface_name_is_valid(config_db, interface_name): for sub_port_intf_name in sub_port_intf_dict: if interface_name == sub_port_intf_name: return True + if loopback_dict: + for loopback_name in loopback_dict: + if interface_name == loopback_name: + return True return False def interface_name_to_alias(config_db, interface_name): diff --git a/tests/config_int_name_test.py b/tests/config_int_name_test.py new file mode 100644 index 0000000000..dd00c8f98d --- /dev/null +++ b/tests/config_int_name_test.py @@ -0,0 +1,12 @@ +from unittest import mock + +from utilities_common.db import Db + +import config.main as config + + +def test_interface_name_checker(): + db = Db() + db.cfgdb.set_entry("LOOPBACK_INTERFACE", "Loopback0", {"NULL": "NULL"}) + + assert config.interface_name_is_valid(db.cfgdb, "Loopback0") From 4d732c68e8eb63a890b3a8971f51ca26047279a1 Mon Sep 17 00:00:00 2001 From: Mohamed Ghoneim Date: Thu, 14 Oct 2021 04:30:19 -0700 Subject: [PATCH 322/342] [generic_config_updater] Logging (#1864) #### What I did Add some logs to generic_updater #### How I did it #### How to verify it #### Previous command output (if the output of a command-line utility has changed) #### New command output (if the output of a command-line utility has changed) Empty patch ``` admin@vlab-01:~$ sudo config apply-patch empty.json-patch Patch Applier: Patch application starting. Patch Applier: Patch: [] Patch Applier: Validating patch is not making changes to tables without YANG models. Patch Applier: Getting current config db. Patch Applier: Simulating the target full config after applying the patch. Patch Applier: Validating target config according to YANG models. ... [logs from sonic-yang-mgmt framework] Patch Applier: Sorting patch updates. Patch Applier: The patch was sorted into 0 changes. Patch Applier: Applying changes in order. Patch Applier: Verifying patch updates are reflected on ConfigDB. Patch Applier: Patch application completed. Patch applied successfully. admin@vlab-01:~$ ``` Single change patch ``` admin@vlab-01:~$ sudo config apply-patch dhcp_add.json-patch Patch Applier: Patch application starting. Patch Applier: Patch: [{"op": "add", "path": "/VLAN/Vlan1000/dhcp_servers/4", "value": "192.0.0.5"}] Patch Applier: Validating patch is not making changes to tables without YANG models. Patch Applier: Getting current config db. Patch Applier: Simulating the target full config after applying the patch. Patch Applier: Validating target config according to YANG models. ... [logs from sonic-yang-mgmt framework] Patch Applier: The patch was sorted into 1 change: Patch Applier: * [{"op": "add", "path": "/VLAN/Vlan1000/dhcp_servers/4", "value": "192.0.0.5"}] Patch Applier: Applying changes in order. Failed to apply patch Usage: config apply-patch [OPTIONS] PATCH_FILE_PATH Try "config apply-patch -h" for help. Error: ChangeApplier.apply(change) is not implemented yet admin@vlab-01:~$ ``` Multi change patch: ``` admin@vlab-01:~$ sudo config apply-patch update_lanes.json-patch Patch Applier: Patch application starting. Patch Applier: Patch: [{"op": "replace", "path": "/PORT/Ethernet100/lanes", "value": "121,122,123"}] Patch Applier: Validating patch is not making changes to tables without YANG models. Patch Applier: Getting current config db. Patch Applier: Simulating the target full config after applying the patch. Patch Applier: Validating target config according to YANG models. ... [logs from sonic-yang-mgmt framework] Patch Applier: Sorting patch updates. ... [logs from sonic-yang-mgmt framework] Patch Applier: The patch was sorted into 2 changes: Patch Applier: * [{"op": "remove", "path": "/PORT/Ethernet100"}] Patch Applier: * [{"op": "add", "path": "/PORT/Ethernet100", "value": {"alias": "fortyGigE0/100", "description": "fortyGigE0/100", "index": "25", "lanes": "121,122,123", "mtu": "9100", "pfc_asym": "off", "speed": "40000", "tpid": "0x8100"}}] Patch Applier: Applying changes in order. Failed to apply patch Usage: config apply-patch [OPTIONS] PATCH_FILE_PATH Try "config apply-patch -h" for help. Error: ChangeApplier.apply(change) is not implemented yet admin@vlab-01:~$ ``` --- generic_config_updater/generic_updater.py | 28 ++++++++++++++++++----- generic_config_updater/gu_common.py | 25 ++++++++++++++++++++ 2 files changed, 47 insertions(+), 6 deletions(-) diff --git a/generic_config_updater/generic_updater.py b/generic_config_updater/generic_updater.py index 8fd36ced91..8205a20b27 100644 --- a/generic_config_updater/generic_updater.py +++ b/generic_config_updater/generic_updater.py @@ -2,7 +2,7 @@ import os from enum import Enum from .gu_common import GenericConfigUpdaterError, ConfigWrapper, \ - DryRunConfigWrapper, PatchWrapper + DryRunConfigWrapper, PatchWrapper, genericUpdaterLogging from .patch_sorter import PatchSorter CHECKPOINTS_DIR = "/etc/sonic/checkpoints" @@ -32,38 +32,58 @@ def __init__(self, changeapplier=None, config_wrapper=None, patch_wrapper=None): + self.logger = genericUpdaterLogging.get_logger(title="Patch Applier") self.config_wrapper = config_wrapper if config_wrapper is not None else ConfigWrapper() self.patch_wrapper = patch_wrapper if patch_wrapper is not None else PatchWrapper() self.patchsorter = patchsorter if patchsorter is not None else PatchSorter(self.config_wrapper, self.patch_wrapper) self.changeapplier = changeapplier if changeapplier is not None else ChangeApplier() def apply(self, patch): + print_to_console=True + self.logger.log_notice("Patch application starting.", print_to_console) + self.logger.log_notice(f"Patch: {patch}", print_to_console) + # validate patch is only updating tables with yang models + self.logger.log_notice("Validating patch is not making changes to tables without YANG models.", print_to_console) if not(self.patch_wrapper.validate_config_db_patch_has_yang_models(patch)): raise ValueError(f"Given patch is not valid because it has changes to tables without YANG models") # Get old config + self.logger.log_notice("Getting current config db.", print_to_console) old_config = self.config_wrapper.get_config_db_as_json() # Generate target config + self.logger.log_notice("Simulating the target full config after applying the patch.", print_to_console) target_config = self.patch_wrapper.simulate_patch(patch, old_config) # Validate target config + self.logger.log_notice("Validating target config according to YANG models.", print_to_console) if not(self.config_wrapper.validate_config_db_config(target_config)): raise ValueError(f"Given patch is not valid because it will result in an invalid config") # Generate list of changes to apply + self.logger.log_notice("Sorting patch updates.", print_to_console) changes = self.patchsorter.sort(patch) + changes_len = len(changes) + self.logger.log_notice(f"The patch was sorted into {changes_len} " \ + f"change{'s' if changes_len != 1 else ''}{':' if changes_len > 0 else '.'}", + print_to_console) + for change in changes: + self.logger.log_notice(f" * {change}", print_to_console) # Apply changes in order + self.logger.log_notice("Applying changes in order.", print_to_console) for change in changes: self.changeapplier.apply(change) # Validate config updated successfully + self.logger.log_notice("Verifying patch updates are reflected on ConfigDB.", print_to_console) new_config = self.config_wrapper.get_config_db_as_json() if not(self.patch_wrapper.verify_same_json(target_config, new_config)): raise GenericConfigUpdaterError(f"After applying patch to config, there are still some parts not updated") + self.logger.log_notice("Patch application completed.", print_to_console) + class ConfigReplacer: def __init__(self, patch_applier=None, config_wrapper=None, patch_wrapper=None): self.patch_applier = patch_applier if patch_applier is not None else PatchApplier() @@ -293,11 +313,7 @@ def create_config_rollbacker(self, verbose, dry_run=False): return config_rollbacker def init_verbose_logging(self, verbose): - # TODO: implement verbose logging - # Usually logs have levels such as: error, warning, info, debug. - # By default all log levels should show up to the user, except debug. - # By allowing verbose logging, debug msgs will also be shown to the user. - pass + genericUpdaterLogging.set_verbose(verbose) def get_config_wrapper(self, dry_run): if dry_run: diff --git a/generic_config_updater/gu_common.py b/generic_config_updater/gu_common.py index 66d9b0d7d9..be1f6e5db7 100644 --- a/generic_config_updater/gu_common.py +++ b/generic_config_updater/gu_common.py @@ -6,9 +6,11 @@ import yang as ly import copy import re +from sonic_py_common import logger from enum import Enum YANG_DIR = "/usr/local/yang-models" +SYSLOG_IDENTIFIER = "GenericConfigUpdater" class GenericConfigUpdaterError(Exception): pass @@ -691,3 +693,26 @@ def _get_model(self, model, name): return submodel return None + +class TitledLogger(logger.Logger): + def __init__(self, syslog_identifier, title, verbose): + super().__init__(syslog_identifier) + self._title = title + if verbose: + self.set_min_log_priority_debug() + + def log(self, priority, msg, also_print_to_console=False): + combined_msg = f"{self._title}: {msg}" + super().log(priority, combined_msg, also_print_to_console) + +class GenericUpdaterLogging: + def __init__(self): + self.set_verbose(False) + + def set_verbose(self, verbose): + self._verbose = verbose + + def get_logger(self, title): + return TitledLogger(SYSLOG_IDENTIFIER, title, self._verbose) + +genericUpdaterLogging = GenericUpdaterLogging() From 827fcee68a2a4e3a21b3c5da047e06e5dcee7ebc Mon Sep 17 00:00:00 2001 From: "Marty Y. Lok" <76118573+mlok-nokia@users.noreply.github.com> Date: Thu, 14 Oct 2021 12:02:07 -0400 Subject: [PATCH 323/342] [chassis][routecheck]filter out the chassis internal interfaces (#1798) --- scripts/route_check.py | 4 ++++ utilities_common/chassis.py | 18 ++++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 utilities_common/chassis.py diff --git a/scripts/route_check.py b/scripts/route_check.py index 8beaf42c8b..fdbdd0a5f8 100755 --- a/scripts/route_check.py +++ b/scripts/route_check.py @@ -47,6 +47,7 @@ import traceback from swsscommon import swsscommon +from utilities_common import chassis APPL_DB_NAME = 'APPL_DB' ASIC_DB_NAME = 'ASIC_DB' @@ -348,6 +349,9 @@ def filter_out_local_interfaces(keys): local_if_lst = {'eth0', 'docker0'} local_if_lo = [r'tun0', r'lo', r'Loopback\d+'] + chassis_local_intfs = chassis.get_chassis_local_interfaces() + local_if_lst.update(set(chassis_local_intfs)) + db = swsscommon.DBConnector(APPL_DB_NAME, 0) tbl = swsscommon.Table(db, 'ROUTE_TABLE') diff --git a/utilities_common/chassis.py b/utilities_common/chassis.py new file mode 100644 index 0000000000..1283bca580 --- /dev/null +++ b/utilities_common/chassis.py @@ -0,0 +1,18 @@ +import os +from sonic_py_common import device_info + +def get_chassis_local_interfaces(): + lst = [] + platform = device_info.get_platform() + chassisdb_conf=os.path.join('/usr/share/sonic/device/', platform, "chassisdb.conf") + if os.path.exists(chassisdb_conf): + lines=[] + with open(chassisdb_conf, 'r') as f: + lines = f.readlines() + for line in lines: + line = line.strip() + if "chassis_internal_intfs" in line: + data = line.split("=") + lst = data[1].split(",") + return lst + return lst From d8ee5e9068afa751342526d56cafff5dd7cdac68 Mon Sep 17 00:00:00 2001 From: Sujin Kang Date: Thu, 14 Oct 2021 11:24:08 -0700 Subject: [PATCH 324/342] Remove exec from platform_reboot_plugin call to handle any hang issue. (#1879) What I did Remove exec from the platform_reboot call to handle any hang issue during reboot How I did it Remove "exec" from " exec ${DEVPATH}/${PLATFORM}/${PLAT_REBOOT} $@" How to verify it Perform sudo reboot after DE initializing the platfom driver and see if the device gracefully reboots by /sbin/reboot after failing on platform_reboot. --- scripts/reboot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/reboot b/scripts/reboot index dfbd309ba8..4b6a3583dd 100755 --- a/scripts/reboot +++ b/scripts/reboot @@ -198,7 +198,7 @@ fi if [ -x ${DEVPATH}/${PLATFORM}/${PLAT_REBOOT} ]; then VERBOSE=yes debug "Rebooting with platform ${PLATFORM} specific tool ..." - exec ${DEVPATH}/${PLATFORM}/${PLAT_REBOOT} $@ + ${DEVPATH}/${PLATFORM}/${PLAT_REBOOT} $@ # There are a couple reasons execution reaches here: # From f738818fb8a6f8bc5de83334292a05285af70735 Mon Sep 17 00:00:00 2001 From: Stepan Blyshchak <38952541+stepanblyschak@users.noreply.github.com> Date: Mon, 18 Oct 2021 08:45:06 +0300 Subject: [PATCH 325/342] [sonic-package-manager] stop service explicitelly before uninstalling package (#1805) #### What I did Fixed an issue with uninstall. 1. When disabling the feature by setting its state to disabled in FEATURE table and then uninstalling it, there is a possibility that service hasn't fully stopped yet. 2. When uninstalling with --force option, and reinstalling the package with --enable option the service does not start. #### How I did it Stop and disable service explicitely before uninstalling package. #### How to verify it ``` sudo spm uninstall cpu-report --force && sudo spm install cpu-report=10.0.0 -v DEBUG -y --enable && docker ps ``` --- sonic_package_manager/manager.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/sonic_package_manager/manager.py b/sonic_package_manager/manager.py index 467c29a8d2..b4b33c0797 100644 --- a/sonic_package_manager/manager.py +++ b/sonic_package_manager/manager.py @@ -435,6 +435,17 @@ def uninstall(self, name: str, force=False): # After all checks are passed we proceed to actual uninstallation try: + # Stop and disable the service. + # First to make sure we are not uninstalling + # package before the service has fully stopped + # since "config feature state" command is not blocking. + # Second, we make sure the service is in disabled state + # so that after reinstall and enablement hostcfgd will enable + # it and start it. + # TODO: once there is a way to block till hostcfgd will stop + # the service, replace it with new approach. + self._systemctl_action(package, 'stop') + self._systemctl_action(package, 'disable') self._uninstall_cli_plugins(package) self.service_creator.remove(package) self.service_creator.generate_shutdown_sequence_files( From 6412fea7662a0dcdf162c2304953344d91b939fa Mon Sep 17 00:00:00 2001 From: Stepan Blyshchak <38952541+stepanblyschak@users.noreply.github.com> Date: Mon, 18 Oct 2021 08:45:54 +0300 Subject: [PATCH 326/342] [sonic-package-manager] remove make_python_identifier (#1801) #### What I did It is not needed to make a CLI plugin name with valid python identifier. It is also possible that make_python_identifier will return same filename for two different packages. #### How I did it Removed make_python_identifier. #### How to verify it Install package with CLI plugin. --- sonic_package_manager/manager.py | 46 ++++++++++++++++------- sonic_package_manager/utils.py | 37 ------------------ tests/sonic_package_manager/test_utils.py | 8 ---- 3 files changed, 32 insertions(+), 59 deletions(-) delete mode 100644 tests/sonic_package_manager/test_utils.py diff --git a/sonic_package_manager/manager.py b/sonic_package_manager/manager.py index b4b33c0797..41f95bd4bd 100644 --- a/sonic_package_manager/manager.py +++ b/sonic_package_manager/manager.py @@ -140,6 +140,36 @@ def parse_reference_expression(expression): return PackageReference.parse(expression) +def get_cli_plugin_directory(command: str) -> str: + """ Returns a plugins package directory for command group. + + Args: + command: SONiC command: "show"/"config"/"clear". + Returns: + Path to plugins package directory. + """ + + pkg_loader = pkgutil.get_loader(f'{command}.plugins') + if pkg_loader is None: + raise PackageManagerError(f'Failed to get plugins path for {command} CLI') + plugins_pkg_path = os.path.dirname(pkg_loader.path) + return plugins_pkg_path + + +def get_cli_plugin_path(package: Package, command: str) -> str: + """ Returns a path where to put CLI plugin code. + + Args: + package: Package to generate this path for. + command: SONiC command: "show"/"config"/"clear". + Returns: + Path generated for this package. + """ + + plugin_module_file = package.name + '.py' + return os.path.join(get_cli_plugin_directory(command), plugin_module_file) + + def validate_package_base_os_constraints(package: Package, sonic_version_info: Dict[str, str]): """ Verify that all dependencies on base OS components are met. Args: @@ -917,18 +947,6 @@ def _systemctl_action(self, package: Package, action: str): for npu in range(self.num_npus): run_command(f'systemctl {action} {name}@{npu}') - @staticmethod - def _get_cli_plugin_name(package: Package): - return utils.make_python_identifier(package.name) + '.py' - - @classmethod - def _get_cli_plugin_path(cls, package: Package, command): - pkg_loader = pkgutil.get_loader(f'{command}.plugins') - if pkg_loader is None: - raise PackageManagerError(f'Failed to get plugins path for {command} CLI') - plugins_pkg_path = os.path.dirname(pkg_loader.path) - return os.path.join(plugins_pkg_path, cls._get_cli_plugin_name(package)) - def _install_cli_plugins(self, package: Package): for command in ('show', 'config', 'clear'): self._install_cli_plugin(package, command) @@ -941,14 +959,14 @@ def _install_cli_plugin(self, package: Package, command: str): image_plugin_path = package.manifest['cli'][command] if not image_plugin_path: return - host_plugin_path = self._get_cli_plugin_path(package, command) + host_plugin_path = get_cli_plugin_path(package, command) self.docker.extract(package.entry.image_id, image_plugin_path, host_plugin_path) def _uninstall_cli_plugin(self, package: Package, command: str): image_plugin_path = package.manifest['cli'][command] if not image_plugin_path: return - host_plugin_path = self._get_cli_plugin_path(package, command) + host_plugin_path = get_cli_plugin_path(package, command) if os.path.exists(host_plugin_path): os.remove(host_plugin_path) diff --git a/sonic_package_manager/utils.py b/sonic_package_manager/utils.py index 410947dd24..417a0e4e48 100644 --- a/sonic_package_manager/utils.py +++ b/sonic_package_manager/utils.py @@ -1,42 +1,5 @@ #!/usr/bin/env python -import keyword -import re - from docker_image.reference import Reference DockerReference = Reference - - -def make_python_identifier(string): - """ - Takes an arbitrary string and creates a valid Python identifier. - - Identifiers must follow the convention outlined here: - https://docs.python.org/2/reference/lexical_analysis.html#identifiers - """ - - # create a working copy (and make it lowercase, while we're at it) - s = string.lower() - - # remove leading and trailing whitespace - s = s.strip() - - # Make spaces into underscores - s = re.sub('[\\s\\t\\n]+', '_', s) - - # Remove invalid characters - s = re.sub('[^0-9a-zA-Z_]', '', s) - - # Remove leading characters until we find a letter or underscore - s = re.sub('^[^a-zA-Z_]+', '', s) - - # Check that the string is not a python identifier - while s in keyword.kwlist: - if re.match(".*?_\d+$", s): - i = re.match(".*?_(\d+)$", s).groups()[0] - s = s.strip('_'+i) + '_'+str(int(i)+1) - else: - s += '_1' - - return s diff --git a/tests/sonic_package_manager/test_utils.py b/tests/sonic_package_manager/test_utils.py deleted file mode 100644 index c4d8b15840..0000000000 --- a/tests/sonic_package_manager/test_utils.py +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env python - -from sonic_package_manager import utils - - -def test_make_python_identifier(): - assert utils.make_python_identifier('-some-package name').isidentifier() - assert utils.make_python_identifier('01 leading digit').isidentifier() From 00948d08572dbd62c7e3b58521dc0b942d878eee Mon Sep 17 00:00:00 2001 From: Stephen Sun <5379172+stephenxs@users.noreply.github.com> Date: Tue, 19 Oct 2021 00:02:52 +0800 Subject: [PATCH 327/342] Fix the target db version of portchannel-key test (#1842) What I did The port-channel key migrator was introduced in version 2_0_2 so the expected database version of the test case should be 2_0_2. It was modified to 2_0_3 when the new version was introduced by mistake. This won't fail the test but disable the require its database version to be updated every time a new version is introduced. (Refer #1566 and #1614 for details) This is to correct it by changing it back to 2_0_2. Signed-off-by: Stephen Sun --- tests/db_migrator_input/config_db/portchannel-expected.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/db_migrator_input/config_db/portchannel-expected.json b/tests/db_migrator_input/config_db/portchannel-expected.json index fcd115d225..acc61d1316 100644 --- a/tests/db_migrator_input/config_db/portchannel-expected.json +++ b/tests/db_migrator_input/config_db/portchannel-expected.json @@ -33,7 +33,7 @@ "lacp_key": "auto" }, "VERSIONS|DATABASE": { - "VERSION": "version_2_0_3" + "VERSION": "version_2_0_2" } } From e600e1c04b78f997454e7c7e856bd6dcec79d57e Mon Sep 17 00:00:00 2001 From: arlakshm <55814491+arlakshm@users.noreply.github.com> Date: Mon, 18 Oct 2021 23:28:33 -0700 Subject: [PATCH 328/342] CLI command to load config in Yang format (#1781) #### What I did To support loading configuration data in yang schema, the `config load` command is enchanced with the below options - `-t` `--file-format` to specify the file-format. The config file can be `yang` or `config_db` format - `-r` to restart the services. Currently this option is supported for yang file format only. - #### How I did it Add the above mentioned cli options. Add Unit tests #### How to verify it Verify the command on VS. ``` admin@vlab-01:~$ sudo config load -y -c yang -r /etc/sonic/yang_cfg.json Disabling container monitoring ... Stopping SONiC target ... Running command: /usr/local/bin/sonic-cfggen -H -Y /etc/sonic/yang_cfg.json -j /etc/sonic/init_cfg.json --write-to-db Restarting SONiC target ... Enabling container monitoring ... Reloading Monit configuration ... Reinitializing monit daemon Please note setting loaded from minigraph will be lost after system reboot.To preserve setting, run `config save`. admin@vlab-01:~$ sudo config load -y -c yang /etc/sonic/yang_cfg.json Running command: /usr/local/bin/sonic-cfggen -H -Y /etc/sonic/yang_cfg.json -j /etc/sonic/init_cfg.json --write-to-db Please note setting loaded from minigraph will be lost after system reboot.To preserve setting, run `config save`. admin@vlab-01:~$ sudo config load Load config in config_db format from the default config file(s) ? [y/N]: y Running command: /usr/local/bin/sonic-cfggen -j /etc/sonic/config_db.json --write-to-db admin@vlab-01:~$ sudo config load -y Running command: /usr/local/bin/sonic-cfggen -j /etc/sonic/config_db.json --write-to-db ``` --- config/main.py | 77 ++++++++++++++++++------------ tests/config_test.py | 109 ++++++++++++++++++++++++++++++++++++++++++- tests/conftest.py | 6 ++- 3 files changed, 159 insertions(+), 33 deletions(-) diff --git a/config/main.py b/config/main.py index 960021f9a4..80459b9eef 100644 --- a/config/main.py +++ b/config/main.py @@ -67,6 +67,7 @@ VLAN_SUB_INTERFACE_SEPARATOR = '.' ASIC_CONF_FILENAME = 'asic.conf' DEFAULT_CONFIG_DB_FILE = '/etc/sonic/config_db.json' +DEFAULT_CONFIG_YANG_FILE = '/etc/sonic/config_yang.json' NAMESPACE_PREFIX = 'asic' INTF_KEY = "interfaces" @@ -1268,9 +1269,10 @@ def list_checkpoints(ctx, verbose): @click.option('-n', '--no_service_restart', default=False, is_flag=True, help='Do not restart docker services') @click.option('-d', '--disable_arp_cache', default=False, is_flag=True, help='Do not cache ARP table before reloading (applies to dual ToR systems only)') @click.option('-f', '--force', default=False, is_flag=True, help='Force config reload without system checks') +@click.option('-t', '--file_format', default='config_db',type=click.Choice(['config_yang', 'config_db']),show_default=True,help='specify the file format') @click.argument('filename', required=False) @clicommon.pass_db -def reload(db, filename, yes, load_sysinfo, no_service_restart, disable_arp_cache, force): +def reload(db, filename, yes, load_sysinfo, no_service_restart, disable_arp_cache, force, file_format): """Clear current configuration and import a previous saved config DB dump file. : Names of configuration file(s) to load, separated by comma with no spaces in between """ @@ -1288,9 +1290,9 @@ def reload(db, filename, yes, load_sysinfo, no_service_restart, disable_arp_cach return if filename is None: - message = 'Clear current config and reload config from the default config file(s) ?' + message = 'Clear current config and reload config in {} format from the default config file(s) ?'.format(file_format) else: - message = 'Clear current config and reload config from the file(s) {} ?'.format(filename) + message = 'Clear current config and reload config in {} from the file(s) {} ?'.format(file_format, filename) if not yes: click.confirm(message, abort=True) @@ -1301,7 +1303,8 @@ def reload(db, filename, yes, load_sysinfo, no_service_restart, disable_arp_cach cfg_files = [] num_cfg_file = 1 - if multi_asic.is_multi_asic(): + # single config_yang file for the multi asic device + if multi_asic.is_multi_asic() and file_format == 'config_db': num_cfg_file += num_asic # Remove cached PG drop counters data @@ -1354,14 +1357,18 @@ def reload(db, filename, yes, load_sysinfo, no_service_restart, disable_arp_cach if cfg_files: file = cfg_files[inst+1] else: - if namespace is None: - file = DEFAULT_CONFIG_DB_FILE + if file_format == 'config_db': + if namespace is None: + file = DEFAULT_CONFIG_DB_FILE + else: + file = "/etc/sonic/config_db{}.json".format(inst) else: - file = "/etc/sonic/config_db{}.json".format(inst) + file = DEFAULT_CONFIG_YANG_FILE + # Check the file exists before proceeding. if not os.path.exists(file): - click.echo("The config_db file {} doesn't exist".format(file)) + click.echo("The config file {} doesn't exist".format(file)) continue if namespace is None: @@ -1372,6 +1379,7 @@ def reload(db, filename, yes, load_sysinfo, no_service_restart, disable_arp_cach config_db.connect() client = config_db.get_redis_client(config_db.CONFIG_DB) client.flushdb() + if load_sysinfo: if namespace is None: command = "{} -H -k {} --write-to-db".format(SONIC_CFGGEN_PATH, cfg_hwsku) @@ -1382,16 +1390,23 @@ def reload(db, filename, yes, load_sysinfo, no_service_restart, disable_arp_cach # For the database service running in linux host we use the file user gives as input # or by default DEFAULT_CONFIG_DB_FILE. In the case of database service running in namespace, # the default config_db.json format is used. - if namespace is None: - if os.path.isfile(INIT_CFG_FILE): - command = "{} -j {} -j {} --write-to-db".format(SONIC_CFGGEN_PATH, INIT_CFG_FILE, file) - else: - command = "{} -j {} --write-to-db".format(SONIC_CFGGEN_PATH, file) + + config_gen_opts = "" + if file_format == 'config_db': + config_gen_opts += ' -j {} '.format(file) else: - if os.path.isfile(INIT_CFG_FILE): - command = "{} -j {} -j {} -n {} --write-to-db".format(SONIC_CFGGEN_PATH, INIT_CFG_FILE, file, namespace) - else: - command = "{} -j {} -n {} --write-to-db".format(SONIC_CFGGEN_PATH, file, namespace) + config_gen_opts += ' -Y {} '.format(file) + + if os.path.isfile(INIT_CFG_FILE): + config_gen_opts += " -j {} ".format(INIT_CFG_FILE) + + if namespace is not None: + config_gen_opts += " -n {} ".format(namespace) + + + command = "{sonic_cfggen} {options} --write-to-db".format( + sonic_cfggen=SONIC_CFGGEN_PATH, + options=config_gen_opts) clicommon.run_command(command, display_cmd=True) client.set(config_db.INIT_INDICATOR, 1) @@ -1734,9 +1749,9 @@ def add_portchannel_member(ctx, portchannel_name, port_name): # Dont allow a port to be member of port channel if its MTU does not match with portchannel portchannel_entry = db.get_entry('PORTCHANNEL', portchannel_name) if portchannel_entry and portchannel_entry.get(PORT_MTU) is not None : - port_entry = db.get_entry('PORT', port_name) + port_entry = db.get_entry('PORT', port_name) - if port_entry and port_entry.get(PORT_MTU) is not None: + if port_entry and port_entry.get(PORT_MTU) is not None: port_mtu = port_entry.get(PORT_MTU) portchannel_mtu = portchannel_entry.get(PORT_MTU) @@ -1749,9 +1764,9 @@ def add_portchannel_member(ctx, portchannel_name, port_name): # new member by SAI. port_entry = db.get_entry('PORT', port_name) if port_entry and port_entry.get(PORT_TPID) is not None: - port_tpid = port_entry.get(PORT_TPID) - if port_tpid != DEFAULT_TPID: - ctx.fail("Port TPID of {}: {} is not at default 0x8100".format(port_name, port_tpid)) + port_tpid = port_entry.get(PORT_TPID) + if port_tpid != DEFAULT_TPID: + ctx.fail("Port TPID of {}: {} is not at default 0x8100".format(port_name, port_tpid)) db.set_entry('PORTCHANNEL_MEMBER', (portchannel_name, port_name), {'NULL': 'NULL'}) @@ -3155,10 +3170,10 @@ def startup(ctx, interface_name): intf_fs = parse_interface_in_filter(interface_name) if len(intf_fs) > 1 and multi_asic.is_multi_asic(): - ctx.fail("Interface range not supported in multi-asic platforms !!") + ctx.fail("Interface range not supported in multi-asic platforms !!") if len(intf_fs) == 1 and interface_name_is_valid(config_db, interface_name) is False: - ctx.fail("Interface name is invalid. Please enter a valid interface name!!") + ctx.fail("Interface name is invalid. Please enter a valid interface name!!") log.log_info("'interface startup {}' executing...".format(interface_name)) port_dict = config_db.get_table('PORT') @@ -3196,7 +3211,7 @@ def shutdown(ctx, interface_name): intf_fs = parse_interface_in_filter(interface_name) if len(intf_fs) > 1 and multi_asic.is_multi_asic(): - ctx.fail("Interface range not supported in multi-asic platforms !!") + ctx.fail("Interface range not supported in multi-asic platforms !!") if len(intf_fs) == 1 and interface_name_is_valid(config_db, interface_name) is False: ctx.fail("Interface name is invalid. Please enter a valid interface name!!") @@ -3632,8 +3647,8 @@ def add(ctx, interface_name, ip_addr, gw): # changing it to a router port vlan_member_table = config_db.get_table('VLAN_MEMBER') if (interface_is_in_vlan(vlan_member_table, interface_name)): - click.echo("Interface {} is a member of vlan\nAborting!".format(interface_name)) - return + click.echo("Interface {} is a member of vlan\nAborting!".format(interface_name)) + return try: net = ipaddress.ip_network(ip_addr, strict=False) @@ -4066,7 +4081,7 @@ def add(ctx, interface_name): if interface_name is None: ctx.fail("'interface_name' is None!") - table_name = get_interface_table_name(interface_name) + table_name = get_interface_table_name(interface_name) if not clicommon.is_interface_in_config_db(config_db, interface_name): ctx.fail('interface {} doesn`t exist'.format(interface_name)) if table_name == "": @@ -4088,7 +4103,7 @@ def remove(ctx, interface_name): if interface_name is None: ctx.fail("'interface_name' is None!") - table_name = get_interface_table_name(interface_name) + table_name = get_interface_table_name(interface_name) if not clicommon.is_interface_in_config_db(config_db, interface_name): ctx.fail('interface {} doesn`t exist'.format(interface_name)) if table_name == "": @@ -4406,7 +4421,7 @@ def route(ctx): ctx.obj = {} ctx.obj['config_db'] = config_db -@route.command('add', context_settings={"ignore_unknown_options":True}) +@route.command('add', context_settings={"ignore_unknown_options": True}) @click.argument('command_str', metavar='prefix [vrf ] nexthop <[vrf ] >|>', nargs=-1, type=click.Path()) @click.pass_context def add_route(ctx, command_str): @@ -4477,7 +4492,7 @@ def add_route(ctx, command_str): else: config_db.set_entry("STATIC_ROUTE", key, route) -@route.command('del', context_settings={"ignore_unknown_options":True}) +@route.command('del', context_settings={"ignore_unknown_options": True}) @click.argument('command_str', metavar='prefix [vrf ] nexthop <[vrf ] >|>', nargs=-1, type=click.Path()) @click.pass_context def del_route(ctx, command_str): diff --git a/tests/config_test.py b/tests/config_test.py index bbef200aac..d875ad7ea3 100644 --- a/tests/config_test.py +++ b/tests/config_test.py @@ -28,6 +28,33 @@ Please note setting loaded from minigraph will be lost after system reboot. To preserve setting, run `config save`. """ + +RELOAD_CONFIG_DB_OUTPUT = """\ +Running command: rm -rf /tmp/dropstat-* +Stopping SONiC target ... +Running command: /usr/local/bin/sonic-cfggen -j /tmp/config.json --write-to-db +Restarting SONiC target ... +Reloading Monit configuration ... +""" + +RELOAD_YANG_CFG_OUTPUT = """\ +Running command: rm -rf /tmp/dropstat-* +Stopping SONiC target ... +Running command: /usr/local/bin/sonic-cfggen -Y /tmp/config.json --write-to-db +Restarting SONiC target ... +Reloading Monit configuration ... +""" + +RELOAD_MASIC_CONFIG_DB_OUTPUT = """\ +Running command: rm -rf /tmp/dropstat-* +Stopping SONiC target ... +Running command: /usr/local/bin/sonic-cfggen -j /tmp/config.json --write-to-db +Running command: /usr/local/bin/sonic-cfggen -j /tmp/config.json -n asic0 --write-to-db +Running command: /usr/local/bin/sonic-cfggen -j /tmp/config.json -n asic1 --write-to-db +Restarting SONiC target ... +Reloading Monit configuration ... +""" + def mock_run_command_side_effect(*args, **kwargs): command = args[0] @@ -129,6 +156,86 @@ def teardown_class(cls): print("TEARDOWN") +class TestReloadConfig(object): + dummy_cfg_file = os.path.join(os.sep, "tmp", "config.json") + + @classmethod + def setup_class(cls): + os.environ['UTILITIES_UNIT_TESTING'] = "1" + print("SETUP") + import config.main + importlib.reload(config.main) + open(cls.dummy_cfg_file, 'w').close() + + def test_reload_config(self, get_cmd_module, setup_single_broadcom_asic): + with mock.patch( + "utilities_common.cli.run_command", + mock.MagicMock(side_effect=mock_run_command_side_effect) + ) as mock_run_command: + (config, show) = get_cmd_module + runner = CliRunner() + + result = runner.invoke( + config.config.commands["reload"], + [self.dummy_cfg_file, '-y', '-f']) + + print(result.exit_code) + print(result.output) + traceback.print_tb(result.exc_info[2]) + assert result.exit_code == 0 + assert "\n".join([l.rstrip() for l in result.output.split('\n')]) \ + == RELOAD_CONFIG_DB_OUTPUT + + def test_reload_config_masic(self, get_cmd_module, setup_multi_broadcom_masic): + with mock.patch( + "utilities_common.cli.run_command", + mock.MagicMock(side_effect=mock_run_command_side_effect) + ) as mock_run_command: + (config, show) = get_cmd_module + runner = CliRunner() + # 3 config files: 1 for host and 2 for asic + cfg_files = "{},{},{}".format( + self.dummy_cfg_file, + self.dummy_cfg_file, + self.dummy_cfg_file) + result = runner.invoke( + config.config.commands["reload"], + [cfg_files, '-y', '-f']) + + print(result.exit_code) + print(result.output) + traceback.print_tb(result.exc_info[2]) + assert result.exit_code == 0 + assert "\n".join([l.rstrip() for l in result.output.split('\n')]) \ + == RELOAD_MASIC_CONFIG_DB_OUTPUT + + def test_reload_yang_config(self, get_cmd_module, + setup_single_broadcom_asic): + with mock.patch( + "utilities_common.cli.run_command", + mock.MagicMock(side_effect=mock_run_command_side_effect) + ) as mock_run_command: + (config, show) = get_cmd_module + runner = CliRunner() + + result = runner.invoke(config.config.commands["reload"], + [self.dummy_cfg_file, '-y','-f' ,'-t', 'config_yang']) + + print(result.exit_code) + print(result.output) + traceback.print_tb(result.exc_info[2]) + assert result.exit_code == 0 + assert "\n".join([l.rstrip() for l in result.output.split('\n')]) \ + == RELOAD_YANG_CFG_OUTPUT + + + @classmethod + def teardown_class(cls): + os.environ['UTILITIES_UNIT_TESTING'] = "0" + os.remove(cls.dummy_cfg_file) + print("TEARDOWN") + + class TestConfigQos(object): @classmethod def setup_class(cls): @@ -227,7 +334,7 @@ class TestGenericUpdateCommands(unittest.TestCase): def setUp(self): os.environ['UTILITIES_UNIT_TESTING'] = "1" self.runner = CliRunner() - self.any_patch_as_json = [{"op":"remove", "path":"/PORT"}] + self.any_patch_as_json = [{"op": "remove", "path": "/PORT"}] self.any_patch = jsonpatch.JsonPatch(self.any_patch_as_json) self.any_patch_as_text = json.dumps(self.any_patch_as_json) self.any_path = '/usr/admin/patch.json-patch' diff --git a/tests/conftest.py b/tests/conftest.py index c2e85fb900..6658618113 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -6,7 +6,7 @@ import pytest -from sonic_py_common import device_info +from sonic_py_common import device_info, multi_asic from swsscommon.swsscommon import ConfigDBConnector from .mock_tables import dbconnector @@ -104,10 +104,14 @@ def setup_multi_broadcom_masic(): set_mock_apis() device_info.get_num_npus = mock.MagicMock(return_value=2) + multi_asic.get_num_asics = mock.MagicMock(return_value=2) + multi_asic.is_multi_asic= mock.MagicMock(return_value=True) yield device_info.get_num_npus = mock.MagicMock(return_value=1) + multi_asic.get_num_asics = mock.MagicMock(return_value=1) + multi_asic.is_multi_asic= mock.MagicMock(return_value=False) @pytest.fixture From 6595ad45d3ab5b3f18209a24203de530a8478ae3 Mon Sep 17 00:00:00 2001 From: pettershao-ragilenetworks <81281940+pettershao-ragilenetworks@users.noreply.github.com> Date: Wed, 20 Oct 2021 17:26:46 +0800 Subject: [PATCH 329/342] [mlag] fix log print sequence (#1730) #### What I did fix error log variable print sequence, otherwise it is confusable #### How I did it change the varible print sequence #### New command output (if the output of a command-line utility has changed) before keepalive-interval setting: ``` root@sonic:/home/admin# config mclag 1 keepalive-interval 30 MCLAG Keepalive:15 Session_timeout:30 values not satisfying session_timeout >= (3 * KA) ``` after fixing: ``` root@sonic:/home/admin# config mclag 1 keepalive-interval 30 MCLAG Keepalive:30 Session_timeout:15 values not satisfying session_timeout >= (3 * KA) ``` --- config/mclag.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/mclag.py b/config/mclag.py index 2ab0d0ca75..2a585d07fa 100644 --- a/config/mclag.py +++ b/config/mclag.py @@ -22,7 +22,7 @@ def mclag_ka_session_dep_check(ka, session_tmout): """Check if the MCLAG Keepalive timer and session timeout values are multiples of each other and keepalive is < session timeout value """ if not session_tmout >= ( 3 * ka): - return False, "MCLAG Keepalive:{} Session_timeout:{} values not satisfying session_timeout >= (3 * KA) ".format(session_tmout, ka) + return False, "MCLAG Keepalive:{} Session_timeout:{} values not satisfying session_timeout >= (3 * KA) ".format(ka, session_tmout) if session_tmout % ka: return False, "MCLAG keepalive:{} Session_timeout:{} Values not satisfying session_timeout should be a multiple of KA".format(ka, session_tmout) From 9017d99f8dc67883c03a13e6c96c9a3e48d0c7f5 Mon Sep 17 00:00:00 2001 From: xumia <59720581+xumia@users.noreply.github.com> Date: Thu, 21 Oct 2021 09:53:54 +0800 Subject: [PATCH 330/342] Fix the option missing in kernel config issue (#1888) What I did Fix the option missing in kernel config issue The installing module step will hang forever before the issue fixed. --- .azure-pipelines/build_and_install_module.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/.azure-pipelines/build_and_install_module.sh b/.azure-pipelines/build_and_install_module.sh index 7f8cc23645..493a2f04e2 100755 --- a/.azure-pipelines/build_and_install_module.sh +++ b/.azure-pipelines/build_and_install_module.sh @@ -50,6 +50,7 @@ function build_and_install_kmodule() echo CONFIG_MACSEC=m >> .config echo CONFIG_NET_VENDOR_MICROSOFT=y >> .config echo CONFIG_MICROSOFT_MANA=m >> .config + echo CONFIG_SYSTEM_REVOCATION_LIST=n >> .config make VERSION=$VERSION PATCHLEVEL=$PATCHLEVEL SUBLEVEL=$SUBLEVEL EXTRAVERSION=-${EXTRAVERSION} LOCALVERSION=-${LOCALVERSION} modules_prepare make M=drivers/net/team mv drivers/net/Makefile drivers/net/Makefile.bak From 8ea834b979dc35d79b15c433bd4d9559205f412e Mon Sep 17 00:00:00 2001 From: jingwenxie Date: Mon, 25 Oct 2021 10:14:21 +0800 Subject: [PATCH 331/342] [sonic_installer] Change sonic_installer check ASIC mismatch by platforms list (#1836) What I did Handle wrong image type installation by checking platform. Before the verification was done by comparing image's ASIC and running platform's ASIC. But the running's ASIC will change if wrong image was installed. Add the same support for Aboot image verification. How I did it Add a devices list file for the same ASIC while build the image and Check by devices list instead of machine.conf How to verify it Install a bin file which differs the running platform's ASIC. For example; install sonic-broadcom.bin to mellanox ASIC platform install sonic-vs.bin to broadcom ASIC platform install sonic-aboot-barefoot.swi to broadcom ASIC platform --- sonic_installer/bootloader/aboot.py | 26 ++++++++++++++- sonic_installer/bootloader/grub.py | 51 ++++++++++++++--------------- sonic_installer/bootloader/onie.py | 7 +--- sonic_installer/common.py | 7 ++++ sonic_installer/main.py | 6 ++-- 5 files changed, 61 insertions(+), 36 deletions(-) diff --git a/sonic_installer/bootloader/aboot.py b/sonic_installer/bootloader/aboot.py index a44c44fdd7..ab4c0ff38c 100644 --- a/sonic_installer/bootloader/aboot.py +++ b/sonic_installer/bootloader/aboot.py @@ -15,6 +15,7 @@ from M2Crypto import X509 +from sonic_py_common import device_info from ..common import ( HOST_PATH, IMAGE_DIR_PREFIX, @@ -22,6 +23,7 @@ ROOTFS_NAME, run_command, run_command_or_raise, + default_sigpipe, ) from .bootloader import Bootloader @@ -29,6 +31,8 @@ DEFAULT_SWI_IMAGE = 'sonic.swi' KERNEL_CMDLINE_NAME = 'kernel-cmdline' +UNZIP_MISSING_FILE = 11 + # For the signature format, see: https://github.com/aristanetworks/swi-tools/tree/master/switools SWI_SIG_FILE_NAME = 'swi-signature' SWIX_SIG_FILE_NAME = 'swix-signature' @@ -164,7 +168,27 @@ def get_binary_image_version(self, image_path): return IMAGE_PREFIX + version.strip() def verify_image_platform(self, image_path): - return os.path.isfile(image_path) + if not os.path.isfile(image_path): + return False + + # Get running platform + platform = device_info.get_platform() + + # If .platforms_asic is not existed, unzip will return code 11. + # Return True for backward compatibility. + # Otherwise, we grep to see if current platform is inside the + # supported target platforms list. + with open(os.devnull, 'w') as fnull: + p1 = subprocess.Popen(['/usr/bin/unzip', '-qop', image_path, '.platforms_asic'], stdout=subprocess.PIPE, stderr=fnull, preexec_fn=default_sigpipe) + p2 = subprocess.Popen(['grep', '-Fxq', '-m 1', platform], stdin=p1.stdout, preexec_fn=default_sigpipe) + + p1.wait() + if p1.returncode == UNZIP_MISSING_FILE: + return True + + # Code 0 is returned by grep as a result of found + p2.wait() + return p2.returncode == 0 def verify_secureboot_image(self, image_path): try: diff --git a/sonic_installer/bootloader/grub.py b/sonic_installer/bootloader/grub.py index 0202da76bd..11ee3de1f4 100644 --- a/sonic_installer/bootloader/grub.py +++ b/sonic_installer/bootloader/grub.py @@ -14,11 +14,11 @@ IMAGE_DIR_PREFIX, IMAGE_PREFIX, run_command, + default_sigpipe, ) from .onie import OnieInstallerBootloader -from .onie import default_sigpipe -MACHINE_CONF = "installer/machine.conf" +PLATFORMS_ASIC = "installer/platforms_asic" class GrubBootloader(OnieInstallerBootloader): @@ -85,35 +85,34 @@ def remove_image(self, image): run_command('grub-set-default --boot-directory=' + HOST_PATH + ' 0') click.echo('Image removed') + def platform_in_platforms_asic(self, platform, image_path): + """ + For those images that don't have devices list builtin, 'tar' will have non-zero returncode. + In this case, we simply return True to make it worked compatible as before. + Otherwise, we can grep to check if platform is inside the supported target platforms list. + """ + with open(os.devnull, 'w') as fnull: + p1 = subprocess.Popen(["sed", "-e", "1,/^exit_marker$/d", image_path], stdout=subprocess.PIPE, preexec_fn=default_sigpipe) + p2 = subprocess.Popen(["tar", "xf", "-", PLATFORMS_ASIC, "-O"], stdin=p1.stdout, stdout=subprocess.PIPE, stderr=fnull, preexec_fn=default_sigpipe) + p3 = subprocess.Popen(["grep", "-Fxq", "-m 1", platform], stdin=p2.stdout, preexec_fn=default_sigpipe) + + p2.wait() + if p2.returncode != 0: + return True + + # Code 0 is returned by grep as a result of found + p3.wait() + return p3.returncode ==0 + def verify_image_platform(self, image_path): if not os.path.isfile(image_path): return False - # Get running platform's ASIC - try: - version_info = device_info.get_sonic_version_info() - if version_info: - asic_type = version_info['asic_type'] - else: - asic_type = None - except (KeyError, TypeError) as e: - click.echo("Caught an exception: " + str(e)) - - # Get installing image's ASIC - p1 = subprocess.Popen(["sed", "-e", "1,/^exit_marker$/d", image_path], stdout=subprocess.PIPE, preexec_fn=default_sigpipe) - p2 = subprocess.Popen(["tar", "xf", "-", MACHINE_CONF, "-O"], stdin=p1.stdout, stdout=subprocess.PIPE, preexec_fn=default_sigpipe) - p3 = subprocess.Popen(["sed", "-n", r"s/^machine=\(.*\)/\1/p"], stdin=p2.stdout, stdout=subprocess.PIPE, preexec_fn=default_sigpipe, text=True) - - stdout = p3.communicate()[0] - image_asic = stdout.rstrip('\n') - - # Return false if machine is not found or unexpected issue occur - if not image_asic: - return False + # Get running platform + platform = device_info.get_platform() - if asic_type == image_asic: - return True - return False + # Check if platform is inside image's target platforms + return self.platform_in_platforms_asic(platform, image_path) @classmethod def detect(cls): diff --git a/sonic_installer/bootloader/onie.py b/sonic_installer/bootloader/onie.py index aa23c347a2..be17ba5619 100644 --- a/sonic_installer/bootloader/onie.py +++ b/sonic_installer/bootloader/onie.py @@ -4,20 +4,15 @@ import os import re -import signal import subprocess from ..common import ( IMAGE_DIR_PREFIX, IMAGE_PREFIX, + default_sigpipe, ) from .bootloader import Bootloader -# Needed to prevent "broken pipe" error messages when piping -# output of multiple commands using subprocess.Popen() -def default_sigpipe(): - signal.signal(signal.SIGPIPE, signal.SIG_DFL) - class OnieInstallerBootloader(Bootloader): # pylint: disable=abstract-method DEFAULT_IMAGE_PATH = '/tmp/sonic_image' diff --git a/sonic_installer/common.py b/sonic_installer/common.py index 5e36cedb8c..685063587c 100644 --- a/sonic_installer/common.py +++ b/sonic_installer/common.py @@ -5,6 +5,7 @@ import subprocess import sys +import signal import click @@ -41,3 +42,9 @@ def run_command_or_raise(argv, raise_exception=True): raise SonicRuntimeException("Failed to run command '{0}'".format(argv)) return out.rstrip("\n") + +# Needed to prevent "broken pipe" error messages when piping +# output of multiple commands using subprocess.Popen() +def default_sigpipe(): + signal.signal(signal.SIGPIPE, signal.SIG_DFL) + diff --git a/sonic_installer/main.py b/sonic_installer/main.py index 72646531a9..1aaec8054e 100644 --- a/sonic_installer/main.py +++ b/sonic_installer/main.py @@ -533,15 +533,15 @@ def install(url, force, skip_platform_check=False, skip_migration=False, skip_pa raise click.Abort() else: # Verify not installing non-secure image in a secure running image - if not bootloader.verify_secureboot_image(image_path) and not force: + if not force and not bootloader.verify_secureboot_image(image_path): echo_and_log("Image file '{}' is of a different type than running image.\n".format(url) + "If you are sure you want to install this image, use -f|--force|--skip-secure-check.\n" + "Aborting...", LOG_ERR) raise click.Abort() # Verify that the binary image is of the same platform type as running platform - if not bootloader.verify_image_platform(image_path) and not skip_platform_check: - echo_and_log("Image file '{}' is of a different platform type than running platform.\n".format(url) + + if not skip_platform_check and not bootloader.verify_image_platform(image_path): + echo_and_log("Image file '{}' is of a different platform ASIC type than running platform's.\n".format(url) + "If you are sure you want to install this image, use --skip-platform-check.\n" + "Aborting...", LOG_ERR) raise click.Abort() From 0b2536be1b821cc3c34266841739f13cbbea5580 Mon Sep 17 00:00:00 2001 From: Renuka Manavalan <47282725+renukamanavalan@users.noreply.github.com> Date: Mon, 25 Oct 2021 16:57:05 -0700 Subject: [PATCH 332/342] Generic_upater: Apply JSON change (#1856) What I did Apply JSON change How I did it Get running config, apply json change and set the updates onto running redis. --- generic_config_updater/change_applier.py | 140 ++++++++ generic_config_updater/generic_updater.py | 5 +- .../generic_updater_config.conf.json | 59 ++++ generic_config_updater/services_validator.py | 17 + .../change_applier_test.py | 270 +++++++++++++++ .../files/change_applier_test.conf.json | 24 ++ .../files/change_applier_test.data.json | 308 ++++++++++++++++++ 7 files changed, 819 insertions(+), 4 deletions(-) create mode 100644 generic_config_updater/change_applier.py create mode 100644 generic_config_updater/generic_updater_config.conf.json create mode 100644 generic_config_updater/services_validator.py create mode 100644 tests/generic_config_updater/change_applier_test.py create mode 100644 tests/generic_config_updater/files/change_applier_test.conf.json create mode 100644 tests/generic_config_updater/files/change_applier_test.data.json diff --git a/generic_config_updater/change_applier.py b/generic_config_updater/change_applier.py new file mode 100644 index 0000000000..b5ed4a637b --- /dev/null +++ b/generic_config_updater/change_applier.py @@ -0,0 +1,140 @@ +import copy +import json +import jsondiff +import importlib +import os +import tempfile +from collections import defaultdict +from swsscommon.swsscommon import ConfigDBConnector +from .gu_common import genericUpdaterLogging + + +UPDATER_CONF_FILE = "/etc/sonic/generic_config_updater.conf" +logger = genericUpdaterLogging.get_logger(title="Change Applier") + +print_to_console = False +print_to_stdout = False + +def set_print_options(to_console=False, to_stdout=False): + global print_to_console, print_to_stdout + + print_to_console = to_console + print_to_stdout = to_stdout + + +def log_debug(m): + logger.log_debug(m, print_to_console) + if print_to_stdout: + print(m) + + +def log_error(m): + logger.log_error(m, print_to_console) + if print_to_stdout: + print(m) + + +def get_config_db(): + config_db = ConfigDBConnector() + config_db.connect() + return config_db + + +def set_config(config_db, tbl, key, data): + config_db.set_entry(tbl, key, data) + + +class ChangeApplier: + + updater_conf = None + + def __init__(self): + self.config_db = get_config_db() + if (not ChangeApplier.updater_conf) and os.path.exists(UPDATER_CONF_FILE): + with open(UPDATER_CONF_FILE, "r") as s: + ChangeApplier.updater_conf = json.load(s) + + + def _invoke_cmd(self, cmd, old_cfg, upd_cfg, keys): + # cmd is in the format as . + # + method_name = cmd.split(".")[-1] + module_name = ".".join(cmd.split(".")[0:-1]) + + module = importlib.import_module(module_name, package=None) + method_to_call = getattr(module, method_name) + + return method_to_call(old_cfg, upd_cfg, keys) + + + def _services_validate(self, old_cfg, upd_cfg, keys): + lst_svcs = set() + lst_cmds = set() + if not keys: + # calling apply with no config would invoke + # default validation, if any + # + keys[""] = {} + + tables = ChangeApplier.updater_conf["tables"] + for tbl in keys: + lst_svcs.update(tables.get(tbl, {}).get("services_to_validate", [])) + + services = ChangeApplier.updater_conf["services"] + for svc in lst_svcs: + lst_cmds.update(services.get(svc, {}).get("validate_commands", [])) + + for cmd in lst_cmds: + ret = self._invoke_cmd(cmd, old_cfg, upd_cfg, keys) + if ret: + log_error("service invoked: {} failed with ret={}".format(cmd, ret)) + return ret + log_debug("service invoked: {}".format(cmd)) + return 0 + + + def _upd_data(self, tbl, run_tbl, upd_tbl, upd_keys): + for key in set(run_tbl.keys()).union(set(upd_tbl.keys())): + run_data = run_tbl.get(key, None) + upd_data = upd_tbl.get(key, None) + + if run_data != upd_data: + set_config(self.config_db, tbl, key, upd_data) + upd_keys[tbl][key] = {} + log_debug("Patch affected tbl={} key={}".format(tbl, key)) + + + def _report_mismatch(self, run_data, upd_data): + log_error("run_data vs expected_data: {}".format( + str(jsondiff.diff(run_data, upd_data))[0:40])) + + + def apply(self, change): + run_data = self._get_running_config() + upd_data = change.apply(copy.deepcopy(run_data)) + upd_keys = defaultdict(dict) + + for tbl in sorted(set(run_data.keys()).union(set(upd_data.keys()))): + self._upd_data(tbl, run_data.get(tbl, {}), + upd_data.get(tbl, {}), upd_keys) + + ret = self._services_validate(run_data, upd_data, upd_keys) + if not ret: + run_data = self._get_running_config() + if upd_data != run_data: + self._report_mismatch(run_data, upd_data) + ret = -1 + if ret: + log_error("Failed to apply Json change") + return ret + + + def _get_running_config(self): + (_, fname) = tempfile.mkstemp(suffix="_changeApplier") + os.system("sonic-cfggen -d --print-data > {}".format(fname)) + run_data = {} + with open(fname, "r") as s: + run_data = json.load(s) + if os.path.isfile(fname): + os.remove(fname) + return run_data diff --git a/generic_config_updater/generic_updater.py b/generic_config_updater/generic_updater.py index 8205a20b27..5a6c7172a1 100644 --- a/generic_config_updater/generic_updater.py +++ b/generic_config_updater/generic_updater.py @@ -4,6 +4,7 @@ from .gu_common import GenericConfigUpdaterError, ConfigWrapper, \ DryRunConfigWrapper, PatchWrapper, genericUpdaterLogging from .patch_sorter import PatchSorter +from .change_applier import ChangeApplier CHECKPOINTS_DIR = "/etc/sonic/checkpoints" CHECKPOINT_EXT = ".cp.json" @@ -17,10 +18,6 @@ def release_lock(self): # TODO: Implement ConfigLock pass -class ChangeApplier: - def apply(self, change): - # TODO: Implement change applier - raise NotImplementedError("ChangeApplier.apply(change) is not implemented yet") class ConfigFormat(Enum): CONFIGDB = 1 diff --git a/generic_config_updater/generic_updater_config.conf.json b/generic_config_updater/generic_updater_config.conf.json new file mode 100644 index 0000000000..f86844cca5 --- /dev/null +++ b/generic_config_updater/generic_updater_config.conf.json @@ -0,0 +1,59 @@ +{ + "tables": { + "": { + "services_to_validate": [ "system_health" ] + }, + "PORT": { + "services_to_validate": [ "port_service" ] + }, + "SYSLOG_SERVER":{ + "services_to_validate": [ "rsyslog" ] + }, + "DHCP_RELAY": { + "services_to_validate": [ "dhcp-relay" ] + }, + "DHCP_SERVER": { + "services_to_validate": [ "dhcp-relay" ] + } + }, + "README": [ + "Validate_commands provides, module & method name as ", + " .", + "NOTE: module name could have '.'", + " ", + "The last element separated by '.' is considered as ", + "method name", + "", + "e.g. 'show.acl.test_acl'", + "", + "Here we load 'show.acl' and call 'test_acl' method on it.", + "", + "called as:", + " .>(, ", + " , )", + " config is in JSON format as in config_db.json", + " affected_keys in same format, but w/o value", + " { 'ACL_TABLE': { 'SNMP_ACL': {} ... }, ...}", + " The affected keys has 'added', 'updated' & 'deleted'", + "", + "Multiple validate commands may be provided.", + "", + "Note: The commands may be called in any order", + "" + ], + "services": { + "system_health": { + "validate_commands": [ ] + }, + "port_service": { + "validate_commands": [ ] + }, + "rsyslog": { + "validate_commands": [ "services_validator.ryslog_validator" ] + }, + "dhcp-relay": { + "validate_commands": [ "services_validator.dhcp_validator" ] + } + } +} + diff --git a/generic_config_updater/services_validator.py b/generic_config_updater/services_validator.py new file mode 100644 index 0000000000..525afe971b --- /dev/null +++ b/generic_config_updater/services_validator.py @@ -0,0 +1,17 @@ +import os +from .gu_common import genericUpdaterLogging + +logger = genericUpdaterLogging.get_logger(title="Service Validator") + +def _service_restart(svc_name): + os.system(f"systemctl restart {svc_name}") + logger.log_notice(f"Restarted {svc_name}") + + +def ryslog_validator(old_config, upd_config, keys): + _service_restart("rsyslog-config") + + +def dhcp_validator(old_config, upd_config, keys): + _service_restart("dhcp_relay") + diff --git a/tests/generic_config_updater/change_applier_test.py b/tests/generic_config_updater/change_applier_test.py new file mode 100644 index 0000000000..5d5b0908dc --- /dev/null +++ b/tests/generic_config_updater/change_applier_test.py @@ -0,0 +1,270 @@ +import copy +import json +import jsondiff +import os +import unittest +from collections import defaultdict +from unittest.mock import patch + +import generic_config_updater.change_applier +import generic_config_updater.gu_common + +SCRIPT_DIR = os.path.dirname(os.path.realpath(__file__)) +DATA_FILE = os.path.join(SCRIPT_DIR, "files", "change_applier_test.data.json") +CONF_FILE = os.path.join(SCRIPT_DIR, "files", "change_applier_test.conf.json") +# +# Datafile is structured as +# "running_config": {....} +# "json_changes": [ +# { +# "notes": , +# "update": { : {: {}, ...}...}, +# "remove": { : { : {}, ..}, ...}, +# "services_to_validate": [ , ...] +# }, +# ... +# ] +# +# The json_changes is read into global json_changes +# The ChangeApplier.apply is called with each change +# The mocked JsonChange.apply applies this diff on given config +# The ChangeApplier.apply calls set_entry to update redis +# But we mock set_entry, and that instead: +# remove the corresponding changes from json_changes. +# Updates the global running_config +# +# At the end of application of all changes, expect global json-changes to +# be empty, which assures that set_entry is called for all expected keys. +# The global running config would reflect the final config +# +# The changes are written in such a way, upon the last change, the config +# will be same as the original config that we started with or as read from +# data file. +# +# So compare global running_config with read_data for running config +# from the file. +# This compares the integrity of final o/p + +# Data read from file +read_data = {} + +# Keep a copy of running_config before calling apply +# This is used by service_validate call to verify the args +# Args from change applier: ( +# +start_running_config = {} + +# The mock_set_entry (otherwise redis update) reflects the final config +# service_validate calls will verify against this +# +running_config = {} + +# Copy of changes read. Used by mock JsonChange.apply +# Cleared by mocked set_entry +json_changes = {} + +# The index into list of i/p json changes for mock code to use +json_change_index = 0 + +DB_HANDLE = "config_db" + +def debug_print(msg): + print(msg) + + +# Mimics os.system call for sonic-cfggen -d --print-data > filename +# +def os_system_cfggen(cmd): + global running_config + + fname = cmd.split(">")[-1].strip() + with open(fname, "w") as s: + s.write(json.dumps(running_config, indent=4)) + debug_print("File created {} type={} cfg={}".format(fname, + type(running_config), json.dumps(running_config)[1:40])) + return 0 + + +# mimics config_db.set_entry +# +def set_entry(config_db, tbl, key, data): + global running_config, json_changes, json_change_index + + assert config_db == DB_HANDLE + debug_print("set_entry: {} {} {}".format(tbl, key, str(data))) + + json_change = json_changes[json_change_index] + change_data = json_change["update"] if data != None else json_change["remove"] + + assert tbl in change_data + assert key in change_data[tbl] + + if data != None: + if tbl not in running_config: + running_config[tbl] = {} + running_config[tbl][key] = data + else: + assert tbl in running_config + assert key in running_config[tbl] + running_config[tbl].pop(key) + if not running_config[tbl]: + running_config.pop(tbl) + + change_data[tbl].pop(key) + if not change_data[tbl]: + change_data.pop(tbl) + + +# mimics JsonChange.apply +# +class mock_obj: + def apply(self, config): + json_change = json_changes[json_change_index] + + update = copy.deepcopy(json_change["update"]) + for tbl in update: + if tbl not in config: + config[tbl] = {} + for key in update[tbl]: + debug_print("apply: tbl={} key={} ".format(tbl, key)) + if key in config[tbl]: + config[tbl][key].update(update[tbl][key]) + else: + config[tbl][key] = update[tbl][key] + + remove = json_change["remove"] + for tbl in remove: + if tbl in config: + for key in remove[tbl]: + config[tbl].pop(key, None) + debug_print("apply: popped tbl={} key={}".format(tbl, key)) + if not config[tbl]: + config.pop(tbl, None) + debug_print("apply: popped EMPTY tbl={}".format(tbl)) + return config + + +# Test validators +# +def system_health(old_cfg, new_cfg, keys): + debug_print("system_health called") + svc_name = "system_health" + if old_cfg != new_cfg: + debug_print("system_health: diff={}".format(str( + jsondiff.diff(old_cfg, new_cfg)))) + assert False, "No change expected" + svcs = json_changes[json_change_index].get("services_validated", None) + if svcs != None: + assert svc_name in svcs + svcs.remove(svc_name) + + +def _validate_keys(keys): + # validate keys against original change as read from data file + # + change = read_data["json_changes"][json_change_index] + change_data = copy.deepcopy(change["update"]) + change_data.update(change["remove"]) + + for tbl in set(change_data.keys()).union(set(keys.keys())): + assert tbl in change_data + assert tbl in keys + chg_tbl = change_data[tbl] + keys_tbl = keys[tbl] + for key in set(chg_tbl.keys()).union(set(keys_tbl.keys())): + assert key in chg_tbl + assert key in keys_tbl + + +def _validate_svc(svc_name, old_cfg, new_cfg, keys): + if old_cfg != start_running_config: + debug_print("validate svc {}: old diff={}".format(svc_name, str( + jsondiff.diff(old_cfg, start_running_config)))) + assert False, "_validate_svc: old config mismatch" + + if new_cfg != running_config: + debug_print("validate svc {}: new diff={}".format(svc_name, str( + jsondiff.diff(new_cfg, running_config)))) + assert False, "_validate_svc: running config mismatch" + + _validate_keys(keys) + + # None provides a chance for test data to skip services_validated + # verification + svcs = json_changes[json_change_index].get("services_validated", None) + if svcs != None: + assert svc_name in svcs + svcs.remove(svc_name) + + +def acl_validate(old_cfg, new_cfg, keys): + debug_print("acl_validate called") + _validate_svc("acl_validate", old_cfg, new_cfg, keys) + + +def vlan_validate(old_cfg, new_cfg, keys): + debug_print("vlan_validate called") + _validate_svc("vlan_validate", old_cfg, new_cfg, keys) + + +class TestChangeApplier(unittest.TestCase): + + @patch("generic_config_updater.change_applier.os.system") + @patch("generic_config_updater.change_applier.get_config_db") + @patch("generic_config_updater.change_applier.set_config") + def test_change_apply(self, mock_set, mock_db, mock_os_sys): + global read_data, running_config, json_changes, json_change_index + global start_running_config + + mock_os_sys.side_effect = os_system_cfggen + mock_db.return_value = DB_HANDLE + mock_set.side_effect = set_entry + + with open(DATA_FILE, "r") as s: + read_data = json.load(s) + + running_config = copy.deepcopy(read_data["running_data"]) + json_changes = copy.deepcopy(read_data["json_changes"]) + + generic_config_updater.change_applier.UPDATER_CONF_FILE = CONF_FILE + generic_config_updater.change_applier.set_print_options(to_stdout=True) + + applier = generic_config_updater.change_applier.ChangeApplier() + debug_print("invoked applier") + + for i in range(len(json_changes)): + json_change_index = i + + # Take copy for comparison + start_running_config = copy.deepcopy(running_config) + + debug_print("main: json_change_index={}".format(json_change_index)) + + applier.apply(mock_obj()) + + debug_print(f"Testing json_change {json_change_index}") + + debug_print("Checking: index={} update:{} remove:{} svcs:{}".format(i, + json.dumps(json_changes[i]["update"])[0:20], + json.dumps(json_changes[i]["remove"])[0:20], + json.dumps(json_changes[i].get("services_validated", []))[0:20])) + assert not json_changes[i]["update"] + assert not json_changes[i]["remove"] + assert not json_changes[i].get("services_validated", []) + debug_print(f"----------------------------- DONE {i} ---------------------------------") + + debug_print("All changes applied & tested") + + # Test data is set up in such a way the multiple changes + # finally brings it back to original config. + # + if read_data["running_data"] != running_config: + debug_print("final config mismatch: {}".format(str( + jsondiff.diff(read_data["running_data"], running_config)))) + + assert read_data["running_data"] == running_config + + debug_print("all good for applier") + + + diff --git a/tests/generic_config_updater/files/change_applier_test.conf.json b/tests/generic_config_updater/files/change_applier_test.conf.json new file mode 100644 index 0000000000..9b0f552a43 --- /dev/null +++ b/tests/generic_config_updater/files/change_applier_test.conf.json @@ -0,0 +1,24 @@ +{ + "tables": { + "": { + "services_to_validate": [ "system_health" ] + }, + "ACL_TABLE": { + "services_to_validate": [ "acl_service" ] + }, + "VLAN_INTERFACE": { + "services_to_validate": [ "acl_service", "vlan_service" ] + } + }, + "services": { + "system_health": { + "validate_commands": [ "tests.generic_config_updater.change_applier_test.system_health" ] + }, + "acl_service": { + "validate_commands": [ "tests.generic_config_updater.change_applier_test.acl_validate" ] + }, + "vlan_service": { + "validate_commands": [ "tests.generic_config_updater.change_applier_test.vlan_validate" ] + } + } +} diff --git a/tests/generic_config_updater/files/change_applier_test.data.json b/tests/generic_config_updater/files/change_applier_test.data.json new file mode 100644 index 0000000000..d75541a5de --- /dev/null +++ b/tests/generic_config_updater/files/change_applier_test.data.json @@ -0,0 +1,308 @@ +{ + "running_data": { + "ACL_TABLE": { + "DATAACL": { + "policy_desc": "DATAACL", + "ports": [ + "PortChannel0001", + "PortChannel0002", + "PortChannel0003", + "PortChannel0007" + ], + "stage": "ingress", + "type": "L3" + }, + "EVERFLOW": { + "policy_desc": "EVERFLOW", + "ports": [ + "PortChannel0001", + "PortChannel0002", + "PortChannel0003", + "PortChannel0004", + "Ethernet96" + ], + "stage": "ingress", + "type": "MIRROR" + }, + "EVERFLOWV6": { + "policy_desc": "EVERFLOWV6", + "ports": [ + "PortChannel0001", + "PortChannel0002", + "PortChannel0003", + "PortChannel0004", + "Ethernet96" + ], + "stage": "ingress", + "type": "MIRRORV6" + } + }, + "BGP_NEIGHBOR": { + "10.0.0.57": { + "asn": "64600", + "holdtime": "10", + "keepalive": "3", + "local_addr": "10.0.0.56", + "name": "ARISTA01T1", + "nhopself": "0", + "rrclient": "0" + }, + "10.0.0.59": { + "asn": "64600", + "holdtime": "10", + "keepalive": "3", + "local_addr": "10.0.0.58", + "name": "ARISTA02T1", + "nhopself": "0", + "rrclient": "0" + } + }, + "BGP_PEER_RANGE": { + "BGPSLBPassive": { + "ip_range": [ + "10.255.0.0/25" + ], + "name": "BGPSLBPassive", + "src_address": "10.1.0.32" + }, + "BGPVac": { + "ip_range": [ + "192.168.0.0/21" + ], + "name": "BGPVac", + "src_address": "10.1.0.32" + } + }, + "BUFFER_PG": { + "Ethernet0|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "Ethernet100|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "Ethernet104|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "Ethernet108|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + }, + "Ethernet112|0": { + "profile": "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet112|3-4": { + "profile": "[BUFFER_PROFILE|pg_lossless_40000_300m_profile]" + } + }, + "DEVICE_METADATA": { + "localhost": { + "bgp_asn": "65100", + "buffer_model": "traditional", + "cloudtype": "None", + "default_bgp_status": "down", + "default_pfcwd_status": "enable", + "deployment_id": "1", + "docker_routing_config_mode": "separated", + "type": "ToRRouter" + } + }, + "DEVICE_NEIGHBOR_METADATA": { + "ARISTA01T1": { + "hwsku": "Arista-VM", + "lo_addr": "None", + "mgmt_addr": "10.64.246.220", + "type": "LeafRouter" + }, + "ARISTA02T1": { + "hwsku": "Arista-VM", + "lo_addr": "None", + "mgmt_addr": "10.64.246.221", + "type": "LeafRouter" + } + }, + "PORT": { + "Ethernet0": { + "alias": "fortyGigE0/0", + "description": "fortyGigE0/0", + "index": "0", + "lanes": "29,30,31,32", + "mtu": "9100", + "pfc_asym": "off", + "speed": "40000" + }, + "Ethernet100": { + "alias": "fortyGigE0/100", + "description": "fortyGigE0/100", + "index": "25", + "lanes": "125,126,127,128", + "mtu": "9100", + "pfc_asym": "off", + "speed": "40000" + }, + "Ethernet104": { + "alias": "fortyGigE0/104", + "description": "fortyGigE0/104", + "index": "26", + "lanes": "85,86,87,88", + "mtu": "9100", + "pfc_asym": "off", + "speed": "40000" + }, + "Ethernet108": { + "alias": "fortyGigE0/108", + "description": "fortyGigE0/108", + "index": "27", + "lanes": "81,82,83,84", + "mtu": "9100", + "pfc_asym": "off", + "speed": "40000" + } + }, + "PORTCHANNEL": { + "PortChannel0001": { + "admin_status": "up", + "members": [ + "Ethernet112" + ], + "min_links": "1", + "mtu": "9100" + }, + "PortChannel0002": { + "admin_status": "up", + "members": [ + "Ethernet116" + ], + "min_links": "1", + "mtu": "9100" + } + }, + "PORTCHANNEL_INTERFACE": { + "PortChannel0001": {}, + "PortChannel0002": {}, + "PortChannel0001|10.0.0.56/31": {}, + "PortChannel0001|FC00::71/126": {}, + "PortChannel0002|10.0.0.58/31": {}, + "PortChannel0002|FC00::75/126": {} + }, + "PORTCHANNEL_MEMBER": { + "PortChannel0001|Ethernet112": {}, + "PortChannel0002|Ethernet116": {}, + "PortChannel0003|Ethernet120": {}, + "PortChannel0004|Ethernet124": {} + }, + "QUEUE": { + "Ethernet112|0": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet112|1": { + "scheduler": "[SCHEDULER|scheduler.0]" + } + }, + "VLAN": { + "Vlan1000": { + "dhcp_servers": [ + "192.0.0.1", + "192.0.0.2", + "192.0.0.48" + ], + "members": [ + "Ethernet4", + "Ethernet8", + "Ethernet96" + ], + "vlanid": "1000" + } + }, + "VLAN_INTERFACE": { + "Vlan1000": {}, + "Vlan1000|192.168.0.1/21": {}, + "Vlan1000|2603:10b0:b13:c70::1/64": {} + }, + "VLAN_MEMBER": { + "Vlan1000|Ethernet12": { + "tagging_mode": "untagged" + }, + "Vlan1000|Ethernet16": { + "tagging_mode": "untagged" + }, + "Vlan1000|Ethernet28": { + } + }, + "WRED_PROFILE": { + "AZURE_LOSSLESS": { + "ecn": "ecn_all", + "green_drop_probability": "5", + "yellow_drop_probability": "5", + "yellow_max_threshold": "2097152", + "yellow_min_threshold": "1048576" + } + } + }, + "json_changes": [ + { + "name": "change_0", + "update": {}, + "remove": {}, + "services_validated": ["system_health"] + }, + { + "name": "change_1", + "update": { + "VLAN_INTERFACE": { "Vlan2000": {}, "Vlan2000|192.168.0.2/21": {} }, + "WRED_PROFILE": { "AZURE_LOSSLESS": { "green_drop_probability": "99", "ecn": "88" }}, + "ACL_TABLE": {"DATAACL": {"type": "test_data" }} + }, + "remove": { + "BGP_NEIGHBOR": { "10.0.0.57": {} }, + "BGP_PEER_RANGE": { "BGPSLBPassive": {} } + }, + "services_validated": [ "vlan_validate", "acl_validate" ] + }, + { + "name": "change_2", + "update": { + "BGP_NEIGHBOR": { "10.0.0.57": { + "asn": "64600", + "holdtime": "10", + "keepalive": "3", + "local_addr": "10.0.0.56", + "name": "ARISTA01T1", + "nhopself": "0", + "rrclient": "0" }}, + "WRED_PROFILE": { "AZURE_LOSSLESS": { "ecn": "ecn_all" } }, + "ACL_TABLE": {"DATAACL": {"type": "test_data11" }}, + "TEST_ONLY" : { "TEST_SUB" : {"foo": "88" } } + }, + "remove": { + "VLAN_INTERFACE": { "Vlan2000": {} } + } + }, + { + "name": "change_3", + "update": { + "WRED_PROFILE": { "AZURE_LOSSLESS": { "green_drop_probability": "5" } }, + "ACL_TABLE": {"DATAACL": { + "policy_desc": "DATAACL", + "ports": [ + "PortChannel0001", + "PortChannel0002", + "PortChannel0003", + "PortChannel0007" + ], + "stage": "ingress", + "type": "L3" } + }, + "BGP_PEER_RANGE": { + "BGPSLBPassive": { + "ip_range": ["10.255.0.0/25"], + "name": "BGPSLBPassive", + "src_address": "10.1.0.32" + } + } + }, + "remove": { + "VLAN_INTERFACE": { "Vlan2000|192.168.0.2/21": {} }, + "TEST_ONLY": { "TEST_SUB": {} } + } + } + ] +} From f53baaca04c43dab0a798429ed2969492c055c25 Mon Sep 17 00:00:00 2001 From: vganesan-nokia <67648637+vganesan-nokia@users.noreply.github.com> Date: Tue, 26 Oct 2021 21:16:21 -0400 Subject: [PATCH 333/342] [watermarkstat] Fix for error in processing empty array from couters db (#1810) With switch to swsscommon, the get operations return NULL ('') if there are no entries in any table. But the existing code for handling counters values in the case of absence of entries assumes that the get operations return 'None', which was the case with swsssdk. This was causing problem. For PG_WATERMARK_STAT_COUNTER SAI does not support SAI_INGRESS_PRIORITY_GROUP_STAT_XOFF_ROOM_WATERMARK_BYTES and SAI_INGRESS_PRIORITY_GROUP_STAT_SHARED_WATERMARK_BYTES. So there are no objects in the counters db. With swsscommon, in the absence of objects, an empty string ('') is returned instead of 'None'. The code expecting 'None' tries to converts the empty string to integer and throws error. This is fixed by adding check for empty string in addition to 'None'. Signed-off-by: vedganes --- scripts/watermarkstat | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/watermarkstat b/scripts/watermarkstat index 7bdc7a0158..ffcec56fa9 100755 --- a/scripts/watermarkstat +++ b/scripts/watermarkstat @@ -232,7 +232,7 @@ class Watermarkstat(object): idx = int(idx_func(obj_id)) pos = idx - self.min_idx counter_data = self.counters_db.get(self.counters_db.COUNTERS_DB, full_table_id, watermark) - if counter_data is None: + if counter_data is None or counter_data == '': fields[pos] = STATUS_NA elif fields[pos] != STATUS_NA: fields[pos] = str(int(counter_data)) From 776fddfd886962e40d78b3b1053f34fb5db0e73a Mon Sep 17 00:00:00 2001 From: Stepan Blyshchak <38952541+stepanblyschak@users.noreply.github.com> Date: Wed, 27 Oct 2021 19:15:46 +0300 Subject: [PATCH 334/342] [sonic-package-manager] code style fixes and enhancements (#1802) Highlights: * Don't use f-strings where it is not needed * Indentation fixes in comprehension expressions * Created containers removal method in DockerApi * Fixed a debug message where dependency instead of conflict variable was displayed * Return value type annotations for some functions * Docstrings fixes & removed trailing spaces. Signed-off-by: Stepan Blyschak --- sonic_package_manager/constraint.py | 2 +- sonic_package_manager/dockerapi.py | 9 ++ sonic_package_manager/errors.py | 1 - sonic_package_manager/main.py | 16 ++-- sonic_package_manager/manager.py | 89 ++++++++++--------- sonic_package_manager/metadata.py | 7 +- sonic_package_manager/registry.py | 2 +- .../service_creator/__init__.py | 1 + .../service_creator/creator.py | 74 ++++++++------- sonic_package_manager/source.py | 1 + 10 files changed, 115 insertions(+), 87 deletions(-) diff --git a/sonic_package_manager/constraint.py b/sonic_package_manager/constraint.py index a2cffe0cf0..6965ad9cb3 100644 --- a/sonic_package_manager/constraint.py +++ b/sonic_package_manager/constraint.py @@ -95,7 +95,7 @@ def parse(constraints: Dict) -> 'ComponentConstraints': """ components = {component: VersionConstraint.parse(version) - for component, version in constraints.items()} + for component, version in constraints.items()} return ComponentConstraints(components) def deparse(self) -> Dict[str, str]: diff --git a/sonic_package_manager/dockerapi.py b/sonic_package_manager/dockerapi.py index 926600d0bc..7f051d2d72 100644 --- a/sonic_package_manager/dockerapi.py +++ b/sonic_package_manager/dockerapi.py @@ -186,6 +186,15 @@ def rm(self, container: str, **kwargs): self.client.containers.get(container).remove(**kwargs) log.debug(f'removed container {container}') + def rm_by_ancestor(self, image_id: str, **kwargs): + """ Docker 'rm' command for running containers instantiated + from image passed to this function. """ + + # Clean containers based on the old image + containers = self.ps(filters={'ancestor': image_id}, all=True) + for container in containers: + self.rm(container.id, **kwargs) + def ps(self, **kwargs): """ Docker 'ps' command. """ diff --git a/sonic_package_manager/errors.py b/sonic_package_manager/errors.py index 17279c52c4..fe4de39a39 100644 --- a/sonic_package_manager/errors.py +++ b/sonic_package_manager/errors.py @@ -143,4 +143,3 @@ class PackageComponentConflictError(PackageInstallationError): def __str__(self): return (f'Package {self.name} conflicts with {self.component} {self.constraint} ' f'in package {self.dependency} but version {self.installed_ver} is installed') - diff --git a/sonic_package_manager/main.py b/sonic_package_manager/main.py index c0589ae5b5..dfb88bd58d 100644 --- a/sonic_package_manager/main.py +++ b/sonic_package_manager/main.py @@ -361,7 +361,7 @@ def install(ctx, package_source = package_expr or from_repository or from_tarball if not package_source: - exit_cli(f'Package source is not specified', fg='red') + exit_cli('Package source is not specified', fg='red') if not yes and not force: click.confirm(f'{package_source} is going to be installed, ' @@ -386,7 +386,7 @@ def install(ctx, except Exception as err: exit_cli(f'Failed to install {package_source}: {err}', fg='red') except KeyboardInterrupt: - exit_cli(f'Operation canceled by user', fg='red') + exit_cli('Operation canceled by user', fg='red') @cli.command() @@ -409,7 +409,7 @@ def reset(ctx, name, force, yes, skip_host_plugins): except Exception as err: exit_cli(f'Failed to reset package {name}: {err}', fg='red') except KeyboardInterrupt: - exit_cli(f'Operation canceled by user', fg='red') + exit_cli('Operation canceled by user', fg='red') @cli.command() @@ -426,12 +426,16 @@ def uninstall(ctx, name, force, yes): click.confirm(f'Package {name} is going to be uninstalled, ' f'continue?', abort=True, show_default=True) + uninstall_opts = { + 'force': force, + } + try: - manager.uninstall(name, force) + manager.uninstall(name, **uninstall_opts) except Exception as err: exit_cli(f'Failed to uninstall package {name}: {err}', fg='red') except KeyboardInterrupt: - exit_cli(f'Operation canceled by user', fg='red') + exit_cli('Operation canceled by user', fg='red') @cli.command() @@ -453,7 +457,7 @@ def migrate(ctx, database, force, yes, dockerd_socket): except Exception as err: exit_cli(f'Failed to migrate packages {err}', fg='red') except KeyboardInterrupt: - exit_cli(f'Operation canceled by user', fg='red') + exit_cli('Operation canceled by user', fg='red') if __name__ == "__main__": diff --git a/sonic_package_manager/manager.py b/sonic_package_manager/manager.py index 41f95bd4bd..3ecd1f5600 100644 --- a/sonic_package_manager/manager.py +++ b/sonic_package_manager/manager.py @@ -39,6 +39,7 @@ from sonic_package_manager.progress import ProgressManager from sonic_package_manager.reference import PackageReference from sonic_package_manager.registry import RegistryResolver +from sonic_package_manager.service_creator import SONIC_CLI_COMMANDS from sonic_package_manager.service_creator.creator import ( ServiceCreator, run_command @@ -52,7 +53,6 @@ RegistrySource, TarballSource ) -from sonic_package_manager.utils import DockerReference from sonic_package_manager.version import ( Version, version_to_tag, @@ -101,7 +101,7 @@ def wrapped_function(*args, **kwargs): return wrapped_function -def rollback(func, *args, **kwargs): +def rollback(func, *args, **kwargs) -> Callable: """ Used in rollback callbacks to ignore failure but proceed with rollback. Error will be printed but not fail the whole procedure of rollback. """ @@ -131,7 +131,7 @@ def package_constraint_to_reference(constraint: PackageConstraint) -> PackageRef return PackageReference(package_name, version_to_tag(version)) -def parse_reference_expression(expression): +def parse_reference_expression(expression) -> PackageReference: try: return package_constraint_to_reference(PackageConstraint.parse(expression)) except ValueError: @@ -247,7 +247,7 @@ def validate_package_tree(packages: Dict[str, Package]): continue component_version = conflicting_package.components[component] - log.debug(f'conflicting package {dependency.name}: ' + log.debug(f'conflicting package {conflict.name}: ' f'component {component} version is {component_version}') if constraint.allows(component_version): @@ -397,12 +397,17 @@ def install_from_source(self, if not self.database.has_package(package.name): self.database.add_package(package.name, package.repository) + service_create_opts = { + 'state': feature_state, + 'owner': default_owner, + } + try: with contextlib.ExitStack() as exits: source.install(package) exits.callback(rollback(source.uninstall, package)) - self.service_creator.create(package, state=feature_state, owner=default_owner) + self.service_creator.create(package, **service_create_opts) exits.callback(rollback(self.service_creator.remove, package)) self.service_creator.generate_shutdown_sequence_files( @@ -481,13 +486,7 @@ def uninstall(self, name: str, force=False): self.service_creator.generate_shutdown_sequence_files( self._get_installed_packages_except(package) ) - - # Clean containers based on this image - containers = self.docker.ps(filters={'ancestor': package.image_id}, - all=True) - for container in containers: - self.docker.rm(container.id, force=True) - + self.docker.rm_by_ancestor(package.image_id, force=True) self.docker.rmi(package.image_id, force=True) package.entry.image_id = None except Exception as err: @@ -563,6 +562,13 @@ def upgrade_from_source(self, # After all checks are passed we proceed to actual upgrade + service_create_opts = { + 'register_feature': False, + } + service_remove_opts = { + 'deregister_feature': False, + } + try: with contextlib.ExitStack() as exits: self._uninstall_cli_plugins(old_package) @@ -576,19 +582,15 @@ def upgrade_from_source(self, exits.callback(rollback(self._systemctl_action, old_package, 'start')) - self.service_creator.remove(old_package, deregister_feature=False) + self.service_creator.remove(old_package, **service_remove_opts) exits.callback(rollback(self.service_creator.create, old_package, - register_feature=False)) + **service_create_opts)) - # Clean containers based on the old image - containers = self.docker.ps(filters={'ancestor': old_package.image_id}, - all=True) - for container in containers: - self.docker.rm(container.id, force=True) + self.docker.rm_by_ancestor(old_package.image_id, force=True) - self.service_creator.create(new_package, register_feature=False) + self.service_creator.create(new_package, **service_create_opts) exits.callback(rollback(self.service_creator.remove, new_package, - register_feature=False)) + **service_remove_opts)) self.service_creator.generate_shutdown_sequence_files( self._get_installed_packages_and(new_package) @@ -654,16 +656,16 @@ def migrate_packages(self, old_package_database: PackageDatabase, dockerd_sock: Optional[str] = None): """ - Migrate packages from old database. This function can do a comparison between - current database and the database passed in as argument. If the package is - missing in the current database it will be added. If the package is installed - in the passed database and in the current it is not installed it will be - installed with a passed database package version. If the package is installed - in the passed database and it is installed in the current database but with - older version the package will be upgraded to the never version. If the package - is installed in the passed database and in the current it is installed but with - never version - no actions are taken. If dockerd_sock parameter is passed, the - migration process will use loaded images from docker library of the currently + Migrate packages from old database. This function can do a comparison between + current database and the database passed in as argument. If the package is + missing in the current database it will be added. If the package is installed + in the passed database and in the current it is not installed it will be + installed with a passed database package version. If the package is installed + in the passed database and it is installed in the current database but with + older version the package will be upgraded to the never version. If the package + is installed in the passed database and in the current it is installed but with + never version - no actions are taken. If dockerd_sock parameter is passed, the + migration process will use loaded images from docker library of the currently installed image. Args: @@ -784,7 +786,7 @@ def get_package_source(self, ref = parse_reference_expression(package_expression) return self.get_package_source(package_ref=ref) elif repository_reference: - repo_ref = DockerReference.parse(repository_reference) + repo_ref = utils.DockerReference.parse(repository_reference) repository = repo_ref['name'] reference = repo_ref['tag'] or repo_ref['digest'] reference = reference or 'latest' @@ -815,8 +817,8 @@ def get_package_source(self, if package_entry.default_reference is not None: package_ref.reference = package_entry.default_reference else: - raise PackageManagerError(f'No default reference tag. ' - f'Please specify the version or tag explicitly') + raise PackageManagerError('No default reference tag. ' + 'Please specify the version or tag explicitly') return RegistrySource(package_entry.repository, package_ref.reference, @@ -888,7 +890,7 @@ def get_installed_packages_list(self) -> List[Package]: Installed packages dictionary. """ - return [self.get_installed_package(entry.name) + return [self.get_installed_package(entry.name) for entry in self.database if entry.installed] def _migrate_package_database(self, old_package_database: PackageDatabase): @@ -948,11 +950,11 @@ def _systemctl_action(self, package: Package, action: str): run_command(f'systemctl {action} {name}@{npu}') def _install_cli_plugins(self, package: Package): - for command in ('show', 'config', 'clear'): + for command in SONIC_CLI_COMMANDS: self._install_cli_plugin(package, command) def _uninstall_cli_plugins(self, package: Package): - for command in ('show', 'config', 'clear'): + for command in SONIC_CLI_COMMANDS: self._uninstall_cli_plugin(package, command) def _install_cli_plugin(self, package: Package, command: str): @@ -978,12 +980,17 @@ def get_manager() -> 'PackageManager': PackageManager """ - docker_api = DockerApi(docker.from_env()) + docker_api = DockerApi(docker.from_env(), ProgressManager()) registry_resolver = RegistryResolver() - return PackageManager(DockerApi(docker.from_env(), ProgressManager()), + metadata_resolver = MetadataResolver(docker_api, registry_resolver) + feature_registry = FeatureRegistry(SonicDB) + service_creator = ServiceCreator(feature_registry, + SonicDB) + + return PackageManager(docker_api, registry_resolver, PackageDatabase.from_file(), - MetadataResolver(docker_api, registry_resolver), - ServiceCreator(FeatureRegistry(SonicDB), SonicDB), + metadata_resolver, + service_creator, device_info, filelock.FileLock(PACKAGE_MANAGER_LOCK_FILE, timeout=0)) diff --git a/sonic_package_manager/metadata.py b/sonic_package_manager/metadata.py index 7f7c25ceaf..62cc8bea53 100644 --- a/sonic_package_manager/metadata.py +++ b/sonic_package_manager/metadata.py @@ -24,10 +24,10 @@ def deep_update(dst: Dict, src: Dict) -> Dict: for key, value in src.items(): if isinstance(value, dict): - node = dst.setdefault(key, {}) - deep_update(node, value) + node = dst.setdefault(key, {}) + deep_update(node, value) else: - dst[key] = value + dst[key] = value return dst @@ -183,3 +183,4 @@ def from_labels(cls, labels: Dict[str, str]) -> Metadata: raise MetadataError(f'Failed to parse component version: {err}') return Metadata(Manifest.marshal(manifest_dict), components) + diff --git a/sonic_package_manager/registry.py b/sonic_package_manager/registry.py index 8a09d9136e..8c03b078d2 100644 --- a/sonic_package_manager/registry.py +++ b/sonic_package_manager/registry.py @@ -38,7 +38,7 @@ def get_token(realm, service, scope) -> str: response = requests.get(f'{realm}?scope={scope}&service={service}') if response.status_code != requests.codes.ok: - raise AuthenticationServiceError(f'Failed to retrieve token') + raise AuthenticationServiceError('Failed to retrieve token') content = json.loads(response.content) token = content['token'] diff --git a/sonic_package_manager/service_creator/__init__.py b/sonic_package_manager/service_creator/__init__.py index e2af81ceb5..b0f4a24086 100644 --- a/sonic_package_manager/service_creator/__init__.py +++ b/sonic_package_manager/service_creator/__init__.py @@ -1,3 +1,4 @@ #!/usr/bin/env python ETC_SONIC_PATH = '/etc/sonic' +SONIC_CLI_COMMANDS = ('show', 'config', 'clear') diff --git a/sonic_package_manager/service_creator/creator.py b/sonic_package_manager/service_creator/creator.py index 4c618eb7ea..4a7b032854 100644 --- a/sonic_package_manager/service_creator/creator.py +++ b/sonic_package_manager/service_creator/creator.py @@ -5,7 +5,7 @@ import stat import subprocess from collections import defaultdict -from typing import Dict +from typing import Dict, Type import jinja2 as jinja2 from prettyprinter import pformat @@ -15,6 +15,7 @@ from sonic_package_manager.package import Package from sonic_package_manager.service_creator import ETC_SONIC_PATH from sonic_package_manager.service_creator.feature import FeatureRegistry +from sonic_package_manager.service_creator.sonic_db import SonicDB from sonic_package_manager.service_creator.utils import in_chroot SERVICE_FILE_TEMPLATE = 'sonic.service.j2' @@ -78,12 +79,22 @@ def set_executable_bit(filepath): os.chmod(filepath, st.st_mode | stat.S_IEXEC) +def remove_if_exists(path): + """ Remove filepath if it exists """ + + if not os.path.exists(path): + return + + os.remove(path) + log.info(f'removed {path}') + + def run_command(command: str): """ Run arbitrary bash command. Args: command: String command to execute as bash script Raises: - PackageManagerError: Raised when the command return code + ServiceCreatorError: Raised when the command return code is not 0. """ @@ -104,12 +115,12 @@ class ServiceCreator: def __init__(self, feature_registry: FeatureRegistry, - sonic_db): + sonic_db: Type[SonicDB]): """ Initialize ServiceCreator with: - + Args: feature_registry: FeatureRegistry object. - sonic_db: SonicDb interface. + sonic_db: SonicDB interface. """ self.feature_registry = feature_registry @@ -120,8 +131,8 @@ def create(self, register_feature: bool = True, state: str = 'enabled', owner: str = 'local'): - """ Register package as SONiC service. - + """ Register package as SONiC service. + Args: package: Package object to install. register_feature: Wether to register this package in FEATURE table. @@ -154,7 +165,7 @@ def remove(self, package: Package, deregister_feature: bool = True): """ Uninstall SONiC service provided by the package. - + Args: package: Package object to uninstall. deregister_feature: Wether to deregister this package from FEATURE table. @@ -164,19 +175,12 @@ def remove(self, """ name = package.manifest['service']['name'] - - def remove_file(path): - if os.path.exists(path): - os.remove(path) - log.info(f'removed {path}') - - remove_file(os.path.join(SYSTEMD_LOCATION, f'{name}.service')) - remove_file(os.path.join(SYSTEMD_LOCATION, f'{name}@.service')) - remove_file(os.path.join(SERVICE_MGMT_SCRIPT_LOCATION, f'{name}.sh')) - remove_file(os.path.join(DOCKER_CTL_SCRIPT_LOCATION, f'{name}.sh')) - remove_file(os.path.join(DEBUG_DUMP_SCRIPT_LOCATION, f'{name}')) - remove_file(os.path.join(ETC_SONIC_PATH, f'{name}_reconcile')) - + remove_if_exists(os.path.join(SYSTEMD_LOCATION, f'{name}.service')) + remove_if_exists(os.path.join(SYSTEMD_LOCATION, f'{name}@.service')) + remove_if_exists(os.path.join(SERVICE_MGMT_SCRIPT_LOCATION, f'{name}.sh')) + remove_if_exists(os.path.join(DOCKER_CTL_SCRIPT_LOCATION, f'{name}.sh')) + remove_if_exists(os.path.join(DEBUG_DUMP_SCRIPT_LOCATION, f'{name}')) + remove_if_exists(os.path.join(ETC_SONIC_PATH, f'{name}_reconcile')) self.update_dependent_list_file(package, remove=True) self._post_operation_hook() @@ -185,8 +189,8 @@ def remove_file(path): self.remove_config(package) def generate_container_mgmt(self, package: Package): - """ Generates container management script under /usr/bin/.sh for package. - + """ Generates container management script under /usr/bin/.sh for package. + Args: package: Package object to generate script for. Returns: @@ -228,8 +232,8 @@ def generate_container_mgmt(self, package: Package): log.info(f'generated {script_path}') def generate_service_mgmt(self, package: Package): - """ Generates service management script under /usr/local/bin/.sh for package. - + """ Generates service management script under /usr/local/bin/.sh for package. + Args: package: Package object to generate script for. Returns: @@ -249,8 +253,8 @@ def generate_service_mgmt(self, package: Package): log.info(f'generated {script_path}') def generate_systemd_service(self, package: Package): - """ Generates systemd service(s) file and timer(s) (if needed) for package. - + """ Generates systemd service(s) file and timer(s) (if needed) for package. + Args: package: Package object to generate service for. Returns: @@ -297,13 +301,15 @@ def generate_systemd_service(self, package: Package): def update_dependent_list_file(self, package: Package, remove=False): """ This function updates dependent list file for packages listed in "dependent-of" (path: /etc/sonic/_dependent file). - + Args: package: Package to update packages dependent of it. + remove: True if update for removal process. Returns: None. """ + name = package.manifest['service']['name'] dependent_of = package.manifest['service']['dependent-of'] host_service = package.manifest['service']['host-service'] @@ -337,7 +343,7 @@ def update_dependent(service, name, multi_inst): def generate_dump_script(self, package): """ Generates dump plugin script for package. - + Args: package: Package object to generate dump plugin script for. Returns: @@ -363,7 +369,7 @@ def generate_dump_script(self, package): def get_shutdown_sequence(self, reboot_type: str, packages: Dict[str, Package]): """ Returns shutdown sequence file for particular reboot type. - + Args: reboot_type: Reboot type to generated service shutdown sequence for. packages: Dict of installed packages. @@ -410,7 +416,7 @@ def filter_not_available(services): def generate_shutdown_sequence_file(self, reboot_type: str, packages: Dict[str, Package]): """ Generates shutdown sequence file for particular reboot type (path: /etc/sonic/-reboot_order). - + Args: reboot_type: Reboot type to generated service shutdown sequence for. packages: Dict of installed packages. @@ -421,11 +427,11 @@ def generate_shutdown_sequence_file(self, reboot_type: str, packages: Dict[str, order = self.get_shutdown_sequence(reboot_type, packages) with open(os.path.join(ETC_SONIC_PATH, f'{reboot_type}-reboot_order'), 'w') as file: file.write(' '.join(order)) - + def generate_shutdown_sequence_files(self, packages: Dict[str, Package]): - """ Generates shutdown sequence file for fast and warm reboot. + """ Generates shutdown sequence file for fast and warm reboot. (path: /etc/sonic/-reboot_order). - + Args: packages: Dict of installed packages. Returns: diff --git a/sonic_package_manager/source.py b/sonic_package_manager/source.py index c179e0b3ee..7a13dccbac 100644 --- a/sonic_package_manager/source.py +++ b/sonic_package_manager/source.py @@ -26,6 +26,7 @@ def get_metadata(self) -> Metadata: Returns: Metadata """ + raise NotImplementedError def install_image(self, package: Package): From 3a8ab731abb12a38f3e9acba333a5a0aef9e0a6d Mon Sep 17 00:00:00 2001 From: Sujin Kang Date: Wed, 27 Oct 2021 12:18:55 -0700 Subject: [PATCH 335/342] [fwutil] Add `fwutil update all` to support the automatic platform component fw updates (#1242) - What I did Add the support for the automatic platform component fw updates - How I did it Add fwutil auto_update interfaces - How to verify it Work with dell to verify the auto_update interfaces with ssd firmware update. - Previous command output (if the output of a command-line utility has changed) - New command output (if the output of a command-line utility has changed) New added command outputs are available in the following HLD: Azure/SONiC#648 --- fwutil/lib.py | 291 +++++++++++++++++++++++++++++++++++++++++--- fwutil/log.py | 63 +++++++++- fwutil/main.py | 115 +++++++++++++++-- scripts/fast-reboot | 35 +++++- scripts/reboot | 28 ++++- 5 files changed, 494 insertions(+), 38 deletions(-) diff --git a/fwutil/lib.py b/fwutil/lib.py index d4623cf7ce..8e994d3514 100755 --- a/fwutil/lib.py +++ b/fwutil/lib.py @@ -5,11 +5,14 @@ # try: + import glob import os import json + import shutil import socket import subprocess import time + import tarfile from collections import OrderedDict from urllib.parse import urlparse from urllib.request import urlopen, urlretrieve @@ -29,6 +32,13 @@ EMPTY = "" NA = "N/A" NEWLINE = "\n" +PLATFORM_COMPONENTS_FILE = "platform_components.json" +FIRMWARE_UPDATE_DIR = "/var/platform/" +FWUPDATE_FWPACKAGE_DIR = os.path.join(FIRMWARE_UPDATE_DIR, "fwpackage/") +FIRMWARE_AU_STATUS_DIR = "/tmp/firmwareupdate/" +FW_AU_TASK_FILE_REGEX = "*_fw_au_task" +FW_AU_STATUS_FILE = "fw_au_status" +FW_AU_STATUS_FILE_PATH = os.path.join(FIRMWARE_AU_STATUS_DIR, FW_AU_STATUS_FILE) # ========================= Variables ========================================== @@ -281,17 +291,54 @@ def umount_next_image_fs(self): next_image = property(fget=get_next_image) +class FWPackage(object): + """ + FWPackage + """ + fwupdate_fwimage_dir = None + fwupdate_package_name = None + + def __init__(self, fwpackage): + self.fwupdate_package_name = fwpackage + if not os.path.isdir(FIRMWARE_UPDATE_DIR): + os.mkdir(FIRMWARE_UPDATE_DIR) + if os.path.isdir(FWUPDATE_FWPACKAGE_DIR): + shutil.rmtree(FWUPDATE_FWPACKAGE_DIR) + os.mkdir(FWUPDATE_FWPACKAGE_DIR) + + def untar_fwpackage(self): + if self.fwupdate_package_name is not None: + fwupdate_tar = tarfile.open(self.fwupdate_package_name) + fwupdate_tar.extractall(FWUPDATE_FWPACKAGE_DIR) + fwupdate_tar.close() + return True + return False + + def get_fw_package_path(self): + for r, d, f in os.walk(FWUPDATE_FWPACKAGE_DIR): + for file in f: + if PLATFORM_COMPONENTS_FILE in file: + self.fwupdate_fwimage_dir = os.path.join(r, os.path.dirname(file)) + log_helper.print_warning("fwupdate_fwimage_dir: {}".format(self.fwupdate_fwimage_dir)) + return self.fwupdate_fwimage_dir + + def cleanup_tmp_fwpackage(self): + shutil.rmtree(FWUPDATE_FWPACKAGE_DIR) + return + + class PlatformComponentsParser(object): """ PlatformComponentsParser """ - PLATFORM_COMPONENTS_FILE = "platform_components.json" PLATFORM_COMPONENTS_PATH_TEMPLATE = "{}/usr/share/sonic/device/{}/{}" + PLATFORM_COMPONENTS_FILE_PATH = None CHASSIS_KEY = "chassis" MODULE_KEY = "module" COMPONENT_KEY = "component" FIRMWARE_KEY = "firmware" + UTILITY_KEY = "utility" VERSION_KEY = "version" UTF8_ENCODING = "utf-8" @@ -302,11 +349,15 @@ def __init__(self, is_modular_chassis): self.__module_component_map = OrderedDict() def __get_platform_components_path(self, root_path): - return self.PLATFORM_COMPONENTS_PATH_TEMPLATE.format( - root_path, - device_info.get_platform(), - self.PLATFORM_COMPONENTS_FILE - ) + if "{}".format(root_path).startswith(FWUPDATE_FWPACKAGE_DIR): + self.PLATFORM_COMPONENTS_FILE_PATH = os.path.join(root_path, PLATFORM_COMPONENTS_FILE) + else: + self.PLATFORM_COMPONENTS_FILE_PATH = self.PLATFORM_COMPONENTS_PATH_TEMPLATE.format( + root_path, + device_info.get_platform(), + PLATFORM_COMPONENTS_FILE + ) + return self.PLATFORM_COMPONENTS_FILE_PATH def __is_str(self, obj): return isinstance(obj, str) @@ -315,7 +366,7 @@ def __is_dict(self, obj): return isinstance(obj, dict) def __parser_fail(self, msg): - raise RuntimeError("Failed to parse \"{}\": {}".format(self.PLATFORM_COMPONENTS_FILE, msg)) + raise RuntimeError("Failed to parse \"{}\": {}".format(PLATFORM_COMPONENTS_FILE, msg)) def __parser_platform_fail(self, msg): self.__parser_fail("invalid platform schema: {}".format(msg)) @@ -348,15 +399,12 @@ def __parse_component_section(self, section, component, is_module_component=Fals self.__module_component_map[section][key1] = OrderedDict() if value1: - if len(value1) != 1 and len(value1) != 2: + if len(value1) < 1 or len(value1) > 3: self.__parser_component_fail("unexpected number of records: key={}".format(key1)) if self.FIRMWARE_KEY not in value1: missing_key = self.FIRMWARE_KEY break - elif len(value1) == 2 and self.VERSION_KEY not in value1: - missing_key = self.VERSION_KEY - break for key2, value2 in value1.items(): if not self.__is_str(value2): @@ -484,6 +532,10 @@ class ComponentUpdateProvider(PlatformDataProvider): def __init__(self, root_path=None): PlatformDataProvider.__init__(self) + if not os.path.isdir(FIRMWARE_UPDATE_DIR): + os.mkdir(FIRMWARE_UPDATE_DIR) + if not os.path.isdir(FIRMWARE_AU_STATUS_DIR): + os.mkdir(FIRMWARE_AU_STATUS_DIR) self.__root_path = root_path @@ -530,12 +582,15 @@ def __validate_platform_schema(self, pcp): pcp.module_component_map ) - def get_status(self): + def get_updates_status(self): status_table = [ ] + auto_update_status_table = [ ] append_chassis_name = self.is_chassis_has_components() append_module_na = not self.is_modular_chassis() module_name = NA + update_utility = NA + is_chassis_component = True for chassis_name, chassis_component_map in self.chassis_component_map.items(): for chassis_component_name, chassis_component in chassis_component_map.items(): @@ -564,6 +619,9 @@ def get_status(self): else: status = self.FW_STATUS_UP_TO_DATE + if self.__pcp.UTILITY_KEY in component: + update_utility = component[self.__pcp.UTILITY_KEY] + status_table.append( [ chassis_name if append_chassis_name else EMPTY, @@ -575,6 +633,19 @@ def get_status(self): ] ) + auto_update_status_table.append( + [ + is_chassis_component, + chassis_name, + module_name, + chassis_component_name, + firmware_path, + firmware_version, + update_utility, + status + ] + ) + if append_chassis_name: append_chassis_name = False @@ -585,6 +656,7 @@ def get_status(self): chassis_name = self.chassis.get_name() if self.is_modular_chassis(): + is_chassis_component = False for module_name, module_component_map in self.module_component_map.items(): append_module_name = True @@ -614,6 +686,9 @@ def get_status(self): else: status = self.FW_STATUS_UP_TO_DATE + if self.__pcp.UTILITY_KEY in component: + update_utility = component[self.__pcp.UTILITY_KEY] + status_table.append( [ chassis_name if append_chassis_name else EMPTY, @@ -625,19 +700,45 @@ def get_status(self): ] ) + auto_update_status_table.append( + [ + is_chassis_component, + chassis_name, + module_name, + module_component_name, + firmware_path, + firmware_version, + update_utility, + status + ] + ) + if append_chassis_name: append_chassis_name = False if append_module_name: append_module_name = False + return status_table, auto_update_status_table + + def get_status(self): + status_table, auto_update_status_table = self.get_updates_status() if not status_table: return None return tabulate(status_table, self.STATUS_HEADER, tablefmt=self.FORMAT) + def get_update_available_components(self): + update_available_components = [] + status_table, auto_update_status_table = self.get_updates_status() + for component_status in auto_update_status_table: + if component_status[-1] is self.FW_STATUS_UPDATE_REQUIRED: + update_available_components.append(component_status) + + return update_available_components + def get_notification(self, chassis_name, module_name, component_name): - if self.is_modular_chassis(): + if module_name is not None: component = self.module_component_map[module_name][component_name] parser = self.__pcp.module_component_map[module_name][component_name] else: @@ -655,7 +756,7 @@ def get_notification(self, chassis_name, module_name, component_name): return component.get_firmware_update_notification(firmware_path) def update_firmware(self, chassis_name, module_name, component_name): - if self.is_modular_chassis(): + if module_name is not None: component = self.module_component_map[module_name][component_name] parser = self.__pcp.module_component_map[module_name][component_name] @@ -687,8 +788,128 @@ def update_firmware(self, chassis_name, module_name, component_name): log_helper.log_fw_update_end(component_path, firmware_path, False, e) raise + def update_au_status_file(self, au_info_data, filename=FW_AU_STATUS_FILE_PATH): + with open(filename, 'w') as f: + json.dump(au_info_data, f) + + def read_au_status_file_if_exists(self, filename=FW_AU_STATUS_FILE_PATH): + data = None + if os.path.exists(filename): + with open(filename) as au_status_file: + data = json.load(au_status_file) + return data + + def set_firmware_auto_update_status(self, component_path, fw_version, boot, rt_code): + data = self.read_au_status_file_if_exists(FW_AU_STATUS_FILE_PATH) + if data is None: + data = {} + if boot not in data: + data[boot] = [] + + au_status = data[boot] + + comp_au_status = {} + if rt_code < -1: + status = False + else: + status = True + + if rt_code == 0: + info = "reserved" + elif rt_code == 1: + info = "installed" + elif rt_code == 2: + info = "updated" + elif rt_code == 3: + info = "scheduled" + elif rt_code == -1: + info = "err_boot_type" + elif rt_code == -2: + info = "err_image" + elif rt_code == -3: + info = "err_others" + else: + info = "err_unknown" + + comp_au_status['comp'] = component_path + comp_au_status['status'] = status + comp_au_status['version'] = fw_version + comp_au_status['info'] = info + + au_status.append(comp_au_status) + + self.update_au_status_file(data, FW_AU_STATUS_FILE_PATH) + return (status, info) + + def auto_update_firmware(self, component_au_info, boot): + is_chassis_component = component_au_info[0] + chassis_name = component_au_info[1] + module_name = component_au_info[2] + component_name = component_au_info[3] + fw_version = component_au_info[5] + utility = component_au_info[6] + + if is_chassis_component: + component = self.chassis_component_map[chassis_name][component_name] + parser = self.__pcp.chassis_component_map[chassis_name][component_name] + component_path = "{}/{}".format(chassis_name, component_name) + else: + component = self.module_component_map[module_name][component_name] + parser = self.__pcp.module_component_map[module_name][component_name] + component_path = "{}/{}/{}".format(chassis_name, module_name, component_name) + + if not parser: + return + + firmware_path = parser[self.__pcp.FIRMWARE_KEY] + + if self.__root_path is not None: + firmware_path = self.__root_path + firmware_path + + if self.__root_path is not None and utility is not None: + utility = self.__root_path + utility + + try: + click.echo("{} firmware auto-update starting: {} with boot_type {}".format(component_path, firmware_path, boot)) + log_helper.log_fw_auto_update_start(component_path, firmware_path, boot) + if os.path.isfile(utility) and os.access(utility, os.X_OK): + cmd = "{} -a {} {}".format( + utility, + firmware_path, + boot + ) + click.echo("firmware auto-update starting:utility cmd {}".format(cmd)) + rt_code = subprocess.check_output(cmd, stderr=subprocess.STDOUT, shell=True, text=True) + rt_code = int(rt_code.strip()) + else: + rt_code = component.auto_update_firmware(firmware_path, boot) + click.echo("{} firmware auto-update status return_code: {}".format(component_path, int(rt_code))) + (status, info) = self.set_firmware_auto_update_status(component_path, fw_version, boot, rt_code) + log_helper.log_fw_auto_update_end(component_path, firmware_path, boot, status, info) + except KeyboardInterrupt: + log_helper.log_fw_auto_update_end(component_path, firmware_path, boot, False, "Keyboard interrupt") + raise + except Exception as e: + log_helper.log_fw_auto_update_end(component_path, firmware_path, boot, False, e) + raise + + + def is_first_auto_update(self, boot): + task_file = None + status_file = None + for task_file in glob.glob(os.path.join(FIRMWARE_AU_STATUS_DIR, FW_AU_TASK_FILE_REGEX)): + if task_file is not None: + click.echo("{} firmware auto-update is already performed, {} firmware auto update is not allowed any more".format(task_file, boot)) + return False + for status_file in glob.glob(os.path.join(FIRMWARE_AU_STATUS_DIR, FW_AU_STATUS_FILE)): + if status_file is not None: + click.echo("{} firmware auto-update is already performed, {} firmware auto update is not allowed any more".format(status_file, boot)) + return False + click.echo("Firmware auto-update for boot_type {} is allowed".format(boot)) + return True + def is_firmware_update_available(self, chassis_name, module_name, component_name): - if self.is_modular_chassis(): + if module_name is not None: component = self.__pcp.module_component_map[module_name][component_name] else: component = self.__pcp.chassis_component_map[chassis_name][component_name] @@ -699,7 +920,7 @@ def is_firmware_update_available(self, chassis_name, module_name, component_name return True def is_firmware_update_required(self, chassis_name, module_name, component_name): - if self.is_modular_chassis(): + if module_name is not None: component = self.module_component_map[module_name][component_name] parser = self.__pcp.module_component_map[module_name][component_name] else: @@ -729,11 +950,19 @@ class ComponentStatusProvider(PlatformDataProvider): ComponentStatusProvider """ HEADER = [ "Chassis", "Module", "Component", "Version", "Description" ] + AU_STATUS_HEADER = [ "Component", "Version", "Status", "Info" ] FORMAT = "simple" + INFO_KEY = "info" def __init__(self): PlatformDataProvider.__init__(self) + def __is_dict(self, obj): + return isinstance(obj, dict) + + def __parser_fail_fw_au_status(self, msg): + raise RuntimeError("Failed to parse \"{}\": {}".format(FW_AU_STATUS_FILE_PATH, msg)) + def get_status(self): status_table = [ ] @@ -790,3 +1019,33 @@ def get_status(self): append_module_name = False return tabulate(status_table, self.HEADER, tablefmt=self.FORMAT) + + def read_au_status_file_if_exists(self, filename=FW_AU_STATUS_FILE_PATH): + data = None + if os.path.exists(filename): + with open(filename) as au_status_file: + data = json.load(au_status_file) + return data + + def get_au_status(self): + au_status = [] + auto_updated_status_table = [] + data = self.read_au_status_file_if_exists(FW_AU_STATUS_FILE_PATH) + + if data is None: + return None + + boot_type = list(data.keys())[0] + click.echo("Firmware auto-update performed for {} reboot".format(boot_type)) + + au_status = data[boot_type] + for comp_au_status in au_status: + r = [] + r.append(comp_au_status['comp'] if 'comp' in comp_au_status else "") + r.append(comp_au_status['version'] if 'version' in comp_au_status else "") + r.append(comp_au_status['status'] if 'status' in comp_au_status else "") + r.append(comp_au_status['info'] if 'info' in comp_au_status else "") + auto_updated_status_table.append(r) + + return tabulate(auto_updated_status_table, self.AU_STATUS_HEADER, tablefmt=self.FORMAT) + diff --git a/fwutil/log.py b/fwutil/log.py index f9dc033453..69463f5e11 100755 --- a/fwutil/log.py +++ b/fwutil/log.py @@ -29,6 +29,7 @@ class LogHelper(object): FW_ACTION_DOWNLOAD = "download" FW_ACTION_INSTALL = "install" FW_ACTION_UPDATE = "update" + FW_ACTION_AUTO_UPDATE = "auto-update" STATUS_SUCCESS = "success" STATUS_FAILURE = "failure" @@ -45,6 +46,19 @@ def __log_fw_action_start(self, action, component, firmware): ) ) + def __log_fw_au_action_start(self, action, component, firmware, boot): + caption = "Firmware {} started".format(action) + template = "{}: component={}, firmware={}, for boot_type={}" + + log.log_info( + template.format( + caption, + component, + firmware, + boot + ) + ) + def __log_fw_action_end(self, action, component, firmware, status, exception=None): caption = "Firmware {} ended".format(action) @@ -61,26 +75,54 @@ def __log_fw_action_end(self, action, component, firmware, status, exception=Non ) ) else: - if exception is None: + if exception: log.log_error( - status_template.format( + exception_template.format( caption, component, firmware, - self.STATUS_FAILURE + self.STATUS_FAILURE, + str(exception) ) ) else: log.log_error( - exception_template.format( + status_template.format( caption, component, firmware, - self.STATUS_FAILURE, - str(exception) + self.STATUS_FAILURE ) ) + def __log_fw_au_action_end(self, action, component, firmware, boot, status, info=None): + caption = "Firmware {} ended".format(action) + + status_template = "{}: component={}, firmware={}, boot={}, status={}" + status_info_template = "{}: component={}, firmware={}, boot={}, status={}, info={}" + + if info: + log.log_info( + status_info_template.format( + caption, + component, + firmware, + boot, + self.STATUS_SUCCESS, + info + ) + ) + else: + log.log_info( + status_template.format( + caption, + component, + firmware, + boot, + self.STATUS_FAILURE, + ) + ) + def log_fw_download_start(self, component, firmware): self.__log_fw_action_start(self.FW_ACTION_DOWNLOAD, component, firmware) @@ -99,6 +141,15 @@ def log_fw_update_start(self, component, firmware): def log_fw_update_end(self, component, firmware, status, exception=None): self.__log_fw_action_end(self.FW_ACTION_UPDATE, component, firmware, status, exception) + def log_fw_auto_update_start(self, component, firmware, boot): + self.__log_fw_au_action_start(self.FW_ACTION_AUTO_UPDATE, component, firmware, boot) + + def log_fw_auto_update_end(self, component, firmware, status, boot, exception=None): + self.__log_fw_au_action_end(self.FW_ACTION_AUTO_UPDATE, component, firmware, status, exception, boot) + + def log_fw_auto_update_fail(self, component, firmware, status, boot, exception=None): + self.__log_fw_au_action_end(self.FW_ACTION_AUTO_UPDATE, component, firmware, status, exception, boot) + def print_error(self, msg): click.echo("Error: {}.".format(msg)) diff --git a/fwutil/main.py b/fwutil/main.py index 4e4b127642..2f378da306 100755 --- a/fwutil/main.py +++ b/fwutil/main.py @@ -10,7 +10,7 @@ import click from .lib import PlatformDataProvider, ComponentStatusProvider, ComponentUpdateProvider - from .lib import URL, SquashFs + from .lib import URL, SquashFs, FWPackage from .log import LogHelper except ImportError as e: raise ImportError("Required module not found: {}".format(str(e))) @@ -89,6 +89,14 @@ def update(ctx): ctx.obj[COMPONENT_PATH_CTX_KEY] = [ ] +# 'auto_update' group +@click.group() +@click.pass_context +def auto_update(ctx): + """Auto-update platform firmware""" + pass + + def chassis_handler(ctx): ctx.obj[CHASSIS_NAME_CTX_KEY] = pdp.chassis.get_name() ctx.obj[COMPONENT_PATH_CTX_KEY].append(pdp.chassis.get_name()) @@ -334,6 +342,60 @@ def fw_update(ctx, yes, force, image): cli_abort(ctx, str(e)) +# 'fw' subcommand +@auto_update.command(name='fw') +@click.option('-i', '--image', 'image', type=click.Choice(["current", "next"]), default="current", show_default=True, help="Update firmware using current/next SONiC image") +@click.option('-f', '--fw_image', 'fw_image', help="Custom FW package path") +@click.option('-b', '--boot', 'boot', type=click.Choice(["any", "cold", "fast", "warm", "none"]), default="none", show_default=True, help="Necessary boot option after the firmware update") +@click.pass_context +def fw_auto_update(ctx, boot, image=None, fw_image=None): + """Update firmware from SONiC image""" + squashfs = None + fwpackage = None + cup = None + + try: + + if fw_image is not None: + fwpackage = FWPackage(fw_image) + + if fwpackage.untar_fwpackage(): + fs_path = fwpackage.get_fw_package_path() + cup = ComponentUpdateProvider(fs_path) + else: + log_helper.print_warning("Cannot open the firmware package") + else: + if image == IMAGE_NEXT: + squashfs = SquashFs() + + if squashfs.is_next_boot_set(): + fs_path = squashfs.mount_next_image_fs() + cup = ComponentUpdateProvider(fs_path) + else: + log_helper.print_warning("Next boot is set to current: fallback to defaults") + cup = ComponentUpdateProvider() + else: + cup = ComponentUpdateProvider() + + if cup is not None: + au_component_list = cup.get_update_available_components() + if au_component_list: + if cup.is_first_auto_update(boot): + for au_component in au_component_list: + cup.auto_update_firmware(au_component, boot) + log_helper.print_warning("All firmware auto-update has been performed") + click.echo("All firmware auto-update has been performed") + else: + log_helper.print_warning("All components: {}".format(cup.FW_STATUS_UP_TO_DATE)) + else: + log_helper.print_warning("compoenet update package is not available") + finally: + if squashfs is not None: + squashfs.umount_next_image_fs() + if fwpackage is not None: + fwpackage.cleanup_tmp_fwpackage() + + # 'show' subgroup @cli.group() def show(): @@ -344,24 +406,36 @@ def show(): # 'updates' subcommand @show.command() @click.option('-i', '--image', 'image', type=click.Choice(["current", "next"]), default="current", show_default=True, help="Show updates using current/next SONiC image") +@click.option('-f', '--fw_image', 'fw_image', help="Custom FW package path") @click.pass_context -def updates(ctx, image): +def updates(ctx, image=None, fw_image=None): """Show available updates""" try: squashfs = None + fwpackage = None + cup = None try: - if image == IMAGE_NEXT: - squashfs = SquashFs() + if fw_image is not None: + fwpackage = FWPackage(fw_image) - if squashfs.is_next_boot_set(): - fs_path = squashfs.mount_next_image_fs() + if fwpackage.untar_fwpackage(): + fs_path = fwpackage.get_fw_package_path() cup = ComponentUpdateProvider(fs_path) else: - log_helper.print_warning("Next boot is set to current: fallback to defaults") - cup = ComponentUpdateProvider() + log_helper.print_warning("Cannot open the firmware package") else: - cup = ComponentUpdateProvider() + if image == IMAGE_NEXT: + squashfs = SquashFs() + + if squashfs.is_next_boot_set(): + fs_path = squashfs.mount_next_image_fs() + cup = ComponentUpdateProvider(fs_path) + else: + log_helper.print_warning("Next boot is set to current: fallback to defaults") + cup = ComponentUpdateProvider() + else: + cup = ComponentUpdateProvider() status = cup.get_status() if status is not None: @@ -387,17 +461,40 @@ def status(ctx): cli_abort(ctx, str(e)) +# 'updates' subcommand +@click.group() +@click.pass_context +def show_update(ctx): + """status : Show platform components auto_update status""" + pass + + +# 'status' subcommand +@show_update.command(name='status') +@click.pass_context +def update_status(ctx): + """Show platform components auto_update status""" + try: + csp = ComponentStatusProvider() + click.echo(csp.get_au_status()) + except Exception as e: + cli_abort(ctx, str(e)) + + # 'version' subcommand @show.command() def version(): """Show utility version""" click.echo("fwutil version {0}".format(VERSION)) +show.add_command(show_update, name='update') + install.add_command(chassis_install, name='chassis') install.add_command(module_install, name='module') update.add_command(chassis_update, name='chassis') update.add_command(module_update, name='module') +update.add_command(auto_update, name='all') chassis_install.add_command(component_install, name='component') module_install.add_command(component_install, name='component') diff --git a/scripts/fast-reboot b/scripts/fast-reboot index 0dc42b07de..869a56373d 100755 --- a/scripts/fast-reboot +++ b/scripts/fast-reboot @@ -22,6 +22,7 @@ DEVPATH="/usr/share/sonic/device" PLATFORM=$(sonic-cfggen -H -v DEVICE_METADATA.localhost.platform) PLATFORM_PLUGIN="${REBOOT_TYPE}_plugin" LOG_SSD_HEALTH="/usr/local/bin/log_ssd_health" +PLATFORM_FWUTIL_AU_REBOOT_HANDLE="platform_fw_au_reboot_handle" SSD_FW_UPDATE="ssd-fw-upgrade" TAG_LATEST=yes @@ -42,6 +43,7 @@ EXIT_COUNTERPOLL_DELAY_FAILURE=14 EXIT_DB_INTEGRITY_FAILURE=15 EXIT_NO_CONTROL_PLANE_ASSISTANT=20 EXIT_SONIC_INSTALLER_VERIFY_REBOOT=21 +EXIT_PLATFORM_FW_AU_FAILURE=22 function error() { @@ -456,6 +458,25 @@ function check_warm_restart_in_progress() { done } +function check_conflict_boot_in_fw_update() { + # Make sure firmware auto update is not scheduled for a different reboot + FIRMWARE_AU_STATUS_DIR="/tmp/firmwareupdate" + FW_AU_TASK_FILE_REGEX="${FIRMWARE_AU_STATUS_DIR}/*_fw_au_task" + case "$REBOOT_TYPE" in + "fast-reboot") + FW_AU_TASK_FILE_EXP="${FIRMWARE_AU_STATUS_DIR}/fast_fw_au_task" + ;; + "warm-reboot") + FW_AU_TASK_FILE_EXP="${FIRMWARE_AU_STATUS_DIR}/warm_fw_au_task" + ;; + esac + FW_AU_TASK_FILE=$(compgen -G ${FW_AU_TASK_FILE_REGEX}) || true + if [[ -n "${FW_AU_TASK_FILE}" ]] && [[ ! -f "${FW_AU_TASK_FILE_EXP}" ]]; then + error "Firmware auto update scheduled for a different reboot: ${FW_AU_TASK_FILE}" + exit "${EXIT_FAILURE}" + fi +} + # main starts here parseOptions $@ @@ -466,6 +487,8 @@ then exit "${EXIT_FAILURE}" fi +check_conflict_boot_in_fw_update + sonic_asic_type=$(sonic-cfggen -y /etc/sonic/sonic_version.yml -v asic_type) # Check reboot type supported @@ -731,11 +754,17 @@ if [ -x /sbin/hwclock ]; then /sbin/hwclock -w || /bin/true fi -if [ -x ${DEVPATH}/${PLATFORM}/${SSD_FW_UPDATE} ]; then - debug "updating ssd fw for${REBOOT_TYPE}" - ${DEVPATH}/${PLATFORM}/${SSD_FW_UPDATE} ${REBOOT_TYPE} + +if [[ -x ${DEVPATH}/${PLATFORM}/${PLATFORM_FWUTIL_AU_REBOOT_HANDLE} ]]; then + debug "Handling task file for boot type ${REBOOT_TYPE}" + ${DEVPATH}/${PLATFORM}/${PLATFORM_FWUTIL_AU_REBOOT_HANDLE} ${REBOOT_TYPE} || PLATFORM_FW_AU_RC=$? + if [[ $PLATFORM_FW_AU_RC -ne 0 ]]; then + debug "ERROR: Failed to handle the platform firmware auto-update for ${REBOOT_TYPE} Exit code: $PLATFORM_FW_AU_RC" + exit "${EXIT_PLATFORM_FW_AU_FAILURE}" + fi fi + # Enable Watchdog Timer if [ -x ${WATCHDOG_UTIL} ]; then debug "Enabling Watchdog before ${REBOOT_TYPE}" diff --git a/scripts/reboot b/scripts/reboot index 4b6a3583dd..7746ee7d69 100755 --- a/scripts/reboot +++ b/scripts/reboot @@ -28,7 +28,8 @@ SUBTYPE=$(sonic-cfggen -d -v DEVICE_METADATA.localhost.subtype) VERBOSE=no EXIT_NEXT_IMAGE_NOT_EXISTS=4 EXIT_SONIC_INSTALLER_VERIFY_REBOOT=21 -SSD_FW_UPDATE="ssd-fw-upgrade" +EXIT_PLATFORM_FW_AU_FAILURE=22 +PLATFORM_FWUTIL_AU_REBOOT_HANDLE="platform_fw_au_reboot_handle" REBOOT_SCRIPT_NAME=$(basename $0) REBOOT_TYPE="${REBOOT_SCRIPT_NAME}" TAG_LATEST=yes @@ -135,6 +136,19 @@ function reboot_pre_check() fi } +function check_conflict_boot_in_fw_update() +{ + # Make sure firmware auto update is not scheduled for a different reboot + FIRMWARE_AU_STATUS_DIR="/tmp/firmwareupdate" + FW_AU_TASK_FILE_REGEX="${FIRMWARE_AU_STATUS_DIR}/*_fw_au_task" + FW_AU_TASK_FILE_EXP="${FIRMWARE_AU_STATUS_DIR}/cold_fw_au_task" + FW_AU_TASK_FILE=$(compgen -G ${FW_AU_TASK_FILE_REGEX}) || true + if [[ -n "${FW_AU_TASK_FILE}" ]] && [[ ! -f "${FW_AU_TASK_FILE_EXP}" ]]; then + VERBOSE=yes debug "Firmware auto update scheduled for a different reboot: ${FW_AU_TASK_FILE}" + exit 1 + fi +} + function parse_options() { while getopts "h?v" opt; do @@ -162,6 +176,8 @@ fi debug "User requested rebooting device ..." +check_conflict_boot_in_fw_update + setup_reboot_variables reboot_pre_check @@ -186,9 +202,13 @@ if [ -x /sbin/hwclock ]; then /sbin/hwclock -w || /bin/true fi -if [ -x ${DEVPATH}/${PLATFORM}/${SSD_FW_UPDATE} ]; then - debug "updating ssd fw for${REBOOT_TYPE}" - ${DEVPATH}/${PLATFORM}/${SSD_FW_UPDATE} ${REBOOT_TYPE} +if [[ -x ${DEVPATH}/${PLATFORM}/${PLATFORM_FWUTIL_AU_REBOOT_HANDLE} ]]; then + debug "Handling task file for boot type ${REBOOT_TYPE}" + ${DEVPATH}/${PLATFORM}/${PLATFORM_FWUTIL_AU_REBOOT_HANDLE} ${REBOOT_TYPE} || PLATFORM_FW_AU_RC=$? + if [[ $PLATFORM_FW_AU_RC -ne 0 ]]; then + debug "ERROR: Failed to handle the platform firmware auto-update for ${REBOOT_TYPE} Exit code: $PLATFORM_FW_AU_RC" + exit "${EXIT_PLATFORM_FW_AU_FAILURE}" + fi fi if [ -x ${DEVPATH}/${PLATFORM}/${PLATFORM_UPDATE_REBOOT_CAUSE} ]; then From 9f123c013569dad0a5b85c4e4bb91ed499cc295c Mon Sep 17 00:00:00 2001 From: liuh-80 <58683130+liuh-80@users.noreply.github.com> Date: Thu, 28 Oct 2021 09:53:09 +0800 Subject: [PATCH 336/342] [generate_dump] remove secrets from dump files (#1886) Remove secrets from dump files. What I did Add bash functions to remove secrets from dump files. How I did it For tacacs key, radius key, snmp community srring, use sed command with regex to remove user secrets from dump files. For certs, update tar command exclude list to remove those certs from dump file. How to verify it Run 'show techsupport' command and check secrets removed from dump files. Previous command output (if the output of a command-line utility has changed) New command output (if the output of a command-line utility has changed) --- scripts/generate_dump | 99 +++++++++++++++++++++++++++++++++++++++---- 1 file changed, 91 insertions(+), 8 deletions(-) diff --git a/scripts/generate_dump b/scripts/generate_dump index 486bcbccf9..e2f0c45b39 100755 --- a/scripts/generate_dump +++ b/scripts/generate_dump @@ -42,7 +42,6 @@ SAVE_STDERR=true RETURN_CODE=0 DEBUG_DUMP=false - handle_signal() { echo "Generate Dump received interrupt" >&2 @@ -155,6 +154,7 @@ save_bcmcmd_all_ns() { # cmd: The command to run. Make sure that arguments with spaces have quotes # filename: the filename to save the output as in $BASE/dump # do_gzip: (OPTIONAL) true or false. Should the output be gzipped +# cleanup_method: (OPTIONAL) the cleanup method to procress dump file after it generated. # Returns: # None ############################################################################### @@ -168,6 +168,7 @@ save_cmd() { local do_gzip=${3:-false} local tarpath="${BASE}/dump/$filename" local timeout_cmd="timeout --foreground ${TIMEOUT_MIN}m" + local cleanup_method=${4:-dummy_cleanup_method} local redirect='&>' local redirect_eval='2>&1' if [ ! -d $LOGDIR ]; then @@ -187,7 +188,9 @@ save_cmd() { if $do_gzip; then tarpath="${tarpath}.gz" filepath="${filepath}.gz" - local cmds="$cmd $redirect_eval | gzip -c > '${filepath}'" + # cleanup_method will run in a sub-shell, need declare it first + local cleanup_method_declration=$(declare -f $cleanup_method) + local cmds="$cleanup_method_declration; $cmd $redirect_eval | $cleanup_method | gzip -c > '${filepath}'" if $NOOP; then echo "${timeout_cmd} bash -c \"${cmds}\"" else @@ -199,15 +202,16 @@ save_cmd() { fi else if $NOOP; then - echo "${timeout_cmd} $cmd $redirect '$filepath'" + echo "${timeout_cmd} $cmd | $cleanup_method $redirect '$filepath'" else RC=0 - eval "${timeout_cmd} $cmd" "$redirect" "$filepath" || RC=$? + eval "${timeout_cmd} $cmd | $cleanup_method" "$redirect" "$filepath" || RC=$? if [ $RC -ne 0 ]; then echo "Command: $cmd timedout after ${TIMEOUT_MIN} minutes." fi fi fi + ($TAR $V -rhf $TARFILE -C $DUMPDIR "$tarpath" \ || abort "${ERROR_TAR_FAILED}" "tar append operation failed. Aborting to prevent data loss.") \ && $RM $V -rf "$filepath" @@ -215,6 +219,19 @@ save_cmd() { echo "[ save_cmd:$cmd ] : $(($end_t-$start_t)) msec" >> $TECHSUPPORT_TIME_INFO } +############################################################################### +# Dummy cleanup method. +# Globals: +# None +# Arguments: +# None +# Returns: +# None +############################################################################### +dummy_cleanup_method() { + cat +} + ############################################################################### # Runs a given command in all namesapces in case of multi ASIC platform, in # default (host) namespace in single ASIC platform @@ -224,22 +241,24 @@ save_cmd() { # cmd: The command to run. Make sure that arguments with spaces have quotes # filename: the filename to save the output as in $BASE/dump # do_gzip: (OPTIONAL) true or false. Should the output be gzipped +# cleanup_method: (OPTIONAL) the cleanup method to procress dump file after it generated. # Returns: # None ############################################################################### save_cmd_all_ns() { trap 'handle_error $? $LINENO' ERR local do_zip=${3:-false} + local cleanup_method=${4:-dummy_cleanup_method} # host or default namespace - save_cmd "$1" "$2" "$do_zip" + save_cmd "$1" "$2" "$do_zip" $cleanup_method if [[ ( "$NUM_ASICS" > 1 ) ]] ; then for (( i=0; i<$NUM_ASICS; i++ )) do local cmd="sonic-netns-exec asic$i $1" local file="$2.$i" - save_cmd "$cmd" "$file" "$do_zip" + save_cmd "$cmd" "$file" "$do_zip" $cleanup_method done fi } @@ -591,7 +610,8 @@ save_redis_info() { save_redis "APPL_DB" save_redis "ASIC_DB" save_redis "COUNTERS_DB" - save_redis "CONFIG_DB" + # There are secrets in CONFIG_DB need to be cleanup. + save_redis "CONFIG_DB" "CONFIG_DB" remove_secret_from_config_db_dump save_redis "FLEX_COUNTER_DB" save_redis "STATE_DB" } @@ -637,10 +657,12 @@ save_proc() { # Arguments: # DB name: DB name # Filename: Destination filename, if not given then filename would be DB name +# cleanup_method: (OPTIONAL) the cleanup method to procress dump file after it generated. # Returns: # None ############################################################################### save_redis() { + local cleanup_method=${3:-dummy_cleanup_method} trap 'handle_error $? $LINENO' ERR local db_name=$1 if [ $# -ge 2 ] && [ -n "$2" ]; then @@ -648,7 +670,7 @@ save_redis() { else local dest_file_name="$db_name" fi - save_cmd_all_ns "sonic-db-dump -n '$db_name' -y" "$dest_file_name.json" + save_cmd_all_ns "sonic-db-dump -n '$db_name' -y" "$dest_file_name.json" false $cleanup_method } ############################################################################### @@ -1259,6 +1281,9 @@ main() { rm $rm_list fi + # Remove secret from /etc files before tar + remove_secret_from_etc_files $TARDIR + start_t=$(date +%s%3N) ($TAR $V --warning=no-file-removed -rhf $TARFILE -C $DUMPDIR --mode=+rw \ --exclude="etc/alternatives" \ @@ -1271,6 +1296,13 @@ main() { --exclude="*snmpd.conf*" \ --exclude="/etc/mlnx" \ --exclude="/etc/mft" \ + --exclude="*/etc/sonic/*.cer" \ + --exclude="*/etc/sonic/*.crt" \ + --exclude="*/etc/sonic/*.pem" \ + --exclude="*/etc/sonic/*.key" \ + --exclude="*/etc/ssl/*.pem" \ + --exclude="*/etc/ssl/certs/*" \ + --exclude="*/etc/ssl/private/*" \ $BASE/etc \ || abort "${ERROR_TAR_FAILED}" "Tar append operation failed. Aborting for safety.") \ && $RM $V -rf $TARDIR @@ -1310,6 +1342,57 @@ main() { exit $RETURN_CODE } +############################################################################### +# Remove secret from pipeline inout and output result to pipeline. +# Globals: +# None +# Arguments: +# None +# Returns: +# None +############################################################################### +remove_secret_from_config_db_dump() { + # Remove tacacs & radius passkey and snmp community from config DB + sed -E 's/\"passkey\"\s*:\s*\"([^\"]*)\"/\"passkey\":\"****\"/g; /SNMP_COMMUNITY/,/\s{2,4}\},/d' +} + +############################################################################### +# Remove secret from dump files. +# Globals: +# Arguments: +# dumppath: the dump file path. +# Returns: +# None +############################################################################### +remove_secret_from_etc_files() { + local dumppath=$1 + echo "Remove secret from etc files." + # Remove tacacs passkey from tacplus_nss.conf + local secret_regex='s/(secret=)([^,|\S]*)(.*)/\1****\3/g' + sed -i -E $secret_regex $dumppath/etc/tacplus_nss.conf + + # Remove radius passkey from radius_nss.conf + sed -i -E $secret_regex $dumppath/etc/radius_nss.conf + + # Remove tacacs passkey from common-auth-sonic + sed -i -E 's/(secret=)(\S*)/\1****/g' $dumppath/etc/pam.d/common-auth-sonic + + # Remove tacacs passkey from pam_radius_auth.conf + sed -i -E 's/^([^#]\S*\s*)(\S*)/\1****/g' $dumppath/etc/pam_radius_auth.conf + + # Remove radius passkey from per-server conf file /etc/pam_radius_auth.d/{ip}_{port}.conf + for filename in $dumppath/etc/pam_radius_auth.d/*.conf; do + sed -i -E 's/^([^#]\S*\s*)(\S*)/\1****/g' $filename + done + + # Remove snmp community string from snmp.yml + sed -i -E 's/(\s*snmp_\S*community\s*:\s*)(\S*)/\1****/g' $dumppath/etc/sonic/snmp.yml + + # Remove secret from /etc/sonic/config_db.json + cat $dumppath/etc/sonic/config_db.json | remove_secret_from_config_db_dump > $dumppath/etc/sonic/config_db.json.temp + mv $dumppath/etc/sonic/config_db.json.temp $dumppath/etc/sonic/config_db.json +} + ############################################################################### # Terminates generate_dump early just in case we have issues. # Globals: From 02ce8d69a0e1689b7cef503537562e5743dc0d58 Mon Sep 17 00:00:00 2001 From: Stepan Blyshchak <38952541+stepanblyschak@users.noreply.github.com> Date: Thu, 28 Oct 2021 19:38:28 +0300 Subject: [PATCH 337/342] [sonic-package-manager] update FEATURE entries on upgrade (#1803) Signed-off-by: Stepan Blyschak stepanb@nvidia.com What I did Implemented feature table update on package upgrade. It could be that upgraded package includes timer service when old one does not. How I did it Upgrade logic added in manager.py Use ConfigDBConnector for config modification as it simplifies config DB operations. How to verify it Upgrade package with new feature attributes. --- sonic_package_manager/manager.py | 25 +++- sonic_package_manager/metadata.py | 23 +-- .../service_creator/creator.py | 56 ++----- .../service_creator/feature.py | 100 +++++++++---- .../service_creator/sonic_db.py | 139 ++++++++++++------ sonic_package_manager/utils.py | 22 +++ .../test_service_creator.py | 138 ++++++++++------- 7 files changed, 313 insertions(+), 190 deletions(-) diff --git a/sonic_package_manager/manager.py b/sonic_package_manager/manager.py index 3ecd1f5600..f7bbd1afdd 100644 --- a/sonic_package_manager/manager.py +++ b/sonic_package_manager/manager.py @@ -534,7 +534,6 @@ def upgrade_from_source(self, ) old_feature = old_package.manifest['service']['name'] - new_feature = new_package.manifest['service']['name'] old_version = old_package.manifest['package']['version'] new_version = new_package.manifest['package']['version'] @@ -577,7 +576,12 @@ def upgrade_from_source(self, source.install(new_package) exits.callback(rollback(source.uninstall, new_package)) - if self.feature_registry.is_feature_enabled(old_feature): + feature_enabled = self.feature_registry.is_feature_enabled(old_feature) + + if feature_enabled: + self._systemctl_action(old_package, 'disable') + exits.callback(rollback(self._systemctl_action, + old_package, 'enable')) self._systemctl_action(old_package, 'stop') exits.callback(rollback(self._systemctl_action, old_package, 'start')) @@ -600,14 +604,27 @@ def upgrade_from_source(self, self._get_installed_packages_and(old_package)) ) - if self.feature_registry.is_feature_enabled(new_feature): + # If old feature was enabled, the user should have the new feature enabled as well. + if feature_enabled: + self._systemctl_action(new_package, 'enable') + exits.callback(rollback(self._systemctl_action, + new_package, 'disable')) self._systemctl_action(new_package, 'start') exits.callback(rollback(self._systemctl_action, new_package, 'stop')) + # Update feature configuration after we have started new service. + # If we place it before the above, our service start/stop will + # interfere with hostcfgd in rollback path leading to a service + # running with new image and not the old one. + self.feature_registry.update(old_package.manifest, new_package.manifest) + exits.callback(rollback( + self.feature_registry.update, new_package.manifest, old_package.manifest) + ) + if not skip_host_plugins: self._install_cli_plugins(new_package) - exits.callback(rollback(self._uninstall_cli_plugin, old_package)) + exits.callback(rollback(self._uninstall_cli_plugin, new_package)) self.docker.rmi(old_package.image_id, force=True) diff --git a/sonic_package_manager/metadata.py b/sonic_package_manager/metadata.py index 62cc8bea53..1fc2cf3975 100644 --- a/sonic_package_manager/metadata.py +++ b/sonic_package_manager/metadata.py @@ -6,31 +6,12 @@ import tarfile from typing import Dict +from sonic_package_manager import utils from sonic_package_manager.errors import MetadataError from sonic_package_manager.manifest import Manifest from sonic_package_manager.version import Version -def deep_update(dst: Dict, src: Dict) -> Dict: - """ Deep update dst dictionary with src dictionary. - - Args: - dst: Dictionary to update - src: Dictionary to update with - - Returns: - New merged dictionary. - """ - - for key, value in src.items(): - if isinstance(value, dict): - node = dst.setdefault(key, {}) - deep_update(node, value) - else: - dst[key] = value - return dst - - def translate_plain_to_tree(plain: Dict[str, str], sep='.') -> Dict: """ Convert plain key/value dictionary into a tree by spliting the key with '.' @@ -62,7 +43,7 @@ def translate_plain_to_tree(plain: Dict[str, str], sep='.') -> Dict: continue namespace, key = key.split(sep, 1) res.setdefault(namespace, {}) - deep_update(res[namespace], translate_plain_to_tree({key: value})) + utils.deep_update(res[namespace], translate_plain_to_tree({key: value})) return res diff --git a/sonic_package_manager/service_creator/creator.py b/sonic_package_manager/service_creator/creator.py index 4a7b032854..6839ffa453 100644 --- a/sonic_package_manager/service_creator/creator.py +++ b/sonic_package_manager/service_creator/creator.py @@ -11,6 +11,7 @@ from prettyprinter import pformat from toposort import toposort_flatten, CircularDependencyError +from sonic_package_manager import utils from sonic_package_manager.logger import log from sonic_package_manager.package import Package from sonic_package_manager.service_creator import ETC_SONIC_PATH @@ -468,21 +469,14 @@ def set_initial_config(self, package): """ init_cfg = package.manifest['package']['init-cfg'] + if not init_cfg: + return - for tablename, content in init_cfg.items(): - if not isinstance(content, dict): - continue - - tables = self._get_tables(tablename) - - for key in content: - for table in tables: - cfg = content[key] - exists, old_fvs = table.get(key) - if exists: - cfg.update(old_fvs) - fvs = list(cfg.items()) - table.set(key, fvs) + for conn in self.sonic_db.get_connectors(): + cfg = conn.get_config() + new_cfg = init_cfg.copy() + utils.deep_update(new_cfg, cfg) + conn.mod_config(new_cfg) def remove_config(self, package): """ Remove configuration based on init-cfg tables, so having @@ -497,35 +491,13 @@ def remove_config(self, package): """ init_cfg = package.manifest['package']['init-cfg'] + if not init_cfg: + return - for tablename, content in init_cfg.items(): - if not isinstance(content, dict): - continue - - tables = self._get_tables(tablename) - - for key in content: - for table in tables: - table._del(key) - - def _get_tables(self, table_name): - """ Return swsscommon Tables for all kinds of configuration DBs """ - - tables = [] - - running_table = self.sonic_db.running_table(table_name) - if running_table is not None: - tables.append(running_table) - - persistent_table = self.sonic_db.persistent_table(table_name) - if persistent_table is not None: - tables.append(persistent_table) - - initial_table = self.sonic_db.initial_table(table_name) - if initial_table is not None: - tables.append(initial_table) - - return tables + for conn in self.sonic_db.get_connectors(): + for table in init_cfg: + for key in init_cfg[table]: + conn.set_entry(table, key, None) def _post_operation_hook(self): """ Common operations executed after service is created/removed. """ diff --git a/sonic_package_manager/service_creator/feature.py b/sonic_package_manager/service_creator/feature.py index 4df06384d2..97960a327d 100644 --- a/sonic_package_manager/service_creator/feature.py +++ b/sonic_package_manager/service_creator/feature.py @@ -16,6 +16,14 @@ } +def is_enabled(cfg): + return cfg.get('state', 'disabled').lower() == 'enabled' + + +def is_multi_instance(cfg): + return str(cfg.get('has_per_asic_scope', 'False')).lower() == 'true' + + class FeatureRegistry: """ FeatureRegistry class provides an interface to register/de-register new feature persistently. """ @@ -27,51 +35,93 @@ def register(self, manifest: Manifest, state: str = 'disabled', owner: str = 'local'): + """ Register feature in CONFIG DBs. + + Args: + manifest: Feature's manifest. + state: Desired feature admin state. + owner: Owner of this feature (kube/local). + Returns: + None. + """ + name = manifest['service']['name'] - for table in self._get_tables(): - cfg_entries = self.get_default_feature_entries(state, owner) - non_cfg_entries = self.get_non_configurable_feature_entries(manifest) + db_connectors = self._sonic_db.get_connectors() + cfg_entries = self.get_default_feature_entries(state, owner) + non_cfg_entries = self.get_non_configurable_feature_entries(manifest) - exists, current_cfg = table.get(name) + for conn in db_connectors: + current_cfg = conn.get_entry(FEATURE, name) new_cfg = cfg_entries.copy() # Override configurable entries with CONFIG DB data. - new_cfg = {**new_cfg, **dict(current_cfg)} + new_cfg = {**new_cfg, **current_cfg} # Override CONFIG DB data with non configurable entries. new_cfg = {**new_cfg, **non_cfg_entries} - table.set(name, list(new_cfg.items())) + conn.set_entry(FEATURE, name, new_cfg) def deregister(self, name: str): - for table in self._get_tables(): - table._del(name) + """ Deregister feature by name. + + Args: + name: Name of the feature in CONFIG DB. + Returns: + None + """ + + db_connetors = self._sonic_db.get_connectors() + for conn in db_connetors: + conn.set_entry(FEATURE, name, None) + + def update(self, + old_manifest: Manifest, + new_manifest: Manifest): + """ Migrate feature configuration. It can be that non-configurable + feature entries have to be updated. e.g: "has_timer" for example if + the new feature introduces a service timer or name of the service has + changed, but user configurable entries are not changed). + + Args: + old_manifest: Old feature manifest. + new_manifest: New feature manifest. + Returns: + None + """ + + old_name = old_manifest['service']['name'] + new_name = new_manifest['service']['name'] + db_connectors = self._sonic_db.get_connectors() + non_cfg_entries = self.get_non_configurable_feature_entries(new_manifest) + + for conn in db_connectors: + current_cfg = conn.get_entry(FEATURE, old_name) + conn.set_entry(FEATURE, old_name, None) + + new_cfg = current_cfg.copy() + # Override CONFIG DB data with non configurable entries. + new_cfg = {**new_cfg, **non_cfg_entries} + + conn.set_entry(FEATURE, new_name, new_cfg) def is_feature_enabled(self, name: str) -> bool: """ Returns whether the feature is current enabled or not. Accesses running CONFIG DB. If no running CONFIG_DB table is found in tables returns False. """ - running_db_table = self._sonic_db.running_table(FEATURE) - if running_db_table is None: + conn = self._sonic_db.get_running_db_connector() + if conn is None: return False - exists, cfg = running_db_table.get(name) - if not exists: - return False - cfg = dict(cfg) - return cfg.get('state').lower() == 'enabled' + cfg = conn.get_entry(FEATURE, name) + return is_enabled(cfg) def get_multi_instance_features(self): - res = [] - init_db_table = self._sonic_db.initial_table(FEATURE) - for feature in init_db_table.keys(): - exists, cfg = init_db_table.get(feature) - assert exists - cfg = dict(cfg) - asic_flag = str(cfg.get('has_per_asic_scope', 'False')) - if asic_flag.lower() == 'true': - res.append(feature) - return res + """ Returns a list of features which run in asic namespace. """ + + conn = self._sonic_db.get_initial_db_connector() + features = conn.get_table(FEATURE) + return [feature for feature, cfg in features.items() if is_multi_instance(cfg)] @staticmethod def get_default_feature_entries(state=None, owner=None) -> Dict[str, str]: diff --git a/sonic_package_manager/service_creator/sonic_db.py b/sonic_package_manager/service_creator/sonic_db.py index a064c60c4a..83c2558c93 100644 --- a/sonic_package_manager/service_creator/sonic_db.py +++ b/sonic_package_manager/service_creator/sonic_db.py @@ -6,6 +6,8 @@ from swsscommon import swsscommon +from config.config_mgmt import sonic_cfggen + from sonic_package_manager.service_creator import ETC_SONIC_PATH from sonic_package_manager.service_creator.utils import in_chroot @@ -14,46 +16,74 @@ INIT_CFG_JSON = os.path.join(ETC_SONIC_PATH, 'init_cfg.json') -class FileDbTable: - """ swsscommon.Table adapter for persistent DBs. """ - - def __init__(self, file, table): - self._file = file - self._table = table +class PersistentConfigDbConnector: + """ This class implements swsscommon.ConfigDBConnector methods for persistent DBs (JSON files). + For method description refer to swsscommon.ConfigDBConnector. + """ - def keys(self): - with open(self._file) as stream: - config = json.load(stream) - return config.get(self._table, {}).keys() + def __init__(self, filepath): + self._filepath = filepath - def get(self, key): - with open(self._file) as stream: - config = json.load(stream) - - table = config.get(self._table, {}) - exists = key in table - fvs_dict = table.get(key, {}) - fvs = list(fvs_dict.items()) - return exists, fvs - - def set(self, key, fvs): - with open(self._file) as stream: - config = json.load(stream) - - table = config.setdefault(self._table, {}) - table.update({key: dict(fvs)}) - - with open(self._file, 'w') as stream: - json.dump(config, stream, indent=4) - - def _del(self, key): - with open(self._file) as stream: + def get_config(self): + with open(self._filepath) as stream: config = json.load(stream) + config = sonic_cfggen.FormatConverter.to_deserialized(config) + return config + + def get_entry(self, table, key): + table = table.upper() + table_data = self.get_table(table) + return table_data.get(key, {}) + + def get_table(self, table): + table = table.upper() + config = self.get_config() + return config.get(table, {}) + + def set_entry(self, table, key, data): + table = table.upper() + config = self.get_config() + if data is None: + self._del_key(config, table, key) + else: + table_data = config.setdefault(table, {}) + table_data[key] = data + self._write_config(config) + + def mod_entry(self, table, key, data): + table = table.upper() + config = self.get_config() + if data is None: + self._del_key(config, table, key) + else: + table_data = config.setdefault(table, {}) + curr_data = table_data.setdefault(key, {}) + curr_data.update(data) + self._write_config(config) + + def mod_config(self, config): + for table_name in config: + table_data = config[table_name] + if table_data is None: + self._del_table(config, table_name) + continue + for key in table_data: + self.mod_entry(table_name, key, table_data[key]) + + def _del_table(self, config, table): + with contextlib.suppress(KeyError): + config.pop(table) + def _del_key(self, config, table, key): with contextlib.suppress(KeyError): - config[self._table].pop(key) + config[table].pop(key) + + if table in config and not config[table]: + self._del_table(config, table) - with open(self._file, 'w') as stream: + def _write_config(self, config): + config = sonic_cfggen.FormatConverter.to_serialized(config) + with open(self._filepath, 'w') as stream: json.dump(config, stream, indent=4) @@ -62,37 +92,52 @@ class SonicDB: running DB and also for persistent and initial configs. """ - _running = None + _running_db_conn = None + + @classmethod + def get_connectors(cls): + """ Yields available DBs connectors. """ + + initial_db_conn = cls.get_initial_db_connector() + persistent_db_conn = cls.get_persistent_db_connector() + running_db_conn = cls.get_running_db_connector() + + yield initial_db_conn + if persistent_db_conn is not None: + yield persistent_db_conn + if running_db_conn is not None: + yield running_db_conn @classmethod - def running_table(cls, table): - """ Returns running DB table. """ + def get_running_db_connector(cls): + """ Returns running DB connector. """ # In chroot we can connect to a running # DB via TCP socket, we should ignore this case. if in_chroot(): return None - if cls._running is None: + if cls._running_db_conn is None: try: - cls._running = swsscommon.DBConnector(CONFIG_DB, 0) + cls._running_db_conn = swsscommon.ConfigDBConnector() + cls._running_db_conn.connect() except RuntimeError: # Failed to connect to DB. - return None + cls._running_db_conn = None - return swsscommon.Table(cls._running, table) + return cls._running_db_conn @classmethod - def persistent_table(cls, table): - """ Returns persistent DB table. """ + def get_persistent_db_connector(cls): + """ Returns persistent DB connector. """ if not os.path.exists(CONFIG_DB_JSON): return None - return FileDbTable(CONFIG_DB_JSON, table) + return PersistentConfigDbConnector(CONFIG_DB_JSON) @classmethod - def initial_table(cls, table): - """ Returns initial DB table. """ + def get_initial_db_connector(cls): + """ Returns initial DB connector. """ - return FileDbTable(INIT_CFG_JSON, table) + return PersistentConfigDbConnector(INIT_CFG_JSON) diff --git a/sonic_package_manager/utils.py b/sonic_package_manager/utils.py index 417a0e4e48..a053e8edb7 100644 --- a/sonic_package_manager/utils.py +++ b/sonic_package_manager/utils.py @@ -1,5 +1,27 @@ #!/usr/bin/env python +from typing import Dict + from docker_image.reference import Reference DockerReference = Reference + + +def deep_update(dst: Dict, src: Dict) -> Dict: + """ Deep update dst dictionary with src dictionary. + + Args: + dst: Dictionary to update + src: Dictionary to update with + + Returns: + New merged dictionary. + """ + + for key, value in src.items(): + if isinstance(value, dict): + node = dst.setdefault(key, {}) + deep_update(node, value) + else: + dst[key] = value + return dst diff --git a/tests/sonic_package_manager/test_service_creator.py b/tests/sonic_package_manager/test_service_creator.py index ffa6737531..3e1a32b4d1 100644 --- a/tests/sonic_package_manager/test_service_creator.py +++ b/tests/sonic_package_manager/test_service_creator.py @@ -1,7 +1,8 @@ #!/usr/bin/env python import os -from unittest.mock import Mock, MagicMock +import copy +from unittest.mock import Mock, MagicMock, call import pytest @@ -112,11 +113,9 @@ def test_service_creator_with_debug_dump(sonic_fs, manifest, mock_feature_regist def test_service_creator_initial_config(sonic_fs, manifest, mock_feature_registry, mock_sonic_db): - mock_table = Mock() - mock_table.get = Mock(return_value=(True, (('field_2', 'original_value_2'),))) - mock_sonic_db.initial_table = Mock(return_value=mock_table) - mock_sonic_db.persistent_table = Mock(return_value=mock_table) - mock_sonic_db.running_table = Mock(return_value=mock_table) + mock_connector = Mock() + mock_connector.get_config = Mock(return_value={}) + mock_sonic_db.get_connectors = Mock(return_value=[mock_connector]) creator = ServiceCreator(mock_feature_registry, mock_sonic_db) @@ -137,66 +136,103 @@ def test_service_creator_initial_config(sonic_fs, manifest, mock_feature_registr package = Package(entry, Metadata(manifest)) creator.create(package) - mock_table.set.assert_called_with('key_a', [('field_1', 'value_1'), - ('field_2', 'original_value_2')]) + mock_connector.mod_config.assert_called_with( + { + 'TABLE_A': { + 'key_a': { + 'field_1': 'value_1', + 'field_2': 'value_2', + }, + }, + } + ) creator.remove(package) - mock_table._del.assert_called_with('key_a') + mock_connector.set_entry.assert_called_with('TABLE_A', 'key_a', None) def test_feature_registration(mock_sonic_db, manifest): - mock_feature_table = Mock() - mock_feature_table.get = Mock(return_value=(False, ())) - mock_sonic_db.initial_table = Mock(return_value=mock_feature_table) - mock_sonic_db.persistent_table = Mock(return_value=mock_feature_table) - mock_sonic_db.running_table = Mock(return_value=mock_feature_table) + mock_connector = Mock() + mock_connector.get_entry = Mock(return_value={}) + mock_sonic_db.get_connectors = Mock(return_value=[mock_connector]) feature_registry = FeatureRegistry(mock_sonic_db) feature_registry.register(manifest) - mock_feature_table.set.assert_called_with('test', [ - ('state', 'disabled'), - ('auto_restart', 'enabled'), - ('high_mem_alert', 'disabled'), - ('set_owner', 'local'), - ('has_per_asic_scope', 'False'), - ('has_global_scope', 'True'), - ('has_timer', 'False'), - ]) + mock_connector.set_entry.assert_called_with('FEATURE', 'test', { + 'state': 'disabled', + 'auto_restart': 'enabled', + 'high_mem_alert': 'disabled', + 'set_owner': 'local', + 'has_per_asic_scope': 'False', + 'has_global_scope': 'True', + 'has_timer': 'False', + }) + + +def test_feature_update(mock_sonic_db, manifest): + curr_feature_config = { + 'state': 'enabled', + 'auto_restart': 'enabled', + 'high_mem_alert': 'disabled', + 'set_owner': 'local', + 'has_per_asic_scope': 'False', + 'has_global_scope': 'True', + 'has_timer': 'False', + } + mock_connector = Mock() + mock_connector.get_entry = Mock(return_value=curr_feature_config) + mock_sonic_db.get_connectors = Mock(return_value=[mock_connector]) + feature_registry = FeatureRegistry(mock_sonic_db) + + new_manifest = copy.deepcopy(manifest) + new_manifest['service']['name'] = 'test_new' + new_manifest['service']['delayed'] = True + + feature_registry.update(manifest, new_manifest) + + mock_connector.set_entry.assert_has_calls([ + call('FEATURE', 'test', None), + call('FEATURE', 'test_new', { + 'state': 'enabled', + 'auto_restart': 'enabled', + 'high_mem_alert': 'disabled', + 'set_owner': 'local', + 'has_per_asic_scope': 'False', + 'has_global_scope': 'True', + 'has_timer': 'True', + }), + ], any_order=True) def test_feature_registration_with_timer(mock_sonic_db, manifest): manifest['service']['delayed'] = True - mock_feature_table = Mock() - mock_feature_table.get = Mock(return_value=(False, ())) - mock_sonic_db.initial_table = Mock(return_value=mock_feature_table) - mock_sonic_db.persistent_table = Mock(return_value=mock_feature_table) - mock_sonic_db.running_table = Mock(return_value=mock_feature_table) + mock_connector = Mock() + mock_connector.get_entry = Mock(return_value={}) + mock_sonic_db.get_connectors = Mock(return_value=[mock_connector]) feature_registry = FeatureRegistry(mock_sonic_db) feature_registry.register(manifest) - mock_feature_table.set.assert_called_with('test', [ - ('state', 'disabled'), - ('auto_restart', 'enabled'), - ('high_mem_alert', 'disabled'), - ('set_owner', 'local'), - ('has_per_asic_scope', 'False'), - ('has_global_scope', 'True'), - ('has_timer', 'True'), - ]) + mock_connector.set_entry.assert_called_with('FEATURE', 'test', { + 'state': 'disabled', + 'auto_restart': 'enabled', + 'high_mem_alert': 'disabled', + 'set_owner': 'local', + 'has_per_asic_scope': 'False', + 'has_global_scope': 'True', + 'has_timer': 'True', + }) def test_feature_registration_with_non_default_owner(mock_sonic_db, manifest): - mock_feature_table = Mock() - mock_feature_table.get = Mock(return_value=(False, ())) - mock_sonic_db.initial_table = Mock(return_value=mock_feature_table) - mock_sonic_db.persistent_table = Mock(return_value=mock_feature_table) - mock_sonic_db.running_table = Mock(return_value=mock_feature_table) + mock_connector = Mock() + mock_connector.get_entry = Mock(return_value={}) + mock_sonic_db.get_connectors = Mock(return_value=[mock_connector]) feature_registry = FeatureRegistry(mock_sonic_db) feature_registry.register(manifest, owner='kube') - mock_feature_table.set.assert_called_with('test', [ - ('state', 'disabled'), - ('auto_restart', 'enabled'), - ('high_mem_alert', 'disabled'), - ('set_owner', 'kube'), - ('has_per_asic_scope', 'False'), - ('has_global_scope', 'True'), - ('has_timer', 'False'), - ]) + mock_connector.set_entry.assert_called_with('FEATURE', 'test', { + 'state': 'disabled', + 'auto_restart': 'enabled', + 'high_mem_alert': 'disabled', + 'set_owner': 'kube', + 'has_per_asic_scope': 'False', + 'has_global_scope': 'True', + 'has_timer': 'False', + }) From ea4a730dcf1c68bed60afe7b139ed79a1a04c99e Mon Sep 17 00:00:00 2001 From: Cosmin-Jinga-MS <80100666+Cosmin-Jinga-MS@users.noreply.github.com> Date: Thu, 28 Oct 2021 19:39:50 +0300 Subject: [PATCH 338/342] [config][cbf] Added config commands for CBF (#1799) Added reload and clear commands for CBF. Added CBF reload UT --- config/main.py | 98 +++++++++++++++++++++ tests/cbf_config_input/0/cbf.json.j2 | 1 + tests/cbf_config_input/0/cbf_config.j2 | 82 ++++++++++++++++++ tests/cbf_config_input/0/config_cbf.json | 82 ++++++++++++++++++ tests/cbf_config_input/1/cbf.json.j2 | 1 + tests/cbf_config_input/1/cbf_config.j2 | 82 ++++++++++++++++++ tests/cbf_config_input/1/config_cbf.json | 82 ++++++++++++++++++ tests/cbf_config_input/cbf.json.j2 | 1 + tests/cbf_config_input/cbf_config.j2 | 82 ++++++++++++++++++ tests/cbf_config_input/config_cbf.json | 82 ++++++++++++++++++ tests/config_test.py | 106 ++++++++++++++++++++++- tests/conftest.py | 12 +++ 12 files changed, 709 insertions(+), 2 deletions(-) create mode 100644 tests/cbf_config_input/0/cbf.json.j2 create mode 100644 tests/cbf_config_input/0/cbf_config.j2 create mode 100644 tests/cbf_config_input/0/config_cbf.json create mode 100644 tests/cbf_config_input/1/cbf.json.j2 create mode 100644 tests/cbf_config_input/1/cbf_config.j2 create mode 100644 tests/cbf_config_input/1/config_cbf.json create mode 100644 tests/cbf_config_input/cbf.json.j2 create mode 100644 tests/cbf_config_input/cbf_config.j2 create mode 100644 tests/cbf_config_input/config_cbf.json diff --git a/config/main.py b/config/main.py index 80459b9eef..1b2678a4ef 100644 --- a/config/main.py +++ b/config/main.py @@ -608,6 +608,27 @@ def _change_hostname(hostname): clicommon.run_command(r'sed -i "/\s{}$/d" /etc/hosts'.format(current_hostname), display_cmd=True) clicommon.run_command('echo "127.0.0.1 {}" >> /etc/hosts'.format(hostname), display_cmd=True) +def _clear_cbf(): + CBF_TABLE_NAMES = [ + 'DSCP_TO_FC_MAP', + 'EXP_TO_FC_MAP'] + + namespace_list = [DEFAULT_NAMESPACE] + if multi_asic.get_num_asics() > 1: + namespace_list = multi_asic.get_namespaces_from_linux() + + for ns in namespace_list: + if ns is DEFAULT_NAMESPACE: + config_db = ConfigDBConnector() + else: + config_db = ConfigDBConnector( + use_unix_socket_path=True, namespace=ns + ) + config_db.connect() + for cbf_table in CBF_TABLE_NAMES: + config_db.delete_table(cbf_table) + + def _clear_qos(): QOS_TABLE_NAMES = [ 'TC_TO_PRIORITY_GROUP_MAP', @@ -2061,6 +2082,83 @@ def start_default(verbose): clicommon.run_command(cmd, display_cmd=verbose) +# +# 'cbf' group ('config cbf ...') +# +@config.group(cls=clicommon.AbbreviationGroup) +@click.pass_context +def cbf(ctx): + """CBF-related configuration tasks""" + pass + +@cbf.command('clear') +def clear(): + """Clear CBF configuration""" + log.log_info("'cbf clear' executing...") + _clear_cbf() + +@cbf.command('reload') +@click.pass_context +@click.option( + '--json-data', type=click.STRING, + help="json string with additional data, valid with --dry-run option" +) +@click.option( + '--dry_run', type=click.STRING, + help="Dry run, writes config to the given file" +) +def reload(ctx, dry_run, json_data): + """Reload CBF configuration""" + log.log_info("'cbf reload' executing...") + _clear_cbf() + + _, hwsku_path = device_info.get_paths_to_platform_and_hwsku_dirs() + sonic_version_file = device_info.get_sonic_version_file() + from_db = "-d --write-to-db" + if dry_run: + from_db = "--additional-data \'{}\'".format(json_data) if json_data else "" + + namespace_list = [DEFAULT_NAMESPACE] + if multi_asic.get_num_asics() > 1: + namespace_list = multi_asic.get_namespaces_from_linux() + + for ns in namespace_list: + if ns is DEFAULT_NAMESPACE: + asic_id_suffix = "" + config_db = ConfigDBConnector() + else: + asic_id = multi_asic.get_asic_id_from_name(ns) + if asic_id is None: + click.secho( + "Command 'cbf reload' failed with invalid namespace '{}'". + format(ns), + fg="yellow" + ) + raise click.Abort() + asic_id_suffix = str(asic_id) + + config_db = ConfigDBConnector( + use_unix_socket_path=True, namespace=ns + ) + + config_db.connect() + + cbf_template_file = os.path.join(hwsku_path, asic_id_suffix, "cbf.json.j2") + if os.path.isfile(cbf_template_file): + cmd_ns = "" if ns is DEFAULT_NAMESPACE else "-n {}".format(ns) + fname = "{}{}".format(dry_run, asic_id_suffix) if dry_run else "config-db" + command = "{} {} {} -t {},{} -y {}".format( + SONIC_CFGGEN_PATH, cmd_ns, from_db, + cbf_template_file, fname, sonic_version_file + ) + + # Apply the configuration + clicommon.run_command(command, display_cmd=True) + else: + click.secho("CBF definition template not found at {}".format( + cbf_template_file + ), fg="yellow") + # # 'qos' group ('config qos ...') # diff --git a/tests/cbf_config_input/0/cbf.json.j2 b/tests/cbf_config_input/0/cbf.json.j2 new file mode 100644 index 0000000000..1ccf88f98c --- /dev/null +++ b/tests/cbf_config_input/0/cbf.json.j2 @@ -0,0 +1 @@ +{%- include 'cbf_config.j2' %} \ No newline at end of file diff --git a/tests/cbf_config_input/0/cbf_config.j2 b/tests/cbf_config_input/0/cbf_config.j2 new file mode 100644 index 0000000000..894729f66f --- /dev/null +++ b/tests/cbf_config_input/0/cbf_config.j2 @@ -0,0 +1,82 @@ +{ + "DSCP_TO_FC_MAP": { + "AZURE": { + "0" : "1", + "1" : "1", + "2" : "1", + "3" : "3", + "4" : "4", + "5" : "2", + "6" : "1", + "7" : "1", + "8" : "0", + "9" : "1", + "10": "1", + "11": "1", + "12": "1", + "13": "1", + "14": "1", + "15": "1", + "16": "1", + "17": "1", + "18": "1", + "19": "1", + "20": "1", + "21": "1", + "22": "1", + "23": "1", + "24": "1", + "25": "1", + "26": "1", + "27": "1", + "28": "1", + "29": "1", + "30": "1", + "31": "1", + "32": "1", + "33": "1", + "34": "1", + "35": "1", + "36": "1", + "37": "1", + "38": "1", + "39": "1", + "40": "1", + "41": "1", + "42": "1", + "43": "1", + "44": "1", + "45": "1", + "46": "5", + "47": "1", + "48": "6", + "49": "1", + "50": "1", + "51": "1", + "52": "1", + "53": "1", + "54": "1", + "55": "1", + "56": "1", + "57": "1", + "58": "1", + "59": "1", + "60": "1", + "61": "1", + "62": "1", + "63": "1" + } + }, + "EXP_TO_FC_MAP": { + "AZURE": { + "0": "0", + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7" + } + } +} \ No newline at end of file diff --git a/tests/cbf_config_input/0/config_cbf.json b/tests/cbf_config_input/0/config_cbf.json new file mode 100644 index 0000000000..ff465f1ca2 --- /dev/null +++ b/tests/cbf_config_input/0/config_cbf.json @@ -0,0 +1,82 @@ +{ + "DSCP_TO_FC_MAP": { + "AZURE": { + "0" : "1", + "1" : "1", + "2" : "1", + "3" : "3", + "4" : "4", + "5" : "2", + "6" : "1", + "7" : "1", + "8" : "0", + "9" : "1", + "10": "1", + "11": "1", + "12": "1", + "13": "1", + "14": "1", + "15": "1", + "16": "1", + "17": "1", + "18": "1", + "19": "1", + "20": "1", + "21": "1", + "22": "1", + "23": "1", + "24": "1", + "25": "1", + "26": "1", + "27": "1", + "28": "1", + "29": "1", + "30": "1", + "31": "1", + "32": "1", + "33": "1", + "34": "1", + "35": "1", + "36": "1", + "37": "1", + "38": "1", + "39": "1", + "40": "1", + "41": "1", + "42": "1", + "43": "1", + "44": "1", + "45": "1", + "46": "5", + "47": "1", + "48": "6", + "49": "1", + "50": "1", + "51": "1", + "52": "1", + "53": "1", + "54": "1", + "55": "1", + "56": "1", + "57": "1", + "58": "1", + "59": "1", + "60": "1", + "61": "1", + "62": "1", + "63": "1" + } + }, + "EXP_TO_FC_MAP": { + "AZURE": { + "0": "0", + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7" + } + } +} diff --git a/tests/cbf_config_input/1/cbf.json.j2 b/tests/cbf_config_input/1/cbf.json.j2 new file mode 100644 index 0000000000..1ccf88f98c --- /dev/null +++ b/tests/cbf_config_input/1/cbf.json.j2 @@ -0,0 +1 @@ +{%- include 'cbf_config.j2' %} \ No newline at end of file diff --git a/tests/cbf_config_input/1/cbf_config.j2 b/tests/cbf_config_input/1/cbf_config.j2 new file mode 100644 index 0000000000..894729f66f --- /dev/null +++ b/tests/cbf_config_input/1/cbf_config.j2 @@ -0,0 +1,82 @@ +{ + "DSCP_TO_FC_MAP": { + "AZURE": { + "0" : "1", + "1" : "1", + "2" : "1", + "3" : "3", + "4" : "4", + "5" : "2", + "6" : "1", + "7" : "1", + "8" : "0", + "9" : "1", + "10": "1", + "11": "1", + "12": "1", + "13": "1", + "14": "1", + "15": "1", + "16": "1", + "17": "1", + "18": "1", + "19": "1", + "20": "1", + "21": "1", + "22": "1", + "23": "1", + "24": "1", + "25": "1", + "26": "1", + "27": "1", + "28": "1", + "29": "1", + "30": "1", + "31": "1", + "32": "1", + "33": "1", + "34": "1", + "35": "1", + "36": "1", + "37": "1", + "38": "1", + "39": "1", + "40": "1", + "41": "1", + "42": "1", + "43": "1", + "44": "1", + "45": "1", + "46": "5", + "47": "1", + "48": "6", + "49": "1", + "50": "1", + "51": "1", + "52": "1", + "53": "1", + "54": "1", + "55": "1", + "56": "1", + "57": "1", + "58": "1", + "59": "1", + "60": "1", + "61": "1", + "62": "1", + "63": "1" + } + }, + "EXP_TO_FC_MAP": { + "AZURE": { + "0": "0", + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7" + } + } +} \ No newline at end of file diff --git a/tests/cbf_config_input/1/config_cbf.json b/tests/cbf_config_input/1/config_cbf.json new file mode 100644 index 0000000000..ff465f1ca2 --- /dev/null +++ b/tests/cbf_config_input/1/config_cbf.json @@ -0,0 +1,82 @@ +{ + "DSCP_TO_FC_MAP": { + "AZURE": { + "0" : "1", + "1" : "1", + "2" : "1", + "3" : "3", + "4" : "4", + "5" : "2", + "6" : "1", + "7" : "1", + "8" : "0", + "9" : "1", + "10": "1", + "11": "1", + "12": "1", + "13": "1", + "14": "1", + "15": "1", + "16": "1", + "17": "1", + "18": "1", + "19": "1", + "20": "1", + "21": "1", + "22": "1", + "23": "1", + "24": "1", + "25": "1", + "26": "1", + "27": "1", + "28": "1", + "29": "1", + "30": "1", + "31": "1", + "32": "1", + "33": "1", + "34": "1", + "35": "1", + "36": "1", + "37": "1", + "38": "1", + "39": "1", + "40": "1", + "41": "1", + "42": "1", + "43": "1", + "44": "1", + "45": "1", + "46": "5", + "47": "1", + "48": "6", + "49": "1", + "50": "1", + "51": "1", + "52": "1", + "53": "1", + "54": "1", + "55": "1", + "56": "1", + "57": "1", + "58": "1", + "59": "1", + "60": "1", + "61": "1", + "62": "1", + "63": "1" + } + }, + "EXP_TO_FC_MAP": { + "AZURE": { + "0": "0", + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7" + } + } +} diff --git a/tests/cbf_config_input/cbf.json.j2 b/tests/cbf_config_input/cbf.json.j2 new file mode 100644 index 0000000000..1ccf88f98c --- /dev/null +++ b/tests/cbf_config_input/cbf.json.j2 @@ -0,0 +1 @@ +{%- include 'cbf_config.j2' %} \ No newline at end of file diff --git a/tests/cbf_config_input/cbf_config.j2 b/tests/cbf_config_input/cbf_config.j2 new file mode 100644 index 0000000000..894729f66f --- /dev/null +++ b/tests/cbf_config_input/cbf_config.j2 @@ -0,0 +1,82 @@ +{ + "DSCP_TO_FC_MAP": { + "AZURE": { + "0" : "1", + "1" : "1", + "2" : "1", + "3" : "3", + "4" : "4", + "5" : "2", + "6" : "1", + "7" : "1", + "8" : "0", + "9" : "1", + "10": "1", + "11": "1", + "12": "1", + "13": "1", + "14": "1", + "15": "1", + "16": "1", + "17": "1", + "18": "1", + "19": "1", + "20": "1", + "21": "1", + "22": "1", + "23": "1", + "24": "1", + "25": "1", + "26": "1", + "27": "1", + "28": "1", + "29": "1", + "30": "1", + "31": "1", + "32": "1", + "33": "1", + "34": "1", + "35": "1", + "36": "1", + "37": "1", + "38": "1", + "39": "1", + "40": "1", + "41": "1", + "42": "1", + "43": "1", + "44": "1", + "45": "1", + "46": "5", + "47": "1", + "48": "6", + "49": "1", + "50": "1", + "51": "1", + "52": "1", + "53": "1", + "54": "1", + "55": "1", + "56": "1", + "57": "1", + "58": "1", + "59": "1", + "60": "1", + "61": "1", + "62": "1", + "63": "1" + } + }, + "EXP_TO_FC_MAP": { + "AZURE": { + "0": "0", + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7" + } + } +} \ No newline at end of file diff --git a/tests/cbf_config_input/config_cbf.json b/tests/cbf_config_input/config_cbf.json new file mode 100644 index 0000000000..ff465f1ca2 --- /dev/null +++ b/tests/cbf_config_input/config_cbf.json @@ -0,0 +1,82 @@ +{ + "DSCP_TO_FC_MAP": { + "AZURE": { + "0" : "1", + "1" : "1", + "2" : "1", + "3" : "3", + "4" : "4", + "5" : "2", + "6" : "1", + "7" : "1", + "8" : "0", + "9" : "1", + "10": "1", + "11": "1", + "12": "1", + "13": "1", + "14": "1", + "15": "1", + "16": "1", + "17": "1", + "18": "1", + "19": "1", + "20": "1", + "21": "1", + "22": "1", + "23": "1", + "24": "1", + "25": "1", + "26": "1", + "27": "1", + "28": "1", + "29": "1", + "30": "1", + "31": "1", + "32": "1", + "33": "1", + "34": "1", + "35": "1", + "36": "1", + "37": "1", + "38": "1", + "39": "1", + "40": "1", + "41": "1", + "42": "1", + "43": "1", + "44": "1", + "45": "1", + "46": "5", + "47": "1", + "48": "6", + "49": "1", + "50": "1", + "51": "1", + "52": "1", + "53": "1", + "54": "1", + "55": "1", + "56": "1", + "57": "1", + "58": "1", + "59": "1", + "60": "1", + "61": "1", + "62": "1", + "63": "1" + } + }, + "EXP_TO_FC_MAP": { + "AZURE": { + "0": "0", + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7" + } + } +} diff --git a/tests/config_test.py b/tests/config_test.py index d875ad7ea3..9ea891687e 100644 --- a/tests/config_test.py +++ b/tests/config_test.py @@ -155,7 +155,6 @@ def teardown_class(cls): os.environ['UTILITIES_UNIT_TESTING'] = "0" print("TEARDOWN") - class TestReloadConfig(object): dummy_cfg_file = os.path.join(os.sep, "tmp", "config.json") @@ -228,13 +227,111 @@ def test_reload_yang_config(self, get_cmd_module, assert "\n".join([l.rstrip() for l in result.output.split('\n')]) \ == RELOAD_YANG_CFG_OUTPUT - @classmethod def teardown_class(cls): os.environ['UTILITIES_UNIT_TESTING'] = "0" os.remove(cls.dummy_cfg_file) print("TEARDOWN") + +class TestConfigCbf(object): + @classmethod + def setup_class(cls): + print("SETUP") + os.environ['UTILITIES_UNIT_TESTING'] = "2" + import config.main + importlib.reload(config.main) + + def test_cbf_reload_single( + self, get_cmd_module, setup_cbf_mock_apis, + setup_single_broadcom_asic + ): + (config, show) = get_cmd_module + runner = CliRunner() + output_file = os.path.join(os.sep, "tmp", "cbf_config_output.json") + print("Saving output in {}".format(output_file)) + try: + os.remove(output_file) + except OSError: + pass + result = runner.invoke( + config.config.commands["cbf"], + ["reload", "--dry_run", output_file] + ) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + + cwd = os.path.dirname(os.path.realpath(__file__)) + expected_result = os.path.join( + cwd, "cbf_config_input", "config_cbf.json" + ) + assert filecmp.cmp(output_file, expected_result, shallow=False) + + @classmethod + def teardown_class(cls): + print("TEARDOWN") + os.environ['UTILITIES_UNIT_TESTING'] = "0" + + +class TestConfigCbfMasic(object): + @classmethod + def setup_class(cls): + print("SETUP") + os.environ['UTILITIES_UNIT_TESTING'] = "2" + os.environ["UTILITIES_UNIT_TESTING_TOPOLOGY"] = "multi_asic" + import config.main + importlib.reload(config.main) + # change to multi asic config + from .mock_tables import dbconnector + from .mock_tables import mock_multi_asic + importlib.reload(mock_multi_asic) + dbconnector.load_namespace_config() + + def test_cbf_reload_masic( + self, get_cmd_module, setup_cbf_mock_apis, + setup_multi_broadcom_masic + ): + (config, show) = get_cmd_module + runner = CliRunner() + output_file = os.path.join(os.sep, "tmp", "cbf_config_output.json") + print("Saving output in {}<0,1,2..>".format(output_file)) + num_asic = device_info.get_num_npus() + print(num_asic) + for asic in range(num_asic): + try: + file = "{}{}".format(output_file, asic) + os.remove(file) + except OSError: + pass + result = runner.invoke( + config.config.commands["cbf"], + ["reload", "--dry_run", output_file] + ) + print(result.exit_code) + print(result.output) + assert result.exit_code == 0 + + cwd = os.path.dirname(os.path.realpath(__file__)) + + for asic in range(num_asic): + expected_result = os.path.join( + cwd, "cbf_config_input", str(asic), "config_cbf.json" + ) + file = "{}{}".format(output_file, asic) + assert filecmp.cmp(file, expected_result, shallow=False) + + @classmethod + def teardown_class(cls): + print("TEARDOWN") + os.environ['UTILITIES_UNIT_TESTING'] = "0" + os.environ["UTILITIES_UNIT_TESTING_TOPOLOGY"] = "" + # change back to single asic config + from .mock_tables import dbconnector + from .mock_tables import mock_single_asic + importlib.reload(mock_single_asic) + dbconnector.load_namespace_config() + class TestConfigQos(object): @classmethod @@ -285,6 +382,11 @@ def setup_class(cls): os.environ["UTILITIES_UNIT_TESTING_TOPOLOGY"] = "multi_asic" import config.main importlib.reload(config.main) + # change to multi asic config + from .mock_tables import dbconnector + from .mock_tables import mock_multi_asic + importlib.reload(mock_multi_asic) + dbconnector.load_namespace_config() def test_qos_reload_masic( self, get_cmd_module, setup_qos_mock_apis, diff --git a/tests/conftest.py b/tests/conftest.py index 6658618113..68bf6cbc43 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -74,6 +74,18 @@ def set_mock_apis(): config.asic_type = mock.MagicMock(return_value="broadcom") config._get_device_type = mock.MagicMock(return_value="ToRRouter") +@pytest.fixture +def setup_cbf_mock_apis(): + cwd = os.path.dirname(os.path.realpath(__file__)) + device_info.get_paths_to_platform_and_hwsku_dirs = mock.MagicMock( + return_value=( + os.path.join(cwd, "."), os.path.join(cwd, "cbf_config_input") + ) + ) + device_info.get_sonic_version_file = mock.MagicMock( + return_value=os.path.join(cwd, "qos_config_input/sonic_version.yml") + ) + @pytest.fixture def setup_qos_mock_apis(): cwd = os.path.dirname(os.path.realpath(__file__)) From 80a10dcb99fd96b443bf403b947e6acc95835b9a Mon Sep 17 00:00:00 2001 From: Sudharsan Dhamal Gopalarathnam Date: Fri, 29 Oct 2021 12:19:11 -0700 Subject: [PATCH 339/342] Fix log_ssd_health hang issue (#1904) What I did Fix Azure/sonic-buildimage#9114 The log_ssd_health command hangs due to timeout being used with docker exec -i which also affect warmboot flow. How I did it Added foreground option for timeout. This is recommended when not using the command on shell https://man7.org/linux/man-pages/man1/timeout.1.html How to verify it Run log_ssd_health and verify it does not hang Signed-off-by: Sudharsan Dhamal Gopalarathnam sudharsand@nvidia.com --- scripts/log_ssd_health | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/log_ssd_health b/scripts/log_ssd_health index d0e1f4a4b8..3f9d6b2267 100755 --- a/scripts/log_ssd_health +++ b/scripts/log_ssd_health @@ -1,6 +1,6 @@ #! /bin/bash -timeout 30 smartctl -a /dev/sda > /tmp/smartctl +timeout --foreground 30 smartctl -a /dev/sda > /tmp/smartctl if [ -f /tmp/smartctl ];then logger -f /tmp/smartctl fi From 0665d6f07edeef5fadd0f84eadedf1b9de40242f Mon Sep 17 00:00:00 2001 From: Sudharsan Dhamal Gopalarathnam Date: Fri, 29 Oct 2021 15:12:27 -0700 Subject: [PATCH 340/342] VxLAN Tunnel Counters and Rates implementation (#1748) * Vxlan Tunnel counters implementation --- clear/main.py | 6 + counterpoll/main.py | 36 +++ scripts/tunnelstat | 342 +++++++++++++++++++++++++++++ setup.py | 1 + show/vxlan.py | 15 ++ tests/mock_tables/counters_db.json | 18 ++ tests/tunnelstat_test.py | 108 +++++++++ 7 files changed, 526 insertions(+) create mode 100755 scripts/tunnelstat create mode 100644 tests/tunnelstat_test.py diff --git a/clear/main.py b/clear/main.py index 8f93597b68..5cbaee9d62 100755 --- a/clear/main.py +++ b/clear/main.py @@ -193,6 +193,12 @@ def dropcounters(): command = "dropstat -c clear" run_command(command) +@cli.command() +def tunnelcounters(): + """Clear Tunnel counters""" + command = "tunnelstat -c" + run_command(command) + # # 'clear watermarks # diff --git a/counterpoll/main.py b/counterpoll/main.py index 7c062e9d74..e04575d225 100644 --- a/counterpoll/main.py +++ b/counterpoll/main.py @@ -241,6 +241,39 @@ def disable(): configdb.mod_entry("FLEX_COUNTER_TABLE", "PG_WATERMARK", fc_info) configdb.mod_entry("FLEX_COUNTER_TABLE", BUFFER_POOL_WATERMARK, fc_info) +# Tunnel counter commands +@cli.group() +def tunnel(): + """ Tunnel counter commands """ + +@tunnel.command() +@click.argument('poll_interval', type=click.IntRange(100, 30000)) +def interval(poll_interval): + """ Set tunnel counter query interval """ + configdb = ConfigDBConnector() + configdb.connect() + tunnel_info = {} + tunnel_info['POLL_INTERVAL'] = poll_interval + configdb.mod_entry("FLEX_COUNTER_TABLE", "TUNNEL", tunnel_info) + +@tunnel.command() +def enable(): + """ Enable tunnel counter query """ + configdb = ConfigDBConnector() + configdb.connect() + tunnel_info = {} + tunnel_info['FLEX_COUNTER_STATUS'] = ENABLE + configdb.mod_entry("FLEX_COUNTER_TABLE", "TUNNEL", tunnel_info) + +@tunnel.command() +def disable(): + """ Disable tunnel counter query """ + configdb = ConfigDBConnector() + configdb.connect() + tunnel_info = {} + tunnel_info['FLEX_COUNTER_STATUS'] = DISABLE + configdb.mod_entry("FLEX_COUNTER_TABLE", "TUNNEL", tunnel_info) + @cli.command() def show(): """ Show the counter configuration """ @@ -254,6 +287,7 @@ def show(): pg_wm_info = configdb.get_entry('FLEX_COUNTER_TABLE', 'PG_WATERMARK') pg_drop_info = configdb.get_entry('FLEX_COUNTER_TABLE', PG_DROP) buffer_pool_wm_info = configdb.get_entry('FLEX_COUNTER_TABLE', BUFFER_POOL_WATERMARK) + tunnel_info = configdb.get_entry('FLEX_COUNTER_TABLE', 'TUNNEL') header = ("Type", "Interval (in ms)", "Status") data = [] @@ -273,6 +307,8 @@ def show(): data.append(['PG_DROP_STAT', pg_drop_info.get("POLL_INTERVAL", DEFLT_10_SEC), pg_drop_info.get("FLEX_COUNTER_STATUS", DISABLE)]) if buffer_pool_wm_info: data.append(["BUFFER_POOL_WATERMARK_STAT", buffer_pool_wm_info.get("POLL_INTERVAL", DEFLT_10_SEC), buffer_pool_wm_info.get("FLEX_COUNTER_STATUS", DISABLE)]) + if tunnel_info: + data.append(["TUNNEL_STAT", rif_info.get("POLL_INTERVAL", DEFLT_10_SEC), rif_info.get("FLEX_COUNTER_STATUS", DISABLE)]) click.echo(tabulate(data, headers=header, tablefmt="simple", missingval="")) diff --git a/scripts/tunnelstat b/scripts/tunnelstat new file mode 100755 index 0000000000..00aab5d832 --- /dev/null +++ b/scripts/tunnelstat @@ -0,0 +1,342 @@ +#!/usr/bin/env python3 + +##################################################################### +# +# tunnelstat is a tool for summarizing various tunnel statistics. +# +##################################################################### + +import _pickle as pickle +import argparse +import datetime +import sys +import os +import sys +import time + +# mock the redis for unit test purposes # +try: + if os.environ["UTILITIES_UNIT_TESTING"] == "2": + modules_path = os.path.join(os.path.dirname(__file__), "..") + test_path = os.path.join(modules_path, "tests") + sys.path.insert(0, modules_path) + sys.path.insert(0, test_path) + import mock_tables.dbconnector +except KeyError: + pass + +from collections import namedtuple, OrderedDict +from natsort import natsorted +from tabulate import tabulate +from utilities_common.netstat import ns_diff, table_as_json, STATUS_NA, format_prate +from swsscommon.swsscommon import SonicV2Connector + + +nstat_fields = ("rx_b_ok", "rx_p_ok", "tx_b_ok", "tx_p_ok") +NStats = namedtuple("NStats", nstat_fields) + +header = ['IFACE', 'RX_PKTS', 'RX_BYTES', 'RX_PPS','TX_PKTS', 'TX_BYTES', 'TX_PPS'] + +rates_key_list = [ 'RX_BPS', 'RX_PPS', 'TX_BPS', 'TX_PPS'] +ratestat_fields = ("rx_bps", "rx_pps", "tx_bps", "tx_pps") +RateStats = namedtuple("RateStats", ratestat_fields) + + +counter_names = ( + 'SAI_TUNNEL_STAT_IN_OCTETS', + 'SAI_TUNNEL_STAT_IN_PACKETS', + 'SAI_TUNNEL_STAT_OUT_OCTETS', + 'SAI_TUNNEL_STAT_OUT_PACKETS' +) + +counter_types = { + "vxlan": "SAI_TUNNEL_TYPE_VXLAN" +} + +COUNTER_TABLE_PREFIX = "COUNTERS:" +RATES_TABLE_PREFIX = "RATES:" +COUNTERS_TUNNEL_NAME_MAP = "COUNTERS_TUNNEL_NAME_MAP" +COUNTERS_TUNNEL_TYPE_MAP = "COUNTERS_TUNNEL_TYPE_MAP" + + +class Tunnelstat(object): + def __init__(self): + self.db = SonicV2Connector(use_unix_socket_path=False) + self.db.connect(self.db.COUNTERS_DB) + self.db.connect(self.db.APPL_DB) + + def get_cnstat(self, tunnel=None, tun_type=None): + """ + Get the counters info from database. + """ + def get_counters(table_id): + """ + Get the counters from specific table. + """ + fields = [STATUS_NA] * (len(nstat_fields)) + for pos, counter_name in enumerate(counter_names): + full_table_id = COUNTER_TABLE_PREFIX + table_id + counter_data = self.db.get(self.db.COUNTERS_DB, full_table_id, counter_name) + if counter_data: + fields[pos] = str(counter_data) + cntr = NStats._make(fields) + return cntr + + def get_rates(table_id): + """ + Get the rates from specific table. + """ + fields = ["0","0","0","0"] + for pos, name in enumerate(rates_key_list): + full_table_id = RATES_TABLE_PREFIX + table_id + counter_data = self.db.get(self.db.COUNTERS_DB, full_table_id, name) + if counter_data is None: + fields[pos] = STATUS_NA + elif fields[pos] != STATUS_NA: + fields[pos] = float(counter_data) + cntr = RateStats._make(fields) + return cntr + + # Build a dictionary of the stats + cnstat_dict = OrderedDict() + ratestat_dict = OrderedDict() + cnstat_dict['time'] = datetime.datetime.now() + + # Get the info from database + counter_tunnel_name_map = self.db.get_all(self.db.COUNTERS_DB, COUNTERS_TUNNEL_NAME_MAP) + counter_tunnel_type_map = self.db.get_all(self.db.COUNTERS_DB, COUNTERS_TUNNEL_TYPE_MAP) + + if counter_tunnel_name_map is None: + print("No %s in the DB!" % COUNTERS_TUNNEL_NAME_MAP) + sys.exit(1) + + if counter_tunnel_type_map is None: + print("No %s in the DB!" % COUNTERS_TUNNEL_TYPE_MAP) + sys.exit(1) + + if tun_type and tun_type not in counter_types: + print("Unknown tunnel type %s" % tun_type) + sys.exit(1) + + if tunnel and not tunnel in counter_tunnel_name_map: + print("Interface %s missing from %s! Make sure it exists" % (tunnel, COUNTERS_TUNNEL_NAME_MAP)) + sys.exit(2) + + if tunnel: + if tun_type and counter_types[tun_type] != counter_tunnel_type_map[counter_tunnel_name_map[tunnel]]: + print("Mismtch in tunnel type. Requested type %s actual type %s" % ( + counter_types[tun_type], counter_tunnel_type_map[counter_tunnel_name_map[tunnel]])) + sys.exit(2) + cnstat_dict[tunnel] = get_counters(counter_tunnel_name_map[tunnel]) + ratestat_dict[tunnel] = get_rates(counter_tunnel_name_map[tunnel]) + return cnstat_dict, ratestat_dict + + for tunnel in natsorted(counter_tunnel_name_map): + if not tun_type or counter_types[tun_type] == counter_tunnel_type_map[counter_tunnel_name_map[tunnel]]: + cnstat_dict[tunnel] = get_counters(counter_tunnel_name_map[tunnel]) + ratestat_dict[tunnel] = get_rates(counter_tunnel_name_map[tunnel]) + return cnstat_dict, ratestat_dict + + def cnstat_print(self, cnstat_dict, ratestat_dict, use_json): + """ + Print the cnstat. + """ + table = [] + + for key, data in cnstat_dict.items(): + if key == 'time': + continue + + rates = ratestat_dict.get(key, RateStats._make([STATUS_NA] * len(rates_key_list))) + table.append((key, data.rx_p_ok, data.rx_b_ok, format_prate(rates.rx_pps), + data.tx_p_ok, data.tx_b_ok, format_prate(rates.tx_pps))) + + if use_json: + print(table_as_json(table, header)) + + else: + print(tabulate(table, header, tablefmt='simple', stralign='right')) + + def cnstat_diff_print(self, cnstat_new_dict, cnstat_old_dict, ratestat_dict, use_json): + """ + Print the difference between two cnstat results. + """ + + table = [] + + for key, cntr in cnstat_new_dict.items(): + if key == 'time': + continue + old_cntr = None + if key in cnstat_old_dict: + old_cntr = cnstat_old_dict.get(key) + + rates = ratestat_dict.get(key, RateStats._make([STATUS_NA] * len(rates_key_list))) + if old_cntr is not None: + table.append((key, + ns_diff(cntr.rx_p_ok, old_cntr.rx_p_ok), + ns_diff(cntr.rx_b_ok, old_cntr.rx_b_ok), + format_prate(rates.rx_pps), + ns_diff(cntr.tx_p_ok, old_cntr.tx_p_ok), + ns_diff(cntr.tx_b_ok, old_cntr.tx_b_ok), + format_prate(rates.tx_pps))) + else: + table.append((key, + cntr.rx_p_ok, + cntr.rx_b_ok, + format_prate(rates.rx_pps), + cntr.tx_p_ok, + cntr.tx_b_ok, + format_prate(rates.tx_pps))) + if use_json: + print(table_as_json(table, header)) + else: + print(tabulate(table, header, tablefmt='simple', stralign='right')) + + def cnstat_single_tunnel(self, tunnel, cnstat_new_dict, cnstat_old_dict): + + header = tunnel + '\n' + '-'*len(tunnel) + body = """ + RX: + %10s packets + %10s bytes + TX: + %10s packets + %10s bytes""" + + cntr = cnstat_new_dict.get(tunnel) + + if cnstat_old_dict: + old_cntr = cnstat_old_dict.get(tunnel) + if old_cntr: + body = body % (ns_diff(cntr.rx_p_ok, old_cntr.rx_p_ok), + ns_diff(cntr.rx_b_ok, old_cntr.rx_b_ok), + ns_diff(cntr.tx_p_ok, old_cntr.tx_p_ok), + ns_diff(cntr.tx_b_ok, old_cntr.tx_b_ok)) + else: + body = body % (cntr.rx_p_ok, cntr.rx_b_ok, cntr.tx_p_ok, cntr.tx_b_ok) + + print(header) + print(body) + + +def main(): + parser = argparse.ArgumentParser(description='Display the tunnels state and counters', + formatter_class=argparse.RawTextHelpFormatter, + epilog=""" + Port state: (U)-Up (D)-Down (X)-Disabled + Examples: + tunnelstat -c -t test + tunnelstat -t test + tunnelstat -d -t test + tunnelstat + tunnelstat -p 20 + tunnelstat -i Vlan1000 + """) + + parser.add_argument('-c', '--clear', action='store_true', help='Copy & clear stats') + parser.add_argument('-d', '--delete', action='store_true', help='Delete saved stats, either the uid or the specified tag') + parser.add_argument('-D', '--delete-all', action='store_true', help='Delete all saved stats') + parser.add_argument('-j', '--json', action='store_true', help='Display in JSON format') + parser.add_argument('-t', '--tag', type=str, help='Save stats with name TAG', default=None) + parser.add_argument('-i', '--tunnel', type=str, help='Show stats for a single tunnel', required=False) + parser.add_argument('-p', '--period', type=int, help='Display stats over a specified period (in seconds).', default=0) + parser.add_argument('-v', '--version', action='version', version='%(prog)s 1.0') + parser.add_argument('-T', '--type', type=str, help ='Display Vxlan tunnel stats', required=False) + args = parser.parse_args() + + save_fresh_stats = args.clear + delete_saved_stats = args.delete + delete_all_stats = args.delete_all + use_json = args.json + tag_name = args.tag if args.tag else "" + uid = str(os.getuid()) + wait_time_in_seconds = args.period + tunnel_name = args.tunnel if args.tunnel else "" + tunnel_type = args.type if args.type else "" + + # fancy filename with dashes: uid-tag-tunnel / uid-tunnel / uid-tag etc + filename_components = [uid, tag_name] + cnstat_file = "-".join(filter(None, filename_components)) + + cnstat_dir = "/tmp/tunnelstat-" + uid + cnstat_fqn_file = cnstat_dir + "/" + cnstat_file + + if delete_all_stats: + # There is nothing to delete + if not os.path.isdir(cnstat_dir): + sys.exit(0) + + for file in os.listdir(cnstat_dir): + os.remove(cnstat_dir + "/" + file) + + try: + os.rmdir(cnstat_dir) + sys.exit(0) + except IOError as e: + print(e.errno, e) + sys.exit(e) + + if delete_saved_stats: + try: + os.remove(cnstat_fqn_file) + except IOError as e: + if e.errno != ENOENT: + print(e.errno, e) + sys.exit(1) + finally: + if os.listdir(cnstat_dir) == []: + os.rmdir(cnstat_dir) + sys.exit(0) + + tunnelstat = Tunnelstat() + cnstat_dict,ratestat_dict = tunnelstat.get_cnstat(tunnel=tunnel_name, tun_type=tunnel_type) + + # At this point, either we'll create a file or open an existing one. + if not os.path.exists(cnstat_dir): + try: + os.makedirs(cnstat_dir) + except IOError as e: + print(e.errno, e) + sys.exit(1) + + if save_fresh_stats: + try: + pickle.dump(cnstat_dict, open(cnstat_fqn_file, 'wb')) + except IOError as e: + sys.exit(e.errno) + else: + print("Cleared counters") + sys.exit(0) + + if wait_time_in_seconds == 0: + if os.path.isfile(cnstat_fqn_file): + try: + cnstat_cached_dict = pickle.load(open(cnstat_fqn_file, 'rb')) + print("Last cached time was " + str(cnstat_cached_dict.get('time'))) + if tunnel_name: + tunnelstat.cnstat_single_tunnel(tunnel_name, cnstat_dict, cnstat_cached_dict) + else: + tunnelstat.cnstat_diff_print(cnstat_dict, cnstat_cached_dict, ratestat_dict, use_json) + except IOError as e: + print(e.errno, e) + else: + if tag_name: + print("\nFile belonging to tag %s does not exist" % tag_name) + print("Did you run 'tunnelstat -c -t %s' to record the counters via tag %s?\n" % (tag_name, tag_name)) + else: + if tunnel_name: + tunnelstat.cnstat_single_tunnel(tunnel_name, cnstat_dict, None) + else: + tunnelstat.cnstat_print(cnstat_dict, ratestat_dict, use_json) + else: + #wait for the specified time and then gather the new stats and output the difference. + time.sleep(wait_time_in_seconds) + cnstat_new_dict, ratestat_dict = tunnelstat.get_cnstat(tunnel=tunnel_name, tun_type=tunnel_type) + if tunnel_name: + tunnelstat.cnstat_single_tunnel(tunnel_name, cnstat_new_dict, cnstat_dict) + else: + tunnelstat.cnstat_diff_print(cnstat_new_dict, cnstat_dict, ratestat_dict, use_json) + +if __name__ == "__main__": + main() diff --git a/setup.py b/setup.py index c28af558ab..30e8c7bfd4 100644 --- a/setup.py +++ b/setup.py @@ -128,6 +128,7 @@ 'scripts/storyteller', 'scripts/syseeprom-to-json', 'scripts/tempershow', + 'scripts/tunnelstat', 'scripts/update_json.py', 'scripts/voqutil', 'scripts/warm-reboot', diff --git a/show/vxlan.py b/show/vxlan.py index bb20580689..398de798f9 100644 --- a/show/vxlan.py +++ b/show/vxlan.py @@ -305,3 +305,18 @@ def remotemac(remote_vtep_ip, count): output += ('%s \n' % (str(num))) click.echo(output) +@vxlan.command() +@click.argument('tunnel', required=False) +@click.option('-p', '--period') +@click.option('--verbose', is_flag=True, help="Enable verbose output") +def counters(tunnel, period, verbose): + """Show VxLAN counters""" + + cmd = "tunnelstat -T vxlan" + if period is not None: + cmd += " -p {}".format(period) + if tunnel is not None: + cmd += " -i {}".format(tunnel) + + clicommon.run_command(cmd, display_cmd=verbose) + diff --git a/tests/mock_tables/counters_db.json b/tests/mock_tables/counters_db.json index 9ad472c03d..053165079e 100644 --- a/tests/mock_tables/counters_db.json +++ b/tests/mock_tables/counters_db.json @@ -520,6 +520,12 @@ "TX_BPS": "0", "TX_PPS": "0" }, + "COUNTERS:oid:0x2a0000000035e": { + "SAI_TUNNEL_STAT_IN_OCTETS": "81922", + "SAI_TUNNEL_STAT_IN_PACKETS": "452", + "SAI_TUNNEL_STAT_OUT_OCTETS": "23434", + "SAI_TUNNEL_STAT_OUT_PACKETS": "154" + }, "COUNTERS_RIF_NAME_MAP": { "Ethernet20": "oid:0x600000000065f", "PortChannel0001": "oid:0x60000000005a1", @@ -536,6 +542,18 @@ "oid:0x600000000063d": "SAI_ROUTER_INTERFACE_TYPE_PORT", "oid:0x600000000065f": "SAI_ROUTER_INTERFACE_TYPE_PORT" }, + "COUNTERS_TUNNEL_NAME_MAP": { + "vtep1": "oid:0x2a0000000035e" + }, + "COUNTERS_TUNNEL_TYPE_MAP": { + "oid:0x2a0000000035e": "SAI_TUNNEL_TYPE_VXLAN" + }, + "RATES:oid:0x2a0000000035e": { + "RX_BPS": "20971520", + "RX_PPS": "20523", + "TX_BPS": "2048", + "TX_PPS": "201" + }, "COUNTERS:DATAACL:DEFAULT_RULE": { "Bytes": "1", "Packets": "2" diff --git a/tests/tunnelstat_test.py b/tests/tunnelstat_test.py new file mode 100644 index 0000000000..f1fe716ef3 --- /dev/null +++ b/tests/tunnelstat_test.py @@ -0,0 +1,108 @@ +import sys +import os +import traceback + +from click.testing import CliRunner + +test_path = os.path.dirname(os.path.abspath(__file__)) +modules_path = os.path.dirname(test_path) +scripts_path = os.path.join(modules_path, "scripts") +sys.path.insert(0, test_path) +sys.path.insert(0, modules_path) + +import clear.main as clear +import show.main as show +from .mock_tables import dbconnector + +show_vxlan_counters_output = """\ + IFACE RX_PKTS RX_BYTES RX_PPS TX_PKTS TX_BYTES TX_PPS +------- --------- ---------- ---------- --------- ---------- -------- + vtep1 452 81922 20523.00/s 154 23434 201.00/s +""" + +show_vxlan_counters_clear_output = """\ + IFACE RX_PKTS RX_BYTES RX_PPS TX_PKTS TX_BYTES TX_PPS +------- --------- ---------- ---------- --------- ---------- -------- + vtep1 0 0 20523.00/s 0 0 201.00/s +""" + +show_vxlan_counters_interface_output = """\ +vtep1 +----- + + RX: + 452 packets + 81922 bytes + TX: + 154 packets + 23434 bytes +""" + +show_vxlan_counters_clear_interface_output = """\ +vtep1 +----- + + RX: + 0 packets + 0 bytes + TX: + 0 packets + 0 bytes +""" + + +class TestTunnelstat(object): + @classmethod + def setup_class(cls): + print("SETUP") + os.environ["PATH"] += os.pathsep + scripts_path + os.environ["UTILITIES_UNIT_TESTING"] = "2" + + def test_no_param(self): + runner = CliRunner() + result = runner.invoke(show.cli.commands["vxlan"].commands["counters"], []) + print(result.exit_code) + print(result.output) + traceback.print_tb(result.exc_info[2]) + assert result.exit_code == 0 + assert result.output == show_vxlan_counters_output + + def test_single_tunnel(self): + runner = CliRunner() + result = runner.invoke(show.cli.commands["vxlan"].commands["counters"], ["vtep1"]) + expected = show_vxlan_counters_interface_output + assert result.output == expected + + def test_clear(self): + runner = CliRunner() + result = runner.invoke(clear.cli.commands["tunnelcounters"], []) + print(result.stdout) + assert result.exit_code == 0 + result = runner.invoke(show.cli.commands["vxlan"].commands["counters"], []) + print(result.stdout) + expected = show_vxlan_counters_clear_output + + # remove the counters snapshot + show.run_command("tunnelstat -D") + for line in expected: + assert line in result.output + + def test_clear_interface(self): + runner = CliRunner() + result = runner.invoke(clear.cli.commands["tunnelcounters"], []) + print(result.stdout) + assert result.exit_code == 0 + result = runner.invoke(show.cli.commands["vxlan"].commands["counters"], ["vtep1"]) + print(result.stdout) + expected = show_vxlan_counters_clear_interface_output + + # remove the counters snapshot + show.run_command("tunnelstat -D") + for line in expected: + assert line in result.output + + @classmethod + def teardown_class(cls): + print("TEARDOWN") + os.environ["PATH"] = os.pathsep.join(os.environ["PATH"].split(os.pathsep)[:-1]) + os.environ["UTILITIES_UNIT_TESTING"] = "0" From ca728b8961812a28e3542b206417755f4fe2ba89 Mon Sep 17 00:00:00 2001 From: Stepan Blyshchak <38952541+stepanblyschak@users.noreply.github.com> Date: Mon, 1 Nov 2021 19:05:19 +0200 Subject: [PATCH 341/342] [config] fix interface IPv6 address removal. (#1819) Current code takes an input from the user, converts the IPv6 string to lower letters and removes lower case IPv6 string from CONFIG DB. This is a bug since, according to the schema CONFIG DB is case insensitive for IPv6 address. - What I did Fixed CLI for removing IPv6 address. Issue is that below command does not work if IP address is written in upper case in CONFIG DB, like this: FC00::1/64. 'config interface ip remove Ethernet0 FC00::1/64' - How I did it Make it case insensitive Relaxed the validation of IP address, a built-in validation from ipaddress package in python is used. Refactored interface_ipaddr_dependent_on_interface -> get_interface_ipaddresses Separated some functions (has_static_routes_attached, flush_ip_neigh_in_kernel, can_remove_router_interface, remove_router_interface_ip_address, remove_router_interface, is_management_interface) - How to verify it Run UT. Try to reproduce the scenario described above. Signed-off-by: Stepan Blyschak --- config/main.py | 232 +++++++++++++++++++--------------------- tests/ip_config_test.py | 38 ++++--- 2 files changed, 134 insertions(+), 136 deletions(-) diff --git a/config/main.py b/config/main.py index 1b2678a4ef..20d5c1c290 100644 --- a/config/main.py +++ b/config/main.py @@ -343,18 +343,22 @@ def interface_name_to_alias(config_db, interface_name): return None -def interface_ipaddr_dependent_on_interface(config_db, interface_name): - """Get table keys including ipaddress +def get_interface_ipaddresses(config_db, interface_name): + """Get IP addresses attached to interface """ - data = [] + ipaddresses = set() table_name = get_interface_table_name(interface_name) - if table_name == "": - return data + if not table_name: + return ipaddresses + keys = config_db.get_keys(table_name) for key in keys: - if interface_name in key and len(key) == 2: - data.append(key) - return data + if isinstance(key, tuple) and len(key) == 2: + iface, interface_ip = key + if iface == interface_name: + ipaddresses.add(ipaddress.ip_interface(interface_ip)) + + return ipaddresses def is_interface_bind_to_vrf(config_db, interface_name): """Get interface if bind to vrf or not @@ -448,9 +452,9 @@ def del_interface_bind_to_vrf(config_db, vrf_name): if interface_dict: for interface_name in interface_dict: if 'vrf_name' in interface_dict[interface_name] and vrf_name == interface_dict[interface_name]['vrf_name']: - interface_dependent = interface_ipaddr_dependent_on_interface(config_db, interface_name) - for interface_del in interface_dependent: - config_db.set_entry(table_name, interface_del, None) + interface_ipaddresses = get_interface_ipaddresses(config_db, interface_name) + for ipaddress in interface_ipaddresses: + remove_router_interface_ip_address(config_db, interface_name, ipaddress) config_db.set_entry(table_name, interface_name, None) def set_interface_naming_mode(mode): @@ -854,27 +858,6 @@ def validate_mirror_session_config(config_db, session_name, dst_port, src_port, return True -def is_valid_ip_interface(ctx, ip_addr): - split_ip_mask = ip_addr.split("/") - if len(split_ip_mask) < 2: - return False - - # Check if the IP address is correct or if there are leading zeros. - ip_obj = ipaddress.ip_address(split_ip_mask[0]) - - if isinstance(ip_obj, ipaddress.IPv4Address): - # Since the IP address is used as a part of a key in Redis DB, - # do not tolerate extra zeros in IPv4. - if str(ip_obj) != split_ip_mask[0]: - return False - - # Check if the mask is correct - net = ipaddress.ip_network(ip_addr, strict=False) - if str(net.prefixlen) != split_ip_mask[1] or net.prefixlen == 0: - return False - - return True - def cli_sroute_to_config(ctx, command_str, strict_nh = True): if len(command_str) < 2 or len(command_str) > 9: ctx.fail("argument is not in pattern prefix [vrf ] nexthop <[vrf ] >|>!") @@ -985,6 +968,20 @@ def cache_arp_entries(): open(restore_flag_file, 'w').close() return success +def remove_router_interface_ip_address(config_db, interface_name, ipaddress_to_remove): + table_name = get_interface_table_name(interface_name) + keys = config_db.get_keys(table_name) + + for key in keys: + if not isinstance(key, tuple) or len(key) != 2: + continue + + iface, ipaddress_string = key + if iface != interface_name: + continue + + if ipaddress.ip_interface(ipaddress_string) == ipaddress_to_remove: + config_db.set_entry(table_name, (interface_name, ipaddress_string), None) def validate_ipv4_address(ctx, param, ip_addr): """Helper function to validate ipv4 address @@ -3749,50 +3746,44 @@ def add(ctx, interface_name, ip_addr, gw): return try: - net = ipaddress.ip_network(ip_addr, strict=False) - if '/' not in ip_addr: - ip_addr += '/' + str(net.prefixlen) - - if not is_valid_ip_interface(ctx, ip_addr): - raise ValueError('') - - if interface_name == 'eth0': - - # Configuring more than 1 IPv4 or more than 1 IPv6 address fails. - # Allow only one IPv4 and only one IPv6 address to be configured for IPv6. - # If a row already exist, overwrite it (by doing delete and add). - mgmtintf_key_list = _get_all_mgmtinterface_keys() - - for key in mgmtintf_key_list: - # For loop runs for max 2 rows, once for IPv4 and once for IPv6. - # No need to capture the exception since the ip_addr is already validated earlier - ip_input = ipaddress.ip_interface(ip_addr) - current_ip = ipaddress.ip_interface(key[1]) - if (ip_input.version == current_ip.version): - # If user has configured IPv4/v6 address and the already available row is also IPv4/v6, delete it here. - config_db.set_entry("MGMT_INTERFACE", ("eth0", key[1]), None) - - # Set the new row with new value - if not gw: - config_db.set_entry("MGMT_INTERFACE", (interface_name, ip_addr), {"NULL": "NULL"}) - else: - config_db.set_entry("MGMT_INTERFACE", (interface_name, ip_addr), {"gwaddr": gw}) - mgmt_ip_restart_services() + ip_address = ipaddress.ip_interface(ip_addr) + except ValueError as err: + ctx.fail("IP address is not valid: {}".format(err)) + + if interface_name == 'eth0': + + # Configuring more than 1 IPv4 or more than 1 IPv6 address fails. + # Allow only one IPv4 and only one IPv6 address to be configured for IPv6. + # If a row already exist, overwrite it (by doing delete and add). + mgmtintf_key_list = _get_all_mgmtinterface_keys() + + for key in mgmtintf_key_list: + # For loop runs for max 2 rows, once for IPv4 and once for IPv6. + # No need to capture the exception since the ip_addr is already validated earlier + current_ip = ipaddress.ip_interface(key[1]) + if (ip_address.version == current_ip.version): + # If user has configured IPv4/v6 address and the already available row is also IPv4/v6, delete it here. + config_db.set_entry("MGMT_INTERFACE", ("eth0", key[1]), None) + + # Set the new row with new value + if not gw: + config_db.set_entry("MGMT_INTERFACE", (interface_name, str(ip_address)), {"NULL": "NULL"}) + else: + config_db.set_entry("MGMT_INTERFACE", (interface_name, str(ip_address)), {"gwaddr": gw}) + mgmt_ip_restart_services() - return + return - table_name = get_interface_table_name(interface_name) - if table_name == "": - ctx.fail("'interface_name' is not valid. Valid names [Ethernet/PortChannel/Vlan/Loopback]") - interface_entry = config_db.get_entry(table_name, interface_name) - if len(interface_entry) == 0: - if table_name == "VLAN_SUB_INTERFACE": - config_db.set_entry(table_name, interface_name, {"admin_status": "up"}) - else: - config_db.set_entry(table_name, interface_name, {"NULL": "NULL"}) - config_db.set_entry(table_name, (interface_name, ip_addr), {"NULL": "NULL"}) - except ValueError: - ctx.fail("ip address or mask is not valid.") + table_name = get_interface_table_name(interface_name) + if table_name == "": + ctx.fail("'interface_name' is not valid. Valid names [Ethernet/PortChannel/Vlan/Loopback]") + interface_entry = config_db.get_entry(table_name, interface_name) + if len(interface_entry) == 0: + if table_name == "VLAN_SUB_INTERFACE": + config_db.set_entry(table_name, interface_name, {"admin_status": "up"}) + else: + config_db.set_entry(table_name, interface_name, {"NULL": "NULL"}) + config_db.set_entry(table_name, (interface_name, str(ip_address)), {"NULL": "NULL"}) # # 'del' subcommand @@ -3813,52 +3804,47 @@ def remove(ctx, interface_name, ip_addr): ctx.fail("'interface_name' is None!") try: - net = ipaddress.ip_network(ip_addr, strict=False) - if '/' not in ip_addr: - ip_addr += '/' + str(net.prefixlen) + ip_address = ipaddress.ip_interface(ip_addr) + except ValueError as err: + ctx.fail("IP address is not valid: {}".format(err)) - if not is_valid_ip_interface(ctx, ip_addr): - raise ValueError('') + if interface_name == 'eth0': + config_db.set_entry("MGMT_INTERFACE", (interface_name, str(ip_address)), None) + mgmt_ip_restart_services() + return - if interface_name == 'eth0': - config_db.set_entry("MGMT_INTERFACE", (interface_name, ip_addr), None) - mgmt_ip_restart_services() - return + table_name = get_interface_table_name(interface_name) + if table_name == "": + ctx.fail("'interface_name' is not valid. Valid names [Ethernet/PortChannel/Vlan/Loopback]") + interface_addresses = get_interface_ipaddresses(config_db, interface_name) + # If we deleting the last IP entry of the interface, check whether a static route present for the RIF + # before deleting the entry and also the RIF. + if interface_addresses == {ip_address}: + # Check both IPv4 and IPv6 routes. + ip_versions = [ "ip", "ipv6"] + for ip_ver in ip_versions: + # Compete the command and ask Zebra to return the routes. + # Scopes of all VRFs will be checked. + cmd = "show {} route vrf all static".format(ip_ver) + if multi_asic.is_multi_asic(): + output = bgp_util.run_bgp_command(cmd, ctx.obj['namespace']) + else: + output = bgp_util.run_bgp_command(cmd) + # If there is output data, check is there a static route, + # bound to the interface. + if output != "": + if any(interface_name in output_line for output_line in output.splitlines()): + ctx.fail("Cannot remove the last IP entry of interface {}. A static {} route is still bound to the RIF.".format(interface_name, ip_ver)) + remove_router_interface_ip_address(config_db, interface_name, ip_address) + interface_addresses = get_interface_ipaddresses(config_db, interface_name) + if len(interface_addresses) == 0 and is_interface_bind_to_vrf(config_db, interface_name) is False and get_intf_ipv6_link_local_mode(ctx, interface_name, table_name) != "enable": + config_db.set_entry(table_name, interface_name, None) - table_name = get_interface_table_name(interface_name) - if table_name == "": - ctx.fail("'interface_name' is not valid. Valid names [Ethernet/PortChannel/Vlan/Loopback]") - interface_dependent = interface_ipaddr_dependent_on_interface(config_db, interface_name) - # If we deleting the last IP entry of the interface, check whether a static route present for the RIF - # before deleting the entry and also the RIF. - if len(interface_dependent) == 1 and interface_dependent[0][1] == ip_addr: - # Check both IPv4 and IPv6 routes. - ip_versions = [ "ip", "ipv6"] - for ip_ver in ip_versions: - # Compete the command and ask Zebra to return the routes. - # Scopes of all VRFs will be checked. - cmd = "show {} route vrf all static".format(ip_ver) - if multi_asic.is_multi_asic(): - output = bgp_util.run_bgp_command(cmd, ctx.obj['namespace']) - else: - output = bgp_util.run_bgp_command(cmd) - # If there is output data, check is there a static route, - # bound to the interface. - if output != "": - if any(interface_name in output_line for output_line in output.splitlines()): - ctx.fail("Cannot remove the last IP entry of interface {}. A static {} route is still bound to the RIF.".format(interface_name, ip_ver)) - config_db.set_entry(table_name, (interface_name, ip_addr), None) - interface_dependent = interface_ipaddr_dependent_on_interface(config_db, interface_name) - if len(interface_dependent) == 0 and is_interface_bind_to_vrf(config_db, interface_name) is False and get_intf_ipv6_link_local_mode(ctx, interface_name, table_name) != "enable": - config_db.set_entry(table_name, interface_name, None) - - if multi_asic.is_multi_asic(): - command = "sudo ip netns exec {} ip neigh flush dev {} {}".format(ctx.obj['namespace'], interface_name, ip_addr) - else: - command = "ip neigh flush dev {} {}".format(interface_name, ip_addr) - clicommon.run_command(command) - except ValueError: - ctx.fail("ip address or mask is not valid.") + if multi_asic.is_multi_asic(): + command = "sudo ip netns exec {} ip neigh flush dev {} {}".format(ctx.obj['namespace'], interface_name, str(ip_address)) + else: + command = "ip neigh flush dev {} {}".format(interface_name, str(ip_address)) + clicommon.run_command(command) # @@ -4243,9 +4229,9 @@ def bind(ctx, interface_name, vrf_name): config_db.get_entry(table_name, interface_name).get('vrf_name') == vrf_name: return # Clean ip addresses if interface configured - interface_dependent = interface_ipaddr_dependent_on_interface(config_db, interface_name) - for interface_del in interface_dependent: - config_db.set_entry(table_name, interface_del, None) + interface_addresses = get_interface_ipaddresses(config_db, interface_name) + for ipaddress in interface_addresses: + remove_router_interface_ip_address(config_db, interface_name, ipaddress) config_db.set_entry(table_name, interface_name, None) # When config_db del entry and then add entry with same key, the DEL will lost. if ctx.obj['namespace'] is DEFAULT_NAMESPACE: @@ -4281,9 +4267,9 @@ def unbind(ctx, interface_name): ctx.fail("'interface_name' is not valid. Valid names [Ethernet/PortChannel/Vlan/Loopback]") if is_interface_bind_to_vrf(config_db, interface_name) is False: return - interface_dependent = interface_ipaddr_dependent_on_interface(config_db, interface_name) - for interface_del in interface_dependent: - config_db.set_entry(table_name, interface_del, None) + interface_ipaddresses = get_interface_ipaddresses(config_db, interface_name) + for ipaddress in interface_ipaddresses: + remove_router_interface_ip_address(config_db, interface_name, ipaddress) config_db.set_entry(table_name, interface_name, None) diff --git a/tests/ip_config_test.py b/tests/ip_config_test.py index 24db7c319a..6372d5ab76 100644 --- a/tests/ip_config_test.py +++ b/tests/ip_config_test.py @@ -8,9 +8,7 @@ import show.main as show from utilities_common.db import Db -ERROR_MSG = ''' -Error: ip address or mask is not valid. -''' +ERROR_MSG = "Error: IP address is not valid" class TestConfigIP(object): @classmethod @@ -65,7 +63,7 @@ def test_add_interface_ipv4_with_leading_zeros(self): obj = {'config_db':db.cfgdb} # config int ip add Ethernet68 10.10.10.002/24 - result = runner.invoke(config.config.commands["interface"].commands["ip"].commands["add"], ["Ethernet68", "10.10.10.002/24"], obj=obj) + result = runner.invoke(config.config.commands["interface"].commands["ip"].commands["add"], ["Ethernet68", "10.10.10.0002/24"], obj=obj) print(result.exit_code, result.output) assert result.exit_code != 0 assert ERROR_MSG in result.output @@ -88,7 +86,21 @@ def test_add_del_interface_valid_ipv6(self): print(result.exit_code, result.output) assert result.exit_code != 0 assert ('Ethernet72', '2001:1db8:11a3:19d7:1f34:8a2e:17a0:765d/34') not in db.cfgdb.get_table('INTERFACE') - + + def test_del_interface_case_sensitive_ipv6(self): + db = Db() + runner = CliRunner() + obj = {'config_db':db.cfgdb} + + obj['config_db'].set_entry('INTERFACE', ('Ethernet72', 'FC00::1/126'), {}) + assert ('Ethernet72', 'FC00::1/126') in db.cfgdb.get_table('INTERFACE') + + # config int ip remove Ethernet72 FC00::1/126 + result = runner.invoke(config.config.commands["interface"].commands["ip"].commands["remove"], ["Ethernet72", "FC00::1/126"], obj=obj) + print(result.exit_code, result.output) + assert result.exit_code != 0 + assert ('Ethernet72', 'FC00::1/126') not in db.cfgdb.get_table('INTERFACE') + def test_add_interface_invalid_ipv6(self): db = Db() runner = CliRunner() @@ -120,14 +132,14 @@ def test_add_del_interface_ipv6_with_leading_zeros(self): result = runner.invoke(config.config.commands["interface"].commands["ip"].commands["add"], ["Ethernet68", "2001:0db8:11a3:09d7:1f34:8a2e:07a0:765d/34"], obj=obj) print(result.exit_code, result.output) assert result.exit_code == 0 - assert ('Ethernet68', '2001:0db8:11a3:09d7:1f34:8a2e:07a0:765d/34') in db.cfgdb.get_table('INTERFACE') - + assert ('Ethernet68', '2001:db8:11a3:9d7:1f34:8a2e:7a0:765d/34') in db.cfgdb.get_table('INTERFACE') + # config int ip remove Ethernet68 2001:0db8:11a3:09d7:1f34:8a2e:07a0:765d/34 result = runner.invoke(config.config.commands["interface"].commands["ip"].commands["remove"], ["Ethernet68", "2001:0db8:11a3:09d7:1f34:8a2e:07a0:765d/34"], obj=obj) print(result.exit_code, result.output) assert result.exit_code != 0 - assert ('Ethernet68', '2001:0db8:11a3:09d7:1f34:8a2e:07a0:765d/34') not in db.cfgdb.get_table('INTERFACE') - + assert ('Ethernet68', '2001:db8:11a3:9d7:1f34:8a2e:7a0:765d/34') not in db.cfgdb.get_table('INTERFACE') + def test_add_del_interface_shortened_ipv6_with_leading_zeros(self): db = Db() runner = CliRunner() @@ -137,14 +149,14 @@ def test_add_del_interface_shortened_ipv6_with_leading_zeros(self): result = runner.invoke(config.config.commands["interface"].commands["ip"].commands["add"], ["Ethernet68", "3000::001/64"], obj=obj) print(result.exit_code, result.output) assert result.exit_code == 0 - assert ('Ethernet68', '3000::001/64') in db.cfgdb.get_table('INTERFACE') - + assert ('Ethernet68', '3000::1/64') in db.cfgdb.get_table('INTERFACE') + # config int ip remove Ethernet68 3000::001/64 result = runner.invoke(config.config.commands["interface"].commands["ip"].commands["remove"], ["Ethernet68", "3000::001/64"], obj=obj) print(result.exit_code, result.output) assert result.exit_code != 0 - assert ('Ethernet68', '3000::001/64') not in db.cfgdb.get_table('INTERFACE') - + assert ('Ethernet68', '3000::1/64') not in db.cfgdb.get_table('INTERFACE') + @classmethod def teardown_class(cls): os.environ['UTILITIES_UNIT_TESTING'] = "0" From 474bdbfbe1ad6c51e7eb991ed99593e5792d7fdf Mon Sep 17 00:00:00 2001 From: "thomas.cappleman@metaswitch.com" Date: Tue, 2 Nov 2021 05:25:38 +0000 Subject: [PATCH 342/342] [config] Add EXP-to-TC map to clear_qos (#1875) What I did Added EXP to TC map to tables affected by clear_qos command How I did it Found references to DSCP to TC map, added EXP to TC map in same place How to verify it Run clear_qos with EXP to TC map present --- config/main.py | 1 + doc/Command-Reference.md | 34 ++++++++++++++------------ tests/qos_config_input/config_qos.json | 12 +++++++++ tests/qos_config_input/qos_config.j2 | 12 +++++++++ 4 files changed, 43 insertions(+), 16 deletions(-) diff --git a/config/main.py b/config/main.py index 20d5c1c290..4444eac7c0 100644 --- a/config/main.py +++ b/config/main.py @@ -639,6 +639,7 @@ def _clear_qos(): 'MAP_PFC_PRIORITY_TO_QUEUE', 'TC_TO_QUEUE_MAP', 'DSCP_TO_TC_MAP', + 'MPLS_TC_TO_TC_MAP', 'SCHEDULER', 'PFC_PRIORITY_TO_PRIORITY_GROUP_MAP', 'PORT_QOS_MAP', diff --git a/doc/Command-Reference.md b/doc/Command-Reference.md index 15efe35ca6..06e9dd75dd 100644 --- a/doc/Command-Reference.md +++ b/doc/Command-Reference.md @@ -7189,16 +7189,17 @@ This command is used to clear all the QoS configuration from all the following Q 2) MAP_PFC_PRIORITY_TO_QUEUE, 3) TC_TO_QUEUE_MAP, 4) DSCP_TO_TC_MAP, -5) SCHEDULER, -6) PFC_PRIORITY_TO_PRIORITY_GROUP_MAP, -7) PORT_QOS_MAP, -8) WRED_PROFILE, -9) QUEUE, -10) CABLE_LENGTH, -11) BUFFER_POOL, -12) BUFFER_PROFILE, -13) BUFFER_PG, -14) BUFFER_QUEUE +5) MPLS_TC_TO_TC_MAP, +6) SCHEDULER, +7) PFC_PRIORITY_TO_PRIORITY_GROUP_MAP, +8) PORT_QOS_MAP, +9) WRED_PROFILE, +10) QUEUE, +11) CABLE_LENGTH, +12) BUFFER_POOL, +13) BUFFER_PROFILE, +14) BUFFER_PG, +15) BUFFER_QUEUE - Usage: ``` @@ -7233,12 +7234,13 @@ Some of the example QOS configurations that users can modify are given below. 2) MAP_PFC_PRIORITY_TO_QUEUE 3) TC_TO_QUEUE_MAP 4) DSCP_TO_TC_MAP -5) SCHEDULER -6) PFC_PRIORITY_TO_PRIORITY_GROUP_MAP -7) PORT_QOS_MAP -8) WRED_PROFILE -9) CABLE_LENGTH -10) BUFFER_QUEUE +5) MPLS_TC_TO_TC_MAP +6) SCHEDULER +7) PFC_PRIORITY_TO_PRIORITY_GROUP_MAP +8) PORT_QOS_MAP +9) WRED_PROFILE +10) CABLE_LENGTH +11) BUFFER_QUEUE - Usage: ``` diff --git a/tests/qos_config_input/config_qos.json b/tests/qos_config_input/config_qos.json index 40c1903a06..fd76373983 100644 --- a/tests/qos_config_input/config_qos.json +++ b/tests/qos_config_input/config_qos.json @@ -103,6 +103,18 @@ "63": "1" } }, + "MPLS_TC_TO_TC_MAP": { + "AZURE": { + "0" : "1", + "1" : "1", + "2" : "1", + "3" : "3", + "4" : "4", + "5" : "2", + "6" : "1", + "7" : "1" + } + }, "SCHEDULER": { "scheduler.0": { "type" : "DWRR", diff --git a/tests/qos_config_input/qos_config.j2 b/tests/qos_config_input/qos_config.j2 index e0336b3ef8..b9b23f5aa7 100644 --- a/tests/qos_config_input/qos_config.j2 +++ b/tests/qos_config_input/qos_config.j2 @@ -155,6 +155,18 @@ "63": "1" } }, + "MPLS_TC_TO_TC_MAP": { + "AZURE": { + "0" : "1", + "1" : "1", + "2" : "1", + "3" : "3", + "4" : "4", + "5" : "2", + "6" : "1", + "7" : "1" + } + }, {% endif %} "SCHEDULER": { "scheduler.0": {